lablgtk-3.1.2/0000755000650106067230000000000014161276610012000 5ustar glondusedlablgtk-3.1.2/.gitignore0000644000650106067230000000003114161276610013762 0ustar glondused_build .merlin *.install lablgtk-3.1.2/.travis.yml0000644000650106067230000000372014161276610014113 0ustar glonduseddist: xenial sudo: required language: c branches: only: - lablgtk3 cache: apt: true directories: - $HOME/.opam addons: apt: packages: - libgtksourceview-3.0-dev - libgtkspell3-3-dev env: global: - OPAMJOBS="2" - OPAMROOTISOK="true" - OPAMYES="true" - COMPILER="4.07.1" - BASE_OPAM="camlp5 dune cairo2 ocamlfind" # Main test suite, some examples don't work in 4.05.0 matrix: - TEST_TARGET="dev" COMPILER="4.05.0" - TEST_TARGET="dev-all" COMPILER="4.06.1" - TEST_TARGET="dev-all" COMPILER="4.07.1" - TEST_TARGET="dev-all" COMPILER="4.08.0" - TEST_TARGET="dev-all" COMPILER="4.09.0" - TEST_TARGET="nopromote" COMPILER="4.10.0+trunk" BASE_OPAM="dune cairo2 ocamlfind" - TEST_TARGET="opam" COMPILER="4.07.1" - TEST_TARGET="opam" COMPILER="4.08.0" - TEST_TARGET="opam" COMPILER="4.09.0" matrix: include: - os: osx env: - TEST_TARGET="dev" COMPILER="4.07.1" - PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig cache: ccache: true directories: - $HOME/.opam - $HOME/Library/Caches/Homebrew before_cache: - brew cleanup before_install: | set -e brew update brew upgrade wget brew unlink python@2 brew install curl ccache opam pkg-config gtk+3 gtksourceview3 gtkspell3 before_install: | sudo curl -sL https://github.com/ocaml/opam/releases/download/2.0.5/opam-2.0.5-x86_64-linux -o /usr/bin/opam sudo chmod 755 /usr/bin/opam install: | opam init --bare --disable-sandboxing opam repo add -a beta https://github.com/ocaml/ocaml-beta-repository.git opam switch create "$COMPILER" --repositories=default,beta || true opam switch set "$COMPILER" eval $(opam env) opam install $BASE_OPAM opam list script: - set -e - echo 'Building LablGtk...' && echo -en 'travis_fold:start:lablgtk.build\\r' - make "$TEST_TARGET" - echo -en 'travis_fold:end:lablgtk.build\\r' lablgtk-3.1.2/CHANGELOG.API0000644000650106067230000000372614161276610013632 0ustar glondusedAPI CHANGES ----------- GPack.notebook#append_page and GPack.notebook#insert_page : return int instead of unit GAction.action_group#add_action : removed `accel' optional parameter GBin.alignment : add `padding' optional parameter GEdit.combo_box, combo_box_entry, combo_box_text, combo_box_entry_text : add `active' optional parameter GMain.Idle.add, Glib.Idle.add : add a `prio' optional argument GMain.Io.add_watch, Glib.Io.add_watch : use a list of `conditions' insted of a single one GTree.column_list : replace method `kinds' by `types' GWindow.message_dialog : add `use_markup' optional argument Glib : remove exception `Critical' and Glib.Message.handle_criticals remove Glib.Message.set_print_handler changed type of Glib.Message.set_log_handler Gobject.Data : boxed, unsafe_boxed, unsafe_boxed_option : take an additional `g_type' parameter replace `get_fundamental' by `get_type' GnoDruid : replace druid_page by druid_page_skel API ADDITIONS ------------- Glib.usleep GAssistant.* GWindow.about_dialog (set_)?wrap_licence GSourceView GButton.link_button GAction.action_skel#set_accel_group GAction.action_group#add_action_with_accel GAction.ui_manager#new_merge_id GAction.ui_manager#add_ui GBin.alignment#{set_,}{top,bottom,left,right}_padding GMisc.calendar#{set_,}{day,month,year} GMisc.calendar#is_day_marked GMisc.calendar#num_marked_dates GMisc.label_skel#selection_bounds GMisc.label_skel#select_region GPack.paned#{max_,min_,}position GText.buffer#select_range GTree.cell_layout#reorder GTree.cell_layout#{unset,set}_cell_data_func GWindow.message_dialog#set_markup GdkPixbuf.from_file_at_size GdkPixbuf.save_to_callback GdkPixbuf.save_to_buffer Glib.int_of_priority Glib.Message.log Glib.Utf8 : a bunch of unicode-related functions Glib.Markup.Error (exception) Glib : a couple of misc. utility functions (get_home_dir, find_program_in_path, etc.) GtkSignal.override_class_closure GtkSignal.chain_from_overridden GtkSpell lablgtk-3.1.2/CHANGES.md0000644000650106067230000015417014161276610013402 0ustar glondusedLablGTK changes log ## In Lablgtk-3.1.2 2021.12.24[Jacques] * Remove naked pointers and Obj.truncate for compatibility with 5.00 (#144) 2021.12.18 [Jacques] * Add WRAP_WIDTH, WRAP_MODE tags to cell_properties_text (#146) [Nathan Guermond] * Add bindings for applying CSS from a string (#134) [Bart Jacobs] 2021.12.03 [Jacques] * Cherry-pick #142 [Bart Jacobs] (Fix #141: lablgtk2 runs OCaml code inside blocking section) 2021.07.05 [Jacques] * Update scrollbar handling in GText.view for gtk3 (#124) [Vasile Rotaru] * Add partial support for OCaml 5.00 (#129) [Kate Deplaix] * Fix warnings on Bytes_val 2021.03.15 [Jacques] * Add bindings fro GtkStack and GtkStackSwitcher (#122) [Hugo @swarmpan] 2020.08.31 [Jacques] * Fix #116 : problem with GPack.layout adjustments (reported by Vasile Rotaru) ## In Lablgtk-3.1.1 2020.03.17 [Jerry James] * Fix the build with -fno-common, the default for GCC 10 ## In Lablgtk-3.1.0 2020.01.23 [Jacques] * headers changed again in ocaml 4.10.0beta2 * fix C compilation warnings * fix SourceMarkAttributes.new_attribute 2020.01.14 [Jacques] * remove GtkDialog#has_separator property (report by Thomas Leonard, #68) * add GMisc.icon_status#set_tooltip_markup/text (report by T. Leonard, #69) * add #orientation to GPack.box/paned, GRange.range and GMisc.separator (report by Martin de Mello, #73) ## In Lablgtk-3.0beta8 2019.12.03 [Jacques] * update toplevel loop instructions in README.md * keep Gtk{Th,}Init in tools for reference 2019.12.02 [Emilio] * remove Gtk{Th,}Init static initializers, applications should init Gtk manually instead of using a linking side-effect (#100) 2019.11.27 [Jacques] * remove declaration of young_start for ocaml 4.10 (#97) * add CI support for 4.10 [Emilio] 2019.11.26 [Emilio] * Require Dune 1.8, use improved configurator API (#95) ## In Lablgtk-3.0beta7 2019.11.25 [Jacques] * Split source code in terms of packages (#77) [Emilio] * Update README to better document build system (#80) [Emilio] * Switch from camlp4 to camlp5 (required for 4.09) * Add `[@warnerror "-3"]` to call to `Obj.truncate` * Move `COPYING` to `LICENSE` 2019.09.25 [Jacques] * Fix several gtk3 examples, and remove some obsolete ones (#84) [Martin de Mello] * Disable -warn-error 3 in src/dune, because of Obj.truncate 2019.09.23 [Martin de Mello] * Add the LinkButton activate-link signal #83 2019.08.12 [Emilio J. Gallego Arias] * Reorganize source code, move orphaned files to unsupported, bump to Dune >= 1.6 2019.08.12 [Emilio J. Gallego Arias] * Remove stale makefiles, lablgtk must be built using Dune now. 2019.07.07 [Emilio J. Gallego Arias] * Include extended Cairo Support from #33 in the Dune build. 2019.06.27 [Anton Kochkov] * Upgrade CI to OCaml 4.08 ## In Lablgtk-3.0.beta6 2019.04.09 [Jacques] * Add gdk_window_get_origin binding (#60) [Pierre-Marie Pedrot] * Convert README to markdown (#57) [Anton Kochkov] * Add additional Pango.Layout functions (#58) [Milo Turner] ## In Lablgtk-3.0.beta5: 2019.02.20 [Emilio J. Gallego Arias] * Add GtkBuilder back to the build (#54, #55), fix #53, reported by C. Sacerdoti 2019.02.12 [Emilio J. Gallego Arias] * Update OPAM files so they work better with dune-release (#48) ## In Lablgtk-3.0.beta4: 2019.02.11 [Jacques] * More dune related PRs (#39, #43, #45, #46) [Emilio] * Add initialization to all examples 2019.02.10 [Jacques] * BREAKING CHANGE: ocamlfind names for extra libraries such as lablgtk3.sourceview3 have been renamed to lablgtk3-sourceview3 as these now live in their own package * Add dune support (cf GPR#38,#41,#42,#44) [Emilio] * Move initialization functions to Props files, to avoid problem with -no-alias-deps (cf GPR#39) ## In Lablgtk-3.0.beta3: 2019.01.11 [Jacques] * Update propcc.ml4 as suggested by Virgile Prevosto * Merge Lablgtk3 source mark attributes #35 by Virgile Prevosto 2019.01.11 [Claudio Sacerdoti Coen] * added hard dependency on cairo2 (aka ocaml-cairo) * Gdk.cairo is now equal to Cairo.context * code of cairo-pango (part of ocaml-cairo) by Christophe Troestler moved into lablgtk3 * added new examples {cairo,pango1,pango2}.ml * GPango.context#get_font_description added * GPango.context_rw merged into GPango.context 2019.01.04 [Jacques] * merge draw signal PR by Claudio * remove incorrect statusbar properties 2018.12.22 [Claudio Sacerdoti Coen] * update examples/glade and README 2018.12.21 [Jacques] * adjust some function names * merge GtkBuilder support and new lablgladecc by Claudio Sacerdoti Coen and Andrea Condoluci 2018.12.19 [Jacques] * Resurect GMenu.separator_item * fix examples eventbox.ml, events.ml, editor2.ml ## In Lablgtk-3.0.beta2: 2018.12.14 [Jacques] * Remove unsupported extensions from configure 2018.12.9 [Guillaume Melquiond] * Support property "expand" of GtkTreeViewColumn * Support property "placeholder-text" of GtkEntry * Restore GPack.button_box ?spacing argument * Restore GtkMenu.MenuItem.separator_create * Remove properties allow-grow and allow-shrink from GtkWindow 2018.12.6 [Jacques] * allow compiling with Gtk 3.18 (for ubuntu 16.04) 2018.11.30 [Jacques] * ensure we compile on ocaml 4.05 (report by Ralf Treinen) * put examples explicitly in the public domain (report by Ralf Treinen) 2018.11.29 [Jacques] * create a banch called "lablgtk3", based on lablgtk2on3 (the old lablgtk3 branch of 2011 is renamed lablgtk3_monate) * merge all changes from Hugo Herbelin's lablgtk2on3-hh * rename everything to lablgtk3, allow installing in parallel with lablgtk2 * add memory management for cairo_t * update support for GtkSpell 2018.11.26 [Emilio J. Gallego Arias] * add support for building with Dune 2018.11.20 [Hugo Herbelin] * restore deprecated by still alive widgets and methods * various fixes to make gtksourceview3 work with CoqIDE 2018.11.19 [Hugo Herbelin] * In GToolbox, add support for declaring dialogs transient for a parent. 2018.11.12 [Maxence] * Add some properties to GText.tag 2018.08.25 [Francois Bobot] * Add require for threads in META ## In Lablgtk-2.18.6: 2017.10.30 [Jacques] * prepare release * finish transition for applications subdirectory 2017.09.19 [Jacques] * prepare for 4.06: -safe-string transition and warnings In Lablgtk-2.18.5: 2016.08.10 [Jacques] * update applications/browser for 4.04 2016.08.02 [Jacques] * add CAMLparam before CAMLlocal (report by Francois Bobot) * add -fno-unwind-tables to GTKCFLAGS if the compiler allows it (suggested by Bart Jacobs) In Lablgtk-2.18.4: 2016.04.27 [Jacques] * disable camlp4 make rule when no camlp4o available * update applications * rename GC module to GMain.Gc_custom 2016.04.11 [Jacques] * Fix ml_gnome_canvas_c2w (Didier Le Botlan) 2016.03.06 [Jacques] * remove build dependency on camlp4 (still needed for tree version) * allow to change the GC speed (i.e. the impact of custom blocks) see GMain.GC.set_speed. 2016.03.04 [Jacques] * use own definition of alloc_custom, to be sure to allocate in the heap 2015.04.16 [Jacques] * fix GtkTree.TreeModel.cast 2015.02.06 [Jacques] * add get_image and get_pixbuf to GDraw.drawable. In Lablgtk-2.18.3: 2014.10.06 [Jacques] * add Gdk.Window.create_foreign and set_transient_for functions (Tim Cuthbertson) 2014.09.20 [Jacques] * CAMLparam initializes with Val_unit rather than 0 since ocaml 4.02. Fix a related problem in ml_gobject. This caused random crashes with unison (Christopher Zimmermann, PR#1425) * Also factorize some code to use Val_option_* * Replace XID by GdkNativeWindow where required. You may need to insert calls to Gdk.Window.native_of_xid in some places. In Lablgtk-2.18.2: 2014.09.17 [Jacques] * Revert old commit which broke notify signals * Quote $(FLINSTALLDIR) in Makefile (cf PR#1342) * Update applications/browser for 4.02 2014.08.22 [Jacques] * Make Float_val an alias for Double_val, since it was used wrongly anyway (Felix Ruess) * Make GObj.misc_ops#add_accelerator polymorphic in the widget of the signal (Erkki Seppala) * Use properties in GtkAdjustment, rather than direct accessors 2013.12.31 [Jacques] * fix GtkTree.IconView.get_path_at_pos (Thomas Leonard) In Lablgtk-2.18.1: 2013.12.6 [Jacques] * add gtksourceview2 to windows binaries In Lablgtk-2.18.0: 2013.10.01 [Jacques] * prepare release * update applications for 4.01 * various fixes in windows port 2013.9.17 [Jacques] * add some GTK enumerations and update stock icon list * add properties GtkTreeView.enable_{tree,grid}_lines * add properties GtkEntry.{primary,secondary}_icon_{stock,name,pixbuf}, see examples/entry2.ml for usage 2013.7.29 [Pierre-Marie] * add tags in GtkMovementStep 2013.2.19 [Jacques] * fix compatibility with ocaml 4.01 (?lab for non-optional arguments) 2012.08.26 [Pierre-Marie] * add handling of new modifiers 2012.08.26 [Jacques] * detect findlib during configuration * support DESTDIR with findlib-install 2012.08.26 [Jacques] * indicate that only old-install supports DESTDIR * have old-install copy the META file too * cleanup the two phases of findlib-install In Lablgtk-2.16.0: 2012.08.23 [Jacques] * update Windows port, compiles fine on mingw with ./configure --disable-gtktest * lablgtk2 script does not load extra libraries by default (use flag -all to load all extensions) 2012.08.17 [Jacques] * generate correct lablgtk2 script for findlib. * add old-uninstall target. * support threaded toplevel with Quartz backend, using gtkThTop.ml (runs the toplevel loop in another thread) * remove GtkThInit from META (not portable) * avoid busy waiting by using g_main_context_set_poll_func to make polling non-blocking. busy waiting is still needed for VM threads, and can be activated by setting the environment variable LABLGTK_BUSY_WAIT. 2012.08.16 [Jacques] * update applications/browser for OCaml 4.00 * update applications/camlirc to use GText instead of GBroken.text 2012.07.26 [Pierre-Marie] * improvements to GtkSourceView2. * add cast and assignation functions to GText.nocopy_iter. * add Gtk 2.10 missing key modifiers. 2012.07.24 [Jacques] * can still install using old-install. 2012.06.19 [Adrien] * add a high-level API to create keyboard shortcuts. 2012.06.12 [Adrien] * add several #as_foo methods: entry, notebook, range * new signals for notebook: select_page, reorder_tab, change_current_page, move_focus_out, page_{added,removed,reordered} * add gtk_container_child_{set,get}_property * add gtk_notebook_{set,get}_tab_reorderable * add gtk_signal_new which can be used to create custom keyboard shortcuts * add g_signal_list and g_signal_query * add functions to connect to notify::foo signals which indicate when an object property changes * add foo#connect#notify_bar methods to add callbacks on changes of the "bar" property of the object "foo". 2012.04.11 [Maxence] * use findlib to install (see README for the list of installed packages) 2012.06.05 [Jacques] * merge GtkSourceView2 additions by Pierre-Marie Pedrot 2012.03.07 [Jacques] * add Make_Val_option to wrappers.h 2011.07.20 [Jacques] * add gtk_accelerator_name/get_label (for Pierre Boutillier) * add gtk_accel_map_foreach/change_entry (ibid) * add gdk_window_clear_area (for DDR) * make gtk_tree_view_get_visible_range version dependent (Thomas Ripoche) In Lablgtk-2.14.2: 2010.09.09 [Jacques] * add GtkCurve (but it is deprecated since 2.20) 2010.08.16 [Jacques] * rename g_value_{get,set}_variant, as the name is used by recent versions of glib (reported by Florent Monnier) 2010.07.25 [Jacques] * add changed signal to cell_renderer_combo (reported by Dmitry Bely) 2010.07.23 [Jacques] * copy GtkTreePath arguments in callbacks, as reported by Benjamin. 2010.06.25 [Jacques] * remove gtkInit.cmo from gdk_pixbuf_mlsource, no need to initialize Gtk as Gobject is sufficient * protect GtkThread callbacks against exceptions, and provide a function to process messages inside a different main loop. * add -nothinit option to lablgtk2, since Quartz cannot run the main loop in a different thread (one should just call GtkThread.main). See dialog-thread.ml for an example. 2010.06.08 [Jacques] * correct interfaces due to the fixing of an unsoundness bug in ocaml 3.12 (cf. http://caml.inria.fr/mantis/view.php?id=4824) In Lablgtk-2.14.1: 2010.05.20 [Jacques] * update unison patch to 2.40.16 (for Quartz users) 2010.05.18 [Jacques] * rename gtkSignal.ml to gtkSignal.ml4 and fix depend target * move Glib.Utf8 code to gutf8.ml, so that it can be used in xml_lexer to fix a bug report by Pascal Brisset (multibyte entities of the form ● in glade files). 2010.04.08 [Jacques] * remove useless methods (discovered by ocaml 3.12) 2010.01.14 [Benjamin] * Apply patch from Mike Spivey to support get_visible range in Gtree * Fixed incorrect target labgtkspell.cmxs in Makefile 2009.10.01 [Jacques] * Correct wrong module name SourceViewEnums -> SourceView2Enums In Lablgtk-2.14.0: 2009.09.25 [Jacques] * Ensure compilation under windows 2009.09.22 [Benjamin] * Restore compatibility with pre-3.11 OCaml versions 2009.09.01 [Benjamin] * Apply patch from Mike Spivey: * Access to StyleSchemeManager objects * Some attributes are strings and not string options. This seems sensible. * Languages and style schemes are treated alike in creating buffers: both arguments are wrapped. * draw_spaces deals with a list of flags, not a single flag. * Mark categories can have priorities, icons and backgrounds * Some attributes of languages are accessed by methods instead of properties to work around a GTK bug. 2009.09.01 [Benjamin] * Support for GtkSourceView 2.6 in library "lablgtksourceview2" * Support for GtkSourceView 1.x is still available in library "lablgtksourceview" but it is no longer linked into the lablgtk2 default toplevel as it is not linkable with "lablgtksourceview2". 2009.05.21 [Jacques] * Apply Anil Madhavapeddy patch for lablgladecc2 -hide-default 2009.05.18 [Benjamin] * Make and install dynamic cmxs objects when available. * Fix compilation bug for ml_panel.c (Richard Jones message of 2009-02-06) 2009.05.12 [Jacques] * Merge new tooltip support from Moutinho's branch r1365 (sorry for 1.5y delay...) * Merge tree DND from Moutinho's branch r1387 (1y delay...) 2009.05.08 [Jacques] * Add Gdk.Windowing.platform for platform dependent applications * Fix bug in Clist.set_pixmap when no mask given 2009.04.20 [Jacques] * Print backtrace if available when exception raised in signal callback. Requires ocaml 3.11. (suggested by Bart Jacobs) * Use "val virtual obj" in generated code. Requires ocaml 3.10. 2009.03.19 [Jacques] * In GtkAboutDialog, change internal property from "name" to "program-name" if version >= 2.12. The OO interface is left unchanged, since there is no conflict with #misc#name anyway. 2009.02.09 [Benjamin] * fix linking bug for older than 2.2 Gtk with g_io_channel_read_chars 2009.01.20 [Benjamin] * change handling of non existent properties. [Not_found] is no longer raised and [Invalid_argument prop_name] is used instead. No exception is raised by unknown dynamic property setters and a GLib warning is emitted. See the comments in src/gobject.mli in the local Property module. 2009.01.13 [Benjamin] * fix compilation issues with Gtk 2.4 In Lablgtk-2.12.0: 2008.12.20 [Jacques] * fix build process for ocaml 3.11 on MSVC and mingw. 2008.12.09 [Jacques] * fix ml_gtk_source_buffer_create_marker 2008.10.30 [Benjamin] * Support Gtk Quartz backend compilation (thanks to Pascal Cuoq) 2008.10.07 [Benjamin] * Revert last change on GEdit.entry_completion according to M. Clasen. Keeping the new type for the callback match_selected. 2008.10.05 [Benjamin] * Change type of model contained in GEdit.entry_completion from model to model_filter see http://bugzilla.gnome.org/show_bug.cgi?id=555087. 2008.09.10 [Benjamin] * Many custom tree model bugs fixed. 2008.09.04 [Benjamin] * First attempt to support custom_tree_models in GTree. I need some feedback on ways to improve the safety. An example of usage is given in examples/custom_tree.ml Part of the code comes from Robert Schneck: he agreed by private mail on relicensing it for lablgtk2. 2008.08.20 [Jacques] * Move model to head of properties in ComboBox (bug reported by Pierre-Marie Pedrot) 2008.08.03 [Benjamin] * Support for wrapped signal of GEdit.spin_button (Gtk 2.10) 2008.08.01 [Benjamin] * Support for GtkRendererAccel of Gtk 2.10 2008.07.26 [Benjamin] * Add a few 2.10 properties GAction.icon_name, GButton.image_position, 2008.07.25 [Olivier] * don't use G_QUEUE_INIT (dependency on glib 2.14) 2008.07.25 [Jacques] * Add [widget] to Gtk.file_chooser * configure did not work on FreeBSD 2008.05.09 [Benjamin] * Add Glib.Io.read_chars. Other g_io_* function could be added... 2008.04.14 [Olivier] * use Gc.create_alarm to delay GObject finalization instead of an idle function 2008.03.31 [Benjamin] * Support mingw compilation with OCaml 3.11. Still tricky... 2008.03.25 [Jacques] * add GtkWindow properties * add GMain.Event * add GtkMenu.Menu.popup_at 2008.03.22 [Benjamin] * prepare gtksourceview 2.1 support In lablgtk-2.10.1: 2008.02.26 [Jacques] * fix wrong type in GContainer.mli (could not compile with 3.10.2) 2007.12.01 [Jacques] * revert to setting LC_NUMERIC to C (ocaml still uses strtod) 2007.11.28 [Jacques] * Fix Val_GType/GType_val (use Val_addr/Addr_val) 2007.10.09 [Benjamin] * add ui_manager#as_ui_manager 2007.09.27 [Jacques] * Fix examples. In lablgtk-2.10.0: 2007.09.25 [Jacques] * Various preparations for release. * Use the "Glade for Windows" distribution for win32, supporting glade and rsvg. 2007.08.17 [Jacques] * some more patch by Julien Moutinho (style and Rc). * do not set LC_NUMERIC to C (ocaml is now ok) (Volker Grabsch). * avoid some warnings in ml_gdkpixbuf and ml_glib. 2007.08.09 [Benjamin] * GtkImage : clear support 2007.08.08 [Benjamin] * Fix typo in property "wrap-license" (was "wrap-licence") of GtkAboutDialog * Add GtkFileChooser "do-confirm-overwrite" property support and "confirm-overwrite" signal * GWindow "urgency-hint" property support 2007.08.07 [Benjamin] * Add Glib.usleep * Add Stock icons for Gtk 2.10 and 2.8 * Add has_selection and cursor_position properties in GText.buffer 2007.08.06 [Benjamin] * Add support for GtkAssistant of Gtk 2.10 2007.06.18 [Jacques] * merge patches by Julien Moutinho for GdkDisplay and gtk_tree_view_get_cell_area. 2007.06.08 [Benjamin] * Add support for gtk_link_button 2007.06.07 [Benjamin] * gtksourceview support 2007.05.27 [Benjamin] * fixed bug in GWindow.about_dialog whose callbacks raised an uncaught Not_found. The default Close button now responds `CANCEL and not `CLOSE. 2006.11.19 [Olivier] * add some missing properties in GtkIconView (in module GTree) (2.6) * add some missing properties in GtkButton (2.4, 2.6) 2006.11.03 [Olivier] * move GtkSocket code from ml_gtkbin.c to ml_gtk.c since it is wrapped in GWindow. 2006.10.27 [Jacques] * add Gdk.Cursor.get_image * remove Gdk.Cursor.destroy (could be dangerous) * add new methods to GData.clipboard (partly from SooHyoung Oh) 2006.10.13 [Jacques] * add GDraw.drawable#colormap,gc,set_gc 2006.09.15 [Olivier] * wrap GtkMenuToolButton (2.6) In lablgtk2-20060908: 2006.08.08 [RobertR] * export copy_memblock_indirected and ml_lookup_flags_getter for Windows 2006.07.06 [Jacques] * make ABSVALUE=1 to use a custom mlvalues.h where value is abstract 2006.05.13 [Jacques] * delay finalization functions when they may trigger a callback 2006.02.03 [Jacques] * add GLayout#bin_window 2005.12.19 [Jacques] * lablgladecc : apply Keita Yamaguchi's patch 2005.12.02 [Benjalin] * lablgladecc : support for GtkAboutDialog 2005.11.10 [Olivier] * wrap gtk_tree_view_expand_to_path (2.2) 2005.11.03 [Benjamin] * lablgladecc : emit w#toplevel#misc#show_all instead of w#toplevel#show in check_all, because some toplevel widgets (gMenu for example) do not have a show method 2005.10.28 [Jacques] * add windows support for rsvg In lablgtk2-20051027 (2.6.0): 2005.10.25 [Jacques] * fix GtkThread.sync (Robert Schneck-McConnell) 2005.10.17 [Jacques] * new recompilation approach for Windows 2005.10.03 [Olivier] * fix refcounting of pixbufs in GdkPixbuf 2005.09.24 [Olivier] * wrap gdk_cursor_new_from_pixbuf 2005.08.25 [Olivier] * gtk_about_dialog_set_{url,email}_hook are not methods : fix the external type declaration and remove from the GWindow.about_dialog class. 2005.08.18 [Olivier] * add special sort_column_id values in GTree to select default sort function or disable sorting * add a couple of utility functions in Glib : - getenv, setenv, unsetenv (2.4) - get_user_data_dir, etc. (2.6) * change the generated code of gdk-pixbuf-mlsource a bit. In lablgtk2-20050701: 2005.06.30 [Jacques] * export same symbols under unix and windows In lablgtk2-20050613: 2005.06.13 [Jacques] * define GText.buffer_skel and GText.view_skel 2005.06.02 [Jacques] * export all macro-generated functions (robertr) * change --rpath to -rpath (better done in ocamlmklib?) 2005.05.03 [Olivier] * wrap GdkPixbuf.get_file_info (2.4) * support serialization and deserialization of GdkPixbuf.pixbuf values * add a gdk-pixbuf-mlsource tool to help compiling images into programs. 2005.03.20 [Jacques] * add Gobject.Data.wrap to create new conversions 2005.03.07 [Olivier] * add GEdit.entry#xalign property (2.4) * make configure fail if GTK+ cannot be found In lablgtk2-20050218: 2005.02.18 [Jacques] * add GObj.event_signals#scroll and other missing wevents (Hendrik Tews) 2005.02.17 [Jacques] * allow using vmthreads 2005.02.07 [Olivier] * GTree.Path.is_prev now returns bool (T. Kurt Bond) 2005.01.08 [Olivier] * add a use_markup optional argument to GEdit.combo_box_text. 2005.01.04 [Olivier] (2.6) * new stock items * add PangoEllipsizeMode for PangoLayout * new GtkLabel properties * new GtkProgressbar::ellipsize property * new GtkTreeView properties and separator rows 2005.01.02 [Olivier] * 2.6 improvements to GtkComboBox (separators and a couple of new properties) 2004.12.05 [Olivier] * add GtkFileChooserButton (2.6) 2004.12.04 [Jacques] * fix constraint in GUtil.memo 2004.12.02 [Olivier] * add GtkAboutDialog (2.6) 2004.12.02 [Jacques] * fix Michael Furr's bug reports 2004.11.24 [Olivier] * add GMisc.statusbar#has_resize_grip and #set_has_resize_grip GMisc.statusbar now inherits from GPack.box * add GtkIconView (2.6) 2004.11.22 [Olivier] * add GtkCellRendererCombo (2.6) * add GtkCellRendererProgress (2.6) In lablgtk2-20041119: 2004.11.17 [Jacques] * fix make depend * cleanup lablgtk2.in 2004.11.15 [Olivier] * add max-position and min-position in GPack.paned (2.4) * add GtkSpell interface (http://gtkspell.sf.net/) 2004.11.10 [Olivier] * add GPack.paned#position * allow multiple conditions per watch in Glib.Io.add_watch 2004.10.24 [Olivier] * add a .mli for GnoDruid, reorganize gnoDruid.ml a bit * add the single-paragraph-mode property in GtkCellRendererText 2004.10.05 [Jacques] * revise Timeout.add and Idle.add for compatibility (optional arguments must be followed by a non-labeled argument) 2004.10.02 [Jacques] * 2.2 compatibility fixes (G_STRFUNC only defined in 2.4) 2004.09.21 [Olivier] * add optional priority argument for timeouts and idle callbacks in Glib * get rid of the print handler in Glib.Message (it's not used by libraries) * get rid of the Glib.Critical exception (callbacks should never raise exceptions) * add Glib.Message.log and a couple other functions related to logging * generally prevent exceptions from escaping callbacks 2004.09.18 [Jacques] * revert to using `OTHER in Gobject.data_kind 2004.09.17 [Olivier] * more unicode fixes, add a Utf8.to_unichar_validated function 2004.09.17 [Jacques] * Gobject.Data.boxed parameterized by the real type, to be able to create tree store columns from it. Gobject.fundamental_type modified accordingly. 2004.09.15 [Olivier] * add GText.buffer#select_range 2004.09.14 [Olivier] * add a few unicode-related functions 2004.09.08 [Olivier] * add GAction.ui_manager#add_ui * have #get_widget and #get_action raise Not_found instead of Null_pointer. 2004.09.03 [Olivier] * in GAction.action_group, do not merge #add_action and #add_action_with_accel in a single method because they have different behaviour. Fixes a bug where stock items accelerators were not connected. * add the padding properties of GBin.alignment (2.4) 2004.08.27 [Olivier] * add GTree.cell_layout#reorder and GTree.cell_layout#set_cell_data_func * add a couple of utility functions in Glib * decimate ml_gtkmisc.c, add a couple of things to GtkCalendar and GtkLabel 2004.08.24 [Olivier] * add GWindow.message_dialog#set_markup (2.4) * add override of default signal handlers (GtkSignal.override_class_closure, GtkSignal.chain_from_overridden) 2004.08.23 [Olivier] * wrap some 2.4 additions in GdkPixbuf (from_file_at_size, save_to_buffer). Add some Ocamldoc comments. * add 2.4 stock items in GtkStock 2004.08.20 [Jacques] * fix GdkPixbuf.render_to_drawable * support gtk-2.0.1 * add examples/GL/texturesurf.ml with texture from pixbuf 2004.08.19 [Olivier] * add 'active' property of ComboBox as a constructor parameter. * qualify conversion tables as 'const' (so they end up in read-only pages) * add some ocamldoc comments 2004.08.11 [Olivier] * have GAction.ui_manager#add_ui_from_string raise an exception in case of error. * add Glib.Markup.Error exception. * avoid memory leaks in Glib.Convert. * remove some dead code (GtkPreview). In lablgtk2-20040716 (2.4.0): 2004.07.16 [Jacques] * add GLib.Io.remove and Glib.Io.read, works under windows too 2004.07.09 [Olivier] * Rewrite Xml_lexer so that it is more conformant. 2004.07.08 [Olivier] * fix the support of SVGZ files for older versions of librsvg where the header is not always present. 2004.07.05 [Olivier] * add ocamldoc comments for some optional parameters. * add some optional parameters to the GtkFileFilter constructor. 2004.06.28 [Olivier] * support SVGZ files in Rsvg, fix for render_from_file on Win32, fix memory leak. 2004.06.22 [Olivier] * extend GtkComboBox convenience API to GtkComboBoxEntry. 2004.06.15 [Olivier] * fix the ocamldoc generator for ocaml 3.08 * silence some GCC 3.4 warnings 2004.06.10 [Olivier] * add #event method for GtkComboBox (and descendants), and GtkFileChooserWidget 2004.06.06 [Olivier] * changed methods returning a char* or NULL in GFile: now they return string option instead of converting NULL into "". 2004.06.02 [Olivier] * add some properties for the GnomeCanvasText item, introduce a GnoCanvas.text class with getters for text height and width * relax type constraint in GUtil.memo so that it can work for non-widget gobjects * add Glib.Markup.escape_text (useful for dealing with pango markup) 2004.06.01 [Olivier] * export a couple of properties in GButton.button_skel 2004.05.09 [Olivier] * extended toolbar API (2.4) * update GtkAction* widgets to the final API 2004.04.04 [Olivier] * re-implement Gobject.Data.caml (correctly this time) 2004.03.26 [Olivier] * Add a common supertype for canvas items: GnoCanvas.base_item. * Improve the signatures of canvas, group and item classes in GnoCanvas (no more low-level Gtk.obj) 2004.03.23 [Olivier] * generic handling of GError on the C side * added exception Glib.Convert.Error In lablgtk2-20040319: 2004.03.18 [Jacques] * move GTree.tree to GBroken.tree (really broken in 2.4?) * add GBroken.text * add GContainer#all_children * add GUtil.print_widget 2004.03.17 [Olivier] * add GFile.filter#add_custom * add special methods for adding open/save button in GWindow.file_chooser_dialog 2004.03.15 [Jacques] * allow destroying pixmaps manually * update GdkPixbuf support * PangoLayout corrections (incompatible with previous snapshot) 2004.03.10 [Olivier] * update several 2.4 widgets to the latest API (ComboBox, TreeView, FileChooser). * add a convenience function GTree.store_of_list * change the type of #iter_n_children and #iter_children in GTree.model 2004.03.05 [Olivier] * gtk_dialog->action_area is a GtkHButtonBox * add gtk_button_box_{set,get}_child_secondary (2.4) * misc. additions and cleanups in GPack.box and GPack.button_box In lablgtk2-20040304: 2004.03.04 [Jacques] * fix dependencies in src/Makefile * fix #layout in GDraw.{drawable,pixmap} * fix typing problems in 3.06 and 3.07+14 2004.03.01 [Jacques] * add Pango.Layout and GDraw.drawable#layout 2004.02.29 [Olivier] * add Gobject.Data.caml to store caml values in GtkTreeModels. * add signal emitting gtk_tree_model_row_changed 2004.02.15 [Olivier] * change type of gdk_drag_status: argument is drag_action option instead of drag_action list 2004.01.27 [Jacques] * add GWindow.dialog_any (for glade) * restructure dialog code 2004.01.21 [Olivier] * GtkColorButton and GtkFontButton (2.4) 2004.01.15 [Olivier] * add gtk_tree_view_column_set_cell_data_func * log error messages if ml_gtktree callbacks raise exceptions * fix the types of some callbacks in GtkTreeSortable and GtkTreeModelFilter In lablgtk2-20040113: 2004.01.13 [Jacques] * revert to GWindow.window_skel/window * prepare snapshot 2004.01.08 [Olivier] * GtkTreeModel{Sort,Filter} fixes * added some missing GtkTreeModel methods (get_iter_first, iter_has_child, iter_n_children, flags, foreach) * in wrappers, added a function for converting a C flags value into a variant list (the reverse of the Make_Flags_val macro) 2004.01.04 [Olivier] * support for GtkEntryCompletion (2.4) 2003.12.21 [Olivier] * add event-after signal for widgets 2003.12.20 [Olivier] * make the comparison function use gtk_tree_path_compare for Gtk.tree_path values. 2003.12.19 [Olivier] * added support for GtkTreeSortable, GtkTreeModelSort and GtkTreeModelFilter (2.4) * fixes for GtkComboBox * GTree.view_column inherit from GTree.cell_layout, add a few methods to GTree.view_column 2003.12.17 [Jacques] * some additions/improvements to lablgladecc 2003.12.13 [Olivier] * More GTK 2.4 support: Action-based menus and toolbars * added GtkData.AccelGroup.parse 2003.12.10 [Olivier] * support for GTK 2.4 widgets: GtkComboBox, GtkExpander, GtkFileChooser 2003.11.30 [Olivier] * move event method of GRange.scrollbar in GRange.range (GtkScale widgets also receive events), removed GRange.scrollbar class * added event method in GTree.view, GRange.ruler 2003.10.30 [Jacques] * add GWindow.file_selection#dir_list (Francois Pessaux) * move GBin.socket to GWindow.socket (this wasn't a bin) * add GWindow.plug_signals 2003.10.28 [Olivier] * make Panel.applet inherit GContainer.bin; remove the unit arg for getters 2003.10.20 [Jacques] * add bin class for #child 2003.10.13 [Olivier] * autoconf support for lablGL location 2003.10.09 [Olivier] * wrap GtkButton label property in button_skel In lablgtk-2.2.0: 2003.10.10 [Jacques] * merge Makefile.nt into Makefile, check for msvc 2003.10.09 [Benjamin] * doc: correct GtkAjustement link to the right Gtk doc * doc: fix Makefile for doc (use of OCAML instead of CAMLC and mkdir ../doc/html) 2003.10.07 [Jacques] * add Gpointer.{peek,poke}_nativeint 2003.09.27 [Olivier] * remove `NONE response in dialogs * improved ocamldoc documentation (custom generator with links to GTK+ API reference) 2003.09.22 [Jacques] (request F.Pottier) * add window#maximize/fulscreen/stick * add GTree.row_reference and GTree.Path 2003.09.17 [Olivier] * GNOME libpanelapplet support. Now we can write panel applets in caml. 2003.09.11 [Olivier] * configure script prints a summary of the libraries that will be built. * in the output of pkg-config, filter out the options that ocamlmklib doesn't like. 2003.08.28 [Benjamin] * mnemonic support for all kind of menus. Defaults to true in factory. 2003.08.18 [Olivier] * wrap GtkNotebook::switch_page instead of change_current_page 2003.08.15 [Jacques] * split gtk.props in small pieces, to allow more generation 2003.08.06 [Olivier] * in GWindow: color_selection_dialog, file_selection and font_selection_dialog now inherit from GWindow.dialog 2003.08.05 [Olivier] * Added some libgnomeui bindings (Druids) * some new things in Gdkpixbuf : save, fill, subpixbuf, saturate_and_pixelate gdkpixbuf-specific errors 2003.07.18 [Benjamin] * New Glib.Unichar module 2003.07.17 [Benjamin] * Fix Win32 compilation 2003.07.09 [Jun Furuse] Improvements of lablgladecc: * Internal widgets are now also accessible by instance variables. The user can use simply widget names inside sub-class definitions, instead writing self#widget_name. * A flag -hide-default hides all the widget with default names come from glade, like label123. * Added check_all function to the output so that one can check all the widgets really exist. * reparent method is added to facilitate to embed one glade toplevel widget into a container. 2003.07.09 [Jacques] * ?width and ?height in GWindow back to setting size_request (default size did not work properly) * backward compatibility: GMisc.label has two exclusive parameters, ?text and ?markup (and no ?use_markup). 2003.07.07 [Benjamin] * Fixed confusion between text/label in a Label. Now GMisc.label expects ~label instead of ~text. This is consistant with the semantic of text and label properties (label may contain pango makups/text never do) In lablgtk2-20030707: 2003.07.05 [Jacques] * #misc#set_geometry renamed in #misc#set_size_request * ?width and ?height in GWindow set default size rather than size request 2003.07.02 [Jacques] * fix configure (split PKG_CHECK_MODULES for GTK and GTKALL) * fix name of gtk_gl_area_swap_buffers 2003.06.24 [Benjamin] * Fix deps in Makefile * Fix generation of an incorrect lablgtk2 when debug is enabled * Fix Gtk 2.0 compatibility 2003.06.24 [Jacques] * finish going to generation, add missing signals * wrap clipboard and cell renderers * add GMain.init to avoid "open GMain" 2003.06.23 [Jacques] * Lots of changes: generate signals and externals too. 2003.06.19 [Jacques] * Add GData.clipboard. * Properties for GtkCellRenderer. * Towards canvas properties. 2003.06.18 [Jacques] * Massive change: generate properties automatically. Probable incompatibilities: inform immediately. 2003.06.17 [Benjamin] * Fix Gtk 2.0 compatibility 2003.06.16 [Benjamin] * Fix dependencies in Makefile. Now make -j works. * Add "world" target in Makefile. 2003.06.15 [Jacques] * Starting automatic generation of code. Should reduce need to write wrappers and externals manually. 2003.06.13 [Benjamin] * Experimental g_type_register_static: not to be used at this time 2003.06.11 [Jacques] * changes in object properties (GtkBase.Tables, ...) * add check_externals utility, fix some bugs * additions in GtkWindow.ml 2003.06.10 [Jacques] * changes in object properties (gobject.ml, gtkTree.ml) 2003.06.06 [Jacques] * new #misc#get_flag to get misc widget info * font_desc handling in Pango 2003.06.04 [Jacques] * GtkDialog cleanup * add applications/osiris (just started) 2003.05.29 [Jacques] * fixed GtkTree.TreeView.Properties.model * fixed ml_gobject.{get,set}_value to assume interfaces are objects 2003.05.26 [Jun Furuse] * msvc port is done! 2003.05.24 [Jun Furuse] * added Window.get_visual 2003.05.23 [Benjamin] * fixed incorrect type of trreview#connect#row_activated 2003.05.21 [Jun Furuse] * fixed a problem of SpinButton.get_value_as_int for the case of the value is minus' src/gtkEdit.ml 2003.05.14 [Benjamin] * Glib.Convert convert_with_fallback support 2003.05.12 [Benjamin] * GtkData.AccelMap support * GtkImageMenuItem support * MenuFactory accel_map support by default * GtkStock.Item.lookup support 2003.05.01 [Maxence] * srcdoc target added to generate HTML doc in src/doc/index.html (I did not test on Windows) In lablgtk2-20030423: 2003.04.22 [Jacques] * GtkThread.thread_main automatically switches to gui thread. 2003.04.21 [Benjamin] * GRange.progress_bar updated. Old functions deprecated. 2003.04.12 [Olivier] * add GWindow.message_dialog, add methods in GWindow.dialog 2003.04.11 [Jun] * add GtkWindow.Window.resize and its C interface 2003.04.08 [Jacques] * lots of change in GtkTree*, add examples/tree_store.ml 2003.04.02 [Jacques] * finish? GtkTreeView In lablgtk2-20030326: 2003.03.20 [Olivier] * add stocks and mnemonics for buttons * add icon factories 2003.03.19 [Jacques] * more property support (phantom type like for signals) 2003.03.18 [Jacques] * lots of GtkTree* additions * small changes in ml_glibc, gObj.ml 2003.03.17 [Benjamin] * Restore Variant and stretch properties in GtkText * GTK 2.0 fixes in GtkTree 2003.03.16 [Olivier] * GnomeCanvas: avoid duplicate properties type declaration 2003.03.15 * changes in Gobject.Property and Gobject.Value.set (use set_boxed in ml_gobject.c for automatic copying) * adapt text and gnome-canvas (no need to build g_values) In lablgtk2-beta: 2003.03.14 * libgnomecanvas support [Olivier] * prepare for release, and fix makefiles [Jacques] 2003.03.13 * Add Idle support 2003.02.26 [Benjamin] * Use mnemonics by default in factories 2003.02.25 [Benjamin] * GMenu new methods * Support for mnemonic in labels. * First patch to correct alloca problem in insert_text* 2003.02.25 * copy_block_indirected allocates in old generation * disable compaction in gtkMain.ml * copy young strings to the stack when needed * free lists obtained from Gtk 2003.02.24 * replace alloc_final by alloc_custom (wrapper.h) * better gtk-2.0 support (ml_gdk.c) 2003.02.21 * Support for GTK 2.0 and librsvg 2.0 compilation (O. Andrieu) [Benjamin] In lablgtk2-20030221: 2003.02.21 * add GObj.misc_ops#set_size_chars * applications/browser only works with CVS version of ocaml * bug fixes 2003.02.20 * additions to Pango [Jacques] [Benjamin]: * added set_stock to GMisc.image * In GMisc.label_skel : added : #set_markup #set_markup_with_mnemonic #label changed : semantic of #text (returns text with markups and mnemonics) old semantic available with #label. * In GText.iter : add #language 2003.02.19 * GdkDrawable is also a GObject * split GText.iter/nocopy_iter (Benjamin) * finish split (Jacques) 2003.02.14 * Added librsvg support (contributed by Olivier Andrieu) * Ported applications/browser * GText.iter#forward/backward return self 2003.02.13 * Starting to add GtkTreeView. See tree2.ml. 2003.02.12 * API changes and bug fixes in GText (Jacques) 2003.02.11 * API changes in GText (Jacques) * Many bug fix in GText (Benjamin) In lablgtk2-20030210: 2003.02.10 * merge trunk * Add gtkgl-2.0 and libglade-2.0 support 2003.01.22 * Support for interaction between GtkTextBuffer and GtkClipboard. (Benjamin) * Support for search functions in GtkTextIter. (Benjamin) 2002.01.16 * fix memory management in ml_gdk.h * GObject and GtkObject are different! fix gtk.ml 2002.01.15 * added GtkAccelGroup and GtkClipboard support (Jacques) * suppress Gdk.Tags.selection (use Gdk.Atom.primary/secondary/clipboard) * time is 32-bit! (Benjamin) In lablgtk2-alpha: 2002.12.26 * lots of changes to adapt to gtk2 * callback handling and property support completely rewritten * many API changes * new text widget interfaced by Benjamin Monate * Gtk2 automatically calls setlocale in gtk_init, but we revert LC_NUMERIC to C immediately after In trunk: 2003.04.14 * fix Glib.IO (Henri Dubois-Ferriere) 2003.01.22 * GtkThread.main switches GtkMain.Main.main to call GtkThread.thread_main 2003.01.10 * added GList.clist#get_row_state and GWindow.file_selection#file_list (by Francois Pessaux) 2002.11.18 * added META (by Stefano Zacchiroli) * fixed applications/camlirc (Tim Freeman) 2002.10.31 * add gdk_property_* 2002.10.26 * fix GdkPixbuf.create_pixmap * add GdkEventClient (requested by Didier le Botlan) 2002.08.26 * add Gdk.Window.get_pointer_location (Tim Freeman) In lablgtk-1.2.5: 2002.08.19 * add GWindow.toplevel (Tim Freeman report) 2002.08.09 * Makefile and tictactoe patches (Tim Freeman) 2002.08.07 * add GtkThread.sync and GtkThread.async to post calls to GTK from different threads on windows (GTK/win32 is not reentrant) In lablgtk-1.2.4: 2002.07.15 * add dll support to windows port 2002.07.13 * install dlls to stublibs directory 2002.07.06 * add g_io_add_watch support in GMain.Io (requested by Maxence) 2002.07.04 * add rpm spec (Ben Martin) 2002.07.01 * add GdkPixbuf support 2002.06.20 * add all color settings in GtkData.Style/GObj.style (requested by N. Raynaud) * add GMain.Rc 2002.06.19 * add Gpointer.region, to handle bigarray/string/Raw.t in an uniform way 2002.06.18 * add Gdk.Rgb.draw_image (requested by F. Dellaert) 2002.05.30 * change typing of GtkSignal.t 2002.05.28 * move GtkData.Selection to GtkBase.Selection * add actual selection handling * add Gdk.Atom 2002.04.30 * added button#set_relief, paned#pack1/pack2/set_position, Gdk.Window.set_cursor (requested by malc) 2002.02.25 * add GtkPreview support (by Lauri Alanko) * add applications/camlirc (by Noabuaki Yoshida) 2002.01.25 * correct ml_gtk_spin_button_set_update_policy * update Makefile for gtkxmhtml In lablgtk-1.2.3: 2001.12.12 * add GToolbox utility module (contributed by Maxence Guesdon) 2001.12.10 * add Adjustment.set_bounds (Alan Schmitt) 2001.11.22 * add parameters to handle_box and color_selection (Maxence Guesdon) 2001.11.01 * adapt to ocaml 3.03a+2 dlls. In lablgtk-1.2.2: 2001.10.09 * GList.clist returns a monomorphic "string clist", use GList.clist_poly for a polymorphic clist. 2001.10.04 * add Gdk.Window.get_colormap * change APIs in Gdk.Pixmap/Bitmap and GDraw.create_pixmap* (window parameter is not strictly necessary) 2001.09.13 * improve dll-ization * add patch for unison-2.7.1 2001.09.06 * merge strict labels * attempt dll-ization In lablgtk-1.2.1: 2001.08.10 * change ?nolocale to ?setlocale, defaulting to false. Setting the locale must be required explicitly, by setting the environment variable GTK_SETLOCALE for instance * release version 1.2.1 2001.07.04 * add signals to GList.liste 2001.05.22 * add ?nolocale parameter to Main.init (cf. ocaml PR#275) * remove Main.flush (enough to have it as Gdk.X.flush) * include [main] and [quit] in GMain, so you can now write GMain.main rather than GMain.Main.main * move glade examples to examples/glade 2001.05.18 * add -trace flag to lablgladecc, to trace handler calls 2001.05.17 * add GRange.ruler * improve lablgladecc, support all widgets * add -root and -embed flags to lablgladecc 2001.05.16 * add lablgladecc, a libglade wrapper compiler 2001.04.16 * clipping patch by Michael Welsh 2001.03.13 * support GTK 1.2.3 2001.03.12 * released 1.2.0 * merged in variance annotations * added gears example by Eric Cooper In lablgtk-1.2.0: 2001.02.27 * add extractors to Gdk.Image * slight API change in GDraw.drawing#put_{image,pixmap} 2001.02.21 * add size-allocate signal 2001.02.15 * changed directory structure: sources moved to src/ * updated Makefile.nt, made Win32 port work with gtk-1.3 of 2000-12-26 * remove gutter_size in GtkPack.Paned, since it disappeared in 1.3 2001.02.13 * relax some types in Gdk.Window, to allow all drawables * support for (dangerous?) callbacks in libglade 2001.02.10 * added preliminary support for libglade 2000.12.20 * add Filesection.complete (Sven Luther's patch) 2000.12.07 * merge wakita's patch for gdk_draw_pixmap rename GDraw.drawable#image/pixmap to #put_image/put_pixma 2000.11.29 * remove unison port, since unison already works with this snapshot 2000.11.16 * internal change: switch from var2def/var2conv to varcc, and split ml_gtk.c in smaller files 2000.8.29 * bugs in color selection reported by Nicolas George * changed the license 2000.8.21 * correct GtkStyle.set_font bug reported by Patrick Doane 2000.7.27 * changed GUtil.signal and GUtil.variable for better usability * suppressed obsolete color settings in tooltips 2000.6.19 * patch by Michael Welsh for Gdk regions 2000.6.15 * add CList.set_cell_style/set_row_style * change set_usize/set_uposition into set_geometry * return an option rather than raise an exception for null pointers * map empty strings to NULL when meaningful * Gdk.Font.get_type/ascent/descent 2000.6.14 * add GDraw.optcolor for functions with a default (Jerome suggested) 2000.6.8 * apply Jerome Vouillon's patch * changes in GtkSignal and GtkArgv.ml 2000.6.7 * create #misc#connect for widget generic signals 2000.6.6 * move notebook from GMisc to GPack * #connect#event, #add_event, #misc#event, #misc#set_events_extension transferred to #event su-bobject. * #connect#drag -> #drag#connect. * #get_type, #connect#disconnect, #connect#stop_emit transferred to #misc. 2000.5.25 * split misc.ml into gaux.ml and gpointer.ml 2000.5.23 * add GMisc.notebook#get_{tab,menu}_label. Rename nth_page to get_nth_page. * modified ML signals in GUtil, to allow signals without widget. 2000.5.22 * Incompatible!: Change default for ~expand in Box.pack, Pack.build_options, Table.build_options. Now defaults to false/`NONE. This means that all options default to false/`NONE, except ~show (true for all widgets except windows) and ~fill (always true but effect controlled by ~expand). * add GtkArgv.get_nativeint and GtkArgv.set_nativeint. * make offset and length optional in GtkArgv.string_at_pointer. 2000.5.10 * rename GtkFrame to GtkBin and GFrame to GBin * move socket to GBin 2000.5.9 * add arrow and image classes to GMisc * add list and set_item_string methods to GEdit.combo * add socket and plug classes to GContainer and GWindow * two new examples: combo.ml and socket.ml 2000.4.28 * add GUtil.variable 2000.4.27 * add GtkXmHTML widget In lablgtk-1.00: 2000.4.24 * merge in changes for ocaml 3.00: label and syntax changes, autolink * added better visual and colormap handling to Gdk * GdkObj renamed to GDraw, GtkPixmap moved to GMisc * Initialize Gtk in gtkInit.cmo/cmx, start a thread in gtkInitThread.cmo. These are only included in toplevels, link them explicitely or call GMain.Main.init and GtkThread.start otherwise. * install to caml standard library * many other forgotten changes... 2000.3.02 * move locale setting inside GtkMain.init, since it requires an X display 2000.2.24 * add checks in add methods, to avoid critical errors 2000.2.23 * add dcalendar.ml (submitted by Ken Wakita) and csview.ml * correct bug in GdkObj.pixmap#line 1999.12.19 * release lablGTK beta2 1999.12.16 * upgraded unison to version 1.169 * radio groups are of type {radio_menu_item,radio_button} obj option, otherwise you could not use them several times 1999.12.13 * added GtkEdit::{insert_text,delete_text} signals * better syntax highlighting and ergonomy in the browser's shell 1999.11... * switched to Objective Caml 3 * constructors are no longer classes, but simple functions 1999.10.29 * changed GtkArgv.get_{string,pointer,object} to return option types 1999.10.27 * added radtest/CHANGES for cooperative editing on radtest 1999.10.21 * added a UI for unison (ask bcpierce@saul.cis.upenn.edu about how to get unison) 1999.10.20 * corrected CList signals * moved initialization out of the library, in gtkInit.cmo 1999.10.15 * release lablGTK beta1 1999.10.13 * improved gtkThread.ml (no timer) * modify Sys.argv in place (gtkMain.ml) * add set_row_data and get_row_data for GtkCList 1999.10.11 * bugfixes in Makefile, radtest and lv 1999.10.6 * added Gdk.X.flush and Gdk.X.beep * Gdk.X.flush is exported in GtkMain.Main 1999.9.9 * added font selection dialog 1999.8.25 * re-added connect#draw 1999.8.10 * reduced the number of methods in widget * moved disconnect and stop_emit to object_signals * moved ?:after to each signal * more functions in applications/browser 1999.8.9 * Major change: created one set_param method by parameter, rather than grouping them and using options. You can get previous versions with tag "changing_set" * corrected examples, radtest and browser for these changes * a bit of clean-up in radtest (treew.ml and Makefile) 1999.8.5 * corrected a bad bug with indirected pointers in caml heap 1999.7.15 * add GdkKeysyms for exotic keysyms 1999.7.14 * moved Truecolor inside Gdk * added COPYING * prepared for release 1999.7.12 * clean up drag-and-drop 1999.7.9 * corrected bug in Container.children * added ML signal support in GUtil 1999.7.6 * added DnD, improved radtest (Hubert) * small corrections (Jacques) 1999.7.1 * added some gdk functions related window and ximage * also added applications/lv, "labl image viewer" with the camlimage library. (JPF) 1999.7.1 * added applications/lablglade (Koji) 1999.6.28 * added applications/radtest (Hubert) 1999.6.23 * improved variant conversions for space. 1999.6.22 * updated olabl.patch. With this new version you can access fields of records without opening modules. You can also use several times the same label in one module. * examples/GL/morph3d.ml uses it. 1999.6.21 * moved event functions to GdkEvent 1999.6.20 * new example: radtest.ml (Hubert) 1999.6.18 * added GL extension 1999.6.15 * grouped set methods into set_ * added width and height option to all classes * windows not shown are automatically destroyed by the GC 1999.6.14 * added GPack.layout, GPack.packer, GPack.paned, GMisc.notebook, GRange.scale, GMisc.calendar * added 3 examples * #add_events only available on windowed widgets 1999.6.11 * added CList widget in GList module, and examples/clist.ml * improved pixmap abstraction in GdkObj / GPix 1999.6.10 * suppressed almost all raw pointers from the code. Pointers are now either boxed (second field of an abstract block) or marked (lowest bit set to 1). 1999.6.9 * added GtkBase.Object.get_id and GObj.gtkobj#get_id to get an unique identifier to gtk objects. Nice for hash-tables, etc... * GUtil.memo is such an hash-table, allowing you to recover an object's wrapper. * added a show option to all classes, commanding whether the widget should be shown immediately. It is by default true on all widgets except in module GWindow. * moved non-OO examples to examples/old. Do "cvs update -d old" to get them. * changes in Gdk/GtkData/GObj about styles. 1999.6.8 * updated olabl.patch 1999.6.7 * split gtk.ml into gtk*.ml 1999.6.5 * grouped Container focus operations in a "focus" subwidget 1999.6.4 * slightly reorganized widget grouping 1999.6.3 * disabled gtk_caller * subtle hack to have GTree get the right interface * switched completely to the new widget scheme (including examples) * added olabl.patch to apply to olabl-2.02 to compile new sources 1999.6.2 * integrated changes from Hubert in Gtk, GtkObj and testgtk.ml * added G* modules to replace GtkObj. "make lablgtk2" for it 1999.6.1 * added experimental GtkMenu for a cleaner approach to OO (Jacques) 1999.5.31 * GtkObj: list, tree and menu_shell inherit from item_container (Jacques) * Argv.get_{string,pointer,object} may raise Null_pointer (Jacques) * Support for creating new widgets (Hubert) 1999.5.28 * a few stylistic corrections * added Packer in gtk.ml 1999.5.27 * new Gtk.Main.main Gtk.Main.quit and GtkThread.main (for modal windows) * added x: and y: to Window.setter * new methods: object#get_type widget#misc#lock_accelerators widget#misc#visible widget#misc#parent container#set_focus#vadjustment container#set_focus#hadjustment (could be container#set_focus#adjustment with a dir param) window#set_modal window#set_position window#set_default_size window#set_transient_for menu#set_accel_group * new classes: handle_box_skel handle_box_signals handle_box bbox color_selection color_selection_dialog toolbar and the corresponding modules in gtk.ml new class type: is_window and method as_window * new param tearoff: in new_menu_item new param x: and y: modal: in Window.setter * Widget.event and Widget.activate return bool * new example: examples/testgtk.ml and test.xpm (Hubert) 1999.5.25 * upgraded to gtk+-1.2.3 (all examples work) * suppressed deprecated function calls and corrected examples * added a patch to use toplevel threads in olabl-2.02 1998.12.13 * upgraded to olabl-2.01 1998.12.9 * replicated Main, Timeout and Grab to GtkObj (no need to open Gtk anymore) * moved some non standard classes to GtkExt 1998.12.8 * added the first application, xxaplay, Playstation audio track player for linux. (How architecture specific!) (Furuse) 1998.12.8 * more widgets in GtkObj * refined memory management * all variants in upper case 1998.12.7 * after deeper thought, re-introduced the connect sub-object * simplified GtkObj: use simple inheritance and allow easy subtyping * updated olabl.diffs for bugs in class functions parsing and printing * add ThreadObj for concurrent object programming (Jacques) 1998.12.3 * pousse.ml is now a reversi game (idea for strategy ?) * solved startup bug (a value checker for ocaml is now available) (Jacques) 1998.12.2 * added GdkObj for high level drawing primitives (Jacques) 1998.11.30 * removed cast checking for NULL valued widgets (ml_gtk.[ch]) * module Arg is renamed as GtkArg because of the name corrision with the module Arg in the standard library * Makefile : native code compilation added (Furuse) 1998.11.29 * renamed widget_ops sub-object to misc * various improvements of set functions (Jacques) 1998.11.28 * switched to object-oriented model. GtkObj is now the standard way to access the library, but not all objects are ready (see README) * removed inheritance in gtk.ml (Jacques) 1998.11.24 * added inheritance in gtk.ml 1998.11.22 * added gtkObj.ml and examples/*_obj.ml * various modifications in gtk.ml lablgtk-3.1.2/LGPL0000644000650106067230000006350414161276610012471 0ustar glondused GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! lablgtk-3.1.2/LICENSE0000644000650106067230000000344414161276610013012 0ustar glondusedThis library (files in src directory) is made available under the GNU Library General Public License (LGPL). You should have got a copy of the LGPL with the current package (see file LGPL). As a special exception to the GNU Library General Public License, you may link, statically or dynamically, a "work that uses the Library" with a publicly distributed version of the Library to produce an executable file containing portions of the Library, and distribute that executable file under terms of your choice, without any of the additional requirements listed in clause 6 of the GNU Library General Public License. By "a publicly distributed version of the Library", we mean either the unmodified Library as distributed by the authors, or a modified version of the Library that is distributed under the conditions defined in clause 3 of the GNU Library General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU Library General Public License. For the examples subdirectory, the code is in the public domain. You may freely copy parts of it in your application. For the applications subdirectory, stricter rules apply: * You are free to do anything you want with this code as long as it is for personal use. * Redistribution can only be "as is". Binary distribution and bug fixes are allowed, but you cannot extensively modify the code without asking the authors. The authors may choose to remove any of the above restrictions on a per request basis. Authors: Jacques Garrigue Benjamin Monate Olivier Andrieu Jun Furuse Hubert Fauque Koji Kagawa $Id$lablgtk-3.1.2/Makefile0000644000650106067230000000227614161276610013447 0ustar glondused.PHONY: help release dev dev-all nopromote opam clean help: @echo "Welcome to lablgtk Dune-based build system. Targets are" @echo "" @echo " - release: build lablgtk package in release mode" @echo " - dev: build in developer mode [requires extra dependencies]" @echo " - dev-all: build in developer mode [requires extra dependencies]" @echo " - nopromote: dev build but without re-running camlp5 generation" @echo " - opam: internal, used in CI testing" @echo " - clean: clean build tree" @echo "" @echo "WARNING: Packagers should not use this makefile, but call dune" @echo "directly with the right options for their distribution, see README" release: dune build -p lablgtk3 dev: dune build # This also builds examples, will be the default once we set (lang dune 2.0) dev-all: dune build @all nopromote: dune build @all --ignore-promoted-rules # We first pin lablgtk3 as to avoid problems with parallel make opam: opam pin add lablgtk3 . --kind=path -y opam install lablgtk3 opam pin add lablgtk3-sourceview3 . --kind=path -y opam install lablgtk3-sourceview3 opam pin add lablgtk3-gtkspell3 . --kind=path -y opam install lablgtk3-gtkspell3 clean: dune clean lablgtk-3.1.2/README.dune.md0000644000650106067230000000563314161276610014220 0ustar glondusedThis file describes the Dune setup for lablgtk and the release instructions. ## Dune setup Dune takes care of all the C-stub needed to compile lablgtk almost automatically. The `src/dune` file is mostly self-describing. ### Packaging choices and C library version detection The main choice we had to do is how to structure the OPAM packages. In lablgtk2, there was a single package, however it would build different binaries based on what it could detect. This was a bit fragile due to lack of reproducible, thus in lablgtk3 each C library has its own OPAM package. We still depend on the `conf-packages`, but note however that the build system does it own versioned C library check. The discussion at the caml-list https://sympa.inria.fr/sympa/arc/caml-list/2018-12/msg00017.html provides some more insight on this choice. The `dune_config` tool is a simple wrapper that can be used to query `pkg-config` for flags and version checks. ### Auto-generation of files The lablgtk3 build uses the `varcc` and `propcc` scripts to auto-generate some files. The rules for such files are in `dune-enum.sexp` and `dune-prop.sexp`. These files could be also auto-generated in the future using Dune's promote mechanism. ## How to release a new version of lablgtk to OPAM **Quick release instructions:** Run `git tag -a` + `dune-release`. The preferred workflow to release a new set of OPAM packages is to use `dune-release`. ### Format of the CHANGES.md file `dune-release` will take each top-level markdown item as the changelog for the current version, thus be aware of not introducing `#` markers. ### Detailed notes The first (and most important) step is to tag the release and push it to the main repository. We recommend you do this manually. As `dune-release` uses `git describe` to gather versioning information, your tag must be annotated. Using `git tag -a` or `git tag -s` will do the job. Please add the version changes to the tag annotation message. You can also use `dune-release tag`, which will try to infer the tag information from `CHANGES.md`, however the current heuristics seem too fragile and the changes list may not be properly updated. Once the tag is in place, calling `dune-release` will build, lint, run the tests, create the opam package, upload the archives and docs to the release page, and submit a pull request to the OPAM repository. Under the hood, `dune-release` executes the following 4 commands: ``` dune-release distrib # Create the distribution archive dune-release publish # Publish it on the WWW with its documentation dune-release opam pkg # Create an opam package dune-release opam submit # Submit it to OCaml's opam repository ``` It is often useful to run the commands separately as to have better control of the release process. Note that you will need the proper permissions for the `publish` step, including setting a Github access token, see `dune-release help files` for more information. lablgtk-3.1.2/README.md0000644000650106067230000003354014161276610013264 0ustar glondused# LablGTK3 3.1.2 : an interface to the GIMP Tool Kit ## Dependencies - ocaml >= 4.05.0 - gtk+ >= 3.18 - dune >= 1.8 - camlp5 (for developer build only) ## Info/upgrades - https://garrigue.github.io/lablgtk/ - https://github.com/garrigue/lablgtk ## Status LablGtk3 is still an experimental port of LablGtk2 to Gtk-3. Currently it is more or less a subset of LablGtk2. LablGtk uses unicode (utf8) for all strings. If you use non-ascii strings, you must imperatively convert them to unicode. This can be done with the `Glib.Convert.locale_to_utf8` function. If your input is already in utf8, it is still a good idea to validate it with `Glib.Utf8.validate`, as malformed utf8 strings may cause segmentation faults. The `setlocale` function is always called (except if you set `GTK_SETLOCALE` to 0 in the environment), but `LC_NUMERIC` is reverted to `"C"` to avoid problems with floating point conversion in OCaml. Some widgets may be unsupported on your version of Gtk. If you use them, you will get a runtime error: ``` Failure "Gobject.unsafe_create : type GtkActionGroup is not yet defined" ``` For unsupported methods, the error message is a bit clearer: ``` Failure "gdk_pixbuf_get_file_info unsupported in Gtk 2.x < 2.4" ``` ## How to compile: To compile in developer mode type: ``` $ dune build ``` this will compile all the public artifacts of all the included packages, and does require having developer tools installed [`camlp5` for instance]. You *must not* use the developer mode to build `lablgtk3` packages, for that you should use ``` $ dune build -p $package ``` where package is, as of today, one of `lablgtk3`, `lablgtk3-gtksourceview3`, `lablgtk3-gtkspell3`. LablGTK uses a standard Dune build setup, see the Dune documentation for more options. ## Contents - `src/gdk.ml` low-level interface to the General Drawing Kit - `src/gtk.ml` low-level interface to the GIMP Tool Kit - `src/gtkThread.ml` main loop for threaded version - `src/g[A-Z]*.ml` object-oriented interface to GTK - `src/gdkObj.ml` object-oriented interface to GDK - `examples/*.ml` various examples - `applications/browser` an ongoing port of ocamlbrowser - `applications/camlirc` an IRC client (by Nobuaki Yoshida) ### How to run the examples The examples are compiled by calling `dune build @all`, you can build `lablgtk3` applications using a standard Dune or `ocamlfind` workflow. Remember to call `GMain.init ()` in your application, or it will fail to properly initialize. ### How to use the threaded toplevel You can start a thread session using utop: ``` $ dune utop src # #thread;; # let locale = GMain.init ();; # let thread = GtkThread.start();; # let w = GWindow.window ~show:true ();; # let b = GButton.button ~packing:w#add ~label:"Hello!" ();; ``` You should at once see a window appear, and then a button. The GTK main loop is running in a separate thread. Any command is immediately reflected by the system. For Windows and OSX/Quartz, there are restrictions on which commands can be used in which thread. See the windows port section lower for how to use them. When using threads in a stand-alone application, you must link with gtkThread.cmo and call GtkThread.main in place of GMain.main. Since 2.16.0, busy waiting is no longer necessary with systems threads. (I.e., CPU usage is 0% if nothing occurs.) If you use VM threads, you have to enable busy waiting by hand, otherwise other threads won't be executed (cf. gtkThread.mli). Beware that with VM threads, you cannot switch threads within a callback. The only thread related command you may use in a callback is Thread.create. Calling blocking operations may cause deadlocks. On the other hand, all newly created threads will be run outside of the callback, so they can use all thread operations. ### Structure of the (raw) Gtk* modules These modules are composed of one submodule for each class. Signals specific to a widget are in a Signals inner module. A setter function is defined to give access to set_param functions. ### Structure of the G[A-Z]* modules These modules provide classes to wrap the raw function calls. Here are the widget classes contained in each module: - **GPango** Pango font handling - **GDraw** Gdk pixmaps, etc... - **GObj** gtkobj, widget, style - **GData** data, adjustment, tooltips - **GContainer** container, item_container - **GWindow** window, dialog, color_selection_dialog, file_selection, plug - **GPack** box, button_box, table, fixed, layout, packer, paned, notebook - **GBin** scrolled_window, event_box, handle_box, frame, aspect_frame, viewport, socket - **GButton** button, toggle_button, check_button, radio_button, toolbar - **GMenu** menu_item, tearoff_item, check_menu_item, radio_menu_item, menu_shell, menu, option_menu, menu_bar, factory - **GMisc** separator, statusbar, calendar, drawing_area, misc, arrow, image, pixmap, label, tips_query, color_selection, font_selection - **GTree** tree_item, tree, view (also tree/list_store, model) - **GList** list_item, liste, clist - **GEdit** editable, entry, spin_button, combo - **GRange** progress, progress_bar, range, scale, scrollbar - **GText** view (also buffer, iter, mark, tag, tagtable) While subtyping follows the Gtk widget hierarchy, you cannot always use width subtyping (i.e. `#super` is not unifiable with all the subclasses of super). Still, it works for some classes, like `#widget` and `#container`, and allows subtyping without coercion towards these classes (cf. `#container` in **examples/pousse.ml** for instance). Practically, each widget class is composed of: - a coerce method, returning the object coerced to the type widget. - an as_widget method, returning the raw Gtk widget used for packing, etc... - a destroy method, sending the destroy signal to the object. - a get_oid method, the equivalent of Oo.id for Gtk objects. - a connect sub-object, allowing one to widget specific signals (this is what prevents width subtyping in subclasses.) - a misc sub-object, giving access to miscellanous functionality of the basic gtkwidget class, and a misc#connect sub-object. - an event sub-object, for Xevent related functions (only if the widget has an Xwindow), and an event#connect sub-object. - a drag sub-object, containing drag and drop functions, and a drag#connect sub-object. - widget specific methods. Here is a diagram of the structure (- for methods, + for sub-objects) ``` - coerce : widget - as_widget : Gtk.widget obj - destroy : unit -> unit - get_oid : int - ... + connect : mywidget_signals | - after | - signal_name : callback:(... -> ...) -> GtkSignal.id + misc : misc_ops | - show, hide, disconnect, ... | + connect : misc_signals + drag : drag_ops | - ... | + connect : drag_signals + event : event_ops | - add, ... | + connect : event_signals ``` You create a widget by `. options ... ()`. Many optional arguments are admitted. The last two of them, packing: and show:, allow you respectively to call a function on your newly created widget, and to decide wether to show it immediately or not. By default all widgets except toplevel windows (**GWindow** module) are shown immediately. ### Default arguments For many constructor or method arguments, default values are provided. Generally, this default value is defined by GTK, and you must refer to GTK's documentation. For ML defined defaults, usually default values are either `false`, `0`, `None` or ```NONE``, according to the expected type. Important exceptions are `~show`, which default to true in all widgets except those in **GWindow**, and `~fill`, which defaults to true or ```BOTH``. Note about unit as method argument: O'Caml introduces no distinction between methods having side-effects and methods simply returning a value. In practice, this is confusing, and awkward when used as callbacks. For this reason all methods having noticeable side-effects should take arguments, and unit if they have no argument. ### ML-side signals The **GUtil** module provides two kinds of utilities: a memo table, to be able to dynamically cast widgets to their original class, and more interesting ML-side signals. With ML-side signals, you can combine LablGTK widgets into your own components, and add signals to them. Later you can connect to these signals, just like GTK signals. This proved very efficient to develop complex applications, abstracting the plumbing between various components. Explanations are provided in GUtil.mli. ### Contributed components The **GToolbox** module contains contributed components to help you build your applications. ### Memory management Important efforts have been dedicated to cooperate with Gtk's reference counting mechanism. As a result you should generally be able to use Gdk/Gtk data structures without caring about memory management. They will be freed when nobody points to them any more. This also means that you do not need to pay too much attention to whether a data structure is still alive or not. If it is not, you should get an error rather than a core dump. The case of Gtk objects deserves special care. Since they are interactive, we cannot just destroy them when they are no longer referenced. They have to be explicitely destroyed. If a widget was added to a container widget, it will automatically be destroyed when its last container is destroyed. For this reason you need only destroy toplevel widgets. Since too frequent GC can severely degrade performance, since 2.18.4 it is possible to change the contribution of custom blocks to the GC cycle, using the function `GMain.Gc.set_speed`. The default is 10% of what it was in 2.18.3. If you set it to 0, custom block allocation has no impact, and you should consider running the Gc by hand. IMPORTANT: Some Gtk data structures are allocated in the Caml heap, and their use in signals (Gtk functions internally cally callbacks) relies on their address being stable during a function call. For this reason automatic compation is disabled in GtkMain. If you need it, you may use compaction through `Gc.compact` where it is safe (timeouts, other threads...), but do not enable automatic compaction. ### Libraries support - GtkSourceView 3 support: This binding was contributed by Benjamin Monate, and adapted by Hugo Herbelin. It requires libgtksourceview-3.x. See examples in examples/sourceview/*3.ml The executable must be linked with lablgtksourceview3.cma. - GtkSpell 3 support: #### Not available in Gtk3 - LibGlade support: not available in Gtk3 (replaced by GtkBuilder) - GL extension: not available in Gtk3 - SVG support: not available in Gtk3 - GnomeCanvas support: not available in Gtk3 ### Running lablgtk3 in the toplevel The X11 version of lablgt3 ### Windows port If you want to use threads, you must be aware of windows specific restrictions; see for instance: http://article.gmane.org/gmane.comp.video.gimp.windows.devel/314 I.e. all GTK related calls must occur in the same thread, the one that runs the main loop. If you want to call them from other threads you need to do some forwarding. Fortunately, with a functional language this is easy. Two functions, ```ocaml val async : ('a -> unit) -> 'a -> unit val sync : ('a -> 'b) -> 'a -> 'b ``` are available in the **GtkThread** module to help you. They will forward your call to the main thread (between handling two GUI events). This can be either asynchronous or synchronous. In the synchronous case, beware of deadlocks (the trivial case, when you are calling from the same thread, is properly avoided). Note also that since callbacks are always called from the main loop thread, you can freely use GTK in them. Also, non-graphical operations are thread-safe. Here is an example using the lablgtk toplevel with threads: ``` % dune utop src # #thread;; # GMain.init ();; # open GtkThread;; # let thread = start ();; # let w = sync (GWindow.window ~show:true) ();; # let b = sync (GButton.button ~packing:w#add ~label:"Hello!") ();; # b#connect#clicked (fun () -> prerr_endline "Hello");; ``` ### OSX/Quartz port Since Darwin is Unix, this port compiles as usual. Note however that Quartz imposes even stronger restrictions than Windows on threads: only the main thread of the application can do GUI work. Just apply the same techniques as described in the Windos port, being careful to ensure that your first call to `GtkThread.main` occurs in the main thread. This can be done by issueing the following commands ``` % dune utop src # #thread;; # GMain.init ();; # let thread = Thread.create UTop_main.main () and () = GtkThread.main ();; # open GtkThread;; # let w = sync (GWindow.window ~show:true) ();; # let b = sync (GButton.button ~packing:w#add ~label:"Hello!") ();; # b#connect#clicked (fun () -> prerr_endline "Hello");; ``` This launches a toplevel thread, and runs main in the application thread. This version utop-specific; `tool/gtkThTop.ml` has a version for the ocaml vanilla toplevel. ## Authors - Jacques Garrigue - Benjamin Monate - Olivier Andrieu - Adrien Nader - Jun Furuse - Maxence Guesdon - Stefano Zacchiroli - Hugo Herbelin - Claudio Sacerdoti Coen - Christophe Troestler - Emilio Jesús Gallego Arias ### For lablgtk1 - Hubert Fauque - Koji Kagawa ## Bug reports https://github.com/garrigue/lablgtk/issues lablgtk-3.1.2/azure-pipelines.yml0000644000650106067230000000156014161276610015641 0ustar glondused# NB: image names can be found at # https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted variables: NJOBS: "2" OPAMYES: "true" BASE_OPAM: "dune cairo2" jobs: - job: macOS pool: vmImage: 'macOS-10.13' steps: - checkout: self fetchDepth: 10 - script: | set -e brew update brew install gnu-time opam pkg-config gtk+3 gtksourceview3 gtkspell3 opam init -a -j "$NJOBS" --compiler=$COMPILER opam switch set $COMPILER eval $(opam env) opam update opam install -j "$NJOBS" $BASE_OPAM opam list displayName: 'Install dependencies' env: COMPILER: "4.07.1" - script: | set -e eval $(opam env) dune build displayName: 'Build lablgtk3 [base]' - script: | set -e eval $(opam env) dune build @all displayName: 'Build lablgtk3 [all]' lablgtk-3.1.2/doc/0000755000650106067230000000000014161276610012545 5ustar glondusedlablgtk-3.1.2/doc/FAQ.text0000644000650106067230000000000014161276610014050 0ustar glondusedlablgtk-3.1.2/doc/README0000644000650106067230000000051114161276610013422 0ustar glondused LablGTK documents Currently, there is no real documentation for LablGTK. For information on how to use it, please have a look at README in the main directory. Documents with extension .mgp are MagicPoint presentations. They give some ideas about how lablgtk was made. You may read them directly. $Id$lablgtk-3.1.2/doc/formula.eps0000644000650106067230000005202514161276610014727 0ustar glondused%!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvipsk 5.78 p1.4c Copyright 1996-99 ASCII Corp.(www-ptex@ascii.co.jp) %%dvipsk 5.78 Copyright 1998 Radical Eye Software (www.radicaleye.com) %%Title: formula.dvi %%BoundingBox: 71 318 395 524 %%DocumentFonts: Symbol Times-Italic Times-Roman Helvetica %%EndComments %DVIPSCommandLine: dvips -E -o formula.eps formula %DVIPSParameters: dpi=300, compressed %DVIPSSource: TeX output 1999.08.19:0906 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if} forall round exch round exch]setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{ /nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ /sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{ dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} {adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] }if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict /eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 2 string 0 1 255{IE S dup 360 add 36 4 index cvrs cvn put}for pop 65781.76 div /vsize X 65781.76 div /hsize X}N /dir 0 def /dyy{/dir 0 def}B /dyt{/dir 1 def}B /dty{/dir 2 def}B /dtt{/dir 3 def}B /p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 rotate}{show}ifelse}ifelse}B /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V{}B /RV statusdict begin /product where{pop false[(Display)(NeXT)(LaserWriter 16/600)]{dup length product length le{dup length product exch 0 exch getinterval eq{ pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}} ifelse B /QV{gsave newpath transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{ p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics exch def dict begin 0 1 255{exch dup type /integertype ne{pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} ifelse}for Metrics /Metrics currentdict end def[2 index currentdict end definefont 3 -1 roll makefont /setfont cvx]cvx def}def /ObliqueSlant{ dup sin S cos div neg}B /SlantFont{4 index mul add}def /ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def end %%EndProcSet %%BeginProcSet: special.pro %! TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ /CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ 10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{itransform lineto} }{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp {pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale true def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial {CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath }N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ /SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! TeXDict begin /setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll }repeat setrgbcolor pop}ifelse}B}ifelse /TeXcolorcmyk{setcmykcolor}def /TeXcolorrgb{setrgbcolor}def /TeXcolorgrey{setgray}def /TeXcolorgray{ setgray}def /TeXcolorhsb{sethsbcolor}def /currentcmykcolor where{pop}{ /currentcmykcolor{currentrgbcolor 10}B}ifelse /DC{exch dup userdict exch known{pop pop}{X}ifelse}B /GreenYellow{0.15 0 0.69 0 setcmykcolor}DC /Yellow{0 0 1 0 setcmykcolor}DC /Goldenrod{0 0.10 0.84 0 setcmykcolor} DC /Dandelion{0 0.29 0.84 0 setcmykcolor}DC /Apricot{0 0.32 0.52 0 setcmykcolor}DC /Peach{0 0.50 0.70 0 setcmykcolor}DC /Melon{0 0.46 0.50 0 setcmykcolor}DC /YellowOrange{0 0.42 1 0 setcmykcolor}DC /Orange{0 0.61 0.87 0 setcmykcolor}DC /BurntOrange{0 0.51 1 0 setcmykcolor}DC /Bittersweet{0 0.75 1 0.24 setcmykcolor}DC /RedOrange{0 0.77 0.87 0 setcmykcolor}DC /Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC /Maroon{0 0.87 0.68 0.32 setcmykcolor}DC /BrickRed{0 0.89 0.94 0.28 setcmykcolor} DC /Red{0 1 1 0 setcmykcolor}DC /OrangeRed{0 1 0.50 0 setcmykcolor}DC /RubineRed{0 1 0.13 0 setcmykcolor}DC /WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC /Salmon{0 0.53 0.38 0 setcmykcolor}DC /CarnationPink{0 0.63 0 0 setcmykcolor}DC /Magenta{0 1 0 0 setcmykcolor}DC /VioletRed{0 0.81 0 0 setcmykcolor}DC /Rhodamine{0 0.82 0 0 setcmykcolor}DC /Mulberry {0.34 0.90 0 0.02 setcmykcolor}DC /RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC /Lavender{0 0.48 0 0 setcmykcolor}DC /Thistle{0.12 0.59 0 0 setcmykcolor}DC /Orchid{ 0.32 0.64 0 0 setcmykcolor}DC /DarkOrchid{0.40 0.80 0.20 0 setcmykcolor} DC /Purple{0.45 0.86 0 0 setcmykcolor}DC /Plum{0.50 1 0 0 setcmykcolor} DC /Violet{0.79 0.88 0 0 setcmykcolor}DC /RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC /Periwinkle {0.57 0.55 0 0 setcmykcolor}DC /CadetBlue{0.62 0.57 0.23 0 setcmykcolor} DC /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC /MidnightBlue{0.98 0.13 0 0.43 setcmykcolor}DC /NavyBlue{0.94 0.54 0 0 setcmykcolor}DC /RoyalBlue{1 0.50 0 0 setcmykcolor}DC /Blue{1 1 0 0 setcmykcolor}DC /Cerulean{0.94 0.11 0 0 setcmykcolor}DC /Cyan{1 0 0 0 setcmykcolor}DC /ProcessBlue{0.96 0 0 0 setcmykcolor}DC /SkyBlue{0.62 0 0.12 0 setcmykcolor}DC /Turquoise{0.85 0 0.20 0 setcmykcolor}DC /TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC /BlueGreen{0.85 0 0.33 0 setcmykcolor}DC /Emerald{1 0 0.50 0 setcmykcolor}DC /JungleGreen{0.99 0 0.52 0 setcmykcolor}DC /SeaGreen{ 0.69 0 0.50 0 setcmykcolor}DC /Green{1 0 1 0 setcmykcolor}DC /ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC /PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC /LimeGreen{0.50 0 1 0 setcmykcolor}DC /YellowGreen{ 0.44 0 0.74 0 setcmykcolor}DC /SpringGreen{0.26 0 0.76 0 setcmykcolor} DC /OliveGreen{0.64 0 0.95 0.40 setcmykcolor}DC /RawSienna{0 0.72 1 0.45 setcmykcolor}DC /Sepia{0 0.83 1 0.70 setcmykcolor}DC /Brown{0 0.81 1 0.60 setcmykcolor}DC /Tan{0.14 0.42 0.56 0 setcmykcolor}DC /Gray{0 0 0 0.50 setcmykcolor}DC /Black{0 0 0 1 setcmykcolor}DC /White{0 0 0 0 setcmykcolor}DC end %%EndProcSet TeXDict begin 40258437 52099154 1000 300 300 (formula.dvi) @start /Fa 134[ 41 5[ 41 3[ 46 46 1[ 18 6[ 46 15[ 60 4[ 55 14[ 55 23[ 28 28 40[{ TeXBase1Encoding ReEncodeFont } 11 82.6359 /Helvetica rf /Fb 205[ 34 34 49[{ TeXBase1Encoding ReEncodeFont } 2 68.8667 /Times-Roman rf /Fc 154[ 30 101[{ } 1 68.8667 /Symbol rf %DVIPSBitmapFont: Fd cmr10 19.907 4 /Fd 4 94 df<146014E0EB01C0EB0380EB0700130E5B133C13385B13F05B1201485AA248 5AA348C7FCA25A121EA2123EA2123CA2127CA5127812F8B01278127CA5123CA2123EA212 1EA2121F7EA26C7EA36C7EA26C7E12007F13707F133C131C7F7FEB0380EB01C0EB00E014 60135278BD20> 40 D<7E7E7E12707E7E7E120F7E6C7E7F12017F6C7EA21378A37FA213 3E131EA2131FA27FA21480A5130714C0B01480130FA51400A25BA2131EA2133E133CA25B A35BA2485A5B12035B48C7FC5A120E5A5A5A5A5A5A12527BBD20> I 91 D 93 D E %EndDVIPSBitmapFont /Fe 197[ 23 58[{ TeXBase1Encoding ReEncodeFont } 1 82.6359 /Times-Roman rf %DVIPSBitmapFont: Ff cmsy10 19.907 4 /Ff 4 106 df<0060161800F0163CA26C167C00781678007C16F8003C16F0A2003E1501 001E16E0A2001F15036C16C06D140700071680A26D140F000316006D5C6CB612FEA36C5D 01F8C7127C01781478A2017C14F8013C5CA2013E1301011E5C011F13036D5CA2EC800701 075CECC00F010391C7FCA26E5A0101131EECF03E0100133CA2ECF87CEC7878A2EC7CF8EC 3CF0143F6E5AA36E5AA26E5AA26EC8FC2E3A80B82F> 56 D<126012F0B3A7B8FC1780A3 00F0CAFCB3A8126029397CB832> 96 D<14C0EB01E0A2130314C013071480A2130F1400 A25B131E133E133CA2137C137813F85BA212015BA212035B12075BA2120F90C7FC5A121E A2123E123CA2127C127812F85AA27E1278127C123CA2123E121EA2121F7E7F1207A27F12 037F1201A27F1200A27F1378137C133CA2133E131E131F7FA214801307A214C0130314E0 1301A2EB00C0135278BD20> 104 D<126012F0A27E1278127C123CA2123E121EA2121F7E 7F1207A27F12037F1201A27F1200A27F1378137C133CA2133E131E131F7FA214801307A2 14C0130314E01301A2130314C013071480A2130F1400A25B131E133E133CA2137C137813 F85BA212015BA212035B12075BA2120F90C7FC5A121EA2123E123CA2127C127812F85AA2 126013527CBD20> I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fg cmmi10 19.907 1 /Fg 1 59 df<121C123E127FEAFF80A3EA7F00123E121C0909798817> 58 D E %EndDVIPSBitmapFont /Fh 158[ 41 31[ 50 65[{ TeXBase1Encoding ReEncodeFont } 2 82.6359 /Times-Italic rf /Fi 139[ 36 50 13[ 36 101[{ } 3 82.6359 /Symbol rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%EndSetup 0 0 bop Black Black 0 0.7 0 TeXcolorrgb Fh 567 883 a(A) p Ff 636 883 a(`) p Fh 705 883 a(a) p Fe 765 883 a(:) p 0 0 1 TeXcolorrgb Fi 806 883 a(t) p Fb 842 900 a(1) p 0 0.7 0 TeXcolorrgb Fd 948 883 a(\() p 0 0 1 TeXcolorrgb Fi(t) p Fb 1016 900 a(1) p 0 0.7 0 TeXcolorrgb Fe 1071 883 a(:) p 0 0 1 TeXcolorrgb Fi 1112 883 a(t) p 0 0.7 0 TeXcolorrgb Fe 1167 883 a(:) p 0 0 1 TeXcolorrgb Fi 1208 883 a(t) p Fb 1244 900 a(2) p 0 0.7 0 TeXcolorrgb Fd 1281 883 a(\)) p 567 920 746 4 v Fh 704 995 a(A) p Ff 773 995 a(`) p Fd 842 995 a(\() p Fh(a) p Fe 934 995 a(:) p 0 0 1 TeXcolorrgb Fi 975 995 a(t) p 0 0.7 0 TeXcolorrgb Fd(\)) p Fe 1062 995 a(:) p 0 0 1 TeXcolorrgb Fi 1103 995 a(t) p Fb 1139 1012 a(2) p 0 0.7 0 TeXcolorrgb Black Fa 2 939 a(\(Ann\)) p 0 0.7 0 TeXcolorrgb Black 0 0.7 0 TeXcolorrgb Fh 540 1208 a(A) p Ff 609 1208 a(`) p Fh 678 1208 a(a) p Fe 738 1208 a(:) p 0 0 1 TeXcolorrgb Fi 779 1208 a(s) p Fb 829 1225 a(1) p 0 0.7 0 TeXcolorrgb Fd 934 1208 a(\() p 0 0 1 TeXcolorrgb Fi(s) p Fb 1016 1225 a(1) p 0 0.7 0 TeXcolorrgb Fe 1071 1208 a(:) p 0 0 1 TeXcolorrgb Fi 1112 1208 a(s) p 0 0.7 0 TeXcolorrgb Fe 1180 1208 a(:) p 0 0 1 TeXcolorrgb Fi 1222 1208 a(s) p Fb 1272 1225 a(2) p 0 0.7 0 TeXcolorrgb Fd 1308 1208 a(\)) p 540 1245 801 4 v Fh 661 1321 a(A) p Ff 730 1321 a(`) p Fd 799 1321 a([) p Fh(a) p Fe 881 1321 a(:) p 0 0 1 TeXcolorrgb Fi 923 1321 a(s) p 0 0.7 0 TeXcolorrgb Fd 972 1321 a(]) p Fe 1014 1321 a(:) p 0 0 1 TeXcolorrgb Fd 1055 1321 a([) p Fi(s) p Fb 1128 1338 a(2) p Fd 1164 1321 a(]) p Fc 1187 1297 a(e) p 0 0.7 0 TeXcolorrgb Black Fa 2 1264 a(\(P) l(oly\)) p 0 0.7 0 TeXcolorrgb Black 0 0.7 0 TeXcolorrgb Fh 704 1537 a(A) p Ff 773 1537 a(`) p Fh 842 1537 a(a) p Fe 902 1537 a(:) p 0 0 1 TeXcolorrgb Ff 943 1537 a(8) p Fi(e) p Fg(:) p Fd([) p Fi(s) p Fd(]) p Fc 1145 1507 a(e) p 0 0.7 0 TeXcolorrgb 704 1573 472 4 v Fh 764 1649 a(A) p Ff 833 1649 a(`) p 902 1649 a(h) p Fh(a) p Ff(i) p Fe 1025 1649 a(:) p 0 0 1 TeXcolorrgb Fi 1067 1649 a(s) p 0 0.7 0 TeXcolorrgb Black Fa 2 1592 a(\(Use\)) p 0 0.7 0 TeXcolorrgb Black Black Black 90 rotate dyy eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF lablgtk-3.1.2/doc/header0000644000650106067230000000224514161276610013723 0ustar glondused 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 lablgtk-3.1.2/doc/header_apps0000644000650106067230000000244314161276610014746 0ustar glondused Lablgtk - Applications * You are free to do anything you want with this code as long as it is for personal use. * Redistribution can only be "as is". Binary distribution and bug fixes are allowed, but you cannot extensively modify the code without asking the authors. The authors may choose to remove any of the above restrictions on a per request basis. Authors: Jacques Garrigue Benjamin Monate Olivier Andrieu Jun Furuse Hubert Fauque Koji Kagawa lablgtk-3.1.2/doc/header_examples0000644000650106067230000000061314161276610015616 0ustar glondused Lablgtk - Examples There is no specific licensing policy, but you may freely take inspiration from the code, and copy parts of it in your application. lablgtk-3.1.2/doc/lablgtk.mgp0000644000650106067230000003061314161276610014675 0ustar glondused%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %deffont "code" xfont "itc avant garde gothic-demi-r", tfont "verdana.ttf" %deffont "code-bold" xfont "terminal-bold-r", tfont "verdanab.ttf" %deffont "sans" xfont "helvetica-medium-r", tfont "comic.ttf" %deffont "sans-bold" xfont "helvetica-bold-r", tfont "comicbd.ttf" %deffont "sansit" xfont "helvetica-medium-i", tfont "marlett.ttf" %deffont "title" xfont "times-medium-r", tfont "times.ttf" %deffont "title-bold" xfont "times-bold-r", tfont "timesbd.ttf" %default 1 right, size 2, fore "white", bgrad %default 1 vfont "goth", font "sans-bold", vgap 100 %default 2 leftfill, size 8, vgap 60, prefix " ", font "sans" %default 3 size 4, bar "beige", vgap 10 %default 4 size 5, fore "white", vgap 20, prefix " " %tab 1 size 5, vgap 40, prefix " ", icon box "green" 50 %tab 2 size 5, vgap 40, prefix " ", icon arc "yellow" 50 %tab 3 size 5, vgap 40, prefix " ", icon arc "white" 40 %tab com1 size 4, prefix " " %tab com2 size 4, prefix " " %tab com3 size 4, prefix " " %tab txt font "sans", size 5, fore "white", prefix " " %tab vspace size 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page %nodefault %size 9, font "title-bold" %fore "beige", back "navyblue", vgap 20 %center A Type System in Action: the LablGTK Interface %size 7, font "title" Jacques Garrigue Kyoto University %size 6, font "code" garrigue@kurims.kyoto-u.ac.jp %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 2 Synopsis Objective Label introduction %size 2 Why GTK+? GTK+/LablGTK structure %size 2 Low Level Type encoding with variants Labeled parameters %size 2 High Level Object-orientation Optional arguments Polymorphic methods %size 2 Conclusion %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 3 Objective Label Based on Objective Caml ML syntax and type inference Class-based object system Several extensions Labeled and optional parameters Polymorphic variants Polymorphic methods Tools Type-based browser GUI and 3D graphics %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 4 Labels and optionals %font "code", size 4, prefix " ", fore "yellow" let rec map fun:f = function [] -> [] | x :: l -> f x :: map fun:f l %fore "lightpink" val map : fun:('a -> 'b) -> 'a list -> 'b list %pause, fore "yellow", font "code" let f = map [1;2;3] %fore "lightpink" val f : fun:(int -> 'a) -> 'a list %fore "yellow" f fun:(fun x -> 2*x) %fore "lightpink" - : int list = [2; 3; 4] %pause, fore "yellow", font "code" let f x ?incr:y [< 1 >] = x + y %fore "lightpink" val f : int -> ?incr:int -> int %fore "yellow" f 1 %fore "lightpink" - : int = 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 5 Polymorphic variants %font "code", size 4, prefix " ", fore "yellow" [`on; `off] %fore "lightpink" - : [> off on] list = [`on; `off] %pause, fore "yellow", font "code" `number 1;; %fore "lightpink" - : [> number(int)] = `number 1 %pause, fore "yellow", font "code" let f = function `on -> 1 | `off -> 0 | `number n -> n %fore "lightpink" val f : [< number(int) off on] -> int %pause, fore "yellow", font "code" type t = [on off number(int)] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 6 Polymorphic methods Not allowed in Objective Caml %size 2 %font "code", size 4, prefix " ", fore "yellow" class c = object method m x = x end %fore "red" Some type variables are unbound in this type: class c : object method m : 'a -> 'a end The method m has type 'a -> 'a where 'a is unbound %pause, font "sans", size 5, prefix " ", fore "white" Need explicit annotation in O'Labl %size 2 %font "code", size 4, prefix " ", fore "yellow" class c = object method m : 'a. 'a -> 'a = fun x -> x end %fore "lightpink" class c : object method m : 'a -> 'a end %fore "yellow" let o = new c %fore "lightpink" val o : c = %fore "yellow" o#m 1, o#m true %fore "lightpink" - : int * bool = 1, true %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 7 Why GTK+ ? Why use the GIMP Tool Kit? %size 3 Widely used in free software Easy to interface Written in C (QT uses C++) Memory management Drawbacks %size 3 Design lacks uniformity Extensive use of dynamic typing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 8 GTK+ Structure Class hierarchy based on GtkObject %size 2 Single inheritance &com1 New widgets may redefine methods %size 2 Dynamically checked &com1 Casting necessay both up and down %size 2 Developper-side hierarchy &com1 Inheritance is not always meaningful to the user %size 2 %size 5 Signal-based callback mechanism %size 2 May use multiple callbacks %size 2 Signals are polymorphic %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 9 LablGTK structure Typed at all levels Low-level interface %size 2 C stub functions -- typechecked by C ML type declarations -- ML abstract types High-level interface %size 2 ML class wrappers -- ML concrete types %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 10 Low Level Interface Goals Strongly typed interface &com1 heavy use of advanced typing techniques Very little ML code &com1 C-stubs and external declarations Safe memory management &com1 have the library cooperate with the GC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 11 Low level encoding (I) How to represent widget subtyping in ML? Example: buttons' hierarchy %size 2 %font "code", size 5, prefix " ", fore "yellow" GtkObject GtkWidget GtkContainer GtkButton GtkToggleButton GtkRadioButton %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 12 Variants as set constraints Variants can be seen as sets of possible values: [tag1 ... tagn] = {tag1,...,tagn} Polymorphic variants introduce constraints $B&A(B[> tag1 ... tagn] $B"N(B $B&A(B $B"?(B {tag1,...,tagn} $B&A(B[< tag1 ... tagn] $B"N(B $B&A(B $B">(B {tag1,...,tagn} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 13 Encoding hierarchies Define an abstract type &vspace %font "code", fore "yellow", size 5 type 'a obj &txt Use tags to represent properties &vspace %font "code", fore "yellow", size 5 type t = [class1 ... classn] obj &txt Functions check properties &vspace %font "code", fore "yellow", size 5 val f : [> class1 ... classn] obj -> ... &txt Subsumes Haskell type classes &vspace Allows multiple inheritance %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 14 Low level encoding (II) Example: buttons' hierarchy %size 2 %font "code", size 4, prefix " ", fore "yellow" type 'a obj type widget = [widget] obj type container = [widget container] obj type button = [widget container button] obj type toggle_button = [widget ... togglebutton] obj type radio_button = [widget ... radiobutton] obj type state_type = [ NORMAL ACTIVE PRELIGHT SELECTED INSENSITIVE ] val set_state : [> widget] obj -> state_type -> unit val children : [> container] obj -> [widget] obj list val clicked : [> button] obj -> unit val set_group : [> radiobutton] obj -> group -> unit %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 15 Alternate encoding Use only standard ML features %size 2 %font "code", size 4, prefix " ", fore "yellow", vgap 50 type 'a obj type 'a widget ... type 'a radio type state_type = NORMAL | ACTIVE | ... | INSENSITIVE val set_state : 'a widget obj -> state_type -> unit val children : 'a container widget obj -> unit widget obj list val clicked : 'a button container widget obj -> unit &txt Weaknesses No multiple inheritance Not very intuitive for the user %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 16 Low level encoding (III) Use of labeled parameters %size 2 %font "code", size 4, prefix " ", fore "yellow", vgap 50 val adjustment_new : value:float -> lower:float -> upper:float -> step_incr:float -> page_incr:float -> page_size:float -> adjustment obj &txt Signals %size 2 %font "code", size 4, prefix " ", fore "yellow", vgap 50 type ('a,'b) signal = { name: string; marshaller: 'b -> GtkArgv.t -> unit } val connect : 'a obj -> sig:('a,'b) signal -> callback:'b -> ?after:bool -> id val button_clicked : ([> button], unit -> unit) signal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 17 High-Level Interface Problems with GTK+ %size 2 Name space is scattered &com1 One has to know in which superclass a function is defined Developper oriented design &com1 There is no clear distinction between public and private definitions &txt LablGTK design %size 2 OCaml classes to reunify name space Omit developper-oriented methods %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 18 High-level classes %font "code", size 4, prefix " ", fore "yellow" class button : %fore "lightgreen" ?label:string -> %fore "lightpink" ?border_width:int -> ?width:int -> ?height:int -> %fore "lightgray" ?packing:(GButton.button -> unit) -> ?show:bool -> %fore "yellow" object %fore "lightgray" method destroy : unit -> unit method as_widget : Gtk.widget obj method misc : GObj.widget_misc %fore "lightpink" method add : #is_widget -> unit method set_border_width : int -> unit %fore "lightgreen" method clicked : unit -> unit method connect : GButton.button_signals method grab_default : unit -> unit %fore "yellow" end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 19 High-level features Objective Caml classes &com1 allow collecting methods from different modules Use optionals in class constructors &com1 makes widget creation much easier Polymorphic methods &com1 needed for container widgets %size 2 %font "code", size 4, fore "yellow", vgap 50 method add : 'a. (#is_widget as 'a) -> unit %fore "white", font "sans" Polymorphic variants &com1 for C-style enumeration types, avoid name-space dependancies %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 20 Polymorphic methods (I) Instance of first-class polymorphism %size 2 first-class polytypes cannot be inferred they are propagated by the definition flow Technically %size 2 use polymorphism to track available information type system excludes derivations based on "guessed" information %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 21 First class polymorphism %prefix " " %image "formula.eps" 512x384 %size 2 %prefix " ", size 5, fore "lightblue" ($B&R(B1 : $B&R(B : $B&R(B2) $B"N(B $B&R(B1 = $B&H(B($B&Q(B1($B&R(B)) $B"J(B $B&R(B2 = $B&H(B($B&Q(B2($B&R(B)) %fore "white" where $B&H(B instantiates free variables, and $B&Q(B1,$B&Q(B2 rename free labels of $B&R(B. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 22 Polymorphic methods (II) Definitions %size 2 %font "code", size 4, prefix " ", fore "yellow", vgap 50 type is_widget = < as_widget : widget obj > type #is_widget = < as_widget : widget obj; .. > type container = < ... ; add : 'a. (#as_widget as 'a) -> unit; ... > %pause &txt Propagation %size 2 %font "code", size 4, prefix " ", fore "lightgreen", vgap 50 fun (cont : container) -> cont#add widget %pause let button = new button in button#add widget %pause, fore "red" fun cont -> cont#add widget %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 23 Programming example Hello World %size 2 %font "code", size 4, prefix " ", fore "yellow" open GMain let window = new GWindow.window border_width: 10 let button = new GButton.button label: "Hello World" packing: window#add let _ = window#connect#destroy callback: Main.quit; button#connect#clicked callback: window#destroy; window#show (); Main.main () %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 24 Conclusion Results %size 2 Could build a strongly typed interface It is easier to use than the C API Makes effective use of extensions to the type system Comments %size 2 Still difficulties with the Caml object system &com2 class recursion, method type refinement, etc... lablgtk-3.1.2/doc/layers.mgp0000644000650106067230000000775314161276610014565 0ustar glondused%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %deffont "code" xfont "itc avant garde gothic-demi-r", tfont "verdana.ttf" %deffont "code-bold" xfont "terminal-bold-r", tfont "verdanab.ttf" %deffont "sans" xfont "helvetica-medium-r", tfont "comic.ttf" %deffont "sans-bold" xfont "helvetica-bold-r", tfont "comicbd.ttf" %deffont "sansit" xfont "helvetica-medium-i", tfont "marlett.ttf" %deffont "title" xfont "times-medium-r", tfont "times.ttf" %deffont "title-bold" xfont "times-bold-r", tfont "timesbd.ttf" %default 1 right, size 2, fore "white", bgrad %default 1 vfont "goth", font "sans-bold", vgap 100 %default 2 leftfill, size 8, vgap 60, prefix " ", font "sans" %default 3 size 4, bar "beige", vgap 10 %default 4 size 5, fore "white", vgap 20, prefix " " %tab 1 size 5, vgap 40, prefix " ", icon box "green" 50 %tab 2 size 5, vgap 40, prefix " ", icon arc "yellow" 50 %tab 3 size 5, vgap 40, prefix " ", icon arc "white" 40 %tab com1 size 4, prefix " " %tab com2 size 4, prefix " " %tab com3 size 4, prefix " " %tab txt font "sans", size 5, fore "white", prefix " " %tab vspace size 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page %nodefault %size 9, font "title-bold" %fore "beige", back "navyblue", vgap 20 %center The 3 layers of LablGTK %size 7, font "title" Jacques Garrigue Kyoto University %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 2 LablGTK An High-Level interface to the GTK+ toolkit for Objective Caml 1st layer: C stubs and support functions most the work is done at this level very careful about memory management 2nd layer: ML low level interface very little actual code provides a well-typed layer 3rd layer: ML object-oriented interface easy to use %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 3 1st layer Do all the dirty work on the C side Good support for C stubs in Caml No assumptions about C data representation Heavy use of CPP for generating stubs one line per function (about 700) Extractor functions to access structure members Variant conversion (about 80 enumerations) Signal (callback) basic support GC support: ref/deref and finalization %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 4 2nd layer Well typed interface to GTK Types and variants External declarations (about 950) Error prone: no consistency check with C Very few type errors, but some wrong function names Wrappers when needed Things hard to do on the C side Signal stubs Uses dynamic typing Thread safe Allows for interactive programming %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 5 3rd layer Stateful object-oriented layer Each GTK class mapped to a Caml class Methods restricted to useful ones The GTK class hierarchy is sometimes strange Object constructors defined as functions Heavy use of optional parameters Take full advantage of higher-order functions signal/callback, functional parameters Lack of polymorphic method (present in OLabl) There is a #coerce method to convert to the basic widget \ type %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 6 Programming example Hello World %size 2 %font "code", size 4, prefix " ", fore "yellow" open GMain let window = GWindow.window ~border_width: 10 () let button = GButton.button ~label: "Hello World" ~packing: window#add () let _ = window#connect#destroy ~callback: Main.quit; button#connect#clicked ~callback: window#destroy; window#show (); Main.main () %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page 7 Status Complete implementation of GTK functions - GtkCTree + GtkGLArea, GtkXmHtml, Mozilla A large number of GDK functions Lots of examples 20+ applets experimental GUI builder Unison file synchronizer (Pierce & others) Version 1.00 available for Objective Caml see LablGTK at http://www.gtk.org/lablgtk-3.1.2/dune0000644000650106067230000000032714161276610012660 0ustar glondused; Dune build file for lablgtk3 ; Written by EJGA, (c) 2018-2019 MINES ParisTech ; This file is in the public domain (env (_ (binaries ./tools/dune_config.exe ./tools/varcc.exe ./tools/propcc.exe))) lablgtk-3.1.2/dune-project0000644000650106067230000000004014161276610014314 0ustar glondused(lang dune 1.8) (name lablgtk3) lablgtk-3.1.2/examples/0000755000650106067230000000000014161276610013616 5ustar glondusedlablgtk-3.1.2/examples/.gitignore0000644000650106067230000000003114161276610015600 0ustar glondused*.cm* /sourceview/viewer lablgtk-3.1.2/examples/GL/0000755000650106067230000000000014161276610014120 5ustar glondusedlablgtk-3.1.2/examples/GL/aargb.ml0000644000650106067230000000444214161276610015532 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let init () = List.iter Gl.enable [`line_smooth; `blend]; GlFunc.blend_func ~src:`src_alpha ~dst:`one_minus_src_alpha; GlMisc.hint `line_smooth `dont_care; GlDraw.line_width 4.; GlClear.color (0., 0., 0.) let rot_angle = ref 0. let display ~area () = GlClear.clear [`color]; GlDraw.color (0., 1., 0.); GlMat.push (); GlMat.rotate ~angle:(-. !rot_angle) ~z:0.1 (); GlDraw.begins `lines; GlDraw.vertex2 (-0.5, 0.5); GlDraw.vertex2 (0.5, -0.5); GlDraw.ends (); GlMat.pop (); GlDraw.color (0., 0., 1.); GlMat.push (); GlMat.rotate ~angle:(!rot_angle) ~z:0.1 (); GlDraw.begins `lines; GlDraw.vertex2 (0.5, 0.5); GlDraw.vertex2 (-0.5, -0.5); GlDraw.ends (); GlMat.pop (); Gl.flush (); area#swap_buffers () let reshape ~width:w ~height:h = GlDraw.viewport ~x:0 ~y:0 ~w ~h; GlMat.mode `projection; GlMat.load_identity(); if w < h then GluMat.ortho2d ~x:(-1., 1.) ~y:(-.float w /. float h, float w /. float h) else GluMat.ortho2d ~y:(-1., 1.) ~x:(-.float w /. float h, float w /. float h); GlMat.mode `modelview; GlMat.load_identity() open GdkKeysyms let main () = let w = GWindow.window ~title:"Antialiasing/Gtk" () in w#connect#destroy ~callback:GMain.quit; let area = GlGtk.area [`RGBA;`DOUBLEBUFFER] ~width:500 ~height:500 ~packing:w#add () in area#connect#realize ~callback:init; area#connect#reshape ~callback:reshape; area#connect#display ~callback:(display ~area); w#event#connect#key_press ~callback: begin fun ev -> let key = GdkEvent.Key.keyval ev in if key = _r || key = _R then begin rot_angle := !rot_angle +. 20.; if !rot_angle > 360. then rot_angle := 0.; display ~area () end; true end; w#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/GL/gears.ml0000644000650106067230000001732114161276610015557 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* * 3-D gear wheels. This program is in the public domain. * * Brian Paul * LablGL version by Jacques Garrigue * Lablgtk version by Eric Cooper *) open StdLabels let pi = acos (-1.) (* * Draw a gear wheel. You'll probably want to call this function when * building a display list since we do a lot of trig here. * * Input: inner_radius - radius of hole at center * outer_radius - radius at center of teeth * width - width of gear * teeth - number of teeth * tooth_depth - depth of tooth *) let gear ~inner ~outer ~width ~teeth ~tooth_depth = let r0 = inner and r1 = outer -. tooth_depth /. 2.0 and r2 = outer +. tooth_depth /. 2.0 in let ta = 2.0 *. pi /. float teeth in let da = ta /. 4.0 in GlDraw.shade_model `flat; GlDraw.normal ~z:1.0 (); let vertex ~r ~z ?(s=0) i = let angle = float i *. ta +. float s *. da in GlDraw.vertex ~x:(r *. cos angle) ~y:(r *. sin angle) ~z () in (* draw front face *) let z = width *. 0.5 in GlDraw.begins `quad_strip; for i=0 to teeth do vertex i ~r:r0 ~z; vertex i ~r:r1 ~z; vertex i ~r:r0 ~z; vertex i ~r:r1 ~z ~s:3; done; GlDraw.ends (); (* draw front sides of teeth *) GlDraw.begins `quads; for i=0 to teeth - 1 do vertex i ~r:r1 ~z; vertex i ~r:r2 ~s:1 ~z; vertex i ~r:r2 ~s:2 ~z; vertex i ~r:r1 ~s:3 ~z; done; GlDraw.ends (); GlDraw.normal ~z:(-1.0) (); (* draw back face *) let z = -. width *. 0.5 in GlDraw.begins `quad_strip; for i=0 to teeth do vertex i ~r:r1 ~z; vertex i ~r:r0 ~z; vertex i ~r:r1 ~s:3 ~z; vertex i ~r:r0 ~z; done; GlDraw.ends (); (* draw back sides of teeth *) GlDraw.begins `quads; for i=0 to teeth - 1 do vertex i ~r:r1 ~s:3 ~z; vertex i ~r:r2 ~s:2 ~z; vertex i ~r:r2 ~s:1 ~z; vertex i ~r:r1 ~z; done; GlDraw.ends (); (* draw outward faces of teeth *) let z = width *. 0.5 and z' = width *. (-0.5) in GlDraw.begins `quad_strip; for i=0 to teeth - 1 do let angle = float i *. ta in vertex i ~r:r1 ~z; vertex i ~r:r1 ~z:z'; let u = r2 *. cos(angle+.da) -. r1 *. cos(angle) and v = r2 *. sin(angle+.da) -. r1 *. sin(angle) in GlDraw.normal ~x:v ~y:(-.u) (); vertex i ~r:r2 ~s:1 ~z; vertex i ~r:r2 ~s:1 ~z:z'; GlDraw.normal ~x:(cos angle) ~y:(sin angle) (); vertex i ~r:r2 ~s:2 ~z; vertex i ~r:r2 ~s:2 ~z:z'; let u = r1 *. cos(angle +. 3. *. da) -. r2 *. cos(angle +. 2. *. da) and v = r1 *. sin(angle +. 3. *. da) -. r2 *. sin(angle +. 2. *. da) in GlDraw.normal ~x:v ~y:(-.u) (); vertex i ~r:r1 ~s:3 ~z; vertex i ~r:r1 ~s:3 ~z:z'; GlDraw.normal ~x:(cos angle) ~y:(sin angle) (); done; vertex 0 ~r:r1 ~z; vertex 0 ~r:r1 ~z:z'; GlDraw.ends (); GlDraw.shade_model `smooth; (* draw inside radius cylinder *) GlDraw.begins `quad_strip; for i=0 to teeth do let angle = float i *. ta in GlDraw.normal ~x:(-. cos angle) ~y:(-. sin angle) (); vertex i ~r:r0 ~z:z'; vertex i ~r:r0 ~z; done; GlDraw.ends () class view area = object (self) val mutable gears = None val mutable view_rotx = 0.0 val mutable view_roty = 0.0 val mutable view_rotz = 0.0 val mutable angle = 0.0 method rotx a = view_rotx <- a method roty a = view_roty <- a method rotz a = view_rotz <- a method draw () = let (gear1, gear2, gear3) = match gears with Some x -> x | None -> failwith "draw : not yet initialized" in GlClear.clear [`color;`depth]; GlMat.push (); GlMat.rotate ~angle:view_rotx ~x:1.0 (); GlMat.rotate ~angle:view_roty ~y:1.0 (); GlMat.rotate ~angle:view_rotz ~z:1.0 (); GlMat.push (); GlMat.translate ~x:(-3.0) ~y:(-2.0) (); GlMat.rotate ~angle:angle ~z:1.0 (); (* gear inner:1.0 outer:4.0 width:1.0 teeth:20 tooth_depth:0.7; *) GlList.call gear1; GlMat.pop (); GlMat.push (); GlMat.translate ~x:3.1 ~y:(-2.0) (); GlMat.rotate ~angle:(-2.0 *. angle -. 9.0) ~z:1.0 (); (* gear inner:0.5 outer:2.0 width:2.0 teeth:10 tooth_depth:0.7; *) GlList.call gear2; GlMat.pop (); GlMat.push (); GlMat.translate ~x:(-3.1) ~y:4.2 (); GlMat.rotate ~angle:(-2.0 *. angle -. 25.0) ~z:1.0 (); (* gear inner:1.3 outer:2.0 width:0.5 teeth:10 tooth_depth:0.7; *) GlList.call gear3; GlMat.pop (); GlMat.pop (); Gl.flush (); area#swap_buffers () method idle () = angle <- angle +. 2.0; if area#misc#visible then self#draw (); true method reshape ~width:w ~height:h = GlDraw.viewport ~x:0 ~y:0 ~w ~h; GlMat.mode `projection; GlMat.load_identity (); let r = float w /. float h in let r' = 1. /. r in if (w>h) then GlMat.frustum ~x:(-. r,r) ~y:(-1.0,1.0) ~z:(5.0,60.0) else GlMat.frustum ~x:(-1.0,1.0) ~y:(-.r',r') ~z:(5.0,60.0); GlMat.mode `modelview; GlMat.load_identity(); GlMat.translate ~z:(-40.0) (); GlClear.clear[`color;`depth] method init () = let pos = 5.0, 5.0, 10.0, 0.0 and red = 0.8, 0.1, 0.0, 1.0 and green = 0.0, 0.8, 0.2, 1.0 and blue = 0.2, 0.2, 1.0, 1.0 in GlLight.light ~num:0 (`position pos); List.iter ~f:Gl.enable [`cull_face;`lighting;`light0;`depth_test;`normalize]; (* make the gears *) let make_gear ~inner ~outer ~width ~teeth ~color = let list = GlList.create `compile in GlLight.material ~face:`front (`ambient_and_diffuse color); gear ~inner ~outer ~width ~teeth ~tooth_depth:0.7; GlList.ends (); list in let gear1 = make_gear ~inner:1.0 ~outer:4.0 ~width:1.0 ~teeth:20 ~color:red and gear2 = make_gear ~inner:0.5 ~outer:2.0 ~width:2.0 ~teeth:10 ~color:green and gear3 = make_gear ~inner:1.3 ~outer:2.0 ~width:0.5 ~teeth:10 ~color:blue in gears <- Some (gear1, gear2, gear3) initializer area#connect#realize ~callback: self#init; area#connect#display ~callback: self#draw; area#connect#reshape ~callback: self#reshape; () end open GMain let main () = let window = GWindow.window ~title: "ML Gears" () in window#connect#destroy ~callback:Main.quit; window#set_resize_mode `IMMEDIATE; let table = GPack.table ~rows: 2 ~columns: 3 ~packing: window#add () in let area = GlGtk.area [`DEPTH_SIZE 1; `RGBA; `DOUBLEBUFFER] ~width: 300 ~height: 300 ~packing: (table#attach ~left: 1 ~top: 0 ~expand: `BOTH) () in let view = new view area in let scale ~orientation ~callback ~value ?packing () = let adjustment = GData.adjustment ~lower: 0.0 ~upper: 360.0 () in adjustment#connect#value_changed ~callback: (fun () -> callback adjustment#value); adjustment#set_value value; GRange.scale orientation ~adjustment ~draw_value: false ?packing () in let sx = scale ~orientation: `VERTICAL ~callback: view#rotx ~value: 40.0 ~packing: (table#attach ~left: 2 ~top: 0 ~expand: `Y) () in let sy = scale ~orientation: `HORIZONTAL ~callback: view#roty ~value: 20.0 ~packing: (table#attach ~left: 1 ~top: 1 ~expand: `X) () in let sz = scale ~orientation: `VERTICAL ~callback: view#rotz ~value: 10.0 ~packing: (table#attach ~left: 0 ~top: 0 ~expand: `Y) () in Timeout.add ~ms: 20 ~callback: view#idle; window#show (); Main.main () let _ = Printexc.print main () lablgtk-3.1.2/examples/GL/morph3d.ml0000644000650106067230000005121214161276610016027 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open StdLabels (*- * morph3d.c - Shows 3D morphing objects (TK Version) * * This program was inspired on a WindowsNT(R)'s screen saver. It was written * from scratch and it was not based on any other source code. * * Porting it to xlock (the final objective of this code since the moment I * decided to create it) was possible by comparing the original Mesa's gear * demo with it's ported version, so thanks for Danny Sung for his indirect * help (look at gear.c in xlock source tree). NOTE: At the moment this code * was sent to Brian Paul for package inclusion, the XLock Version was not * available. In fact, I'll wait it to appear on the next Mesa release (If you * are reading this, it means THIS release) to send it for xlock package * inclusion). It will probably there be a GLUT version too. * * Thanks goes also to Brian Paul for making it possible and inexpensive * to use OpenGL at home. * * Since I'm not a native english speaker, my apologies for any gramatical * mistake. * * My e-mail addresses are * * vianna@cat.cbpf.br * and * marcelo@venus.rdc.puc-rio.br * * Marcelo F. Vianna (Feb-13-1997) *) (* This document is VERY incomplete, but tries to describe the mathematics used in the program. At this moment it just describes how the polyhedra are generated. On futhurer versions, this document will be probabbly improved. Since I'm not a native english speaker, my apologies for any gramatical mistake. Marcelo Fernandes Vianna - Undergraduate in Computer Engeneering at Catholic Pontifical University - of Rio de Janeiro (PUC-Rio) Brasil. - e-mail: vianna@cat.cbpf.br or marcelo@venus.rdc.puc-rio.br - Feb-13-1997 POLYHEDRA GENERATION For the purpose of this program it's not sufficient to know the polyhedra vertexes coordinates. Since the morphing algorithm applies a nonlinear transformation over the surfaces (faces) of the polyhedron, each face has to be divided into smaller ones. The morphing algorithm needs to transform each vertex of these smaller faces individually. It's a very time consoming task. In order to reduce calculation overload, and since all the macro faces of the polyhedron are transformed by the same way, the generation is made by creating only one face of the polyhedron, morphing it and then rotating it around the polyhedron center. What we need to know is the face radius of the polyhedron (the radius of the inscribed sphere) and the angle between the center of two adjacent faces using the center of the sphere as the angle's vertex. The face radius of the regular polyhedra are known values which I decided to not waste my time calculating. Following is a table of face radius for the regular polyhedra with edge length = 1: TETRAHEDRON : 1/(2*sqrt(2))/sqrt(3) CUBE : 1/2 OCTAHEDRON : 1/sqrt(6) DODECAHEDRON : T^2 * sqrt((T+2)/5) / 2 -> where T=(sqrt(5)+1)/2 ICOSAHEDRON : (3*sqrt(3)+sqrt(15))/12 I've not found any reference about the mentioned angles, so I needed to calculate them, not a trivial task until I figured out how :) Curiously these angles are the same for the tetrahedron and octahedron. A way to obtain this value is inscribing the tetrahedron inside the cube by matching their vertexes. So you'll notice that the remaining unmatched vertexes are in the same straight line starting in the cube/tetrahedron center and crossing the center of each tetrahedron's face. At this point it's easy to obtain the bigger angle of the isosceles triangle formed by the center of the cube and two opposite vertexes on the same cube face. The edges of this triangle have the following lenghts: sqrt(2) for the base and sqrt(3)/2 for the other two other edges. So the angle we want is: +-----------------------------------------------------------+ | 2*ARCSIN(sqrt(2)/sqrt(3)) = 109.47122063449069174 degrees | +-----------------------------------------------------------+ For the cube this angle is obvious, but just for formality it can be easily obtained because we also know it's isosceles edge lenghts: sqrt(2)/2 for the base and 1/2 for the other two edges. So the angle we want is: +-----------------------------------------------------------+ | 2*ARCSIN((sqrt(2)/2)/1) = 90.000000000000000000 degrees | +-----------------------------------------------------------+ For the octahedron we use the same idea used for the tetrahedron, but now we inscribe the cube inside the octahedron so that all cubes's vertexes matches excatly the center of each octahedron's face. It's now clear that this angle is the same of the thetrahedron one: +-----------------------------------------------------------+ | 2*ARCSIN(sqrt(2)/sqrt(3)) = 109.47122063449069174 degrees | +-----------------------------------------------------------+ For the dodecahedron it's a little bit harder because it's only relationship with the cube is useless to us. So we need to solve the problem by another way. The concept of Face radius also exists on 2D polygons with the name Edge radius: Edge Radius For Pentagon (ERp) ERp = (1/2)/TAN(36 degrees) * VRp = 0.6881909602355867905 (VRp is the pentagon's vertex radio). Face Radius For Dodecahedron FRd = T^2 * sqrt((T+2)/5) / 2 = 1.1135163644116068404 Why we need ERp? Well, ERp and FRd segments forms a 90 degrees angle, completing this triangle, the lesser angle is a half of the angle we are looking for, so this angle is: +-----------------------------------------------------------+ | 2*ARCTAN(ERp/FRd) = 63.434948822922009981 degrees | +-----------------------------------------------------------+ For the icosahedron we can use the same method used for dodecahedron (well the method used for dodecahedron may be used for all regular polyhedra) Edge Radius For Triangle (this one is well known: 1/3 of the triangle height) ERt = sin(60)/3 = sqrt(3)/6 = 0.2886751345948128655 Face Radius For Icosahedron FRi= (3*sqrt(3)+sqrt(15))/12 = 0.7557613140761707538 So the angle is: +-----------------------------------------------------------+ | 2*ARCTAN(ERt/FRi) = 41.810314895778596167 degrees | +-----------------------------------------------------------+ *) let scale = 0.3 let vect_mul (x1,y1,z1) (x2,y2,z2) = (y1 *. z2 -. z1 *. y2, z1 *. x2 -. x1 *. z2, x1 *. y2 -. y1 *. x2) let sqr a = a *. a (* Increasing this values produces better image quality, the price is speed. *) (* Very low values produces erroneous/incorrect plotting *) let tetradivisions = 23 let cubedivisions = 20 let octadivisions = 21 let dodecadivisions = 10 let icodivisions = 15 let tetraangle = 109.47122063449069174 let cubeangle = 90.000000000000000000 let octaangle = 109.47122063449069174 let dodecaangle = 63.434948822922009981 let icoangle = 41.810314895778596167 let pi = acos (-1.) let sqrt2 = sqrt 2. let sqrt3 = sqrt 3. let sqrt5 = sqrt 5. let sqrt6 = sqrt 6. let sqrt15 = sqrt 15. let cossec36_2 = 0.8506508083520399322 let cosd x = cos (float x /. 180. *. pi) let sind x = sin (float x /. 180. *. pi) let cos72 = cosd 72 let sin72 = sind 72 let cos36 = cosd 36 let sin36 = sind 36 (*************************************************************************) let front_shininess = 60.0 let front_specular = 0.7, 0.7, 0.7, 1.0 let ambient = 0.0, 0.0, 0.0, 1.0 let diffuse = 1.0, 1.0, 1.0, 1.0 let position0 = 1.0, 1.0, 1.0, 0.0 let position1 = -1.0,-1.0, 1.0, 0.0 let lmodel_ambient = 0.5, 0.5, 0.5, 1.0 let lmodel_twoside = true let materialRed = 0.7, 0.0, 0.0, 1.0 let materialGreen = 0.1, 0.5, 0.2, 1.0 let materialBlue = 0.0, 0.0, 0.7, 1.0 let materialCyan = 0.2, 0.5, 0.7, 1.0 let materialYellow = 0.7, 0.7, 0.0, 1.0 let materialMagenta = 0.6, 0.2, 0.5, 1.0 let materialWhite = 0.7, 0.7, 0.7, 1.0 let materialGray = 0.2, 0.2, 0.2, 1.0 let all_gray = Array.create 20 materialGray let vertex ~xf ~yf ~zf ~ampvr2 = let xa = xf +. 0.01 and yb = yf +. 0.01 in let xf2 = sqr xf and yf2 = sqr yf in let factor = 1. -. (xf2 +. yf2) *. ampvr2 and factor1 = 1. -. (sqr xa +. yf2) *. ampvr2 and factor2 = 1. -. (xf2 +. sqr yb) *. ampvr2 in let vertx = factor *. xf and verty = factor *. yf and vertz = factor *. zf in let neiax = factor1 *. xa -. vertx and neiay = factor1 *. yf -. verty and neiaz = factor1 *. zf -. vertz and neibx = factor2 *. xf -. vertx and neiby = factor2 *. yb -. verty and neibz = factor2 *. zf -. vertz in GlDraw.normal3 (vect_mul (neiax, neiay, neiaz) (neibx, neiby, neibz)); GlDraw.vertex3 (vertx, verty, vertz) let triangle ~edge ~amp ~divisions ~z = let divi = float divisions in let vr = edge *. sqrt3 /. 3. in let ampvr2 = amp /. sqr vr and zf = edge *. z in let ax = edge *. (0.5 /. divi) and ay = edge *. (-0.5 *. sqrt3 /. divi) and bx = edge *. (-0.5 /. divi) in for ri = 1 to divisions do GlDraw.begins `triangle_strip; for ti = 0 to ri - 1 do vertex ~zf ~ampvr2 ~xf:(float (ri-ti) *. ax +. float ti *. bx) ~yf:(vr +. float (ri-ti) *. ay +. float ti *. ay); vertex ~zf ~ampvr2 ~xf:(float (ri-ti-1) *. ax +. float ti *. bx) ~yf:(vr +. float (ri-ti-1) *. ay +. float ti *. ay) done; vertex ~xf:(float ri *. bx) ~yf:(vr +. float ri *. ay) ~zf ~ampvr2; GlDraw.ends () done let square ~edge ~amp ~divisions ~z = let divi = float divisions in let zf = edge *. z and ampvr2 = amp /. sqr (edge *. sqrt2 /. 2.) in for yi = 0 to divisions - 1 do let yf = edge *. (-0.5 +. float yi /. divi) in let yf2 = sqr yf in let y = yf +. 1.0 /. divi *. edge in let y2 = sqr y in GlDraw.begins `quad_strip; for xi = 0 to divisions do let xf = edge *. (-0.5 +. float xi /. divi) in vertex ~xf ~yf:y ~zf ~ampvr2; vertex ~xf ~yf ~zf ~ampvr2 done; GlDraw.ends () done let pentagon ~edge ~amp ~divisions ~z = let divi = float divisions in let zf = edge *. z and ampvr2 = amp /. sqr(edge *. cossec36_2) in let x = Array.init 6 ~f:(fun fi -> -. cos (float fi *. 2. *. pi /. 5. +. pi /. 10.) /. divi *. cossec36_2 *. edge) and y = Array.init 6 ~f:(fun fi -> sin (float fi *. 2. *. pi /. 5. +. pi /. 10.) /. divi *. cossec36_2 *. edge) in for ri = 1 to divisions do for fi = 0 to 4 do GlDraw.begins `triangle_strip; for ti = 0 to ri-1 do vertex ~zf ~ampvr2 ~xf:(float(ri-ti) *. x.(fi) +. float ti *. x.(fi+1)) ~yf:(float(ri-ti) *. y.(fi) +. float ti *. y.(fi+1)); vertex ~zf ~ampvr2 ~xf:(float(ri-ti-1) *. x.(fi) +. float ti *. x.(fi+1)) ~yf:(float(ri-ti-1) *. y.(fi) +. float ti *. y.(fi+1)) done; vertex ~xf:(float ri *. x.(fi+1)) ~yf:(float ri *. y.(fi+1)) ~zf ~ampvr2; GlDraw.ends () done done let call_list list color = GlLight.material ~face:`both (`diffuse color); GlList.call list let draw_tetra ~amp ~divisions ~color = let list = GlList.create `compile in triangle ~edge:2.0 ~amp ~divisions ~z:(0.5 /. sqrt6); GlList.ends(); call_list list color.(0); GlMat.push(); GlMat.rotate ~angle:180.0 ~z:1.0 (); GlMat.rotate ~angle:(-.tetraangle) ~x:1.0 (); call_list list color.(1); GlMat.pop(); GlMat.push(); GlMat.rotate ~angle:180.0 ~y:1.0 (); GlMat.rotate ~angle:(-180.0 +. tetraangle) ~x:0.5 ~y:(sqrt3 /. 2.) (); call_list list color.(2); GlMat.pop(); GlMat.rotate ~angle:180.0 ~y:1.0 (); GlMat.rotate ~angle:(-180.0 +. tetraangle) ~x:0.5 ~y:(-.sqrt3 /. 2.) (); call_list list color.(3); GlList.delete list let draw_cube ~amp ~divisions ~color = let list = GlList.create `compile in square ~edge:2.0 ~amp ~divisions ~z:0.5; GlList.ends (); call_list list color.(0); for i = 1 to 3 do GlMat.rotate ~angle:cubeangle ~x:1.0 (); call_list list color.(i) done; GlMat.rotate ~angle:cubeangle ~y:1.0 (); call_list list color.(4); GlMat.rotate ~angle:(2.0 *. cubeangle) ~y:1.0 (); call_list list color.(5); GlList.delete list let draw_octa ~amp ~divisions ~color = let list = GlList.create `compile in triangle ~edge:2.0 ~amp ~divisions ~z:(1.0 /. sqrt6); GlList.ends (); let do_list (i,y) = GlMat.push(); GlMat.rotate ~angle:180.0 ~y:1.0 (); GlMat.rotate ~angle:(-.octaangle) ~x:0.5 ~y (); call_list list color.(i); GlMat.pop() in call_list list color.(0); GlMat.push(); GlMat.rotate ~angle:180.0 ~z:1.0 (); GlMat.rotate ~angle:(-180.0 +. octaangle) ~x:1.0 (); call_list list color.(1); GlMat.pop(); List.iter [2, sqrt3 /. 2.0; 3, -.sqrt3 /. 2.0] ~f:do_list; GlMat.rotate ~angle:180.0 ~x:1.0 (); GlLight.material ~face:`both (`diffuse color.(4)); GlList.call list; GlMat.push(); GlMat.rotate ~angle:180.0 ~z:1.0 (); GlMat.rotate ~angle:(-180.0 +. octaangle) ~x:1.0 (); GlLight.material ~face:`both (`diffuse color.(5)); GlList.call list; GlMat.pop(); List.iter [6, sqrt3 /. 2.0; 7, -.sqrt3 /. 2.0] ~f:do_list; GlList.delete list let draw_dodeca ~amp ~divisions ~color = let tau = (sqrt5 +. 1.0) /. 2.0 in let list = GlList.create `compile in pentagon ~edge:2.0 ~amp ~divisions ~z:(sqr(tau) *. sqrt ((tau+.2.0)/.5.0) /. 2.0); GlList.ends (); let do_list (i,angle,x,y) = GlMat.push(); GlMat.rotate ~angle:angle ~x ~y (); call_list list color.(i); GlMat.pop(); in GlMat.push (); call_list list color.(0); GlMat.rotate ~angle:180.0 ~z:1.0 (); List.iter ~f:do_list [ 1, -.dodecaangle, 1.0, 0.0; 2, -.dodecaangle, cos72, sin72; 3, -.dodecaangle, cos72, -.sin72; 4, dodecaangle, cos36, -.sin36; 5, dodecaangle, cos36, sin36 ]; GlMat.pop (); GlMat.rotate ~angle:180.0 ~x:1.0 (); call_list list color.(6); GlMat.rotate ~angle:180.0 ~z:1.0 (); List.iter ~f:do_list [ 7, -.dodecaangle, 1.0, 0.0; 8, -.dodecaangle, cos72, sin72; 9, -.dodecaangle, cos72, -.sin72; 10, dodecaangle, cos36, -.sin36 ]; GlMat.rotate ~angle:dodecaangle ~x:cos36 ~y:sin36 (); call_list list color.(11); GlList.delete list let draw_ico ~amp ~divisions ~color = let list = GlList.create `compile in triangle ~edge:1.5 ~amp ~divisions ~z:((3.0 *. sqrt3 +. sqrt15) /. 12.0); GlList.ends (); let do_list1 i = GlMat.rotate ~angle:180.0 ~y:1.0 (); GlMat.rotate ~angle:(-180.0 +. icoangle) ~x:0.5 ~y:(sqrt3/.2.0) (); call_list list color.(i) and do_list2 i = GlMat.rotate ~angle:180.0 ~y:1.0 (); GlMat.rotate ~angle:(-180.0 +. icoangle) ~x:0.5 ~y:(-.sqrt3/.2.0) (); call_list list color.(i) and do_list3 i = GlMat.rotate ~angle:180.0 ~z:1.0 (); GlMat.rotate ~angle:(-.icoangle) ~x:1.0 (); call_list list color.(i) in GlMat.push (); call_list list color.(0); GlMat.push (); do_list3 1; GlMat.push (); do_list1 2; GlMat.pop (); do_list2 3; GlMat.pop (); GlMat.push (); do_list1 4; GlMat.push (); do_list1 5; GlMat.pop(); do_list3 6; GlMat.pop (); do_list2 7; GlMat.push (); do_list2 8; GlMat.pop (); do_list3 9; GlMat.pop (); GlMat.rotate ~angle:180.0 ~x:1.0 (); call_list list color.(10); GlMat.push (); do_list3 11; GlMat.push (); do_list1 12; GlMat.pop (); do_list2 13; GlMat.pop (); GlMat.push (); do_list1 14; GlMat.push (); do_list1 15; GlMat.pop (); do_list3 16; GlMat.pop (); do_list2 17; GlMat.push (); do_list2 18; GlMat.pop (); do_list3 19; GlList.delete list class view area = object (self) val area : GlGtk.area = area val mutable smooth = true val mutable step = 0. val mutable obj = 1 val mutable draw_object = fun ~amp -> () val mutable magnitude = 0. method width = area#misc#allocation.Gtk.width method height = area#misc#allocation.Gtk.height method draw () = let ratio = float self#height /. float self#width in GlClear.clear [`color;`depth]; GlMat.push(); GlMat.translate ~z:(-10.0) (); GlMat.scale ~x:(scale *. ratio) ~y:scale ~z:scale (); GlMat.translate () ~x:(2.5 *. ratio *. sin (step *. 1.11)) ~y:(2.5 *. cos (step *. 1.25 *. 1.11)); GlMat.rotate ~angle:(step *. 100.) ~x:1.0 (); GlMat.rotate ~angle:(step *. 95.) ~y:1.0 (); GlMat.rotate ~angle:(step *. 90.) ~z:1.0 (); draw_object ~amp:((sin step +. 1.0/.3.0) *. (4.0/.5.0) *. magnitude); GlMat.pop(); Gl.flush(); area#swap_buffers (); step <- step +. 0.05 method reshape ~width ~height = GlDraw.viewport ~x:0 ~y:0 ~w:width ~h:height; GlMat.mode `projection; GlMat.load_identity(); GlMat.frustum ~x:(-1.0, 1.0) ~y:(-1.0, 1.0) ~z:(5.0, 15.0); GlMat.mode `modelview method key sym = begin match sym with "1" -> obj <- 1 | "2" -> obj <- 2 | "3" -> obj <- 3 | "4" -> obj <- 4 | "5" -> obj <- 5 | "\r" -> smooth <- not smooth | "\027" -> area#misc#toplevel#destroy (); exit 0 | _ -> () end; self#pinit method pinit = begin match obj with 1 -> draw_object <- draw_tetra ~divisions:tetradivisions ~color:[|materialRed; materialGreen; materialBlue; materialWhite|]; magnitude <- 2.5 | 2 -> draw_object <- draw_cube ~divisions:cubedivisions ~color:[|materialRed; materialGreen; materialCyan; materialMagenta; materialYellow; materialBlue|]; magnitude <- 2.0 | 3 -> draw_object <- draw_octa ~divisions:octadivisions ~color:[|materialRed; materialGreen; materialBlue; materialWhite; materialCyan; materialMagenta; materialGray; materialYellow|]; magnitude <- 2.5 | 4 -> draw_object <- draw_dodeca ~divisions:dodecadivisions ~color:[|materialRed; materialGreen; materialCyan; materialBlue; materialMagenta; materialYellow; materialGreen; materialCyan; materialRed; materialMagenta; materialBlue; materialYellow|]; magnitude <- 2.0 | 5 -> draw_object <- draw_ico ~divisions:icodivisions ~color:[|materialRed; materialGreen; materialBlue; materialCyan; materialYellow; materialMagenta; materialRed; materialGreen; materialBlue; materialWhite; materialCyan; materialYellow; materialMagenta; materialRed; materialGreen; materialBlue; materialCyan; materialYellow; materialMagenta; materialGray|]; magnitude <- 3.5 | _ -> () end; GlDraw.shade_model (if smooth then `smooth else `flat) initializer area#connect#display ~callback:self#draw; area#connect#reshape ~callback:self#reshape; () end open GMain let main () = List.iter ~f:print_string [ "Morph 3D - Shows morphing platonic polyhedra\n"; "Author: Marcelo Fernandes Vianna (vianna@cat.cbpf.br)\n"; "Ported to LablGL by Jacques Garrigue\n\n"; " [1] - Tetrahedron\n"; " [2] - Hexahedron (Cube)\n"; " [3] - Octahedron\n"; " [4] - Dodecahedron\n"; " [5] - Icosahedron\n"; "[RETURN] - Toggle smooth/flat shading\n"; " [ESC] - Quit\n" ]; flush stdout; let window = GWindow.window ~title:"Morph 3D - Shows morphing platonic polyhedra" () in window#connect#destroy ~callback:Main.quit; window#set_resize_mode `IMMEDIATE; let area = GlGtk.area [`DEPTH_SIZE 1;`RGBA;`DOUBLEBUFFER] ~width:640 ~height:480 ~packing:window#add () in let view = new view area in area#connect#realize ~callback: begin fun () -> view#pinit; GlClear.depth 1.0; GlClear.color (0.0, 0.0, 0.0); GlDraw.color (1.0, 1.0, 1.0); GlClear.clear [`color;`depth]; Gl.flush(); List.iter ~f:(GlLight.light ~num:0) [`ambient ambient; `diffuse diffuse; `position position0]; List.iter ~f:(GlLight.light ~num:1) [`ambient ambient; `diffuse diffuse; `position position1]; GlLight.light_model (`ambient lmodel_ambient); GlLight.light_model (`two_side lmodel_twoside); List.iter ~f:Gl.enable [`lighting;`light0;`light1;`depth_test;`normalize]; GlLight.material ~face:`both (`shininess front_shininess); GlLight.material ~face:`both (`specular front_specular); GlMisc.hint `fog `fastest; GlMisc.hint `perspective_correction `fastest; GlMisc.hint `polygon_smooth `fastest end; window#event#connect#key_press ~callback:(fun ev -> view#key (GdkEvent.Key.string ev); true); Timeout.add ~ms:20 ~callback:(fun _ -> if area#misc#visible then view#draw (); true); window#show (); Main.main () let _ = main () lablgtk-3.1.2/examples/GL/planet.ml0000644000650106067230000001051714161276610015741 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open StdLabels class planet area = object (self) val area : GlGtk.area = area val mutable year = 0.0 val mutable day = 0.0 val mutable eye = 0.0 val mutable time = 0.0 method tick new_time = if time = 0. then time <- new_time else let diff = new_time -. time in time <- new_time; day <- mod_float (day +. diff *. 200.) 360.0; year <- mod_float (year +. diff *. 20.) 360.0 method day_add () = day <- mod_float (day +. 10.0) 360.0 method day_subtract () = day <- mod_float (day -. 10.0) 360.0 method year_add () = year <- mod_float (year +. 5.0) 360.0 method year_subtract () = year <- mod_float (year -. 5.0) 360.0 method eye x = eye <- x; self#display () method display () = GlClear.clear [`color;`depth]; GlDraw.color (1.0, 1.0, 1.0); GlMat.push(); GlMat.rotate ~angle:eye ~x:1. (); (* draw sun *) GlLight.material ~face:`front (`specular (1.0,1.0,0.0,1.0)); GlLight.material ~face:`front (`shininess 5.0); GluQuadric.sphere ~radius:1.0 ~slices:32 ~stacks:32 (); (* draw smaller planet *) GlMat.rotate ~angle:year ~y:1.0 (); GlMat.translate ~x:3.0 (); GlMat.rotate ~angle:day ~y:1.0 (); GlDraw.color (0.0, 1.0, 1.0); GlDraw.shade_model `flat; GlLight.material ~face:`front(`shininess 128.0); GluQuadric.sphere ~radius:0.2 ~slices:10 ~stacks:10 (); GlDraw.shade_model `smooth; GlMat.pop (); Gl.flush (); area#swap_buffers () end let myinit () = let light_ambient = 0.5, 0.5, 0.5, 1.0 and light_diffuse = 1.0, 0.8, 0.2, 1.0 and light_specular = 1.0, 1.0, 1.0, 1.0 (* light_position is NOT default value *) and light_position = 1.0, 1.0, 1.0, 0.0 in List.iter ~f:(GlLight.light ~num:0) [ `ambient light_ambient; `diffuse light_diffuse; `specular light_specular; `position light_position ]; GlFunc.depth_func `less; List.iter ~f:Gl.enable [`lighting; `light0; `depth_test]; GlDraw.shade_model `smooth let my_reshape ~width:w ~height:h = GlDraw.viewport ~x:0 ~y:0 ~w ~h; GlMat.mode `projection; GlMat.load_identity(); GluMat.perspective ~fovy:60.0 ~aspect:(float w /. float h) ~z:(1.0,20.0); GlMat.mode `modelview; GlMat.load_identity(); GlMat.translate ~z:(-5.0) () (* Main Loop * Open window with initial window size, title bar, * RGBA display mode, and handle input events. *) open GMain open GdkKeysyms let main () = let w = GWindow.window ~title:"Planet" () in w#connect#destroy ~callback:(fun () -> Main.quit (); exit 0); w#set_resize_mode `IMMEDIATE; let hb = GPack.hbox ~packing:w#add () in let area = GlGtk.area [`DOUBLEBUFFER;`RGBA;`DEPTH_SIZE 1] ~width:700 ~height:500 ~packing:hb#add () in area#event#add [`KEY_PRESS]; let planet = new planet area in let adjustment = GData.adjustment ~value:0. ~lower:(-90.) ~upper:90. ~step_incr:1. ~page_incr:5. ~page_size:5. () in let scale = GRange.scale `VERTICAL ~adjustment ~draw_value:false ~packing:hb#pack () in adjustment#connect#value_changed ~callback:(fun () -> planet#eye adjustment#value); w#event#connect#key_press ~callback: begin fun ev -> let key = GdkEvent.Key.keyval ev in if key = _Left then planet#year_subtract () else if key = _Right then planet#year_add () else if key = _Up then planet#day_add () else if key = _Down then planet#day_subtract () else if key = _Escape then w#destroy (); planet#display (); true end; Timeout.add ~ms:20 ~callback: begin fun () -> planet#tick (Sys.time ()); planet#display (); true end; area#connect#display ~callback:planet#display; area#connect#reshape ~callback:my_reshape; area#connect#realize ~callback: begin fun () -> myinit (); my_reshape ~width:700 ~height:500 end; w#show (); Main.main () let _ = Printexc.print main () lablgtk-3.1.2/examples/GL/scene.ml0000644000650106067230000000760414161276610015556 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open StdLabels (* Initialize material property and light source. *) let myinit () = let light_ambient = 0.0, 0.0, 0.0, 1.0 and light_diffuse = 1.0, 1.0, 1.0, 1.0 and light_specular = 1.0, 1.0, 1.0, 1.0 (* light_position is NOT default value *) and light_position = 1.0, 1.0, 1.0, 0.0 in GlLight.light ~num:0 (`ambient light_ambient); GlLight.light ~num:0 (`diffuse light_diffuse); GlLight.light ~num:0 (`specular light_specular); GlLight.light ~num:0 (`position light_position); GlFunc.depth_func `less; List.iter ~f:Gl.enable [`lighting; `light0; `depth_test] let pi = acos (-1.) let solid_torus ~inner ~outer = let slices = 32 and faces = 16 in let slice_angle = 2.0 *. pi /. float slices and face_angle = 2.0 *. pi /. float faces in let vertex ~i ~j = let angle1 = slice_angle *. float i and angle2 = face_angle *. float j in GlDraw.normal3 (cos angle1 *. cos angle2, -. sin angle1 *. cos angle2, sin angle2); GlDraw.vertex3 ((outer +. inner *. cos angle2) *. cos angle1, -. (outer +. inner *. cos angle2) *. sin angle1, inner *. sin angle2) in GlDraw.begins `quads; for i = 0 to slices - 1 do for j = 0 to faces - 1 do vertex ~i ~j; vertex ~i:(i+1) ~j; vertex ~i:(i+1) ~j:(j+1); vertex ~i ~j:(j+1); done done; GlDraw.ends () let solid_cone ~radius ~height = GluQuadric.cylinder ~base:radius ~top:0. ~height ~slices:15 ~stacks:10 () let solid_sphere ~radius = GluQuadric.sphere ~radius ~slices:32 ~stacks:32 () let display area = GlClear.clear [`color; `depth]; GlMat.push (); GlMat.rotate ~angle:20.0 ~x:1.0 (); GlMat.push (); GlMat.translate ~x:(-0.75) ~y:0.5 (); GlMat.rotate ~angle:90.0 ~x:1.0 (); solid_torus ~inner:0.275 ~outer:0.85; GlMat.pop (); GlMat.push (); GlMat.translate ~x:(-0.75) ~y:(-0.5) (); GlMat.rotate ~angle:270.0 ~x:1.0 (); solid_cone ~radius:1.0 ~height:2.0; GlMat.pop (); GlMat.push (); GlMat.translate ~x:0.75 ~z:(-1.0) (); solid_sphere ~radius:1.0; GlMat.pop (); GlMat.pop (); Gl.flush (); area#swap_buffers () let my_reshape ~width:w ~height:h = GlDraw.viewport ~x:0 ~y:0 ~w ~h; GlMat.mode `projection; GlMat.load_identity (); if w <= h then GlMat.ortho ~x:(-2.5,2.5) ~z:(-10.0,10.0) ~y:(-2.5 *. float h /. float w, 2.5 *. float h /. float w) else GlMat.ortho ~y:(-2.5,2.5) ~z:(-10.0,10.0) ~x:(-2.5 *. float w /. float h, 2.5 *. float w /. float h); GlMat.mode `modelview (* Main Loop * Open window with initial window size, title bar, * RGBA display mode, and handle input events. *) open GMain let main () = let w = GWindow.window ~title:"Scene" () in w#connect#destroy ~callback:(fun () -> Main.quit (); exit 0); let area = GlGtk.area [`RGBA;`DEPTH_SIZE 1;`DOUBLEBUFFER] ~width:500 ~height:500 ~packing:w#add () in area#connect#realize ~callback:myinit; area#connect#reshape ~callback:my_reshape; area#connect#display ~callback:(fun () -> display area); area#event#add [`BUTTON_PRESS]; area#event#connect#button_press ~callback: begin fun ev -> let p = (GdkEvent.Button.x ev, GdkEvent.Button.y ev, 0.) in area#make_current (); let (x, y, z) = GluMat.unproject p in Printf.printf "x=%f, y=%f, z=%f\n" x y z; flush stdout; true end; w#show (); Main.main () let _ = Printexc.print main () lablgtk-3.1.2/examples/GL/simple.ml0000644000650106067230000000275314161276610015752 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open GMain let main () = let w = GWindow.window ~title:"LablGL/Gtk" () in w#connect#destroy ~callback:Main.quit; let area = GlGtk.area [`RGBA;`DEPTH_SIZE 1;`DOUBLEBUFFER] ~width:500 ~height:500 ~packing:w#add () in area#connect#realize ~callback: begin fun () -> GlMat.mode `projection; GlMat.load_identity (); GlMat.ortho ~x:(-1.0,1.0) ~y:(-1.0,1.0) ~z:(-1.0,1.0); end; area#connect#display ~callback: begin fun () -> GlClear.color (0.0, 0.0, 0.0); GlClear.clear [`color]; GlDraw.color (1.0, 1.0, 1.0); GlDraw.begins `polygon; GlDraw.vertex ~x:(-0.5) ~y:(-0.5) (); GlDraw.vertex ~x:(-0.5) ~y:(0.5) (); GlDraw.vertex ~x:(0.5) ~y:(0.5) (); GlDraw.vertex ~x:(0.5) ~y:(-0.5) (); GlDraw.ends (); Gl.flush (); area#swap_buffers () end; Timeout.add ~ms:10000 ~callback:(fun () -> w#destroy ();false); w#show (); Main.main () let _ = main () lablgtk-3.1.2/examples/GL/simple_th.ml0000644000650106067230000000323714161276610016443 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id: simple.ml 1347 2007-06-20 07:40:34Z guesdon $ *) (* A version of simple that works asynchronously *) (* Run it with: lablgt2 -thread simple_th.ml *) open GMain let main () = let w = GWindow.window ~title:"LablGL/Gtk" () in w#connect#destroy ~callback:Main.quit; let area = GlGtk.area [`RGBA;`DEPTH_SIZE 1;`DOUBLEBUFFER] ~width:500 ~height:500 ~packing:w#add () in area#connect#realize ~callback: begin fun () -> GlMat.mode `projection; GlMat.load_identity (); GlMat.ortho ~x:(-1.0,1.0) ~y:(-1.0,1.0) ~z:(-1.0,1.0); end; area#connect#display ~callback: begin fun () -> GlClear.color (0.0, 0.0, 0.0); GlClear.clear [`color]; GlDraw.color (1.0, 1.0, 1.0); GlDraw.begins `polygon; GlDraw.vertex ~x:(-0.5) ~y:(-0.5) (); GlDraw.vertex ~x:(-0.5) ~y:(0.5) (); GlDraw.vertex ~x:(0.5) ~y:(0.5) (); GlDraw.vertex ~x:(0.5) ~y:(-0.5) (); GlDraw.ends (); Gl.flush (); area#swap_buffers () end; Timeout.add ~ms:10000 ~callback:(fun () -> w#destroy ();false); GtkThread.async w#show (); Thread.join GtkThInit.thread let _ = main () lablgtk-3.1.2/examples/GL/texturesurf.ml0000644000650106067230000001053714161276610017060 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open StdLabels let texpts = [|[|0.0; 0.0; 0.0; 1.0|]; [|1.0; 0.0; 1.0; 1.0|]|] let ctrlpoints = [|[|-1.5; -1.5; 4.9; -0.5; -1.5; 2.0; 0.5; -1.5; -1.0; 1.5; -1.5; 2.0|]; [|-1.5; -0.5; 1.0; -0.5; -0.5; 3.0; 0.5; -0.5; 0.0; 1.5; -0.5; -1.0|]; [|-1.5; 0.5; 4.0; -0.5; 0.5; 0.0; 0.5; 0.5; 3.0; 1.5; 0.5; 4.0|]; [|-1.5; 1.5; -2.0; -0.5; 1.5; -2.0; 0.5; 1.5; 0.0; 1.5; 1.5; -1.0|]|] let image_width = 64 and image_height = 64 let pi = acos (-1.0) let display togl = GlClear.clear [`color;`depth]; GlDraw.color (1.0,1.0,1.0); GlMap.eval_mesh2 ~mode:`fill ~range1:(0,20) ~range2:(0,20); Gl.flush (); togl#swap_buffers () let make_image () = let image = GlPix.create `ubyte ~height:image_height ~width:image_width ~format:`rgb in let raw = GlPix.to_raw image and pos = GlPix.raw_pos image in for i = 0 to image_width - 1 do let ti = 2.0 *. pi *. float i /. float image_width in for j = 0 to image_height - 1 do let tj = 2.0 *. pi *. float j /. float image_height in Raw.sets raw ~pos:(pos ~x:j ~y:i) (Array.map ~f:(fun x -> truncate (127.0 *. (1.0 +. x))) [|sin ti; cos (2.0 *. ti); cos (ti +. tj)|]); done; done; image let read_to_glpix myfile = let pix = GdkPixbuf.from_file myfile in let pix = if GdkPixbuf.get_has_alpha pix then pix else GdkPixbuf.add_alpha pix in let src = GdkPixbuf.get_pixels pix in let raw = Raw.create `ubyte ~len:(Gpointer.length src) in Gpointer.blit ~src ~dst:(GlGtk.region_of_raw raw); GlPix.of_raw raw ~format:`rgba ~width:(GdkPixbuf.get_width pix) ~height:(GdkPixbuf.get_height pix) (* You may use your own texture, but its size must be 2**m x 2**n *) (* let make_image () = read_to_glpix "sa15-crop.jpg" *) let myinit () = let ctrlpoints = Raw.of_matrix ~kind:`double ctrlpoints and texpts = Raw.of_matrix ~kind:`double texpts in GlMap.map2 ~target:`vertex_3 (0.0, 1.0) ~order:4 (0.0, 1.0) ~order:4 ctrlpoints; GlMap.map2 ~target:`texture_coord_2 (0.0,1.0) ~order:2 (0.0,1.0) ~order:2 texpts; Gl.enable `map2_texture_coord_2; Gl.enable `map2_vertex_3; GlMap.grid2 ~n1:20 ~range1:(0.0,1.0) ~n2:20 ~range2:(0.0,1.0); let image = make_image () in GlTex.env (`mode `decal); List.iter ~f:(GlTex.parameter ~target:`texture_2d) [ `wrap_s `repeat; `wrap_t `repeat; `mag_filter `nearest; `min_filter `nearest ]; GlTex.image2d image; List.iter ~f:Gl.enable [`texture_2d;`depth_test;`normalize]; GlDraw.shade_model `flat let my_reshape ~width ~height = GlDraw.viewport ~x:0 ~y:0 ~w:width ~h:height; GlMat.mode `projection; GlMat.load_identity (); let r = float height /. float width in if width <= height then GlMat.ortho ~x:(-4.0, 4.0) ~y:(-4.0 *. r, 4.0 *. r) ~z:(-4.0, 4.0) else GlMat.ortho ~x:(-4.0 /. r, 4.0 /. r) ~y:(-4.0, 4.0) ~z:(-4.0, 4.0); GlMat.mode `modelview; GlMat.load_identity (); GlMat.rotate ~angle:85. ~x:1. ~y:1. ~z:1. () open GdkKeysyms let main () = let w = GWindow.window ~title:"Texture Surf" () in let togl = GlGtk.area [`RGBA;`DOUBLEBUFFER;`DEPTH_SIZE 1] ~width:300 ~height:300 ~packing:w#add () in togl#misc#connect#realize myinit; togl#connect#reshape my_reshape; togl#connect#display (fun () -> display togl); w#event#connect#key_press ~callback: begin fun ev -> let k = GdkEvent.Key.keyval ev in if k = _Up then (GlMat.rotate ~angle:(-5.) ~z:1.0 (); display togl) else if k = _Down then (GlMat.rotate ~angle:(5.) ~z:1.0 (); display togl) else if k = _Left then (GlMat.rotate ~angle:(5.) ~x:1.0 (); display togl) else if k = _Right then (GlMat.rotate ~angle:(-5.) ~x:1.0 (); display togl) else if k = _Escape then w#destroy (); true end; w#connect#destroy ~callback:GMain.quit; w#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/GL/tutorial-2.ml0000644000650106067230000000547714161276610016471 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* Copyright 2001 David MENTRE *) (* This program is under GNU GPL license *) (* general structure taken in lablgtk planet.ml from Jacques Garrigues *) (* OLablgtk/Olabgl adaptation of NeHe's OpenGL tutorial #2: http://nehe.gamedev.net/tutorials/lesson02.asp *) let resizeGLScene ~width ~height = let ok_height = if height = 0 then 1 else height in GlDraw.viewport 0 0 width ok_height; GlMat.mode `projection; GlMat.load_identity (); GluMat.perspective ~fovy:45.0 ~aspect:((float_of_int width)/.(float_of_int ok_height)) ~z:(0.1, 100.0); GlMat.mode `modelview; GlMat.load_identity () let initGL () = GlDraw.shade_model `smooth; GlClear.color ~alpha:0.0 (0.0, 0.0, 0.0); GlClear.depth 1.0; Gl.enable `depth_test; GlFunc.depth_func `lequal; GlMisc.hint `perspective_correction `nicest let drawGLScene area () = GlClear.clear [`color; `depth]; GlMat.load_identity (); GlMat.translate ~x:(-1.5) ~y:0.0 ~z:(-6.0) (); GlDraw.begins `triangles; GlDraw.vertex3 (0.0, 1.0, 0.0); GlDraw.vertex3 (-1.0, -1.0, 0.0); GlDraw.vertex3 (1.0, -1.0, 0.0); GlDraw.ends (); GlMat.translate ~x:3.0 ~y:0.0 ~z:0.0 (); GlDraw.begins `quads; GlDraw.vertex3 (-1.0, 1.0, 0.0); GlDraw.vertex3 (1.0, 1.0, 0.0); GlDraw.vertex3 (1.0, -1.0, 0.0); GlDraw.vertex3 (-1.0, -1.0, 0.0); GlDraw.ends (); area#swap_buffers () let killGLWindow () = () (* do nothing *) let createGLWindow title width height bits fullscreen = let w = GWindow.window ~title:title () in w#connect#destroy ~callback:(fun () -> GMain.Main.quit (); exit 0); w#set_resize_mode `IMMEDIATE; let area = GlGtk.area [`DOUBLEBUFFER;`RGBA;`DEPTH_SIZE 16;`BUFFER_SIZE bits] ~width:width ~height:height~packing:w#add () in area#event#add [`KEY_PRESS]; w#event#connect#key_press ~callback: begin fun ev -> let key = GdkEvent.Key.keyval ev in if key = GdkKeysyms._Escape then w#destroy (); true end; area#connect#display ~callback:(drawGLScene area); area#connect#reshape ~callback:resizeGLScene; area#connect#realize ~callback: begin fun () -> initGL (); resizeGLScene ~width ~height end; w#show (); w let main () = let w = createGLWindow "Tutorial 2" 640 480 16 false in GMain.Main.main () let _ = Printexc.print main () lablgtk-3.1.2/examples/GL/tutorial-3.ml0000644000650106067230000000570314161276610016462 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* Copyright 2001 David MENTRE *) (* This program is under GNU GPL license *) (* general structure taken in lablgtk planet.ml from Jacques Garrigues *) (* OLablgtk/Olabgl adaptation of NeHe's OpenGL tutorial #3: http://nehe.gamedev.net/tutorials/lesson03.asp *) let resizeGLScene ~width ~height = let ok_height = if height = 0 then 1 else height in GlDraw.viewport 0 0 width ok_height; GlMat.mode `projection; GlMat.load_identity (); GluMat.perspective ~fovy:45.0 ~aspect:((float_of_int width)/.(float_of_int ok_height)) ~z:(0.1, 100.0); GlMat.mode `modelview; GlMat.load_identity () let initGL () = GlDraw.shade_model `smooth; GlClear.color ~alpha:0.0 (0.0, 0.0, 0.0); GlClear.depth 1.0; Gl.enable `depth_test; GlFunc.depth_func `lequal; GlMisc.hint `perspective_correction `nicest let drawGLScene area () = GlClear.clear [`color; `depth]; GlMat.load_identity (); GlMat.translate ~x:(-1.5) ~y:0.0 ~z:(-6.0) (); GlDraw.begins `triangles; GlDraw.color (1.0, 0.0, 0.0); GlDraw.vertex3 (0.0, 1.0, 0.0); GlDraw.color (0.0, 1.0, 0.0); GlDraw.vertex3 (-1.0, -1.0, 0.0); GlDraw.color (0.0, 0.0, 1.0); GlDraw.vertex3 (1.0, -1.0, 0.0); GlDraw.ends (); GlMat.translate ~x:3.0 ~y:0.0 ~z:0.0 (); GlDraw.color (0.5, 0.5, 1.0); GlDraw.begins `quads; GlDraw.vertex3 (-1.0, 1.0, 0.0); GlDraw.vertex3 (1.0, 1.0, 0.0); GlDraw.vertex3 (1.0, -1.0, 0.0); GlDraw.vertex3 (-1.0, -1.0, 0.0); GlDraw.ends (); area#swap_buffers () let killGLWindow () = () (* do nothing *) let createGLWindow title width height bits fullscreen = let w = GWindow.window ~title:title () in w#connect#destroy ~callback:(fun () -> GMain.Main.quit (); exit 0); w#set_resize_mode `IMMEDIATE; let area = GlGtk.area [`DOUBLEBUFFER;`RGBA;`DEPTH_SIZE 16;`BUFFER_SIZE bits] ~width:width ~height:height~packing:w#add () in area#event#add [`KEY_PRESS]; w#event#connect#key_press ~callback: begin fun ev -> let key = GdkEvent.Key.keyval ev in if key = GdkKeysyms._Escape then w#destroy (); true end; area#connect#display ~callback:(drawGLScene area); area#connect#reshape ~callback:resizeGLScene; area#connect#realize ~callback: begin fun () -> initGL (); resizeGLScene ~width ~height end; w#show (); w let main () = let w = createGLWindow "Tutorial 3" 640 480 16 false in GMain.Main.main () let _ = Printexc.print main () lablgtk-3.1.2/examples/GL/tutorial-4.ml0000644000650106067230000000641414161276610016463 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* Copyright 2001 David MENTRE *) (* This program is under GNU GPL license *) (* general structure taken in lablgtk planet.ml from Jacques Garrigues *) (* OLablgtk/Olabgl adaptation of NeHe's OpenGL tutorial #4: http://nehe.gamedev.net/tutorials/lesson04.asp *) let rtri = ref 0.0 let rquad = ref 0.0 let resizeGLScene ~width ~height = let ok_height = if height = 0 then 1 else height in GlDraw.viewport 0 0 width ok_height; GlMat.mode `projection; GlMat.load_identity (); GluMat.perspective ~fovy:45.0 ~aspect:((float_of_int width)/.(float_of_int ok_height)) ~z:(0.1, 100.0); GlMat.mode `modelview; GlMat.load_identity () let initGL () = GlDraw.shade_model `smooth; GlClear.color ~alpha:0.0 (0.0, 0.0, 0.0); GlClear.depth 1.0; Gl.enable `depth_test; GlFunc.depth_func `lequal; GlMisc.hint `perspective_correction `nicest let drawGLScene area () = GlClear.clear [`color; `depth]; GlMat.load_identity (); GlMat.translate ~x:(-1.5) ~y:0.0 ~z:(-6.0) (); GlMat.rotate ~angle:!rtri ~x:0.0 ~y:1.0 ~z:0.0 (); GlDraw.begins `triangles; GlDraw.color (1.0, 0.0, 0.0); GlDraw.vertex3 (0.0, 1.0, 0.0); GlDraw.color (0.0, 1.0, 0.0); GlDraw.vertex3 (-1.0, -1.0, 0.0); GlDraw.color (0.0, 0.0, 1.0); GlDraw.vertex3 (1.0, -1.0, 0.0); GlDraw.ends (); GlMat.load_identity (); GlMat.translate ~x:1.5 ~y:0.0 ~z:(-6.0) (); GlMat.rotate ~angle:!rquad ~x:1.0 ~y:0.0 ~z:0.0 (); GlDraw.color (0.5, 0.5, 1.0); GlDraw.begins `quads; GlDraw.vertex3 (-1.0, 1.0, 0.0); GlDraw.vertex3 (1.0, 1.0, 0.0); GlDraw.vertex3 (1.0, -1.0, 0.0); GlDraw.vertex3 (-1.0, -1.0, 0.0); GlDraw.ends (); rtri := !rtri +. 0.2; rquad := !rquad -. 0.15; area#swap_buffers () let killGLWindow () = () (* do nothing *) let createGLWindow title width height bits fullscreen = let w = GWindow.window ~title:title () in w#connect#destroy ~callback:(fun () -> GMain.Main.quit (); exit 0); w#set_resize_mode `IMMEDIATE; let area = GlGtk.area [`DOUBLEBUFFER;`RGBA;`DEPTH_SIZE 16;`BUFFER_SIZE bits] ~width:width ~height:height~packing:w#add () in area#event#add [`KEY_PRESS]; w#event#connect#key_press ~callback: begin fun ev -> let key = GdkEvent.Key.keyval ev in if key = GdkKeysyms._Escape then w#destroy (); true end; GMain.Timeout.add ~ms:20 ~callback: begin fun () -> drawGLScene area (); true end; area#connect#display ~callback:(drawGLScene area); area#connect#reshape ~callback:resizeGLScene; area#connect#realize ~callback: begin fun () -> initGL (); resizeGLScene ~width ~height end; w#show (); w let main () = let w = createGLWindow "Tutorial $" 640 480 16 false in GMain.Main.main () let _ = Printexc.print main () lablgtk-3.1.2/examples/GL/tutorial-5.ml0000644000650106067230000001133714161276610016464 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* Copyright 2001 David MENTRE *) (* This program is under GNU GPL license *) (* general structure taken in lablgtk planet.ml from Jacques Garrigues *) (* OLablgtk/Olabgl adaptation of NeHe's OpenGL tutorial #5: http://nehe.gamedev.net/tutorials/lesson05.asp *) let rtri = ref 0.0 let rquad = ref 0.0 let resizeGLScene ~width ~height = let ok_height = if height = 0 then 1 else height in GlDraw.viewport 0 0 width ok_height; GlMat.mode `projection; GlMat.load_identity (); GluMat.perspective ~fovy:45.0 ~aspect:((float_of_int width)/.(float_of_int ok_height)) ~z:(0.1, 100.0); GlMat.mode `modelview; GlMat.load_identity () let initGL () = GlDraw.shade_model `smooth; GlClear.color ~alpha:0.0 (0.0, 0.0, 0.0); GlClear.depth 1.0; Gl.enable `depth_test; GlFunc.depth_func `lequal; GlMisc.hint `perspective_correction `nicest let drawGLScene area () = GlClear.clear [`color; `depth]; GlMat.load_identity (); GlMat.translate ~x:(-1.5) ~y:0.0 ~z:(-6.0) (); GlMat.rotate ~angle:!rtri ~x:0.0 ~y:1.0 ~z:0.0 (); GlDraw.begins `triangles; GlDraw.color (1.0, 0.0, 0.0); GlDraw.vertex3 (0.0, 1.0, 0.0); GlDraw.color (0.0, 1.0, 0.0); GlDraw.vertex3 (-1.0, -1.0, 1.0); GlDraw.color (0.0, 0.0, 1.0); GlDraw.vertex3 (1.0, -1.0, 1.0); GlDraw.color (1.0, 0.0, 0.0); GlDraw.vertex3 (0.0, 1.0, 0.0); GlDraw.color (0.0, 0.0, 1.0); GlDraw.vertex3 (1.0, -1.0, 1.0); GlDraw.color (0.0, 1.0, 0.0); GlDraw.vertex3 (1.0, -1.0, -1.0); GlDraw.color (1.0, 0.0, 0.0); GlDraw.vertex3 (0.0, 1.0, 0.0); GlDraw.color (0.0, 1.0, 0.0); GlDraw.vertex3 (1.0, -1.0, -1.0); GlDraw.color (0.0, 0.0, 1.0); GlDraw.vertex3 (-1.0, -1.0, -1.0); GlDraw.color (1.0, 0.0, 0.0); GlDraw.vertex3 (0.0, 1.0, 0.0); GlDraw.color (0.0, 0.0, 1.0); GlDraw.vertex3 (-1.0, -1.0, -1.0); GlDraw.color (0.0, 1.0, 0.0); GlDraw.vertex3 (-1.0, -1.0, 1.0); GlDraw.ends (); GlMat.load_identity (); GlMat.translate ~x:1.5 ~y:0.0 ~z:(-7.0) (); GlMat.rotate ~angle:!rquad ~x:1.0 ~y:1.0 ~z:1.0 (); GlDraw.begins `quads; GlDraw.color (0.0, 1.0, 0.0); GlDraw.vertex3 (1.0, -1.0, -1.0); GlDraw.vertex3 (-1.0, 1.0, -1.0); GlDraw.vertex3 (-1.0, 1.0, 1.0); GlDraw.vertex3 (1.0, 1.0, 1.0); GlDraw.color (1.0, 0.5, 0.0); GlDraw.vertex3 (1.0, -1.0, 1.0); GlDraw.vertex3 (-1.0, -1.0, 1.0); GlDraw.vertex3 (-1.0, -1.0, -1.0); GlDraw.vertex3 (1.0, -1.0, -1.0); GlDraw.color (1.0, 0.0, 0.0); GlDraw.vertex3 (1.0, 1.0, 1.0); GlDraw.vertex3 (-1.0, 1.0, 1.0); GlDraw.vertex3 (-1.0, -1.0, 1.0); GlDraw.vertex3 (1.0, -1.0, 1.0); GlDraw.color (1.0, 1.0, 0.0); GlDraw.vertex3 (1.0, -1.0, -1.0); GlDraw.vertex3 (-1.0, -1.0, -1.0); GlDraw.vertex3 (-1.0, 1.0, -1.0); GlDraw.vertex3 (1.0, 1.0, -1.0); GlDraw.color (0.0, 0.0, 1.0); GlDraw.vertex3 (-1.0, 1.0, 1.0); GlDraw.vertex3 (-1.0, 1.0, -1.0); GlDraw.vertex3 (-1.0, -1.0, -1.0); GlDraw.vertex3 (-1.0, -1.0, 1.0); GlDraw.color (1.0, 0.0, 1.0); GlDraw.vertex3 (1.0, 1.0, -1.0); GlDraw.vertex3 (1.0, 1.0, 1.0); GlDraw.vertex3 (1.0, -1.0, 1.0); GlDraw.vertex3 (1.0, -1.0, -1.0); GlDraw.ends (); rtri := !rtri +. 0.2; rquad := !rquad -. 0.15; area#swap_buffers () let killGLWindow () = () (* do nothing *) let createGLWindow title width height bits fullscreen = let w = GWindow.window ~title:title () in w#connect#destroy ~callback:(fun () -> GMain.Main.quit (); exit 0); w#set_resize_mode `IMMEDIATE; let area = GlGtk.area [`DOUBLEBUFFER;`RGBA;`DEPTH_SIZE 16;`BUFFER_SIZE bits] ~width:width ~height:height~packing:w#add () in area#event#add [`KEY_PRESS]; w#event#connect#key_press ~callback: begin fun ev -> let key = GdkEvent.Key.keyval ev in if key = GdkKeysyms._Escape then w#destroy (); true end; GMain.Timeout.add ~ms:20 ~callback: begin fun () -> drawGLScene area (); true end; area#connect#display ~callback:(drawGLScene area); area#connect#reshape ~callback:resizeGLScene; area#connect#realize ~callback: begin fun () -> initGL (); resizeGLScene ~width ~height end; w#show (); w let main () = let w = createGLWindow "Tutorial 5" 640 480 16 false in GMain.Main.main () let _ = Printexc.print main () lablgtk-3.1.2/examples/about.ml0000644000650106067230000000211314161276610015257 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* ocamlc -g -I ../src lablgtk.cma about.ml -o about *) let show () = let dialog = GWindow.about_dialog ~name:"Name" ~authors:["Me" ; "Myself"; ] ~copyright:"Copyright: copyleft" ~license:"Open" ~website:"http://www.world.com" ~website_label:"Questions and support" ~version:"0.0" () in ignore (dialog#connect#response ~callback:(fun _ -> dialog#show () )); ignore (dialog#run ()) let () = GMain.init (); show () lablgtk-3.1.2/examples/accel_tree.ml0000644000650106067230000001470514161276610016245 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) type accel = { action : string; mask : Gdk.Tags.modifier list; value : Gdk.keysym; } open GdkKeysyms let list = [{action="Cut"; mask=[`CONTROL]; value= _X }; {action="Copy"; mask=[`CONTROL]; value= _C }; {action="Paste"; mask=[`CONTROL]; value= _V }; {action="Print"; mask=[`CONTROL]; value= _P }; {action="New"; mask=[`CONTROL]; value= _N }; {action="Open"; mask=[`CONTROL]; value= _O }; {action="Print"; mask=[`CONTROL]; value= _P }; ] let cols = new GTree.column_list let action = cols#add Gobject.Data.string let mask = cols#add Gobject.Data.int let value = cols#add Gobject.Data.uint let accel_edited (store:GTree.list_store) model path ~accel_key ~accel_mods ~hardware_keycode = let iter = model#get_iter path in ignore (store#set ~row:iter ~column:mask accel_mods); ignore (store#set ~row:iter ~column:value accel_key) let setup_tree_view (store:GTree.list_store) (treeview:GTree.view) = let renderer = GTree.cell_renderer_text [] in let column = GTree.view_column ~title:"Buy" ~renderer:(renderer,["text",action]) () in ignore (treeview#append_column column); let renderer = GTree.cell_renderer_accel [`ACCEL_MODE `GTK; `EDITABLE true] in let column = GTree.view_column ~title:"Buy" ~renderer:(renderer,[]) () in column#add_attribute renderer "accel-mods" mask; column#add_attribute renderer "accel-key" value; ignore (treeview#append_column column); renderer#connect#accel_edited ~callback:(accel_edited store treeview#model) let () = GMain.init (); let window = GWindow.window ~kind:`TOPLEVEL ~title:"Accelerator Keys" ~border_width:10 ~width:250 ~height:250 () in let store = GTree.list_store cols in List.iter (fun {action=a; mask=m; value=v} -> let row = store#append () in store#set ~row ~column:action a; store#set ~row ~column:mask (Gpointer.encode_flags GdkEnums.Conv.modifier_tbl m); store#set ~row ~column:value v; ) list; let scrolled_win = GBin.scrolled_window ~packing:window#add ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC () in let treeview = GTree.view ~model:store ~packing:scrolled_win#add () in setup_tree_view store treeview; window#show (); window#connect#destroy GMain.quit; GMain.main () (* This code is an OCaml adaptation of the following C code from http://www.linuxquestions.org/linux/articles/Technical/New_GTK_Widgets_GtkCellRendererAccel #include #include enum { ACTION = 0, MASK, VALUE, COLUMNS }; typedef struct { gchar *action; GdkModifierType mask; guint value; } Accelerator; const Accelerator list[] = { {"Cut", GDK_CONTROL_MASK, GDK_X }, { "Copy", GDK_CONTROL_MASK, GDK_C }, { "Paste", GDK_CONTROL_MASK, GDK_V }, { "New", GDK_CONTROL_MASK, GDK_N }, { "Open", GDK_CONTROL_MASK, GDK_O }, { "Print", GDK_CONTROL_MASK, GDK_P }, { NULL, NULL, NULL } }; static void setup_tree_view (GtkWidget* ); static void accel_edited (GtkCellRendererAccel*, gchar*, guint, GdkModifierType, guint, GtkTreeView* ); int main (int argc, char *argv[]) { GtkWidget *window, *treeview, *scrolled_win; GtkListStore *store; GtkTreeIter iter; guint i = 0; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Accelerator Keys"); gtk_container_set_border_width (GTK_CONTAINER (window), 10); gtk_widget_set_size_request (window, 250, 250); treeview = gtk_tree_view_new (); setup_tree_view (treeview); store = gtk_list_store_new (COLUMNS, G_TYPE_STRING, G_TYPE_INT, G_TYPE_UINT); /* Add all of the keyboard accelerators to the GtkListStore. */ while (list[i].action != NULL) { gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, ACTION, list[i].action, MASK, (gint) list[i].mask, VALUE, list[i].value, -1); i++; } gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store)); g_object_unref (store); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add (GTK_CONTAINER (scrolled_win), treeview); gtk_container_add (GTK_CONTAINER (window), scrolled_win); gtk_widget_show_all (window); gtk_main (); return 0; } /* Create a tree view with two columns. The first is an action and the * second is a keyboard accelerator. */ static void setup_tree_view (GtkWidget *treeview) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ("Buy", renderer, "text", ACTION, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); renderer = gtk_cell_renderer_accel_new (); g_object_set (renderer, "accel-mode", GTK_CELL_RENDERER_ACCEL_MODE_GTK, "editable", TRUE, NULL); column = gtk_tree_view_column_new_with_attributes ("Buy", renderer, "accel-mods", MASK, "accel-key", VALUE, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); g_signal_connect (G_OBJECT (renderer), "accel_edited", G_CALLBACK (accel_edited), (gpointer) treeview); } /* Apply the new keyboard accelerator key and mask to the cell. */ static void accel_edited (GtkCellRendererAccel *renderer, gchar *path, guint accel_key, GdkModifierType mask, guint hardware_keycode, GtkTreeView *treeview) { GtkTreeModel *model; GtkTreeIter iter; model = gtk_tree_view_get_model (treeview); if (gtk_tree_model_get_iter_from_string (model, &iter, path)) gtk_list_store_set (GTK_LIST_STORE (model), &iter, MASK, (gint) mask, VALUE, accel_key, -1); } *) lablgtk-3.1.2/examples/action.ml0000644000650106067230000001142614161276610015431 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let ui_info = "\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ " let activ_action ac = Printf.printf "Action '%s' activated\n" ac#name ; flush stdout let setup_stock () = let id = "demo-gtk-logo" in let logo = { GtkStock.stock_id = id ; GtkStock.label = "_GTK!" ; GtkStock.modifier = [] ; GtkStock.keyval= 0 ; } in GtkStock.Item.add logo ; if Sys.file_exists "/usr/share/gtk-2.0/demo/gtk-logo-rgb.gif" then begin let pb = GdkPixbuf.from_file "/usr/share/gtk-2.0/demo/gtk-logo-rgb.gif" in let pb = GdkPixbuf.add_alpha ~transparent:(0xff, 0xff, 0xff) pb in GtkStock.make_icon_factory ~default:true ~icons:[ `STOCK id, GtkStock.make_icon_set ~pixbuf:pb [] ] () ; () end let setup_ui window = let a = GAction.add_action in let ta = GAction.add_toggle_action in let radio = GAction.group_radio_actions in let ra = GAction.add_radio_action in let actions = GAction.action_group ~name:"Actions" () in GAction.add_actions actions [ a "FileMenu" ~label:"_File" ; a "PreferencesMenu" ~label:"_Preferences" ; a "ColorMenu" ~label:"_Color" ; a "ShapeMenu" ~label:"_Shape" ; a "HelpMenu" ~label:"_Help" ; a "New" ~stock:`NEW ~tooltip:"Create a new file" ~callback:activ_action ; a "Open" ~stock:`OPEN ~tooltip:"Open a file" ~callback:activ_action ; a "Save" ~stock:`SAVE ~tooltip:"Save current file" ~callback:activ_action ; a "SaveAs" ~stock:`SAVE_AS ~tooltip:"Save to a file" ~callback:activ_action ; a "Quit" ~stock:`QUIT ~tooltip:"Quit" ~callback:activ_action ; a "About" ~label:"_About" ~accel:"A" ~tooltip:"About" ~callback:activ_action ; a "Logo" ~stock:(`STOCK "demo-gtk-logo") ~tooltip:"GTK+" ~callback:activ_action ; ta "Bold" ~stock:`BOLD ~label:"_Bold" ~accel:"B" ~tooltip:"Bold" ~callback:activ_action ~active:true ; radio ~init_value:0 ~callback:(fun n -> Printf.printf "radio action %d\n%!" n) [ ra "Red" 0 ~label:"_Red" ~tooltip:"Blood" ~accel:"R" ; ra "Green" 1 ~label:"_Green" ~tooltip:"Grass" ~accel:"G" ; ra "Blue" 2 ~label:"_Blue" ~tooltip:"Sky" ~accel:"B" ; ] ; radio ~init_value:2 ~callback:(fun n -> Printf.printf "radio action %d\n%!" n) [ ra "Square" 0 ~label:"_Square" ~tooltip:"Square" ~accel:"S" ; ra "Rectangle" 1 ~label:"_Rectangle" ~tooltip:"Rectangle" ~accel:"R" ; ra "Oval" 2 ~label:"_Oval" ~tooltip:"Egg" ~accel:"O" ; ] ] ; let ui_m = GAction.ui_manager () in ui_m#insert_action_group actions 0 ; window#add_accel_group ui_m#get_accel_group ; ui_m#add_ui_from_string ui_info ; let box1 = GPack.vbox ~packing:window#add () in box1#pack (ui_m#get_widget "/MenuBar") ; box1#pack (ui_m#get_widget "/ToolBar") ; GMisc.label ~text:"Type\n\nto start" ~xalign:0.5 ~yalign:0.5 ~width:200 ~height:200 ~packing:box1#pack () ; GMisc.separator `HORIZONTAL ~packing:box1#pack () ; let b = GButton.button ~stock:`CLOSE ~packing:box1#pack () in b#connect#clicked window#destroy ; b#misc#set_can_default true ; b#misc#grab_default () let main () = GMain.init () ; let w = GWindow.window ~title:"UI Manager" () in w#connect#destroy GMain.quit ; setup_stock () ; setup_ui w ; w#show () ; GMain.main () let _ = main () (* Local Variables: *) (* compile-command: "ocamlc -I ../src -w s lablgtk.cma action.ml" *) (* End: *) lablgtk-3.1.2/examples/assistant.ml0000644000650106067230000000231514161276610016162 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id: $ *) let main () = GMain.init (); let assistant = GAssistant.assistant () in let box = GPack.vbox () in ignore (assistant#append_page box#as_widget); assistant#set_page_complete box#as_widget true; prerr_endline "Complete"; assistant#set_page_type box#as_widget `SUMMARY; let button = GButton.link_button "http://HELLO.ORG" ~label:"BYE" ~packing:box#add () in button#set_uri "GHHHHH"; Format.printf "Got:%a@." GUtil.print_widget button; button#connect#activate_link (fun () -> Format.printf "Got url '%s'@." button#uri; button#set_uri "AGAIN"); assistant#connect#close GMain.quit; assistant#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/assistant_tutorial.ml0000644000650106067230000001203514161276610020105 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id: $ *) (* The tutorial is translated to OCaml from Chapter 5 of Foundations of GTK+ Development (published April 2007). You can find more information about the book at http://www.gtkbook.com. *) (* See also {http://www.linuxquestions.org/linux/articles/Technical/New_GTK_Widgets_GtkAssistant} *) (* If there is text in the GtkEntry, set the page as complete. Otherwise, stop the user from progressing the next page. *) let entry_changed assistant entry () = let text = entry#text in let num = assistant#current_page in let page = assistant#nth_page num in assistant#set_page_complete page (String.length (text) > 0) (* If the check button is toggled, set the page as complete. Otherwise, stop the user from progressing the next page. *) let button_toggled toggle assistant () = let active = toggle#active in assistant#set_page_complete toggle#as_widget active (* Fill up the progress bar, 10% every second when the button is clicked. Then, set the page as complete when the progress bar is filled. *) let button_clicked button assistant progress () = let percent = ref 0.0 in button#misc#set_sensitive false; while (!percent <= 100.0) do let message = Printf.sprintf "%.0f%% Complete" !percent in progress#set_fraction (!percent /. 100.0); progress#set_text message; while Glib.Main.pending () do Glib.Main.iteration true done; Glib.usleep 500000; percent := !percent +. 5.0; done; let page = assistant#nth_page 3 in assistant#set_page_complete page true (* If the dialog is cancelled, delete it from memory and then clean up after the Assistant structure. *) let assistant_cancel assistant () = assistant#destroy () (* This function is where you would apply the changes and destroy the assistant. *) let assistant_close assistant () = prerr_endline "You would apply your changes now!"; assistant#destroy () let main () = GMain.init (); let assistant = GAssistant.assistant () in assistant#misc#set_size_request ~width:450 ~height:300 (); assistant#set_title "GtkAssistant Example"; assistant#connect#destroy (fun () -> exit 0); let page_0 = GMisc.label ~text:"This is an example of a GtkAssistant. By clicking the forward button, you can continue to the next section!" () in let page_1 = GPack.hbox ~homogeneous:false ~spacing:5 () in let page_2 = GButton.check_button ~label:"Click Me To Continue!" () in let page_3 = GBin.alignment ~xalign:0.5 ~yalign:0.5 ~xscale:0.0 ~yscale:0.0 () in let page_4 = GMisc.label ~text:"Text has been entered in the label and the combo box is clicked. If you are done, then it is time to leave!" () in (* Create the necessary widgets for the second page. *) let _label = GMisc.label ~text:"Your Name: " ~packing:(page_1#pack ~expand:false ~fill:false ~padding:5) () in let entry = GEdit.entry ~packing:(page_1#pack ~expand:false ~fill:false ~padding:5) () in (* Create the necessary widgets for the fourth page. Then Attach the progress bar to the GtkAlignment widget for later access.*) let button = GButton.button ~label:"Click me!" () in let progress = GRange.progress_bar () in let hbox = GPack.hbox ~homogeneous:false ~spacing:5 () in hbox#pack ~expand:true ~fill:false ~padding:5 progress#coerce; hbox#pack ~expand:false ~fill:false ~padding:5 button#coerce; page_3#add hbox#coerce; (* Add five pages to the GtkAssistant dialog. *) assistant#append_page ~title:"Introduction" ~page_type:`INTRO ~complete:true page_0#as_widget; assistant#append_page ~page_type:`CONTENT page_1#as_widget; assistant#append_page ~title:"Click the Check Button" ~page_type:`CONTENT page_2#as_widget; assistant#append_page ~title:"Click the Button" ~page_type:`PROGRESS page_3#as_widget; assistant#append_page ~title:"Confirmation" ~page_type:`CONFIRM ~complete:true page_4#as_widget; (* Update whether pages 2 through 4 are complete based upon whether there is text in the GtkEntry, the check button is active, or the progress bar is completely filled. *) entry#connect#changed ~callback:(entry_changed assistant entry); page_2#connect#toggled ~callback:(button_toggled page_2 assistant); button#connect#clicked ~callback:(button_clicked button assistant progress); assistant#connect#cancel ~callback:(assistant_cancel assistant); assistant#connect#close ~callback:(assistant_close assistant); assistant#show (); GMain.main () let () = main () lablgtk-3.1.2/examples/buttons.ml0000644000650106067230000000350414161276610015650 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let xpm_label_box ~(window : #GContainer.container) ~file ~text ?packing ?(show=true) () = if not (Sys.file_exists file) then failwith (file ^ " does not exist"); let box = GPack.hbox ~border_width: 2 ?packing ~show:false () in let image = GMisc.image ~file ~packing:(box#pack ~padding:3) () in GMisc.label ~text ~packing:(box#pack ~padding:3) (); if show then box#misc#show (); new GObj.widget_full box#as_widget let main () = GMain.init (); let window = GWindow.window ~title:"Pixmap'd Buttons!" ~border_width:10 () in window#connect#destroy ~callback:GMain.quit; let hbox = GPack.hbox ~packing:window#add () in let button = GButton.button ~packing:(hbox#pack ~padding:5) () in button#connect#clicked ~callback: (fun () -> prerr_endline "Hello again - cool button was pressed"); xpm_label_box ~window ~file:"test.xpm" ~text:"cool button" ~packing:button#add (); let button = GButton.button ~use_mnemonic:true ~label:"_Coucou" ~packing:(hbox#pack ~padding:5) () in button#connect#clicked ~callback: (fun () -> prerr_endline "Coucou"); let button = GButton.button ~stock:`HOME ~packing:(hbox#pack ~padding:5) () in button#connect#clicked ~callback: (fun () -> prerr_endline "Stock buttons look nice"); window#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/cairo_demo.ml0000644000650106067230000000314714161276610016256 0ustar glondused(* File: cairo.ml Originally part of library ocaml-cairo by Christophe Troestler Ported to lablgtk3 by Claudio Sacerdoti Coen Copyright (C) 2009 Christophe Troestler WWW: http://math.umh.ac.be/an/software/ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 or later as published by the Free Software Foundation, with the special exception on linking described in the file LICENSE. This library 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 file LICENSE for more details. *) open Cairo let pi2 = 8. *. atan 1. let draw cr width height = let r = 0.25 *. width in set_source_rgba cr 0. 1. 0. 0.5; arc cr (0.5 *. width) (0.35 *. height) ~r ~a1:0. ~a2:pi2; fill cr; set_source_rgba cr 1. 0. 0. 0.5; arc cr (0.35 *. width) (0.65 *. height) ~r ~a1:0. ~a2:pi2; fill cr; set_source_rgba cr 0. 0. 1. 0.5; arc cr (0.65 *. width) (0.65 *. height) ~r ~a1:0. ~a2:pi2; fill cr; ;; let expose drawing_area cr = let allocation = drawing_area#misc#allocation in draw cr (float allocation.Gtk.width) (float allocation.Gtk.height); true let () = let _ = GMain.init () in let w = GWindow.window ~title:"Cairo demo" ~width:500 ~height:400 () in ignore(w#connect#destroy ~callback:GMain.quit); let d = GMisc.drawing_area ~packing:w#add () in ignore(d#misc#connect#draw ~callback:(expose d)); w#show(); GMain.main() lablgtk-3.1.2/examples/calc.ml0000644000650106067230000000657714161276610015071 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* A simple calculator ported from LablTk to LablGtk *) let mem_string ~char s = try for i = 0 to String.length s -1 do if s.[i] = char then raise Exit done; false with Exit -> true let ops = ['+',(+.); '-',(-.); '*',( *.); '/',(/.)] (* The abstract calculator class. Does not use Gtk *) class virtual calc = object (calc) val mutable x = 0.0 val mutable op = None val mutable displaying = true method virtual set : string -> unit method virtual get : string method virtual quit : unit -> unit method insert s = calc#set (calc#get ^ s) method get_float = float_of_string (calc#get) initializer calc#set "0" method command s = if s <> "" then match s.[0] with '0'..'9' -> if displaying then (calc#set ""; displaying <- false); calc#insert s | '.' -> if displaying then (calc#set "0."; displaying <- false) else if not (mem_string ~char:'.' calc#get) then calc#insert s | '+'|'-'|'*'|'/' as c -> displaying <- true; begin match op with None -> x <- calc#get_float; op <- Some (List.assoc c ops) | Some f -> x <- f x (calc#get_float); op <- Some (List.assoc c ops); calc#set (string_of_float x) end | '='|'\n'|'\r' -> displaying <- true; begin match op with None -> () | Some f -> x <- f x (calc#get_float); op <- None; calc#set (string_of_float x) end | 'q' -> calc#quit () | _ -> () end (* Buttons for the calculator *) let m = [|[|"7";"8";"9";"+"|]; [|"4";"5";"6";"-"|]; [|"1";"2";"3";"*"|]; [|"0";".";"=";"/"|]|] (* The physical calculator. Inherits from the abstract one *) class calculator ?packing ?show () = let table = GPack.table ~rows:5 ~columns:4 ~homogeneous:true ~show:false () in object (calc) inherit calc val label = let frame = GBin.frame ~shadow_type:`IN () ~packing:(table#attach ~left:0 ~top:0 ~right:4 ~expand:`BOTH) in let evbox = GBin.event_box ~packing:frame#add () in evbox#misc#set_style evbox#misc#style#copy; evbox#misc#style#set_bg [`NORMAL,`WHITE]; GMisc.label ~justify:`RIGHT ~xalign:0.95 ~packing:evbox#add () val table = table method set = label#set_text method get = label#text method quit = GMain.quit initializer for i = 0 to 3 do for j = 0 to 3 do let button = GButton.button ~label:(" " ^ m.(i).(j) ^ " ") ~packing:(table#attach ~top:(i+1) ~left:j ~expand:`BOTH) () in button#connect#clicked ~callback:(fun () -> calc#command m.(i).(j)); done done; ignore (GObj.pack_return table ~packing ~show) end (* Finally start everything *) let _ = GMain.init () let w = GWindow.window () let applet = new calculator ~packing: w#add () let _ = w#connect#destroy ~callback: GMain.quit; w#event#connect#key_press ~callback:(fun ev -> applet#command (GdkEvent.Key.string ev); true); w#show (); GMain.main () lablgtk-3.1.2/examples/calendar.ml0000644000650106067230000000174214161276610015725 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let main () = GMain.init (); let window = GWindow.window () in window#connect#destroy ~callback:GMain.quit; let calendar = GMisc.calendar ~packing:window#add () in calendar#connect#day_selected ~callback: begin fun () -> let (year,month,day) = calendar#date in Printf.printf "You selected %d/%d/%02d.\n" day (month+1) (year mod 100); flush stdout end; window#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/canvas/0000755000650106067230000000000014161276610015071 5ustar glondusedlablgtk-3.1.2/examples/canvas/canvas-arrowhead.ml0000644000650106067230000002421314161276610020652 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) type config = { mutable width : int ; mutable shape_a : int ; mutable shape_b : int ; mutable shape_c : int ; } type data = { big_arrow : GnoCanvas.line ; outline : GnoCanvas.line ; width_drag_box : GnoCanvas.rect ; shape_a_drag_box : GnoCanvas.rect ; shape_b_c_drag_box : GnoCanvas.rect ; width_items : GnoCanvas.line * GnoCanvas.text ; shape_a_items : GnoCanvas.line * GnoCanvas.text ; shape_b_items : GnoCanvas.line * GnoCanvas.text ; shape_c_items : GnoCanvas.line * GnoCanvas.text ; width_info : GnoCanvas.text ; shape_a_info : GnoCanvas.text ; shape_b_info : GnoCanvas.text ; shape_c_info : GnoCanvas.text ; samples : GnoCanvas.line list } let global_data = ref None let left = 50. let right = 350. let middle = 150. let config = { width = 2 ; shape_a = 8 ; shape_b = 10 ; shape_c = 3 ; } let set_dimension (arrow, text) ~x1 ~y1 ~x2 ~y2 ~tx ~ty dim = let points = [| x1; y1; x2; y2 |] in arrow#set [ `POINTS points ] ; text#set [ `TEXT (string_of_int dim); `X tx; `Y ty] let move_drag_box item ~x ~y = item#set [ `X1 (x -. 5.) ; `Y1 (y -. 5.) ; `X2 (x +. 5.) ; `Y2 (y +. 5.) ; ] let set_arrow_shape c = let d = match !global_data with | None -> failwith "argl" | Some v -> v in d.big_arrow#set [ `WIDTH_PIXELS (10 * c.width) ; `ARROW_SHAPE_A (float c.shape_a *. 10.) ; `ARROW_SHAPE_B (float c.shape_b *. 10.) ; `ARROW_SHAPE_C (float c.shape_c *. 10.) ; ] ; let p = [| right -. 10. *. float c.shape_a ; middle ; right -. 10. *. float c.shape_b ; middle -. 10. *. (float c.shape_c +. float c.width /. 2.) ; right ; middle ; right -. 10. *. float c.shape_b ; middle +. 10. *. (float c.shape_c +. float c.width /. 2.) ; right -. 10. *. float c.shape_a ; middle ; |] in d.outline#set [ `POINTS p ] ; move_drag_box d.width_drag_box ~x:left ~y:(middle -. 10. *. float c.width /. 2.) ; move_drag_box d.shape_a_drag_box ~x:(right -. 10. *. float c.shape_a) ~y:middle ; move_drag_box d.shape_b_c_drag_box ~x:(right -. 10. *. float c.shape_b) ~y:(middle -. 10. *. (float c.shape_c +. float c.width /. 2.)) ; set_dimension d.width_items ~x1:(left -. 10.) ~y1:(middle -. 10. *. (float c.width /. 2.)) ~x2:(left -. 10.) ~y2:(middle +. 10. *. (float c.width /. 2.)) ~tx:(left -. 15.) ~ty:middle c.width ; set_dimension d.shape_a_items ~x1:(right -. 10. *. float c.shape_a) ~y1:(middle +. 10. *. (float c.width /. 2. +. float c.shape_c) +. 10.) ~x2:right ~y2:(middle +. 10. *. (float c.width /. 2. +. float c.shape_c) +. 10.) ~tx:(right -. 10. *. float c.shape_a /. 2.) ~ty:(middle +. 10. *. (float c.width /. 2. +. float c.shape_c) +. 15.) c.shape_a ; set_dimension d.shape_b_items ~x1:(right -. 10. *. float c.shape_b) ~y1:(middle +. 10. *. (float c.width /. 2. +. float c.shape_c) +. 35.) ~x2:right ~y2:(middle +. 10. *. (float c.width /. 2. +. float c.shape_c) +. 35.) ~tx:(right -. 10. *. float c.shape_b /. 2.) ~ty:(middle +. 10. *. (float c.width /. 2. +. float c.shape_c) +. 40.) c.shape_b ; set_dimension d.shape_c_items ~x1:(right +. 10.) ~y1:(middle -. 10. *. (float c.width /. 2.)) ~x2:(right +. 10.) ~y2:(middle -. 10. *. (float c.width /. 2. +. float c.shape_c)) ~tx:(right +. 15.) ~ty:(middle -. 10. *. (float (c.width + c.shape_c) /. 2.)) c.shape_c ; d.width_info#set [ `TEXT (Printf.sprintf "width: %d" c.width) ] ; d.shape_a_info#set [ `TEXT (Printf.sprintf "arrow_shape_a: %d" c.shape_a) ] ; d.shape_b_info#set [ `TEXT (Printf.sprintf "arrow_shape_b: %d" c.shape_b) ] ; d.shape_c_info#set [ `TEXT (Printf.sprintf "arrow_shape_c: %d" c.shape_c) ] ; List.iter (fun i -> i#set [ `WIDTH_PIXELS c.width ; `ARROW_SHAPE_A (float c.shape_a) ; `ARROW_SHAPE_B (float c.shape_b) ; `ARROW_SHAPE_C (float c.shape_c) ; ] ) d.samples let highlight_box item ev = begin match ev with | `ENTER_NOTIFY _ -> item#set [ `FILL_COLOR "red" ] | `LEAVE_NOTIFY ev -> let state = GdkEvent.Crossing.state ev in if not (Gdk.Convert.test_modifier `BUTTON1 state) then item#set [ `NO_FILL_COLOR ] | `BUTTON_PRESS ev -> let curs = Gdk.Cursor.create `FLEUR in item#grab [`POINTER_MOTION; `BUTTON_RELEASE] curs (GdkEvent.Button.time ev) | `BUTTON_RELEASE ev -> item#ungrab (GdkEvent.Button.time ev) | _ -> () end ; false let create_drag_box grp cb = let box = GnoCanvas.rect ~props:[ `NO_FILL_COLOR ; `OUTLINE_COLOR "black" ; `WIDTH_PIXELS 0 ] grp in let sigs = box#connect in sigs#event (highlight_box box) ; sigs#event cb ; box let width_event c ev = begin match ev with | `MOTION_NOTIFY ev -> let state = GdkEvent.Motion.state ev in let width = int_of_float ((middle -. GdkEvent.Motion.y ev) /. 5.) in if Gdk.Convert.test_modifier `BUTTON1 state && width >= 0 then begin c.width <- width ; set_arrow_shape c end | _ -> () end ; false let shape_a_event c ev = begin match ev with | `MOTION_NOTIFY ev -> let state = GdkEvent.Motion.state ev in let shape_a = int_of_float ((right -. GdkEvent.Motion.x ev) /. 10.) in if Gdk.Convert.test_modifier `BUTTON1 state && 0 <= shape_a && shape_a <= 30 then begin c.shape_a <- shape_a ; set_arrow_shape c end | _ -> () end ; false let shape_b_c_event c ev = begin match ev with | `MOTION_NOTIFY ev -> let state = GdkEvent.Motion.state ev in let change = ref false in let shape_b = int_of_float ((right -. GdkEvent.Motion.x ev) /. 10.) in let shape_c = int_of_float (((middle -. 5. *. float c.width) -. (GdkEvent.Motion.y ev)) /. 10.) in if Gdk.Convert.test_modifier `BUTTON1 state then begin if 0 <= shape_b && shape_b <= 30 then begin c.shape_b <- shape_b ; change := true end ; if 0 <= shape_c then begin c.shape_c <- shape_c ; change := true end ; if !change then set_arrow_shape c end | _ -> () end ; false let create_dimension grp anchor = let a = GnoCanvas.line ~props:[ `FILL_COLOR "black" ; `FIRST_ARROWHEAD true ; `LAST_ARROWHEAD true ; `ARROW_SHAPE_A 5. ; `ARROW_SHAPE_B 5. ; `ARROW_SHAPE_C 3. ; ] grp in let t = GnoCanvas.text ~props:[ `FILL_COLOR "black" ; `FONT "Sans 12" ; `ANCHOR anchor ] grp in (a, t) let create_info grp ~x ~y = GnoCanvas.text ~props:[ `X x; `Y y; `FILL_COLOR "black" ; `FONT "Sans 14" ; `ANCHOR `NW ] grp let create_sample_arrow grp p = GnoCanvas.line ~props:[ `POINTS p ; `FILL_COLOR "black" ; `FIRST_ARROWHEAD true ; `LAST_ARROWHEAD true ] grp let create_canvas_arrowhead window = let vbox = GPack.vbox ~border_width:4 ~packing:window#add () in GMisc.label ~text:"This demo allows you to edit arrowhead shapes. Drag the little boxes\n\ to change the shape of the line and its arrowhead. You can see the\n\ arrows at their normal scale on the right hand side of the window." ~packing:vbox#add () ; let align = GBin.alignment ~packing:vbox#add () in let frame = GBin.frame ~shadow_type:`IN ~packing:align#add () in let canvas = GnoCanvas.canvas ~width:500 ~height:350 ~packing:frame#add () in canvas#set_scroll_region 0. 0. 500. 350. ; let root = canvas#root in let p = [| left; middle; right; middle |] in let big_arrow = GnoCanvas.line root ~props:[ `POINTS p ; `FILL_COLOR "mediumseagreen" ; `WIDTH_PIXELS (config.width * 10) ; `LAST_ARROWHEAD true ] in let outline = GnoCanvas.line root ~props:[ `FILL_COLOR "black" ; `CAP_STYLE `ROUND ; `JOIN_STYLE `ROUND ; `WIDTH_PIXELS 2; ] in let width_drag_box = create_drag_box root (width_event config) in let shape_a_drag_box = create_drag_box root (shape_a_event config) in let shape_b_c_drag_box = create_drag_box root (shape_b_c_event config) in let width_items = create_dimension root `EAST in let shape_a_items = create_dimension root `NORTH in let shape_b_items = create_dimension root `NORTH in let shape_c_items = create_dimension root `WEST in let width_info = create_info root ~x:left ~y:260. in let shape_a_info = create_info root ~x:left ~y:280. in let shape_b_info = create_info root ~x:left ~y:300. in let shape_c_info = create_info root ~x:left ~y:320. in let p = [| right +. 50.; 0.; right +. 50.; 1000. |] in GnoCanvas.line root ~props:[ `POINTS p; `FILL_COLOR "black" ; `WIDTH_PIXELS 2 ] ; let samples = List.map (create_sample_arrow root) [ [| right +. 100.; 30.; right +. 100. ; middle -. 30. |] ; [| right +. 70. ; middle; right +. 130. ; middle |] ; [| right +. 70. ; middle +. 30. ; right +. 130. ; middle +. 120. |] ] in global_data := Some { big_arrow = big_arrow ; outline = outline ; width_drag_box = width_drag_box ; shape_a_drag_box = shape_a_drag_box ; shape_b_c_drag_box = shape_b_c_drag_box ; width_items = width_items ; shape_a_items = shape_a_items ; shape_b_items = shape_b_items ; shape_c_items = shape_c_items ; width_info = width_info ; shape_a_info = shape_a_info ; shape_b_info = shape_b_info ; shape_c_info = shape_c_info ; samples = samples ; } ; set_arrow_shape config let main_1 () = let window = GWindow.window () in create_canvas_arrowhead window ; window#connect#destroy ~callback:GMain.Main.quit ; window#show () ; GMain.Main.main () let _ = main_1 () (* Local Variables: *) (* compile-command: "ocamlopt -w s -i -I ../../src lablgtk.cmxa gtkInit.cmx lablgnomecanvas.cmxa canvas-arrowhead.ml" *) (* End: *) lablgtk-3.1.2/examples/canvas/canvas-curve.ml0000644000650106067230000001161714161276610020026 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) type state = | INIT | FIRST_PRESS | FIRST_RELEASE | SECOND_PRESS | FINISHED class curve parent cb = object (self) val mutable state = INIT val points = Array.make 8 0. val item = GnoCanvas.bpath parent ~props:[ `OUTLINE_COLOR "blue" ; `WIDTH_PIXELS 5 ; `CAP_STYLE `ROUND ] method click ev = let x = GdkEvent.Button.x ev in let y = GdkEvent.Button.y ev in match GdkEvent.get_type ev with | `BUTTON_PRESS when state = INIT -> points.(0) <- x ; points.(1) <- y ; state <- FIRST_PRESS | `BUTTON_RELEASE when state = FIRST_PRESS -> points.(2) <- x ; points.(3) <- y ; let path = GnomeCanvas.PathDef.new_path () in GnomeCanvas.PathDef.moveto path points.(0) points.(1) ; GnomeCanvas.PathDef.lineto path points.(2) points.(3) ; item#set [ `BPATH path ] ; item#show () ; state <- FIRST_RELEASE | `BUTTON_PRESS when state = FIRST_RELEASE -> points.(4) <- x ; points.(5) <- y ; let path = GnomeCanvas.PathDef.new_path () in GnomeCanvas.PathDef.moveto path points.(0) points.(1) ; GnomeCanvas.PathDef.curveto path points.(4) points.(5) points.(4) points.(5) points.(2) points.(3) ; item#set [ `BPATH path ] ; state <- SECOND_PRESS | `BUTTON_PRESS when state = SECOND_PRESS -> points.(6) <- x ; points.(7) <- y ; let path = GnomeCanvas.PathDef.new_path () in GnomeCanvas.PathDef.moveto path points.(0) points.(1) ; GnomeCanvas.PathDef.curveto path points.(4) points.(5) points.(6) points.(7) points.(2) points.(3) ; item#set [ `BPATH path ] ; state <- FINISHED | _ -> () method motion ev = let x = GdkEvent.Motion.x ev in let y = GdkEvent.Motion.y ev in if state = FIRST_PRESS then begin points.(2) <- x ; points.(3) <- y ; let path = GnomeCanvas.PathDef.new_path () in GnomeCanvas.PathDef.moveto path points.(0) points.(1) ; GnomeCanvas.PathDef.lineto path points.(2) points.(3) ; item#set [ `BPATH path ] ; end method is_not_complete = state <> FINISHED method kill () = item#destroy () ; state <- FINISHED initializer let _ = item#connect#event (cb self) in () end let item_event curve ev = match ev with | `BUTTON_PRESS ev -> if GdkEvent.Button.button ev = 1 && Gdk.Convert.test_modifier `SHIFT (GdkEvent.Button.state ev) then (curve#kill () ; true) else false | _ -> false let canvas_event curves root ev = match ev with | `BUTTON_PRESS ev when GdkEvent.Button.button ev = 1 -> let curve = match !curves with | Some b when b#is_not_complete -> b | _ -> let c = new curve root item_event in curves := Some c ; c in curve#click ev ; false | `BUTTON_RELEASE ev when GdkEvent.Button.button ev = 1 -> begin match !curves with | Some b when b#is_not_complete -> b#click ev | _ -> () end ; false | `MOTION_NOTIFY ev -> begin match !curves with | Some b when b#is_not_complete -> b#motion ev ; true | _ -> false end | _ -> false let create_canvas ~aa cont = let frame = GBin.frame ~shadow_type:`IN ~packing:cont#add () in let canvas = GnoCanvas.canvas ~aa ~width:600 ~height:250 ~packing:frame#add () in canvas#set_scroll_region 0. 0. 600. 250. ; let r = GnoCanvas.rect canvas#root ~props:[ `OUTLINE_COLOR "black" ; `FILL_COLOR "white" ; `X1 0.; `Y1 0. ; `X2 600. ; `Y2 250. ] in let t = GnoCanvas.text canvas#root ~props:[ `TEXT (if aa then "AntiAlias" else "Non-AntiAlias") ; `X 270. ; `Y 5. ; `FONT "Sans 12" ; `ANCHOR `NORTH ; `FILL_COLOR "black" ] in r#connect#event (canvas_event (ref None) canvas#root) let create_canvas_bezier_curve window = let vbox = GPack.vbox ~border_width:4 ~packing:window#add () in GMisc.label ~text:"Drag a line with button 1. Then mark 2 control points with\n\ button 1. Shift+click with button 1 to destroy the curve.\n" ~packing:vbox#add () ; create_canvas ~aa:false vbox ; create_canvas ~aa:true vbox let main_1 () = let window = GWindow.window () in create_canvas_bezier_curve window ; window#connect#destroy ~callback:GMain.Main.quit ; window#show () ; GMain.Main.main () let _ = main_1 () (* Local Variables: *) (* compile-command: "ocamlopt -w s -i -I ../../src lablgtk.cmxa gtkInit.cmx lablgnomecanvas.cmxa canvas-curve.ml" *) (* End: *) lablgtk-3.1.2/examples/canvas/canvas-features.ml0000644000650106067230000000516314161276610020517 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let pad = 4 let item_callback it (p1, p2) = function | `BUTTON_PRESS ev when GdkEvent.Button.button ev = 1 -> if it#parent#get_oid = p1#get_oid then it#reparent p2 else it#reparent p1 ; true | _ -> false let create_canvas_features window = let vbox = GPack.vbox ~border_width:pad ~spacing:pad ~packing:window#add () in GMisc.label ~text:"Reparent test: click on the items to switch them between parents" ~packing:vbox#add () ; let align = GBin.alignment ~packing:vbox#add () in let frame = GBin.frame ~shadow_type:`IN ~packing:align#add () in let canvas = GnoCanvas.canvas ~width:400 ~height:200 ~packing:frame#add () in canvas#set_scroll_region 0. 0. 400. 200. ; let parent_1 = GnoCanvas.group canvas#root ~x:0. ~y:0. in GnoCanvas.rect parent_1 ~props:[ `X1 0.; `Y1 0.; `X2 200.; `Y2 200.; `FILL_COLOR "tan" ] ; let parent_2 = GnoCanvas.group canvas#root ~x:200. ~y:0. in GnoCanvas.rect parent_2 ~props:[ `X1 0.; `Y1 0.; `X2 200.; `Y2 200.; `FILL_COLOR "#204060" ] ; let item = GnoCanvas.ellipse parent_1 ~props:[ `X1 10.; `Y1 10.; `X2 190.; `Y2 190.; `OUTLINE_COLOR "black" ; `FILL_COLOR "mediumseagreen" ; `WIDTH_UNITS 3. ] in item#connect#event (item_callback item (parent_1, parent_2)) ; let group = GnoCanvas.group parent_2 ~x:100. ~y:100. in GnoCanvas.ellipse group ~props:[ `X1 (-50.); `Y1 (-50.); `X2 50.; `Y2 50.; `OUTLINE_COLOR "black" ; `FILL_COLOR "wheat" ; `WIDTH_UNITS 3. ] ; GnoCanvas.ellipse group ~props:[ `X1 (-25.); `Y1 (-25.); `X2 25.; `Y2 25.; `FILL_COLOR "steelblue" ] ; group#connect#event (item_callback group (parent_1, parent_2)) ; vbox let main_1 () = let window = GWindow.window () in let truc = create_canvas_features window in window#connect#destroy ~callback:GMain.Main.quit ; window#show () ; GMain.Main.main () let _ = main_1 () (* Local Variables: *) (* compile-command: "ocamlopt -w s -i -I ../../src lablgtk.cmxa gtkInit.cmx lablgnomecanvas.cmxa canvas-features.ml" *) (* End: *) lablgtk-3.1.2/examples/canvas/canvas-fifteen.ml0000644000650106067230000001035114161276610020314 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let piece_size = 50 let piece_color nb = let y = nb / 4 in let x = nb mod 4 in let r = (4 - x) * 255 / 4 in let g = (4 - y) * 255 / 4 in let b = 128 in Printf.sprintf "#%02x%02x%02x" r g b type config = { canvas : GnoCanvas.canvas ; board : (GnoCanvas.group * GnoCanvas.text) array ; pos : int array ; mutable hole : int ; } let move config num dpos = assert(List.mem dpos [ -1; 1; -4; 4]) ; let (it, _ ) = config.board.(num) in it#move ~x:(float (dpos mod 4 * piece_size)) ~y:(float (dpos / 4 * piece_size)) let item_event config num ev = begin match ev with | `ENTER_NOTIFY _ -> let (_, text) = config.board.(num) in text#set [ `FILL_COLOR "white" ] | `LEAVE_NOTIFY _ -> let (_, text) = config.board.(num) in text#set [ `FILL_COLOR "black" ] | `BUTTON_PRESS _ -> let pos = config.pos.(num) in if List.mem (config.hole - pos) [ -1; 1; 4; -4; ] then let dpos = config.hole - pos in config.hole <- config.hole - dpos ; config.pos.(num) <- config.pos.(num) + dpos ; move config num dpos ; config.canvas#update_now () | _ -> () end ; false let scramble_moves = 128 let array_find a v = let imax = Array.length a in let rec proc = function | i when i = imax -> raise Not_found | i when a.(i) = v -> i | i -> proc (succ i) in proc 0 let scramble config () = for i = 1 to scramble_moves do let new_pos = ref (-1) in let ok = ref false in while not !ok do let dpos = Array.get [| -1; 1; -4; 4|] (Random.int 4) in new_pos := config.hole + dpos ; if not ((config.hole mod 4 = 0 && dpos = -1) || (config.hole mod 4 = 3 && dpos = 1) || !new_pos < 0 || !new_pos > 15) then ok := true done ; let num = array_find config.pos !new_pos in move config num (config.hole - !new_pos) ; config.pos.(num) <- config.hole ; config.hole <- !new_pos ; config.canvas#update_now () done let create_canvas_fifteen window = let vbox = GPack.vbox ~border_width:4 ~packing:window#add () in let align = GBin.alignment ~packing:vbox#add () in let frame = GBin.frame ~shadow_type:`IN ~packing:align#add () in let dim = piece_size * 4 + 1 in let canvas = GnoCanvas.canvas ~width:dim ~height:dim ~packing:frame#add () in canvas#set_scroll_region 0. 0. (float dim) (float dim) ; let board = Array.init 15 (fun i -> let x = i mod 4 in let y = i / 4 in let tile = GnoCanvas.group ~x:(float (x * piece_size)) ~y:(float (y * piece_size)) canvas#root in GnoCanvas.rect tile ~props:[ `X1 0.; `Y1 0. ; `X2 (float piece_size) ; `Y2 (float piece_size) ; `FILL_COLOR (piece_color i) ; `OUTLINE_COLOR "black" ; `WIDTH_PIXELS 0 ] ; let text = GnoCanvas.text tile ~props:[ `TEXT (string_of_int (succ i)) ; `X (float piece_size /. 2.) ; `Y (float piece_size /. 2.) ; `FONT "Sans bold 24" ; `FILL_COLOR "black" ; `ANCHOR `CENTER ] in (tile, text)) in let config = { canvas = canvas ; board = board ; pos = Array.init 15 (fun i -> i) ; hole = 15 ; } in Array.iteri (fun i ((tile : GnoCanvas.group), _) -> tile#connect#event (item_event config i) ; ()) config.board ; let button = GButton.button ~label:"Scramble" ~packing:vbox#add () in button#connect#clicked (scramble config) let main_1 () = Random.self_init () ; let window = GWindow.window () in create_canvas_fifteen window ; window#connect#destroy ~callback:GMain.Main.quit ; window#show () ; GMain.Main.main () let _ = main_1 () (* Local Variables: *) (* compile-command: "ocamlopt -w s -i -I ../../src lablgtk.cmxa gtkInit.cmx lablgnomecanvas.cmxa canvas-fifteen.ml" *) (* End: *) lablgtk-3.1.2/examples/canvas/canvas-primitives.ml0000644000650106067230000003547514161276610021105 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let zoom_changed canvas adj () = canvas#set_pixels_per_unit adj#value type 'p item_state = { item : 'p GnoCanvas.item ; mutable dragging : bool ; mutable x : float ; mutable y : float ; } let affine_rotate angle = let rad_angle = angle /. 180. *. acos (-1.) in let cos_a = cos rad_angle in let sin_a = sin rad_angle in [| cos_a ; sin_a ; ~-. sin_a ; cos_a ; 0. ; 0. |] let affine_apply a x y = ( a.(0) *. x +. a.(2) *. y +. a.(4) , a.(1) *. x +. a.(3) *. y +. a.(5) ) let affine_compose a1 a2 = [| a1.(0) *. a2.(0) +. a1.(1) *. a2.(2) ; a1.(0) *. a2.(1) +. a1.(1) *. a2.(3) ; a1.(2) *. a2.(0) +. a1.(3) *. a2.(2) ; a1.(2) *. a2.(1) +. a1.(3) *. a2.(3) ; a1.(4) *. a2.(0) +. a1.(5) *. a2.(2) +. a2.(4) ; a1.(4) *. a2.(1) +. a1.(5) *. a2.(3) +. a2.(5) ; |] let affine_invert a = let r_det = 1. /. (a.(0) *. a.(3) -. a.(1) *. a.(2)) in [| a.(3) *. r_det ; ~-. (a.(1)) *. r_det ; ~-. (a.(2)) *. r_det ; a.(0) *. r_det ; (a.(2) *. a.(5) -. a.(3) *. a.(4)) *. r_det ; (a.(1) *. a.(4) -. a.(0) *. a.(5)) *. r_det ; |] let affine_transl x y = [| 1. ; 0. ; 0. ; 1. ; x ; y |] let affine_rotate_around_point x y angle = affine_compose (affine_compose (affine_transl (~-. x) (~-. y)) (affine_rotate angle)) (affine_transl x y) let d_theta = 15. let item_event_button_press config ev = let state = GdkEvent.Button.state ev in match GdkEvent.Button.button ev with | 1 when Gdk.Convert.test_modifier `SHIFT state -> config.item#destroy () | 1 when Gdk.Convert.test_modifier `CONTROL state -> let (x, y) = config.item#w2i (GdkEvent.Button.x ev) (GdkEvent.Button.y ev) in config.item#affine_relative (affine_rotate_around_point x y d_theta) ; | 3 when Gdk.Convert.test_modifier `CONTROL state -> let (x, y) = config.item#w2i (GdkEvent.Button.x ev) (GdkEvent.Button.y ev) in config.item#affine_relative (affine_rotate_around_point x y (~-. d_theta)) ; | 1 -> let x = GdkEvent.Button.x ev in let y = GdkEvent.Button.y ev in let (p_x, p_y) = config.item#parent#w2i x y in config.x <- p_x ; config.y <- p_y ; config.dragging <- true | 2 when Gdk.Convert.test_modifier `SHIFT state -> config.item#lower_to_bottom () | 2 -> config.item#lower 1 | 3 when Gdk.Convert.test_modifier `SHIFT state -> config.item#raise_to_top () | 3 -> config.item#raise 1 | _ -> () let item_event_motion config ev = if config.dragging && Gdk.Convert.test_modifier `BUTTON1 (GdkEvent.Motion.state ev) then let x = GdkEvent.Motion.x ev in let y = GdkEvent.Motion.y ev in let (p_x, p_y) = config.item#parent#w2i x y in let aff = affine_invert ( match config.item#xform with | `AFFINE a -> a | `IDENTITY -> affine_transl 0. 0. | `TRANSL a -> affine_transl a.(0) a.(1) ) in let (apx, apy) = affine_apply aff p_x p_y in let (acx, acy) = affine_apply aff config.x config.y in config.item#move (apx -. acx) (apy -. acy) ; config.x <- p_x ; config.y <- p_y let item_event config ev = begin match ev with | `BUTTON_PRESS ev -> item_event_button_press config ev | `BUTTON_RELEASE _ -> config.dragging <- false | `MOTION_NOTIFY ev -> item_event_motion config ev | _ -> () end ; false let setup_item (it : 'a #GnoCanvas.item) = let config = { item = (it : 'a #GnoCanvas.item :> 'a GnoCanvas.item) ; dragging = false ; x = 0. ; y = 0. } in it#connect#event (item_event config) let setup_div root = let grp = GnoCanvas.group root ~x:0. ~y:0. in GnoCanvas.rect grp ~props:[ `X1 0.; `Y1 0.; `X2 600.; `Y2 450. ; `OUTLINE_COLOR "black" ; `WIDTH_UNITS 4. ] ; List.map (fun p -> GnoCanvas.line grp ~props:[ `FILL_COLOR "black"; `WIDTH_UNITS 4. ; `POINTS p ]) [ [| 0.; 150.; 600.; 150. |] ; [| 0.; 300.; 600.; 300. |] ; [| 200.; 0.; 200.; 450. |] ; [| 400.; 0.; 400.; 450. |] ; ] ; List.map (fun (text, pos) -> GnoCanvas.text grp ~props:[ `TEXT text ; `X (float (pos mod 3 * 200 + 100)) ; `Y (float (pos / 3 * 150 + 5)) ; `FONT "Sans 12" ; `ANCHOR `NORTH ; `FILL_COLOR "black" ]) [ ("Rectangles", 0); ("Ellipses", 1); ("Texts", 2); ("Images", 3); ("Lines", 4); ("Curves", 5); ("Arcs", 6); ("Polygons", 7); ("Widgets", 8); ] ; () let setup_rectangles root = setup_item (GnoCanvas.rect root ~props:[ `X1 20.; `Y1 30.; `X2 70.; `Y2 60.; `OUTLINE_COLOR "red" ; `WIDTH_PIXELS 8 ]) ; setup_item (GnoCanvas.rect root ~props:( [ `X1 90.; `Y1 40.; `X2 180.; `Y2 100.; `OUTLINE_COLOR "black" ; `WIDTH_UNITS 4. ] @ if root#canvas#aa then [ `FILL_COLOR_RGBA (Int32.of_int 0x3cb37180) ] else [ `FILL_COLOR "mediumseagreen" ; `FILL_STIPPLE (Gdk.Bitmap.create_from_data ~width:2 ~height:2 "\002\001") ] )) ; setup_item (GnoCanvas.rect root ~props:[ `X1 10.; `Y1 80.; `X2 80.; `Y2 140.; `FILL_COLOR "steelblue" ]) let setup_ellipses root = setup_item (GnoCanvas.ellipse root ~props:[ `X1 220.; `Y1 30.; `X2 270.; `Y2 60. ; `OUTLINE_COLOR "goldenrod" ; `WIDTH_PIXELS 8 ]) ; setup_item (GnoCanvas.ellipse root ~props:[ `X1 290.; `Y1 40.; `X2 380.; `Y2 100. ; `FILL_COLOR "wheat" ; `OUTLINE_COLOR "midnightblue" ; `WIDTH_UNITS 4. ]) ; setup_item (GnoCanvas.ellipse root ~props:( [ `X1 210.; `Y1 80.; `X2 280.; `Y2 140.; `OUTLINE_COLOR "black" ; `WIDTH_PIXELS 0 ] @ if root#canvas#aa then [ `FILL_COLOR_RGBA (Int32.of_int 0x5f9ea080) ] else [ `FILL_COLOR "cadetblue" ; `FILL_STIPPLE (Gdk.Bitmap.create_from_data ~width:2 ~height:2 "\002\001") ] )) let make_anchor root ~x ~y = let grp = GnoCanvas.group ~x ~y root in setup_item grp ; GnoCanvas.rect grp ~props:[ `X1 (-2.); `Y1 (-2.); `X2 2.; `Y2 2. ; `OUTLINE_COLOR "black" ; `WIDTH_PIXELS 0 ] ; grp let setup_texts root = GnoCanvas.text (make_anchor root ~x:420. ~y:20.) ~props:([ `TEXT "Anchor NW" ;`ANCHOR `NW ; `X 0. ; `Y 0. ; `FONT "Sans Bold 24" ; ] @ if root#canvas#aa then [ `FILL_COLOR_RGBA (Int32.of_int 0x0000ff80) ] else [ `FILL_COLOR "blue" ; `FILL_STIPPLE (Gdk.Bitmap.create_from_data ~width:2 ~height:2 "\002\001") ] ) ; GnoCanvas.text (make_anchor root ~x:470. ~y:75.) ~props:[ `TEXT "Anchor center\nJustify center\nMultiline text" ; `X 0. ; `Y 0. ; `FONT "Sans monospace bold 14" ; `ANCHOR `CENTER ; `JUSTIFICATION `CENTER ; `FILL_COLOR "firebrick" ] ; GnoCanvas.text (make_anchor root ~x:590. ~y:140.) ~props:[ `TEXT "Clipped text\nClipped text\nClipped text\nClipped text\nClipped text\nClipped text" ; `X 0. ; `Y 0. ; `FONT "Sans 12" ; `ANCHOR `SE ; `CLIP true ; `CLIP_WIDTH 50. ; `CLIP_HEIGHT 55. ; `X_OFFSET 10. ; `FILL_COLOR "darkgreen" ] ; () let plant_flower root x y = let im = GdkPixbuf.from_file "flower.png" in setup_item (GnoCanvas.pixbuf root ~pixbuf:im ~x ~y ~props:[ `ANCHOR `CENTER] ) ; () let setup_images root = let im = GdkPixbuf.from_file "toroid.png" in setup_item (GnoCanvas.pixbuf ~x:100. ~y:225. ~pixbuf:im ~props:[ `ANCHOR `CENTER ] root) ; plant_flower root 20. 170. ; plant_flower root 180. 170. ; plant_flower root 20. 280. ; plant_flower root 180. 280. let polish_diamond root = let grp = GnoCanvas.group ~x:270. ~y:230. root in setup_item grp ; let p = Array.make 4 0. in let vertices, radius = (10, 60.) in for i=0 to pred vertices do let a = 8. *. atan 1. *. (float i) /. (float vertices) in p.(0) <- radius *. cos a ; p.(1) <- radius *. sin a ; for j=i+1 to pred vertices do let a = 8. *. atan 1. *. (float j) /. (float vertices) in p.(2) <- radius *. cos a ; p.(3) <- radius *. sin a ; GnoCanvas.line grp ~props:[ `POINTS p; `FILL_COLOR "black" ; `WIDTH_UNITS 1. ; `CAP_STYLE `ROUND ] ; () done done let make_hilbert root = let scale = 7. in let hilbert = "urdrrulurulldluuruluurdrurddldrrruluurdrurddldrddlulldrdldrrurd" in let points = Array.make (2 * (String.length hilbert + 1)) 0. in points.(0) <- 340. ; points.(1) <- 290. ; for i=1 to String.length hilbert do let (dx, dy) = match hilbert.[pred i] with | 'd' -> (0., scale) | 'u' -> (0., ~-. scale) | 'l' -> (~-. scale, 0.) | 'r' -> (scale, 0.) | _ -> failwith "pb" in points.(2 * i) <- points.(2 * (pred i)) +. dx ; points.(2 * i + 1) <- points.(2 * (pred i) + 1) +. dy done ; setup_item (GnoCanvas.line root ~props:( [ `POINTS points ; `WIDTH_UNITS 4. ; `CAP_STYLE `PROJECTING ; `JOIN_STYLE `MITER ] @ if root#canvas#aa then [ `FILL_COLOR_RGBA 0xff000080l ] else [ `FILL_COLOR "red" ; `FILL_STIPPLE (Gdk.Bitmap.create_from_data ~width:2 ~height:2 "\002\001") ] ) ) ; () let setup_lines root = polish_diamond root ; make_hilbert root ; let points = [| 340.; 170.; 340.; 230.; 390.; 230.; 390.; 170. |] in setup_item (GnoCanvas.line root ~props:[ `POINTS points ; `FILL_COLOR "midnightblue" ; `WIDTH_UNITS 3. ; `FIRST_ARROWHEAD true ; `LAST_ARROWHEAD true ; `ARROW_SHAPE_A 8. ; `ARROW_SHAPE_B 12. ; `ARROW_SHAPE_C 4. ]) ; let points = [| 356.; 180.; 374.; 220.; |] in setup_item (GnoCanvas.line root ~props:[ `POINTS points ; `FILL_COLOR "blue" ; `WIDTH_PIXELS 0 ; `FIRST_ARROWHEAD true ; `LAST_ARROWHEAD true ; `ARROW_SHAPE_A 6. ; `ARROW_SHAPE_B 6. ; `ARROW_SHAPE_C 4. ]) ; let points = [| 356.; 220.; 374.; 180.; |] in setup_item (GnoCanvas.line root ~props:[ `POINTS points ; `FILL_COLOR "blue" ; `WIDTH_PIXELS 0 ; `FIRST_ARROWHEAD true ; `LAST_ARROWHEAD true ; `ARROW_SHAPE_A 6. ; `ARROW_SHAPE_B 6. ; `ARROW_SHAPE_C 4. ]) ; () let setup_curves root = let p = GnomeCanvas.PathDef.new_path () in GnomeCanvas.PathDef.moveto p 500. 175. ; GnomeCanvas.PathDef.curveto p 550. 175. 550. 275. 500. 275. ; setup_item (GnoCanvas.bpath root ~props:[ `BPATH p ; `OUTLINE_COLOR "black" ; `WIDTH_PIXELS 4 ]) ; () let setup_polygons root = let points = [| 210. ; 320.; 210.; 380.; 260.; 350.; |] in setup_item (GnoCanvas.polygon ~points root ~props:( (`OUTLINE_COLOR "black") :: if root#canvas#aa then [ `FILL_COLOR_RGBA (Int32.of_int 0x0000ff80) ] else [ `FILL_COLOR "blue" ; `FILL_STIPPLE (Gdk.Bitmap.create_from_data ~width:2 ~height:2 "\002\001") ] )) ; let points = [| 270.0; 330.0; 270.0; 430.0; 390.0; 430.0; 390.0; 330.0; 310.0; 330.0; 310.0; 390.0; 350.0; 390.0; 350.0; 370.0; 330.0; 370.0; 330.0; 350.0; 370.0; 350.0; 370.0; 410.0; 290.0; 410.0; 290.0; 330.0; |] in setup_item (GnoCanvas.polygon ~points root ~props:[ `FILL_COLOR "tan" ; `OUTLINE_COLOR "black" ; `WIDTH_UNITS 3. ]) ; () let setup_widgets root = let w = GButton.button ~label:"Hello world!" () in setup_item (GnoCanvas.widget root ~widget:w ~x:420. ~y:330. ~props:[ `ANCHOR `NW ; `SIZE_PIXELS false ; `WIDTH 100. ; `HEIGHT 40. ]) ; () let key_press (canvas : GnoCanvas.canvas) ev = let (x, y) = canvas#get_scroll_offsets in match GdkEvent.Key.keyval ev with | k when k = GdkKeysyms._Up -> canvas#scroll_to x (y-20) ; true | k when k = GdkKeysyms._Down -> canvas#scroll_to x (y+20) ; true | k when k = GdkKeysyms._Left -> canvas#scroll_to (x-10) y ; true | k when k = GdkKeysyms._Right -> canvas#scroll_to (x+10) y ; true | _ -> false let focus canvas ev = if GdkEvent.Focus.focus_in ev then prerr_endline "focus in" else prerr_endline "focus out" ; false let create_canvas_primitives window ~aa = let vbox = GPack.vbox ~border_width:4 ~spacing:4 ~packing:window#add () in GMisc.label ~text:"Drag an item with button 1. Click button 2 on an item to lower it,\n\ or button 3 to raise it. Shift+click with buttons 2 or 3 to send\n\ an item to the bottom or top, respectively. Control+click with \n\ button 1 or button 3 to rotate an item." ~packing:vbox#pack () ; let hbox = GPack.hbox ~spacing:4 ~packing:vbox#pack () in GtkBase.Widget.push_colormap (Gdk.Rgb.get_cmap ()) ; let canvas = GnoCanvas.canvas ~aa ~width:600 ~height:450 () in canvas#set_center_scroll_region false ; let root = canvas#root in setup_div root ; setup_rectangles root ; setup_ellipses root ; setup_texts root ; setup_images root ; setup_lines root ; setup_polygons root ; setup_curves root ; setup_widgets root ; (* root#affine_relative [| 1.5; 0.; 0.; 0.7; 0.; 0.; |] ; *) GtkBase.Widget.pop_colormap () ; GMisc.label ~text:"Zoom:" ~packing:hbox#pack () ; let adj = GData.adjustment ~value:1. ~lower:0.05 ~upper:5. ~step_incr:0.05 ~page_incr:0.5 ~page_size:0.5 () in adj#connect#value_changed (zoom_changed canvas adj) ; let w = GEdit.spin_button ~adjustment:adj ~rate:0. ~digits:2 ~width:50 ~packing:hbox#pack () in let table = GPack.table ~rows:2 ~columns:2 ~row_spacings:4 ~col_spacings:4 ~packing:vbox#pack () in let frame = GBin.frame ~shadow_type:`IN () in table#attach ~left:0 ~right:1 ~top:0 ~bottom:1 ~expand:`BOTH ~fill:`BOTH ~shrink:`BOTH ~xpadding:0 ~ypadding:0 frame#coerce ; canvas#set_scroll_region 0. 0. 600. 450. ; frame#add canvas#coerce ; canvas#event#connect#after#key_press (key_press canvas) ; canvas#event#connect#enter_notify (fun _ -> canvas#misc#grab_focus () ; false) ; let w = GRange.scrollbar `HORIZONTAL ~adjustment:canvas#hadjustment () in table#attach ~left:0 ~right:1 ~top:1 ~bottom:2 ~expand:`X ~fill:`BOTH ~shrink:`X ~xpadding:0 ~ypadding:0 w#coerce ; let w = GRange.scrollbar `VERTICAL ~adjustment:canvas#vadjustment () in table#attach ~left:1 ~right:2 ~top:0 ~bottom:1 ~expand:`Y ~fill:`BOTH ~shrink:`Y ~xpadding:0 ~ypadding:0 w#coerce ; canvas#misc#set_can_focus true ; canvas#misc#grab_focus () let main_1 () = let aa = if Array.length Sys.argv > 1 then try bool_of_string Sys.argv.(1) with Invalid_argument _ -> false else false in let window = GWindow.window () in create_canvas_primitives window ~aa ; window#connect#destroy ~callback:GMain.Main.quit ; window#show () ; GMain.Main.main () let _ = main_1 () (* Local Variables: *) (* compile-command: "ocamlopt -w s -i -I ../../src lablgtk.cmxa gtkInit.cmx lablgnomecanvas.cmxa canvas-primitives.ml" *) (* End: *) lablgtk-3.1.2/examples/canvas/canvas-richtext.ml0000644000650106067230000000613414161276610020532 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let big_text = String.concat "" [ "English is so boring because everyone uses it.\n" ; "Here is something exciting: " ; "وقد بدأ ثلاث من أكثر المؤسسات تقدما ÙÙŠ شبكة اكسيون برامجها كمنظمات لا تسعى للربح، ثم تحولت ÙÙŠ السنوات الخمس الماضية إلى مؤسسات مالية منظمة، وباتت جزءا من النظام المالي ÙÙŠ بلدانها، ولكنها تتخصص ÙÙŠ خدمة قطاع المشروعات الصغيرة. وأحد أكثر هذه المؤسسات نجاحا هو »بانكوسول« ÙÙŠ بوليÙيا.\n" ; "And here is some more plain, boring English." ; ] let setup_text root = let r = GnoCanvas.rect root ~props:[ `X1 (-90.) ; `Y1 (-50.) ; `X2 110. ; `Y2 50. ; `FILL_COLOR "green" ; `OUTLINE_COLOR "green" ] in GnoCanvas.rich_text root ~x:(-90.) ~y:(-50.) ~width:200. ~height:100. ~text:big_text ~props:[ `GROW_HEIGHT true ] ; GnoCanvas.ellipse root ~props:[ `X1 (-5.) ; `Y1 (-5.) ; `X2 5. ; `Y2 5. ; `FILL_COLOR "white" ] ; GnoCanvas.rect root ~props:[ `X1 100. ; `Y1 (-30.) ; `X2 200. ; `Y2 30. ; `FILL_COLOR "yellow" ; `OUTLINE_COLOR "yellow" ] ; GnoCanvas.rich_text root ~x:100. ~y:(-30.) ~width:100. ~height:60. ~text:"The quick brown fox jumped over the lazy dog.\n" ~props:[ `GROW_HEIGHT true ; `CURSOR_VISIBLE true ; `CURSOR_BLINK true ] ; GnoCanvas.rect root ~props:[ `X1 50. ; `Y1 70. ; `X2 150. ; `Y2 100. ; `FILL_COLOR "pink" ; `OUTLINE_COLOR "pink" ] ; GnoCanvas.rich_text root ~x:50. ~y:70. ~width:100. ~height:30. ~text:"This is a test.\nI enjoy tests a great deal\nThree lines!" ~props:[ `CURSOR_VISIBLE true ; `CURSOR_BLINK true ] ; () let create_canvas_rich_text window = let vbox = GPack.vbox ~spacing:4 ~border_width:4 ~packing:window#add () in let align = GBin.alignment ~packing:vbox#pack () in let frame = GBin.frame ~shadow_type:`IN ~packing:align#add () in let canvas = GnoCanvas.canvas ~width:600 ~height:450 ~packing:frame#add () in setup_text canvas#root let main_1 () = Random.self_init () ; let window = GWindow.window () in create_canvas_rich_text window ; window#connect#destroy ~callback:GMain.Main.quit ; window#show () ; GMain.Main.main () let _ = main_1 () (* Local Variables: *) (* coding: utf-8 *) (* compile-command: "ocamlopt -w s -i -I ../../src lablgtk.cmxa gtkInit.cmx lablgnomecanvas.cmxa canvas-richtext.ml" *) (* End: *) lablgtk-3.1.2/examples/canvas/flower.png0000644000650106067230000000555314161276610017105 0ustar glondused‰PNG  IHDR00Wù‡gAMA± üa "IDATxœí˜ypTוÆ÷½×ýº[Ýj $$@bÓŠÙM‚ f@!޼`¼€ãñà;qìÆY âÌÔ$±'öÄ &ØÆ!Á8,À /Ø€ &€V ©¥V/êåu÷{ï΂ŒãaÏTªøªî_÷Ô9ßw—sνp —p —p Cðå€óB9ÊÑi0˜Ta`'°8|¾Ž•óupø_[ùÁ?5ÛFh;<|pqÑ`à) è"Ç?/LÞžÛ´mËân+)›ºŽÉæ`›ü`ÏÎÀ«Š¢<Ày.¢z!˜ž ðÀº€5Ї } ‘H ( ¦ejnlÚØp°¾H×õ}–e…Î'ÐÅ@°·ÛJ†4‡ã§'OÚ–Åßš3p˜¦Y*¥<绨ÉÿËçÌË¿4ñm ºo —Û‘L¢9TJ)íªª*(JAÇÍ›è½ämJ@.P $Ð `ô±ëho~øî4NJ—º®cYGŠt*ÕpÛ¶}}MMÍMÓþœœBUS“–e‰`g—˜@8,?ïœL– >¬<‘HØå•#7Öì6 £¸;tØ lj€@£¢(·F#Þx};?ÞA¨;ÄÔiÇusn$'7——–¯0+.«9÷öÛÊ'O›ÚÿÊ«¦ÐÓÓƒeYDB!„PÚRFjÍu3¾ÖèÜ<Dú;Ó³÷3`Wk¤óEUGD‘C–e‘–-êêêÒuŸîu¯]ýš–2’ë÷ܬ»ÿ;T¿ùÚïœÅŃXrÿtŠò=,]]ËŠ?Õ2qÒ—Xú³ ((À²,,ËÂéìݬL&C$FAww·Û…iZ˾\1z“¢Í4Í÷ÏEÀ<`{·•| xmÛ6,ÓÌI¥RBUi¤R9¶”v{[[ìönÜXâûÞ‚ñàÏC „ÀnoÇÊh<¶ª•«·²ö­ x²,Ëâš«ª¸vR?Y8 Ñoˆ>!¢]ˆîVv7˜¼T“ ¶!Ââû^Ÿ”a GH¥ ¼>==Q¬ŒI85~ùØ¿T754M(©œ\Ûð}œiµ€—ï™w§ù·ÎÛììÚ”ˆÇ›ß ò/|‰%^~tÿåŸ'ŸNBw+·îæËô67beLº˜™ ЦbY±XŒžhŒ¦††úÅþ`sSCãàµËÆŒùÜ‚ŸmþUUU½Î²¬]üãøC‹™âÔõá@ÀÌ+§°õÉëqÉå¤hF$Â$Í\¶ÿ9BígÇø¤¡‹QUsÉ/@g ‹Â…9rÝé¤ñ@ýÎÏ¿ÐmYVðǯM«Zô›eÏÛ#JK„Âþ ¡³ ¥”ûý~Í–·ÞN?õ«_ç:z˘ ãr‡Ï®Z¾9IGÉöþïÕ·CO†a²§>HK[šOvp´#ŒÃWˆCw’J¥pê:¡®`Ýož\ºûýšmERÊ\à#†x¢zã³xèÈ%K–üÅõ9W@)¥Ðu}d&“™2løð[þsÙ3®g—>=uÁMc©ºÂ‰;ËÕkgÛX‡÷ÑÓÒ–âH§àý=tG v×w1ñ+פƒmít—ËÞñÑÇ…íÇÚòèM•„¿½ïî{¶.ý¯§mUU ûž8÷JÙ±3ñFõÆ („Øér¹Ö$‰ôV}NEþl\< ªªïéåϹ¿5ï¶|ÁîI)I&’æ»[¶h/.[ÎÞOö2 ¦ˆª* ò†–RQQ¢¨ H2i·ÇÓád[Í»ææMoþÞ2M°XLoKqJœ‰€ àG—el¨ygT¶?{ò—R’H$phSwéZ:ÆH&1M“p8LãÁz‰$Ñp¯/‹æ¦f°Asjx½>lÛBU5ÄV¾òǵXÓ ä÷±SÅ=]Êþ}þ]wY½aݺK/;1aÛ6BlÛ&s¨¹…¶cǤB<ñ¯?¢ê«_åp8\§ÍáÀíñ0¨¨MUpê.R)ƒü¼<ІSPP€;ËÃàâ"Ü7ÑH˜±ãÇZ2|Èö÷>ø3½OÒ½@âlÌ,8°tý;oÞŸÉd!ºi}u?)¥ 1Í]À.·Û]°àÖ;æ«JJK·Ü~×·ÇÕíÝ[þÆëƒñX,¼pó ³wAop¢.œi%>jYÖ*€h8Âþ}Ÿ¡j*ªª2¢´¯Ï'Eãè¯:TÍápFÉÉÍÅçÏ&Z¥©¾Á  OZcÚ¦U_?㚣¿xü—²×üš¹3n%N(–RŠIS®‚OŽQÔ5Ö7°rù F+®™u-Y^/}íÏJÀÉANƒµ.¸wè“Ï?3EQUU¡3Hdûýž†ýü€¦ªê3‰qüÒ~a;q±þ…^^³juY&“©U5p(Ì¡¦f¢*464åçå·œ‰#!„<1N5±ÄJF®ŠÇâhªJ:•¶~ÿò+5™L¦øí;›7§O¼H.~TçåçW뺾 8,œ?{®’N§…”òb.Ÿ?t]¦ªê×YMË¿{Þ·•õkÖ*RJå|¾ÿªR )¥èìÃ0þ¶È÷Å !ÿß<.á.á.þåÕ}BÜS˜IEND®B`‚lablgtk-3.1.2/examples/canvas/toroid.png0000644000650106067230000004102514161276610017101 0ustar glondused‰PNG  IHDR€NèÜgAMA† 1è–_ IDATxÚì¼{°åÙUß÷Y{ÿç}Î}ßîÛ}»{¦gz^fô–’ñ2 ÀÈ@•ãØeBʱƒ‹ÂŽ$•„`W*6±qQeRñŠ$e„ ‰Œ4Òh4šg÷ôû¾ï=ïßï·÷^ùcÿúv+ÈPe —„rº~unß¾}Ï9¿½öZßïw}×þÂ=Éu¡yʼnáæ»Úú -äÐíðÌî“áƒã«áP\ïŒ}ó¹·&?¼ñ ½ÏŠÑjŠ‹Ÿr¹öYÿÛã=ÿ\«oάž5µzf­;à,AÝp—ç&ao¸§/ÂË®”Ð/{í/ÿû×ÃÝúúz·)–L,)†DÔI‰W§^f&Õn¶!oXÿŽä¯/}“¾©sJûi$u¨Ì…ÙóÉöåÈGDýöÃ?(ß·xO8‘g«ˆõBu˜º/Ú+ûÝ3w=$ç6î w·ZØ<ÅH??; Åx;Ù¾y‘«Wž“§_|ªúøÞ–>5ëUWR¯…*þë%¾öÀ˜¼6Ù0¯HNÉC麞M–Ù´ ]²‰A䢿i¶Ç/úOµï×oZùnygçnŸg™’)$Òz”pãqA«À…o:‹‹’Šz^N™îÀÉ3ž¥“J+SR«$‰BX✠!Ì¡Z¶“âÚ‹úòÍËá…íkæùý]e<Ôkã‘Ù.fº[~RzU…þÿð'ҥГ®Y'§- 9­]VÉi±žÞkÞ%¹d‰~:ÐÜ6›()Fl0ÈLÕ!ÍÕ·6Õ4*™ÄEO$ É$áúï‹N¯VÜ÷nKï´'óHb F·ŸJ¸þÇ+ßaää=^£¤rÄ `UÔx07P‰h8¯ÁŸ)åÄÈ|$:>R7RŒM1›0ŸMÅMÌöçž ÿÕ¥+î!hù wÔHK‹MsWþ}æþôM<`_¯+,KW -rO*ÔV"VUPIªRgÄU%k@Þ…¼¹;5uH2Eöÿ Õ›¯ä®o³zâÑ€u"™Ía牔ËTñèwZÖ/x”YH!5*™7:=)D¥TLĪj¨ EŒUÔ+åf#a6R&G0"£4am©qðkï+àâUÿᯕHþý¾œBBOúÉýöõÍÿLk½Õfà»jµ„´Î³Ç—€µ¨­D­R¥"$J’@¿Ñ“ÛanGnŒh   uŒ(·2®¬’Á]°ôâ+E‚¢©ÈÁó)Ï| äþ·&,ßãñN1 !ŒPŽv®t®²Ø…•$5 ň›€ŸA¨™•çAT‘¾‚ùŽŽÜ(o|E±ø–צ?yéª\!ܺ+©eui`9†'ŠŠ½¿X †”޹ÏÞÕy»<Üý.ä¯ ›vC/bš$©"v² ÆÔ¹ÉÄ£^Q*ÂBw‰³{x®|š¹<¨'Äà)…ëØTY~µA“€ŸA’€›Z.~ÔÓ[7œ|%T¥’ a¼ó…yûw½í.ÖVöf—U8WBYÀ|¤ø:-eqs#¸9”‰¢f3¨ ¡‘+½&΍ Š .ŠÖ‹ëƒ"&ÒDŦàPµYª(Tokã¯PP5@‚ˆ7:|>4]„ÞCà5@¤9ê& ן(Yý¾B7ÎyõÛ›º;Ù"”AÄ¡‰ ¨”*¼ƒ¢„ñw¡“Ã#÷‹v›*Z¡½¶ "¨ž\Jh§ÞÀÚ ,·³€/à¡uát ¯´,ËVX ÊÍÔ²rÿ ó‹ßu¿ù¾3+Öü·¿¯;/î†|íeÁH+;ÍÝ‹o³ß|ú'ô ' §Zm[!U0 $hOÌã VÈR$” t>ƒj> •¢ó :hË`]1:C²‚v£A 6x¬zŒõ¤VÉQÅä¥@ñ%…€äg`é9Õ¬”0FÏPí$ÜülÉÒ™„Á†a:„<RÚ<ñXãyÅ77™ëXÊQÀÔTÒIĤ˜ 4Ÿ ‰Uª*fƒ­›0ú+žNŽ´2¬¨¬ö«`ƒp°/„Ji[xìœ%—@`¥#ƒÕ}¬¨TîZ–¿óÈjxí+Õ¶rÏZÛ<ôâ®ÿÚ Ts÷â_–wÝó·ô­çqë-h$°(Æ!¢à]̼‰HÍ¡(,ØÒI‘™Aý1ò˜+¾ôd+’Y“ñÕL·Ig±…MbJÔULwæøënÔpúçsZK9‡— 2í¼É¥?(ðSX¾/¡ò®€NËpñ‰ŠýKއÞjHÚ%Ã#) 5æØ’ÄÔLÞUZ)„©pñY%(LÆ0 éš V±¢hP ¬t * ×·#`=»j8Ñ„~îÞÔ_(+ÖZøÁ™6ô×à,©‘ͯ% ºÒz}ãÙŸá/½ò»ü™vJ/ƒ†Ô:Äy£I;Ë¡,™NGÅ ¬äã‚G Ðha—2q£Tf ³Àl<¥³Ñ¡»ºÊáËÛ¾|D–Cžƒ `ç`4!ëÃÒÙ6³Ã ÕZˆý—×Í5èœV†û%yãë³+X\‡“÷ “O( O ™/ ;Jq¤d: èw¡ÛTò3–§>‹’ó0)V•Ü€/#8YìZúŒF–­GÃÀCkBUM~ö÷Œ±Tš@K` B˜+š(˹v¾6ÀÐþwš÷<öõu›÷„h'µlb"6Ó€Þ˜1¯fHžH J¨@Ôh,¨UçÑYÀ·…Π.K˜íî@éa.PxÆÕ4N54=ߢÜr¸aÀ¸È’ldñF&,®v&pt³$µ± íš%pëê-º]عî fÁh¤móY¸ mh§Š(rmÌ•µ¦pf ñ^Õ×µˆƒÔCfÀUÊt6 l´Ìƒš !1´ºoZnÛ2mfïÒ‘ûõ¹—mEýŸ_dfÕ¼úÜß“ÿàUï ÷­dÚo@#‰Ì(ÆyÌþ½4?AÝ™5Êå&t-’:‚ *âj“è ª€zU“Ê£SÇxTH¾ÜÒl½OiagÓSÕùt '³ið«ŠN4’$‰uÉŠ0h·¤ÝÈuë™}üÒ9m_öûhÒ…Þ˜î‰a÷9åà’²´),žR†{±r5º¢»/ÃÎ%…z0è¡‹‹°Ø‡^ š)ä‰gó´áâ³±²MÆ@P1=,¬Bo€£Z•¨/ÛQÍ3hˆ°¹á´ÙÆ#ÕÉLÛFË¡:§°´Ø 5¥lÍÑ4Àz;©¬Š4SC š:¯`¢J&B•]VJQõ6*—©¢D$®ýãgí{ûIræý×üOMƒ^üª€¬/~?§O~Gp É÷-¤^rãÿÜ>ô Û…¤!H¦xIš(¦.pÞG€ç+4T¨ñÐJ1ƒ:¯Ðy%̽2W´RÌ©ieÎ;ôY[À8‚ppËPõá0Œ7‘¼6Ö„ê0à&Q8H ëªÃ@5†7b`qS(¦J5¼ö.©†h¿ ‹kÐíCUŠîì)Z°§4ï…ÅvJ–´¡¬®¤ŒG%á#øLpF'³ VWÐdO¯ïL)Ê@ÓB'1PÅþEÐ^ÛOŠW´ôQš‹b@mÝ–ÎTé¶3ò ¹6”Vâùáæ[Œýçÿû÷£“À¥×°Òi=<ÐÎÀµa’Ö*í”pùPht”^M°™¢ $9ÌGȤB­Äö >DàW:(+NÕ¶ «(JÕI “…'X‹,eМ#XT=\VÌè!ø+ˆkŠzUR…þ£Ý³Š›(:ŽòƒI¡¹l(gŠ0¹ðSht¡µ$2Ù jœaÿF <ˆ•«¿ ýEa>‚á®rtfÃÈ ÂTX´Y=Õ#̯ÉÊúÒ‹ppgšÕ}Q!mvñL¹¹;ÃH-X¯„2ªzÞ#‰ zï‚å¥Ý€WQÕÈ**ê«ö%ØZ4µÄb€\[©2B½¦Ú÷¬…7íé?ú­­êoÌ•í—Äd‘’•0sñkL±Œj™C3‡¼Åø` i"ƒtv=BõDâ;Nn¡™ (ïÐQ@-fc - 8ÂTQW!Yy†v+äõYÈ%ÅìsT¥¹!ôÎ yO 3Eg‚T5KèF¦Pí+nW)Gu»bÝPLÑòP(ÅQDäÝ%è/ “ì^V·az˜FCÈ“ ßw–vs¤§NNùcFØß+YëóxP\åГƻ,,,L‘dO€€ÉSÔähYÀÄÇà æ +»ÚÃßÁÈÅ,pI±÷fø£)º"Ø!=/dS!Q¥Ù€¬!a{Iê4îþ¬#T#Å*n¥\›AÞÆÛžêüB½ý˜•ý­¨…R9%EO”O}ªâÑW¾Ì=›pb9ÌÆÊî®çDßDdªJ9ž ý&£ém¿(¢¯$€R” N9×É æEÜáDl€ NyÙNPð ˆ Db+…̃9R.È.Ùw?=2Ÿxjþå–sGzÿ3õ>cĤÉYV—¿•f3'Ï…,Ò\°‰ˆIDÓ\tqUÌêi!kÄO’ Y*dM‘VW¨ÆÂþHØÃÖÝ™ˆ©¼HÇ ê„Ñ\˜T¬æ•H'ixÑ›áÀ 3'¤"ÒK„ªm‘¾Jº¨’. Í…Tl*¢U™#Ì™#â‘$1)o¨ø  ! Ýe7U™l!Õñ%b ²´&’5D¶¯"Dº=dyÕˆ¯DÊ™Š€Èl†„¢”Sk^š©È“Ÿ 2ª¬÷œ[ùÈNœGZSY;yBÞÿ¡kâ=br¦%’)RÈdŽŒgÈd†x‡/’HoŽô‹xµçH³Dò I $©/3Gt†ØÁÇ÷eØ Ò˜©´½ÚåvòÈSýÔ$èå?;I¤Ù:#'¾Ûœ¿û;í`1‘……Óne©©iJA©q‹†(âP:B»ëwÃ|ÓÝ: €6{à–€ 4 ä-ð%¡˜Á1¶›Ú=œÂÜCÁì‰rbˆ^ÁXPæÈB ]SAsE-hRë±iL½õÇI¢œ\lGÙ2U­ƒ«ëâÿ1Dw‘ˆáÊóñÐj)UÍžçž ×^4ì^):(<õLàž3Î't[ÂŽÂK7<¯Û˜*‚°·=aïúÎE„_yØAZ÷I©Ì„aÝIg°ì ÑÓh<¸ú3ÙÅÓ$Äd›ÖϾSÄûP¤‚Ï"ÖH¦ÊciX{WÇþÍ_=tŸõ>ÿ2€HnN|¯yýkþG^õÈù³çÎû“'ϺյÅÐ[4Ú[‚Á*2XGºËHÞ l ÆÆ¼Ú`²6ªØ=IS$ï‚›B#…Nz¡ßEMt^!& Ó)ìÏ`æ¡ðHC°@¸6£ ÆÑç%« j& Ø,êPâZ¤™s˜ î„ h ª‰5 o(aë:uåj·“°C™¨˜h "±Qõëv”'-ó±a:X ,„éî=+^¾(l®¤<ó’§,…nèŠã3ϱ“„Ä)êb ¼t/ìA9†f mUüíT|œ‚¿Õÿ®D @Ôxƒ8©í–ÐAN&æÌ§—ö‚~îßÒï½Å¼òÁìW–OkšŒ‹+¦.æ¶äf2H[Ðè#i—Úï˜M¡Ù‰‹XA²&Æ4ñ±X¶B3vY$O¯H1F¯`T«‚F¡s­nˆ ÈP éa)nkkt\S"3ûwª«‘ PÖpÚIãôêðÏëœÐ4òqQ'/¼ðIý»ÕTZy“3h´­$ÒòôV¤ìo+eíñ£»øìiËÓ_ò%,¶…jnÙy¿goÔ%X…ùfláh =`ÑDÕzÑ+¥B)h•œ%¸ãSLHÍPlT¸êK1«ññB"J_5©Ä,~¦âñ*’ù?öÔúOúõÕoÅXù²Å{¡¾ê ¨õ…É!i!šGŸG*`È»HÖ_`²”´Ý#„It\f©` ìàp‹‘ pu¶'0/A ÒOÂV‰ŒÙ–«ú¸ºÊ i¬ ¶;dß ×-Å'Í ÿZ£ø/ë¡I¤4Ka&êíÎèEù­OûÿüàùðËn"×ij•̇×ùÝë_Ô¿wx=¼|ÀÇ Æ4ÛæQrQ0b0(F…vÓÓïgìn)ÞE)úèHY]HØÝ !AèfÂÖ~äú½Äru/DÔN$?ÓYô4Ú)žjL÷®ª™ …Áz‹h‚b‰Í”%EH0äXXLíÅÀ`±Ø`À¬¨œ3l¾¨b^ úÁÛ–ì;ËÿɵŸÐW>ø5kZ½¨è5ºÐhǶ[–ÇÞh£y3~5 iÄç,ƒ$EÄCK¡×ÀtZˆ¡2bse­ýgu*»H""óáñ?‚ÃèdÑb>úìõs×ìƒ:°VÎ70ýúøáEý˜¯Ãã4å!óˆü]s{’“%sœnéKáÏ”/†ßõúY<Å1’MXP LRܶYýI‡úßOrºÓ7ok¶õ‚5JšB«-핹°yÆÜSL9}´ë2#‘mt²¸$‡žD`©™°µçSËî¡?\,SI? qÇ» :sXu«©Un©7Ÿ­ÖÔÏ)–B³ƒŒ€e®9К^´àiËÁ2?~Mù­/"F'Å“¢Ù–.œ9!­>Úì@ÚŒu]Rp)xkkâ¡åжö®ÊZMsdR•ˆMY\;Áð0°dÐZãº:$UÜá˜ðôKàçÐO¡È1­¶óÏMÿºÙÈþ†·É÷èN°Æ'CÿŒþœ…ÇeªO…Oé{ÃgYvIHÄáµd Ïì+˜çÇž~™¿î+Xî¾Â¿Us½r0÷ÿâàËØØ„^³6º=ypiÙ~ïÒ¢¾¾‘éÊh® ãƒA”‘C%òù½©?vö™P'Ïœ‹LRÁ`+•F¥˜€DÏD}ëŒE°uy ƒG€œÊÏàÅQÉ ™³î,S©8xücWü¿züoKCF]çIRƒÿÜö¿dì^ÐC÷q;f__,þ©NÕ¯Õéµd2™†§õñÝð­ýÍí=~ßÓÏsÖ¬Ð4±3-‘u*¨c"¶Jf°V –]rFäLH™R’ТŊôèÒÄ×hÈ­ý÷ÜXRšJ‚à X¬&,ˆk~œpý&ü¡%Ií½þû°zâAŒ´æ!ÄH áÿËEb±ª|Ôñ‹ 3L±¤ÝFå–]7a:*X§d”§Œ¡Šm·Åä·>ü¸ÿГ[¦ÕËf1{§šfêGáKÿ e8Âq¤‡þc:Û_/ó«ªT!0+*¹ºs~ç`$Ÿ-*³SyB+— QLÛ‘ôI%tÆÐ †QHØ×œ‚„S§pƒÃÒ¥É&6èÓ"EñÑ[£­—Yê HIÈÈŽ‹H‚Ôÿ®—ÿ?ª¿˜fóœö{÷RÍëjàjO~a©õu×Á×*KÓ¼—H@«:04´ŸïaL+ÑÒ çNp?+œ¥CK xRpŒ™%S<C…¡¨ƒ Ä’ÓÀS¢€’3ÐéBYI´˜¿lŽžfÐ{¯u·ÁßîÜY‹HŠÖÒ/Zã€y=1žÄ¯Û±*}t2E®îÃÙ,~#¨1Oæp·Ç̇H9½ÃÀ"‚ù ùÐ[ŸÐNÃG§|d¯i>xß’ýù>þ<¡vÎ×bŽ:œç4÷Ê:gµO”Ô²OÀaˆ[Ò‘“˜RQ2¯¹‚E(ëKÉPÚÜylÁ ´LWæ6Aµ 7¶ìŸyOH;BÖ¤{ùI$¨Ob‹7Iã/¨f‘°Î¦0ÚL³µ‰fË itüìåEÔú(Kœ÷ó[¦7‡ÉV^ÞþÂ×ã©_ÇÞLÿgvØ}hÁþ˶øUDZ´Øä4ägu‘žft°ä˜è´' ¸z.Т…K àqK…¥ÄÖ Yûì#YlÑ4m쉄$]‘ÞÊ·SµÛ’d u!mD5ðö…ÄDÚæöa|[ËçÐîyn짆&²¿‡fZ=Œ K¤Â^:D?ú‘úÏ^þç߈‹s‚ú½B?ô¹=ù+÷çæX£ußiÎp¿ÜÅ9]¡«9-,†–IÈR‹º’à«Úœ°rr¡ "¥¼78,=Dµˆ”³Ž±=I6Y?ó3ººùƒê¼a2Œz¹tãî7½ø,¦žÁª¥ ztÓ ¤ë0xìbÝ .믌°µ‹4r¨2 è,G« ߘ>qóÓZèßài%Ÿ™…ÅϽBºï=Å€))N ÒKÕÈ1™¥˜4DõŽH˜`¸gO äõ÷ )9 Û 2 IDATG$™±Mš‰a{!‘“§~*XÓÀ•à˸£M ‹Q¥VÔõµv'x‡½ŒŽ¢*¸xÚ܈æuÇ= Ùº‰ú÷Ñp*z²M…Ÿ¶0ç~ä§eöÏÂá³ÿó7jH0'_gîþ'oÔ o?VHhSa™HB‚Á“’«a:-F3rÓ€¼7£Ô„‰‚àè’6–)‹d ê.Ad·È ’«²$éB"ÁÏ:Q•¨Š˜Ú;.R;iDÍR¢Tªº})Át]|èÄÝ_wºÄW°û4açY$í<ŒbÁQW0m¬vÍêƒ?ÌáÅ÷EnYíB˜~ƒ,üÂ2ý7?$gÿÚÛÂCï\eAh‘“’i<+­÷k‚`UH<äÖÒ_X y×Xéãwö(¿ô³ñtŽ×ŠŠŠ@…Ô B$”3¦4‘º™H4°l2|ŒõÞ»EEô–Ë¡,¢åë–Û‚ô˜ÊlLîÅïwï‡t)Ö|*ЍG®†°ûy°wCþ0ª­H1C¦­›ö¡ÿ »ðýïÓ¤›èüéÏêøÓ?‹[Á(àq·^Àth¾úQsÏñ:}ð›Oéò`@‹ IÝà‘º«w« Tk (…wìïîbö0‰!1&ÙÈHP„Fþ• OA ñ”¤Øú7ǵLÔØD¯^þ¯m«¹é+‰¯©HYlêcÜü”s° Ð:Çd5:_PA†— ;Ÿ߄ޛQY7sþ2¿ ÕKàÀOîoHëî×iâ‘îC¯?¼¤ÓÏýÿ8Ì .zNãì½OÈÊ›^É}?zAϬ¯é2!ÜïcªŽJ@=/ ‘xB-áÆ+%ÅÕç‡x¤þ;x<Ž’Š‚’1S–Qlý: J„!ê ?žÿÒÙ»ü/…¥•7`“ïâ(Z;%5˜â°-f‰|ÉVÑ`ë±oAª)ºódwj¼ µ'cÒho‘r=|©vÐêØ»ëSæ¨mÓìuúÅ Õ˜.ôßnÆOÅ´ñuµô¶AãôÙøñWË#ï9«§Ö–ôúÚ2999 )‚ÅÔ•ÙÔ>­;~Cˆr¯úZ®¸ÿêñzÆ6 8‡Ç¨pTÌ)˜1#¥ Q÷c6ÃÙ ž¦æØ:'(‚¯U€R¨B©uDðÜ7½®åÓÇ`šýoÕçF%É ®¨Ç¶kpW•0Þ®õ€fôú:3¨Dx5m!É&Ò,u…b¯öH Šë†‚f¨_Á—“ø h_ ‹×Ç7°´Ih‘²i²¾Õ¤S©Ë}?ù󎕾iuQ—¤§MiÔ²ËíôêÅwuZ_ðb%öõ^“àŽÝ«¦„áø'=OY͙ޓ!ä$tX &39­ÈHÉ´½CÕqoQkü¯<'Ó«Û¡x!©ã½Á≿BÒX¾½@î¶®6žß:á–9dvõÈbTCýÖµ0¤®¬u‚:`<µ¡?ÉÀœŒ¾ç0„ÚåfȲÚüx«ræµ2%!ÆGL]+U,ŠÅ‰è€†ô—rî={rúMéÖº>z®Çæ ©MAf8ÆïzÉþèûgÕ{å?÷˜¼ûÛÃÉ,õ¡|´½W½h?õ=O„¼o[/ÿ“”lðJyëß ßûÎ3á®d>9YMå"ÏDÈRKž ꮘ¢¡n²ÕKZs…M1â³O¥3RM1žªnã(Ž@‰£D™s,M0•„-½AÉœœ@VÛDÒc·p,á)† ôjROO4è­¼5‘xª€«µ€<¾´8­Q"@×ô6ýó_ªEž<î~êVr "…&ª·ìPõ1š*1È¢üÌ)`¿v¹ÅÅ75N–Ú{+,)YÒ$‹:0I”AQ™2áy&úyrmÈÝò=]ÝÈHë[a4ÇɘàÍý§äÕ¿~Z-ÐwšÚ“xã\d"IÈÏÒ{z]ξ÷$÷òZý¶ÁIÎÐ"#'#¿C¸IÛ¬=ܦyÚR] l}n—ñxDzÜðŒaà uPV•̤œhlRå£ÙM˜OÉI(T(q¾£ÄGe” B“œ¶ælÈnêÛlž6q’8Ã@å¦uü‘ßûWÆImcQñ¾ *wìêŠ!´jëŠs¨D©8$1ÃxƒñžPë~A½ÃCH¡n!³P/¸Ff Ð["RZ«=ÐüFÆ·ní-¬Ì± .±–~¯ËB»Éè`Âl2%hÁ\.2æ Dg¬ð*œ£©½º>ÞªŽÊÄ\ã¢~˜9GœÓojÝË·´Z´ï`ä€ò7©—3xÇÁþÃÑEFþ)ÆîIZ,sJ¾“®n’ÕAÄñBÅXpÄ‹ü.C½Ìpžo£Iï}Ûz7W2ä‹ú!ÆÑg… ¼‰ÜKBV´/wâË7 ÃÃ7þHi\SÌšg4,u˜í5(GsŠù3ÕZÑÓ;ø¼¯3‚g¦Êt8戜¾iÒb‰9‡tê»rˆ2gNEY½˜ÝFZ¤ Èh’‘УbJÅœ?6ׯü±ßù­©ò1 ÐùäÓrtã÷Xºû¯ªÖ;¼"å,“iÛ±-¸!*¬$¸[H_oëÖêu­$Õ=ÄžCÝç£>ìûzXlø0­waCÇ^k#5&Œ8ô—(ü3$–xŒµÆäz‚P¸c¤}«æZ„ Wù(úÎpŽ·ÓbpL¸äŽI™—äÙ ×II8Ë#œä,Y-Çêñn¿sçûš†ö®—T×'‰§@%(,§ÛhÑj4hhÓoô™íMíì#e ¨Ë«…Ü€gŽ2eÆ4LТKO‚cÊ@:TZÖ,b^†€­ƒ`LB—”N]wì,ün¸øÏÆø/|…éàPèþå_”Öò»Èû§Pêí@¶ŽšØø¸1&Td‰Å—¡nÿúhçÓ óÚ^g€6Á>ò¥8Ãp¡‡aC†¡]/Â0Ns„Ç×£PI]ýbUHIXäa6g¹ÿ® &û ®½<©å9KÁSrMþon†OÒf•{x}ÎÕþì©…œmóy^ˆA8Áœãµu ¸šOƒÇÖÕøn*c†ìs}½ÎˆCæŒQõ$$X„l–Òœe4i0¸ÑeÉô8Ù_caiþQ‡ÑlŸ‘ð”T8<Šg LÓ£É2`O·éJ«}fL9dÎŒy]bqmÖùu,³ù‡õ…_{RwI£óÆÃ]qQ.ÿ«üœŠmà¦0¹í{‹I„baŠº9yšbÚ ³£)ž[6ðøC°qáƒÔ—Aå4È è•z·ú­v²;F“zßNªú9`iÑ!ç4Xgc°ÉæÉ;7 v¶ê±ñh†mDz/Oq#|”Œ§y =ÎÕÌÕ>mƒRÉ„çõ™3a™MNË#tt¹Fì‘fšúÅ ›0a‡—Ùâ»\§dNFJ‹ :´iÑ$''­‹™2£âJØâæÁ6-2ÖíK2`Qi²Öu;PQðÌfL™2eY»,É2»ºÌY¡Ã!; õ†ŒŽæ¸9Jñ7ötò‰-}覎?îÐÃ?å|€P…áõ_6ÅoÕþÉo!8˜\‚ù![F’^ þ ÔMÀWœ:9à†ŒøÙ%Ð)TÛÀ…Èó@€ØGcëŸY—M †&ЦZÚã÷Yt¹Ç¤–Ñ"3Mfá‹Ï!SxrÇÀ„˜”#ù§{‚œÄŽ’(-ÕôE­>š³¾½öÚß÷­µAõŒITÔ£]g;Äáþ“}ÙáÎà"áø%3Çd·žÛªuXÍÉ x¬=È_R*¶¨°Íáh hšªßA™£L µ±± $”UN\efUj#‹J£­I:EÂw‚¯9'Å'8m?ƒÌJ¢š‚FÎA2àwô+X8lð›<…k\÷Ù¢±BbSRpÈ6wy“1;”äxtèÑc‰%z,×mZ²+mmaK¬4¢¬¥[­kj'aʈBÆÜb‹.+ti­5{ì“@BLDLNŸŽè눱,Ã竇½2¿‘äÿ»èÝGÄ”ùeIí³Z Ð.¢q1;DÇAÔ¡R§è.õ¹p¾AgL¶¾GU&µG@\Ú† ÂôP“>º Õu›zföiiV"Çza÷ÀÎSŽ„¹qÈæ –K"±…ÃJ¯AîÞá­É—Iô>kâi>Üý v¾DVÆTæu-,l\b¹Á×Ù¡Ïi.ÈßdMwy‹[hÀ§Å+¬²É*,‹UÖ½ ÚVO5PHÊ*¯]×°„…‹K›&=:øx@E@DÈÉ’h!¨˜2%&aFFÊŒ” A—;r|³ºú…„òÞ{=Ô5­æÉºÊJáö>IU8Âê!¬:ºgÜ=XëdÅ*çÎzlnøÜ¿ñ"i41‡£õúYÔsbHCånc$¹I‹…I³ó¬2½­ó×üؤ‡Ü|_,:ä66¶]1,¯q-øWb}À æCÝß¡­NLcJ¦F€Qx–O)§\«žeÀ-šô9¯žá’ÿq²¬U+CLy¢‰«\ª;Üå*‡X(|ÚôXc… NÈ Î¶79Ñ]¥È4ñ,dšO˜–S=aª"]‡7"$%&%¡¤D!iѤK)3&L©Èé ‡1c†LˆMÁ7cFJŠ‹¢-<û-îßÙeôâ{•2Õt.çÓ«BW}Ñhýº.´À?ˆ j{-2y¥|.^ôÙ¾õãƒmsyO8[Kµ8– E\9@ ÁÁÔx®ˆ— ýØûøSÊX˜Äl#q(™2ª®°_¾@Θ'9kšç,ãqDÎ M†Dá ›^_q#y‘=} ÅøpïU› ›P#¾ßaXmq¯úBH |:,±Â:kö:OlžÆ*Ãñ”0›0%&$6MÍ1!ѱÏ3J2l¬Eá(ЄDää´°€’!“’™R±¢ECÎdâ^Ѿ\ÕlÛOÐzF|] ×QA_]"žeä:4«YãIŸþ’ÇÛ“Ëì”ß§¢¢Ç).5ža³y†ýј” Pàá³¾ÔeÂ7gWÁwñéÐg…“œîžâC7F»ƒ!A5"d@Șˆ‰ ~h‚?%2ßGL 0fBÀ”œ Ÿ6m,”GŒÅH Ë7¹µ;cæg¤r®ýƒ¶%—_Õ·¾Q?=j”¤áw(ã‰ÕoHg½A ª¼¦‹Õ:¥î2™„\f6¹I™ŒIÔ6jÀÜ 4ï¯÷r…ÄC™Ž·ºÈ~ Q-ó ×n…‹B>ì×HÙ4>k¬ð4mCWš\‡”ÌTØ4p¥Ãnvƒ­â5r|z¬‹'8ç=M0™逊6.kþ2‰˜p+¼NȰ¶UãâÓ¥ÏINú'¸ôø{böCBDŒ‰™2%gfhÞÂp Å‚ÈM‰™1ejÀ0%$$ 'Em|,$) /Ë·_ÿ/ýê^p„ú†VNfUTz_Ž\­îÿ}Q¯À÷UB¼D²ÿ†€KÂZÚÔ¥qp3Ë…OœX­)“kF 6‚ËF‹Ñ–GìEÅŠ.ÏBÖÈÀö±1  ‰¦ä€”‡Ì¸Gɺ½j%ž¤ËE©s,\|Fúvª×Éáà³ÌYNŠbÓrHF€…¢+úä"ã~| h “ø{¬²aŸäìê;÷Âcv ˜ßµiš¯OŸ%–Ì¿mšxX(4%!&Œ™0aB@H„Bâ‹.‘ˆy]\¿þ¦~ç¯Cf¯î1þR(¢­yº+ÆÞÐ÷þvDüÒ{­~œûJòàÙjð{¢ýÔßkõw5ZR܇ø%ðÛä¥@ŠÇAn@õA_jªy&8RôŽfZÉí«è!ˆ"˜/NÊHÀÒKÆ„”¢ ©HP¦žnsžçH™P ¨° ÏpŸÞ6Aöi±Ê2qi–$ Q€Ç2)‡Ùm"µŸ—&-–é²FÇ^f{/f˜ï2å€Ô§E‹UVéÉMíÓÐÆÆ|ÒOeøÃ”˜€=¶Øf‹-¶Øa›3<ìÓfÄ!gô&§X¦«—8+7W¨FA”»zòwû„_DcUTS³Oò>f€ã;B~@6zQçc(ÿ B Ê ÖõÕQÆßÅŒ1’o·ÀbŽFvÅH•b†:4ŒÈ5­‘󶦄Š)š #´û©P¸ôhr†§Q4(˜S§òšDj‘2`Ä R€Æ£GŸs,s’”˜C49-–PØŒÙ&dŸ’ …¢G“=ÖéÊ>EžrXn1à -Úœàgü3|äÂyVídb#«ÂjáT8Xx8´ðéÓceú´Ðäl³Ã¡0&"6ˤA!3ïyý½/¥»Gs)t¦Ñ3ŽÝHúÁ@C²ÁP%Vû#éQŒ¢b )û5\˜Z€áº€½8ï«ÅVP0T†õ«yê¢0E03}° ÚôÄלË2-6ñ9Â"gLΒĤý&)Bn3ãÐØxô8à !‘DìÒ¤ƒGÀ”æÔP§þ6]Vé°ŒÖ%{ÜgÀ›œå¢û$O?Ëé‹=&û3ÊÒŒ"]¸Ž?‹êiætir[Þ=«ÿûãÛì}½ÕùL§ëYQÒ°õ­êµŒ™ýÔcs~2ÔZoB¾ ÊøPþÇ¢G•dM¡Ö!» :5Vº ö Ò4Åß|ÚUµh‰Ì]=屟åHsæŸóÂpõJrpèà±NƒeŠ‚ Êc+?gBÄC2Æh l«‹Yz±¥Õ,‡-,š~ƒ^¯IÃr¹@hÀ8>àµ.lk·ßDL¸,¾óõ[úÞWªy]%¤×Lž~K¿ORït†Îv©&/RÜùùÍ¡+ŸÖn=gpÄ|<¦æHÌÊ—‹U/é??¶ê«cÅ"Æ"jcá™â°fζLaW „mŽ¡QÓs&«´Ù0,Û}$1©)ë×­•.-–pp˜r”¬°†oì–•á(Žx ‰k½%.=³Êéßjâ㦔ùÑøÇÅÜ8cwó틽â9ñÚÓÃï¾ÛjûqªüŸ!á RôäUŠëWÐÉ!ϬK<©«pñ֌К#_n‚ÁñLP›‚7/!51ÌØ£ 6[BË¤ÔˆŠ„ŠÔôÕI,x´i±†¦l69 ¹á)êê¢aØy ›#,MÚÔ“ƒkoïÑ”>i^GâHE¯ÛÂõ%·BvoÌ¢™Ùãsrj'Of¸üÜ|=#➸=zŽo}!bzëgÑ»üÿýÆYäé?êÉ?¥§tY+€µP˜©–,N`±ŒM ×¼•Gõ‚8 3rnjVv­è)c=Ó|µa„ä&-V±ñÉÌqÏ2ü:‹ŒƒÑ-†ÂññÉ™¢(iàa™Vîšž²±Ì‘®nʰÍ× WÚõ_¯j=£$%©ìVƒ.*,c\‹C¾Áå¸\½ðç9ùàÇ^FzˆÎï qî4þÇÑîI´Ûœ[ª…YsõÞ]·„Y‹ Ê…wþˆÆt Ìûæíù ¥ùÊ Ÿ,RÐ̦.ql×upñiÒÁÁ1ÙEã`›MÁ2Á¯ƒn›Ÿ9XÆõ#ñ» '!!`,wË7xå­;úÆ›#ö¯Oôd+fz7¯Ý3•€žDØ%Õ­ŒlW×wˆòK€Gz)}pÏwZŸ¬~üupš[ lKàESX´°i€X48Ï·iVëQe}|fæ¼óÖ¡G‡‡¦&·Žqó)Ü6M\Z¸¦ˆ”بZj^À2YÅY¡&z@“‘“PŠDÅöôe._þnõí¿H™Ý®¹ú=†Gÿ²à]škQ' ñQðNKÚOIÖ“tOIÚí–¢!¥aŽ£„éÆ9bXÆysµÂÁ¥e `‡”ĦˆTÆq4·œÔ¦M,¹Ñê´îÌݦÿÏ1™ÅÆ6¯]wùä"$Ãwx뛯Ußýüˆñ·5åÏÝŒÁÏ݇°œ·²´IDAT@6ë‹ÞìžÀ»¨Xú´Åò36«[´úІ¥Kµ XçgîºÚ·pp±P$$ì (MÈ{†z÷nàâ9¡±hãÐÀ6¿a›5?ßû-*R—‡Üìsw3Žqðö¡Þ{i¤Ÿ˜Þ+ߣ4û+üÈô'=÷k+ŸµYû—µXtÜy 3v,s|S”"Î#}ÿfÊÐuX:ï` ‡&¶Ñ³–mäzÆî”Œ1 ×xy]€šU¬“½¤"Ay«¯?o?»UÝúÚŒé÷5åìgµÿ’à‡ÂÕ”4?fÓûŒÃÚï9t6,Z]…%$*­D2œé­W§ÜûbNxE¢ÖZlþY›3ŸkÐ[uð…ezz•°µÐe‘ˆÃÛn¿žë íqêSVÏ4h)W4ð„ÂÒˆ2ωö§bp¸§ï¼¶§ïþË”Á‹%ed.I~—·Uÿ ì‡êKœÓ’ƪaÔ’Št¿$½;ïç7Äuèüv‹“Ú »fÓôlá®gŒ¿è­Ÿ²ÿ|IrS#¤ƒ÷”G÷£6M…Ýwp…ºH¿•èàfJü°¤Ø{4还ÿ ’JåøÐíIEND®B`‚lablgtk-3.1.2/examples/cgets.ml0000644000650106067230000000353514161276610015263 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) open Printf let pr_targets targets = printf "%d targets\n" (List.length targets); let pr atom = printf "%s\n" (Gdk.Atom.name atom) in List.iter pr targets; flush stdout let get_contents targets = let rec loop ls = match ls with | [] -> [] | atom::xs -> try let content = (atom, GMain.clipboard#get_contents ~target:atom) in content :: loop xs with _ -> loop xs in loop targets let pr_contents cnt_list = let pr (atom, sdata) = printf "-----\n"; printf " target [%s]\n" sdata#target; printf " typ [%s]\n" sdata#typ; printf " format [%d]\n" sdata#format; begin try printf " data length (%d) [%s]\n" (String.length sdata#data) sdata#data; with _ -> printf " data (NULL)\n" end; flush stdout; in List.iter pr cnt_list let get_targets () = let targets = GMain.clipboard#targets in pr_targets targets; let contents = get_contents targets in pr_contents contents; () let main () = GMain.init (); (* Create the toplevel window *) let window = GWindow.window ~title:"Clipboard" ~border_width:10 () in window#connect#destroy ~callback:GMain.quit; let btn = GButton.button ~label:"Get Targets" ~packing:window#add () in btn#connect#clicked ~callback:get_targets; window#show (); GMain.main () let _ = Printexc.print main () lablgtk-3.1.2/examples/combobox.ml0000644000650106067230000001104714161276610015763 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let changed_and_get_active (combo : #GEdit.combo_box) column cb = combo#connect#changed (fun () -> match combo#active_iter with | None -> () | Some row -> let data = combo#model#get ~row ~column in cb data) let setup_combobox_demo_grid packing = let tmp = GBin.frame ~label:"GtkComboBox (grid mode)" ~packing () in let box = GPack.vbox ~border_width:5 ~packing:tmp#add () in let model, column = GTree.store_of_list Gobject.Data.string [ "red"; "green" ; "blue" ; "yellow" ; "black" ; "white" ; "gray" ; "snow" ; "magenta" ] in let combo = GEdit.combo_box ~model ~wrap_width:3 ~packing:box#pack () in let cell = GTree.cell_renderer_pixbuf [ `WIDTH 16 ; `HEIGHT 16 ] in combo#pack ~expand:true cell ; combo#add_attribute cell "cell-background" column ; combo#set_active 1 ; changed_and_get_active combo column prerr_endline ; () let create_model () = GTree.store_of_list GtkStock.conv [ `DIALOG_WARNING ; `STOP ; `NEW ; `CLEAR ] let setup_combobox_demo packing = let tmp = GBin.frame ~label:"GtkComboBox" ~packing () in let box = GPack.vbox ~border_width:5 ~packing:tmp#add () in let model, column = create_model () in let combobox = GEdit.combo_box ~model ~packing:box#pack () in begin let renderer = GTree.cell_renderer_pixbuf [ `STOCK_SIZE `BUTTON ] in combobox#pack renderer ; combobox#add_attribute renderer "stock_id" column end ; begin let renderer = GTree.cell_renderer_text [ `XPAD 5 ] in combobox#pack renderer ; combobox#add_attribute renderer "text" column end ; combobox#set_active 1 ; changed_and_get_active combobox column (fun id -> prerr_endline (GtkStock.convert_id id)) let setup_combobox_text packing = let tmp = GBin.frame ~label:"GtkComboBox (text-only)" ~packing () in let box = GPack.vbox ~border_width:5 ~packing:tmp#add () in let (combo, (_, column)) = GEdit.combo_box_text ~packing:box#pack ~strings:[ "Jan" ; "Feb" ; "Mar" ; "Apr" ; "May" ; "Jun" ; "Jul" ; "Aug" ; "Sep" ; "Oct" ; "Nov" ; "Dec" ] () in combo#set_active 0 ; changed_and_get_active combo column prerr_endline ; () let setup_combobox_entry packing = let tmp = GBin.frame ~label:"GtkComboBoxEntry" ~packing () in let box = GPack.vbox ~border_width:5 ~packing:tmp#add () in let model, text_column = GTree.store_of_list Gobject.Data.string [ "Paris" ; "Grenoble" ; "Toulouse" ] in let combo = GEdit.combo_box_entry ~text_column ~model ~packing:box#pack () in combo#entry#connect#changed (fun () -> match combo#entry#text with "" -> () | s -> prerr_endline s) ; () let setup_combobox_entry_text packing = let tmp = GBin.frame ~label:"GtkComboBoxEntry (text-only)" ~packing () in let box = GPack.vbox ~border_width:5 ~packing:tmp#add () in let (combo, _) = GEdit.combo_box_entry_text ~packing:box#pack ~strings:[ "Paris" ; "Grenoble" ; "Toulouse" ] () in combo#entry#connect#changed (fun () -> match combo#entry#text with "" -> () | s -> prerr_endline s) ; () let setup_combobox_separator packing = let tmp = GBin.frame ~label:"GtkComboBox (separators)" ~packing () in let box = GPack.vbox ~border_width:5 ~packing:tmp#add () in let (combo, (_, column)) = GEdit.combo_box_text ~packing:box#pack ~strings:[ "Paris" ; "Grenoble" ; "Toulouse" ; "--" ; "New York"; "владивоÑток"] () in combo#set_row_separator_func (Some (fun m row -> m#get ~row ~column = "--")) ; () let main () = GMain.init () ; let window = GWindow.window ~border_width:5 () in window#connect#destroy GMain.quit ; let mainbox = GPack.vbox ~spacing:2 ~packing:window#add () in setup_combobox_demo mainbox#pack ; setup_combobox_demo_grid mainbox#pack ; setup_combobox_text mainbox#pack ; setup_combobox_entry mainbox#pack ; setup_combobox_entry_text mainbox#pack ; setup_combobox_separator mainbox#pack ; window#show () ; GMain.main () let _ = main () (* Local Variables: *) (* compile-command: "ocamlc -I ../src -w s lablgtk.cma combobox.ml" *) (* End: *) lablgtk-3.1.2/examples/counter.ml0000644000650106067230000000306214161276610015630 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let _ = GMain.init() let w = GWindow.window () let vb = GPack.vbox ~packing:w#add () let lbl = GMisc.label ~packing:vb#pack () let hb = GPack.hbox ~packing:vb#pack () let decB = GButton.button ~label:"Dec" ~packing:hb#add () let incB = GButton.button ~label:"Inc" ~packing:hb#add () let adj = GData.adjustment ~lower:0. ~upper:100. ~step_incr:1. ~page_incr:10. () let sc = GRange.scale `HORIZONTAL ~adjustment:adj ~draw_value:false ~packing:vb#pack () let counter = new GUtil.variable 0 let _ = decB#connect#clicked ~callback:(fun () -> adj#set_value (float(counter#get-1))); incB#connect#clicked ~callback:(fun () -> adj#set_value (float(counter#get+1))); sc#connect#change_value ~callback:(fun _ v -> Printf.printf "drag: %i\n%!" (truncate v)); adj#connect#value_changed ~callback:(fun () -> counter#set (truncate adj#value)); counter#connect#changed ~callback:(fun n -> lbl#set_text (string_of_int n)); counter#set 0; w#connect#destroy ~callback:GMain.quit; w#show (); GMain.main () lablgtk-3.1.2/examples/cputs.ml0000644000650106067230000000315214161276610015307 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) open Printf let print_msg msg = printf "%s" msg; flush stdout let flush_stdout () = flush stdout open Unix let clear_func name () = printf "(%s) Cleared\n" name; flush_stdout () let get_func name (context: GObj.selection_context) ~info ~time = printf "(%s) selection_handle: target[%s]\n" name context#target; flush_stdout (); let tm = Unix.localtime (Unix.gettimeofday ()) in let data = Printf.sprintf "(%s) %d/%d/%d %d::%d::%d" name (tm.tm_year + 1900) (tm.tm_mon + 1) tm.tm_mday tm.tm_hour tm.tm_min tm.tm_sec in context#return data let clicked name () = clipboard#set_contents ~targets:["STRING"] ~get:(get_func name) ~clear:(clear_func name) let main () = let name = if Array.length Sys.argv > 1 then Sys.argv.(1) else "" in let window = GWindow.window ~title:"Clipboard Puts" ~border_width:10 () in window#connect#destroy ~callback:GMain.quit; let button = GButton.toggle_button ~label:"Claim Selection" ~packing:window#add () in button#connect#clicked ~callback:(clicked name); window#show (); GMain.main () let _ = Printexc.print main () lablgtk-3.1.2/examples/css.ml0000644000650106067230000000303414161276610014740 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let _ = GMain.init () let css_provider_from_data data = let provider = GObj.css_provider () in provider#load_from_data data; provider let () = GtkData.StyleContext.add_provider_for_screen (Gdk.Screen.default ()) (css_provider_from_data "* { color: blue }")#as_css_provider GtkData.StyleContext.ProviderPriority.application let window = GWindow.window ~border_width: 10 () let () = window#misc#style_context#add_provider (* Does not cascade! *) (css_provider_from_data "* { background-color: red }") GtkData.StyleContext.ProviderPriority.application let button = GButton.button ~label:"Hello World" ~packing: window#add () let main () = window#event#connect#delete ~callback:(fun _ -> prerr_endline "Delete event occured"; true); window#connect#destroy ~callback:GMain.quit; button#connect#clicked ~callback:(fun () -> prerr_endline "Hello World"); button#connect#clicked ~callback:window#destroy; window#show (); GMain.main () let _ = Printexc.print main () lablgtk-3.1.2/examples/csview.ml0000644000650106067230000001606514161276610015460 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* Compile with ocamlc -pp camlp4o -I ../src lablgtk.cma csview.ml -o csview or run with lablgtk2 camlp4o.cma csview.ml *) open StdLabels (* A simple CSV data viewer *) type data = { fields : string list; titles : string list; data : string list list } let mem_string ~char s = try for i = 0 to String.length s - 1 do if s.[i] = char then raise Exit done; false with Exit -> true let rec until ~chars ?(escapes="") ?(buf = Buffer.create 80) s = match Stream.peek s with Some c -> if mem_string ~char:c escapes then begin Stream.junk s; Buffer.add_char buf (Stream.next s); until ~chars ~escapes ~buf s end else if mem_string ~char:c chars then Glib.Convert.locale_to_utf8 (Buffer.contents buf) else begin Buffer.add_char buf c; Stream.junk s; until ~chars ~escapes ~buf s end | None -> if Buffer.length buf > 0 then raise (Stream.Error "until") else raise Stream.Failure let rec ignores ?(chars = " \t") s = match Stream.peek s with Some c when mem_string ~char:c chars -> Stream.junk s; ignores ~chars s | _ -> () let parse_field = parser [< ''"'; f = until ~chars:"\"" ~escapes:"\\"; ''"'; _ = ignores >] -> for i = 0 to String.length f - 1 do if f.[i] = '\031' then f.[i] <- '\n' done; f | [< f = until ~chars:",\n\r" >] -> f | [< >] -> "" let comma = parser [< '','; _ = ignores >] -> () let rec parse_list ~item ~sep = parser [< i = item; s >] -> begin match s with parser [< _ = sep; l = parse_list ~item ~sep >] -> i :: l | [< >] -> [i] end | [< >] -> [] let parse_one = parse_list ~item:parse_field ~sep:comma let lf = parser [< ''\n'|'\r'; _ = ignores ~chars:"\n\r"; _ = ignores >] -> () let parse_all = parse_list ~item:parse_one ~sep:lf let read_file ic = let s = Stream.of_channel ic in let data = parse_all s in match data with ("i"::fields) :: ("T"::titles) :: data -> {fields=fields; titles=titles; data=List.map ~f:List.tl data} | titles :: data -> {fields=titles; titles=titles; data=data} | _ -> failwith "Insufficient data" let print_string s = Format.print_char '"'; for i = 0 to String.length s - 1 do match s.[i] with '\'' -> Format.print_char '\'' | '"' -> Format.print_string "\\\"" | '\160'..'\255' as c -> Format.print_char c | c -> Format.print_string (Char.escaped c) done; Format.print_char '"' (* #install_printer print_string;; *) let field_widths = [ "i", 0; "ATTR", 0; "NAME", 17; "NAPR", 8; "TEL1", 14; "ZIPC", 12; "ADR1", 40; "BRTH", 10; "RMRK", 20; "CHK1", 0; "CHK2", 0; "CHK3", 0; "CHK4", 0; "TIM1", 16; "TIM2", 16; "ALRM", 0; "ATTM", 0; ] let rec genlist ~start ~stop = if start >= stop then [] else (start,-1) :: genlist ~start:(start+1) ~stop let rec star p = parser [< l = plus p >] -> l | [< >] -> [] and plus p = parser [< e = p; l = star p >] -> e :: l let parse_int s = let l = plus (parser [< ''0'..'9' as n >] -> Char.code n - Char.code '0') s in List.fold_left l ~init:0 ~f:(fun acc n -> acc * 10 + n) let parse_range ~start = parser | [< ''-'; stop = parse_int >] -> genlist ~start ~stop | [< '':'; width = parse_int >] -> [start,width] | [< >] -> [start,-1] let rec parse_fields = parser [< n = parse_int; s >] -> let l = parse_range ~start:(n-1) s in l @ parse_fields s | [< '','|' '; s >] -> parse_fields s | [< >] -> [] let select_columns ~items ~titles = let w = GWindow.dialog ~modal:true () in let vbox = w#vbox in List.iter2 titles (Array.to_list items) ~f: begin fun title item -> match item with None -> () | Some it -> let b = GButton.check_button ~label:title ~active:it#active ~packing:vbox#add () in ignore (b#connect#toggled ~callback:(fun () -> it#set_active b#active)) end; let close = GButton.button ~label:"Close" ~packing:w#action_area#add () in close#connect#clicked ~callback:w#destroy; w#show () let main () = let file = ref "" and fields = ref "" in Arg.parse ["-fields", Arg.Set_string fields, "fields to display"] ((:=) file) "Usage: csview "; let fields = parse_fields (Stream.of_string !fields) in let locale = GMain.init ~setlocale:true () in let ic = if !file = "" then stdin else open_in !file in let data = read_file ic in if !file <> "" then close_in ic; let w = GWindow.window () in w#connect#destroy ~callback:GMain.quit; let vbox = GPack.vbox ~packing:w#add () in let mbar = new GMenu.factory (GMenu.menu_bar ~packing:vbox#pack ()) in let columns = new GMenu.factory (mbar#add_submenu "Columns") in let sw = GBin.scrolled_window ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC ~width:600 ~height:300 ~packing:vbox#add () in let cl = GList.clist ~titles:data.titles ~packing:sw#add () in let metrics = cl#misc#pango_context#get_metrics () in let w0 = GPango.to_pixels metrics#approx_digit_width in let items = Array.create (List.length data.titles) None in columns#add_item "Select" ~callback:(fun () -> select_columns ~items ~titles:data.titles); let sort_col = ref (-1) in cl#connect#click_column ~callback: begin fun n -> cl#set_sort ~column:n (); cl#sort (); (* match items.(n) with None -> () | Some it -> it#set_active false *) end; let width ~col ~f = let w = try List.assoc col fields with Not_found -> -1 in if w <> -1 then w else try List.assoc f field_widths with Not_found -> -1 in List.fold_left2 data.titles data.fields ~init:0 ~f: begin fun col title f -> let width = width ~col ~f in let active = (fields = [] && width <> 0) || List.mem_assoc col fields in items.(col) <- Some (columns#add_check_item title ~active ~callback:(fun b -> cl#set_column col ~visibility:b)); if not active then cl#set_column ~visibility:false col else if f = "NAPR" || f = "TIM1" || f = "CLAS" then cl#set_sort ~auto:true ~column:col (); succ col end; List.iter data.data ~f:(fun l -> if List.length l > 1 then ignore (cl#append l)); cl#columns_autosize (); List.fold_left data.fields ~init:0 ~f: begin fun col f -> let width = width ~col ~f in if width > 0 then cl#set_column ~width:(width * w0) col; succ col end; w#show (); GMain.main () let () = if not !Sys.interactive then main () lablgtk-3.1.2/examples/custom_list_generic.ml0000644000650106067230000001335414161276610020217 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* ../src/lablgtk2 -localdir custom_list_generic.ml *) let debug = false let () = if debug then begin Gc.set { (Gc.get()) with Gc.verbose = 0x00d; space_overhead = 0 }; ignore (Gc.create_alarm (fun () -> let s = Gc.stat () in Format.printf "blocks=%d words=%d@." s.Gc.live_blocks s.Gc.live_words)) end module MAKE(A:sig type t val custom_value: Gobject.g_type -> t -> column:int -> Gobject.basic val column_list:GTree.column_list end) = struct type custom_list = {finfo: A.t; fidx: int (* invariant: root.(fidx)==myself *) } module H = Hashtbl let inbound i a = i>=0 && i None method custom_flags = [`LIST_ONLY] method custom_get_iter (path:Gtk.tree_path) : custom_list option = let indices: int array = GTree.Path.get_indices path in match indices with | [||] -> None | [|i|] -> self#find_opt i | _ -> failwith "Invalid Path of depth > 1 in a list" method custom_get_path (row:custom_list) : Gtk.tree_path = GTree.Path.create [row.fidx] method custom_value (t:Gobject.g_type) (row:custom_list) ~column = A.custom_value t row.finfo ~column method custom_iter_next (row:custom_list) : custom_list option = let nidx = succ row.fidx in self#find_opt nidx method custom_iter_children (rowopt:custom_list option) :custom_list option = match rowopt with | None -> self#find_opt 0 | Some _ -> None method custom_iter_has_child (row:custom_list) : bool = false method custom_iter_n_children (rowopt:custom_list option) : int = match rowopt with | None -> H.length roots | Some _ -> assert false method custom_iter_nth_child (rowopt:custom_list option) (n:int) : custom_list option = match rowopt with | None -> self#find_opt n | _ -> None method custom_iter_parent (row:custom_list) : custom_list option = None method insert (t:A.t) = let e = {finfo=t; fidx= last_idx } in self#custom_row_inserted (GTree.Path.create [last_idx]) e; H.add roots last_idx e; last_idx <- last_idx+1; end let custom_list () = new custom_list_class A.column_list end module L=struct type t = {mutable checked: bool; mutable lname: string; } (** The columns in our custom model *) let column_list = new GTree.column_list ;; let col_full = (column_list#add Gobject.Data.caml: t GTree.column);; let col_bool = column_list#add Gobject.Data.boolean;; let col_int = column_list#add Gobject.Data.int;; let custom_value _ t ~column = match column with | 0 -> (* col_full *) `CAML (Obj.repr t) | 1 -> (* col_bool *) `BOOL false | 2 -> (* col_int *) `INT 0 | _ -> assert false end module MODEL=MAKE(L) let fill_model t = for i= 0 to 10 do t#insert {L.lname = "Elt "^string_of_int i; checked=i mod 2 = 0} done let create_view_and_model () : GTree.view = let custom_list = MODEL.custom_list () in fill_model custom_list; let view = GTree.view ~model:custom_list () in let renderer = GTree.cell_renderer_text [] in let col_name = GTree.view_column ~title:"Name" ~renderer:(renderer,[]) () in col_name#set_cell_data_func renderer (fun model row -> try let data = model#get ~row ~column:L.col_full in match data with | {L.lname = s} -> renderer#set_properties [ `TEXT s ]; with exn -> let s = GtkTree.TreePath.to_string (model#get_path row) in Format.printf "Accessing %s, got '%s' @." s (Printexc.to_string exn)); ignore (view#append_column col_name); let renderer = GTree.cell_renderer_toggle [] in let col_tog = GTree.view_column ~title:"Check me" ~renderer:(renderer,[]) () in col_tog#set_cell_data_func renderer (fun model row -> try let {L.checked = b} = model#get ~row ~column:L.col_full in renderer#set_properties [ `ACTIVE b ] with exn -> let s = GtkTree.TreePath.to_string (model#get_path row) in Format.printf "Accessing %s, got '%s' @." s (Printexc.to_string exn)); ignore(renderer#connect#toggled (fun path -> let row = custom_list#custom_get_iter path in match row with | Some {MODEL.finfo=l} -> l.L.checked <- not l.L.checked | _ -> ())); ignore (view#append_column col_tog); Glib.Timeout.add ~ms:10000 ~callback:(fun () -> fill_model custom_list; false); view let _ = GMain.init (); let window = GWindow.window ~width:200 ~height:400 () in ignore (window#event#connect#delete ~callback:(fun _ -> exit 0)); let scrollwin = GBin.scrolled_window ~packing:window#add () in let view = create_view_and_model () in scrollwin#add view#coerce; window#show (); GMain.main () lablgtk-3.1.2/examples/custom_tree.ml0000644000650106067230000001467714161276610016520 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* ../src/lablgtk2 -localdir custom_tree.ml *) let debug = false let () = if debug then begin Gc.set { (Gc.get()) with Gc.verbose = 0x00d; space_overhead = 0 }; ignore (Gc.create_alarm (fun () -> let s = Gc.stat () in Format.printf "blocks=%d words=%d@." s.Gc.live_blocks s.Gc.live_words)) end type finfo = { fname : string; mutable fchecked:bool } type file = { finfo: finfo; mutable globals: global array; fidx: int } and global = { gname: string; parent: file; gidx: int } type custom_tree = | File of file | Global of global let get_nb ct = match ct with | File{fidx=i}|Global{gidx=i} -> i (** The columns in our custom model *) let column_list = new GTree.column_list ;; let col_file = column_list#add Gobject.Data.caml;; let col_bool = column_list#add Gobject.Data.boolean;; let col_int = column_list#add Gobject.Data.int;; (** The custom model itself *) class custom_tree_class column_list = object (self) inherit [custom_tree,custom_tree,unit,unit] GTree.custom_tree_model column_list method custom_encode_iter cr = cr, (), () method custom_decode_iter cr () () = cr val mutable num_files : int = 0 val mutable rows : file array = [||] method custom_flags : GtkEnums.tree_model_flags list = [`ITERS_PERSIST] method custom_get_iter (path:Gtk.tree_path) : custom_tree option = let indices = GTree.Path.get_indices path in match indices with | [| file |] -> if file >= num_files || file < 0 then None else Some (File rows.(file)) | [| file; global |] -> if file >= num_files|| file < 0 then None else let globals = rows.(file).globals in if global >= Array.length globals || global < 0 then None else Some (Global globals.(global)) | _ -> None method custom_get_path (row:custom_tree) : Gtk.tree_path = match row with | File file -> GTree.Path.create [ file.fidx ] | Global global -> GTree.Path.create [ global.parent.fidx; global.gidx ] method custom_value (t:Gobject.g_type) (row:custom_tree) ~column = if column = 0 then `CAML (Obj.repr row) else if column = 1 then `BOOL (match row with File {finfo={fchecked=b}} -> b | _ -> false ) else if column = 2 then `INT (5+(get_nb row)) else assert false method custom_iter_next (row:custom_tree) : custom_tree option = match row with | File file -> if file.fidx < Array.length rows - 1 then Some (File (rows.(succ file.fidx))) else None | Global global -> let parent = global.parent in if global.gidx < Array.length parent.globals - 1 then Some (Global (parent.globals.(succ global.gidx))) else None method custom_iter_children (rowopt:custom_tree option) : custom_tree option = match rowopt with | None | Some (File { globals = [||] }) | Some (Global _) -> None | Some (File { globals = globals }) -> Some (Global globals.(0)) method custom_iter_has_child (row:custom_tree) : bool = match row with | File { globals = g } when Array.length g > 0 -> true | _ -> false method custom_iter_n_children (rowopt:custom_tree option) : int = match rowopt with | None -> Array.length rows | Some (Global _) -> 0 | Some (File { globals = g }) -> Array.length g method custom_iter_nth_child (rowopt:custom_tree option) (n:int) : custom_tree option = match rowopt with | None when Array.length rows > 0 -> Some (File rows.(0)) | Some (File { globals = g }) when n < Array.length g -> Some (Global g.(n)) | _ -> None method custom_iter_parent (row:custom_tree) : custom_tree option = match row with | File _ -> None | Global g -> Some (File g.parent) method append_file name global_names = let pos = num_files in let f = { finfo = name; globals = [||]; fidx = pos } in let globals = Array.mapi (fun i g -> { gname = g; parent = f; gidx = i }) global_names; in f.globals <- globals; num_files <- num_files + 1; rows <- Array.init num_files (fun n -> if n = num_files - 1 then f else rows.(n)) end let fill_model t = for i = 0 to 100 do let g = Array.init 100 (fun i -> "Son "^string_of_int i) in t#append_file {fname = ("Parent "^string_of_int i); fchecked = false} g done let create_view_and_model () : GTree.view = let custom_tree = new custom_tree_class column_list in fill_model custom_tree; let view = GTree.view ~model:custom_tree () in let renderer = GTree.cell_renderer_text [] in let col_name = GTree.view_column ~title:"Name" ~renderer:(renderer,["height",col_int]) () in col_name#set_cell_data_func renderer (fun model row -> try let data = model#get ~row ~column:col_file in match data with | File { finfo={fname = s} } | Global { gname = s } -> renderer#set_properties [ `TEXT s ]; with exn -> let s = GtkTree.TreePath.to_string (model#get_path row) in Format.printf "Accessing %s, got '%s' @." s (Printexc.to_string exn)); ignore (view#append_column col_name); let renderer = GTree.cell_renderer_toggle [] in let col_tog = GTree.view_column ~title:"Check" ~renderer:(renderer,["active", col_bool]) () in renderer#connect#toggled (fun path -> let row = custom_tree#custom_get_iter path in match row with | Some (File {finfo=f}) -> f.fchecked <- not f.fchecked | Some (Global _ ) -> Format.printf "Clearing %s@." (GtkTree.TreePath.to_string path); Format.printf "Global@." | _ -> ()); ignore (view#append_column col_tog); view let _ = GMain.init (); let window = GWindow.window ~width:200 ~height:400 () in ignore (window#event#connect#delete ~callback:(fun _ -> exit 0)); let scrollwin = GBin.scrolled_window ~packing:window#add () in let view = create_view_and_model () in scrollwin#add view#coerce; window#show (); GMain.main () lablgtk-3.1.2/examples/custom_tree_generic.ml0000644000650106067230000002020114161276610020170 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* ../src/lablgtk2 -localdir custom_tree_generic.ml *) let debug = false let () = if debug then begin Gc.set { (Gc.get()) with Gc.verbose = 0x00d; space_overhead = 0 }; ignore (Gc.create_alarm (fun () -> let s = Gc.stat () in Format.printf "blocks=%d words=%d@." s.Gc.live_blocks s.Gc.live_words)) end module MAKE(TREE:sig type t val sons: t -> t array val custom_value: Gobject.g_type -> t -> column:int -> Gobject.basic val column_list:GTree.column_list end) = struct type custom_tree = {finfo: TREE.t; mutable sons: custom_tree array; mutable parent: custom_tree option; fidx: int (* invariant: parent.(fidx)==myself *) } let inbound i a = i>=0 && i None | _ -> if inbound indices.(0) roots then let result = ref (roots.(indices.(0))) in try for depth=1 to Array.length indices - 1 do let index = indices.(depth) in if inbound index !result.sons then result:=!result.sons.(index) else raise Not_found done; Some !result with Not_found -> None else None method custom_get_path (row:custom_tree) : Gtk.tree_path = let current_row = ref row in let path = ref [] in while !current_row.parent <> None do path := !current_row.fidx::!path; current_row := match !current_row.parent with Some p -> p | None -> assert false done; GTree.Path.create ((!current_row.fidx)::!path) method custom_value (t:Gobject.g_type) (row:custom_tree) ~column = TREE.custom_value t row.finfo ~column method custom_iter_next (row:custom_tree) : custom_tree option = let nidx = succ row.fidx in match row.parent with | None -> if inbound nidx roots then Some roots.(nidx) else None | Some parent -> if inbound nidx parent.sons then Some parent.sons.(nidx) else None method custom_iter_children (rowopt:custom_tree option) :custom_tree option = match rowopt with | None -> if inbound 0 roots then Some roots.(0) else None | Some row -> if inbound 0 row.sons then Some row.sons.(0) else None method custom_iter_has_child (row:custom_tree) : bool = Array.length row.sons > 0 method custom_iter_n_children (rowopt:custom_tree option) : int = match rowopt with | None -> Array.length roots | Some row -> Array.length row.sons method custom_iter_nth_child (rowopt:custom_tree option) (n:int) : custom_tree option = match rowopt with | None when inbound n roots -> Some roots.(n) | Some row when inbound n row.sons -> Some (row.sons.(n)) | _ -> None method custom_iter_parent (row:custom_tree) : custom_tree option = row.parent method append_tree (t:TREE.t) = let rec make_forest root sons = Array.mapi (fun i t -> let result = {finfo=t; fidx=i; parent = Some root; sons = [||] } in let sons = make_forest result (TREE.sons t) in result.sons<-sons; result) sons in let pos = num_roots in num_roots <- num_roots+1; let root = { finfo = t; sons = [||]; parent = None; fidx = pos } in let sons = make_forest root (TREE.sons t) in root.sons <- sons; roots <- Array.init num_roots (fun n -> if n = num_roots - 1 then root else roots.(n)) end let custom_tree () = new custom_tree_class TREE.column_list end module T=struct type leaf = {mutable checked: bool; mutable lname: string; } type t = Leaf of leaf | Node of string* t list let sons t = match t with | Leaf _ -> [||] | Node (_,s)-> Array.of_list s (** The columns in our custom model *) let column_list = new GTree.column_list ;; let col_file = (column_list#add Gobject.Data.caml: t GTree.column);; let col_bool = column_list#add Gobject.Data.boolean;; let col_int = column_list#add Gobject.Data.int;; let col_is_leaf = column_list#add Gobject.Data.boolean;; let custom_value _ t ~column = match column with | 0 -> (* col_file *) `CAML (Obj.repr t) | 1 -> (* col_bool *) `BOOL false | 2 -> (* col_int *) `INT 0 | 3 -> (* col_is_leaf*) `BOOL (match t with Leaf _ -> true | _ -> false) | _ -> assert false end module MODEL=MAKE(T) let nb = ref 0 let make_tree n p = let rec aux p0 = if p=p0 then begin incr nb; T.Leaf {T.lname = "Leaf "^string_of_int !nb; checked = false} end else begin incr nb; let name = "Node "^string_of_int !nb in T.Node (name,aux_list n (succ p0)) end and aux_list n p = if n = 0 then [] else aux p::aux_list (n-1) p in aux 0 let fill_model t = for i = 0 to 10000 do t#append_tree (make_tree 1 1) done let create_view_and_model () : GTree.view = let custom_tree = MODEL.custom_tree () in fill_model custom_tree; let view = GTree.view ~fixed_height_mode:true ~model:custom_tree () in let renderer = GTree.cell_renderer_text [] in let col_name = GTree.view_column ~title:"Name" ~renderer:(renderer,[]) () in col_name#set_sizing `FIXED; col_name#set_fixed_width 150; col_name#set_cell_data_func renderer (fun model row -> try let data = model#get ~row ~column:T.col_file in match data with | T.Leaf {T.lname = s} | T.Node (s,_) -> renderer#set_properties [ `TEXT s ]; with exn -> let s = GtkTree.TreePath.to_string (model#get_path row) in Format.printf "Accessing %s, got '%s' @." s (Printexc.to_string exn)); ignore (view#append_column col_name); let renderer = GTree.cell_renderer_toggle [] in let col_tog = GTree.view_column ~title:"Check" ~renderer:(renderer,["visible", T.col_is_leaf]) () in col_tog#set_sizing `FIXED; col_tog#set_fixed_width 10; col_tog#set_cell_data_func renderer (fun model row -> try let data = model#get ~row ~column:T.col_file in match data with | T.Leaf {T.checked = b} -> renderer#set_properties [ `ACTIVE b ] | _ -> () with exn -> let s = GtkTree.TreePath.to_string (model#get_path row) in Format.printf "Accessing %s, got '%s' @." s (Printexc.to_string exn)); ignore(renderer#connect#toggled (fun path -> let row = custom_tree#custom_get_iter path in match row with | Some {MODEL.finfo=T.Leaf l} -> l.T.checked <- not l.T.checked | _ -> ())); ignore (view#append_column col_tog); view let _ = GMain.init (); let window = GWindow.window ~width:200 ~height:400 () in ignore (window#event#connect#delete ~callback:(fun _ -> exit 0)); let scrollwin = GBin.scrolled_window ~packing:window#add () in let view = create_view_and_model () in scrollwin#add view#coerce; window#show (); GMain.main () lablgtk-3.1.2/examples/dcalendar.ml0000644000650106067230000001641214161276610016071 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* A small calendar *) (* Needs Unix module, so use with lablgtk_t *) open StdLabels module Unix = UnixLabels open Printf type date = { mutable year: int; mutable mon: int; mutable mday: int } (* Load the schedule data *) let calendar_file = Filename.concat (Sys.getenv "HOME") ".camlendar" let schedule = try let ichan = open_in_bin calendar_file in let (s : (int * int * int, string) Hashtbl.t) = Marshal.from_channel ichan in close_in ichan; s with Sys_error msg -> prerr_endline msg; flush stderr; Hashtbl.create 13;; (* Saves the schedule data when the application terminates *) at_exit (fun () -> let ochan = open_out_bin calendar_file in Marshal.to_channel ochan schedule []; close_out ochan);; (* date: Current date initialized to "today" *) let date = let tm = Unix.localtime (Unix.time ()) in { year = 1900 + tm.Unix.tm_year; mon = tm.Unix.tm_mon; mday = 1 } (* previous_month, next_month: change application status *) let previous_month () = date.mday <- 1; if date.mon = 0 then (date.year <- date.year - 1; date.mon <- 11) else date.mon <- date.mon - 1 let next_month () = date.mday <- 1; if date.mon = 11 then (date.year <- date.year + 1; date.mon <- 0) else date.mon <- date.mon + 1 (* leap, mon_name, wday_name: Calendar related function and data *) let leap year = (year mod 400 = 0) or (year mod 4 = 0) & (year mod 100 <> 0) let mdays_in_month = [|31; 28; 31; 30; 31; 30; 31; 31; 30; 31; 30; 31|] let mon_name = [|"Jan"; "Feb"; "Mar"; "Apr"; "May"; "Jun"; "Jul"; "Aug"; "Sep"; "Oct"; "Nov"; "Dec"|] let wday_name = [|"Sun"; "Mon"; "Tue"; "Wed"; "Thu"; "Fri"; "Sat"|] let s_normal = 0 and s_focused = 1 and s_planned = 2 let styles = let default = (Obj.magic () : GObj.style) in [| default; default; default |] (* class date_button: one button for each day in the month *) class date_button i (calendar : GPack.table) = let mday = i + 1 in object (self) val widget = GButton.button ~label: (string_of_int mday) ~show: false () val mday = mday val mutable show = false val mutable have_plan = false method widget = widget method focus_on = date.mday <- mday; widget#misc#set_style styles.(s_focused) method focus_off = widget#misc#set_style styles.(if have_plan then s_planned else s_normal) method set_plan = have_plan <- true; widget#misc#set_style styles.(s_planned) method unset_plan = have_plan <- false; widget#misc#set_style styles.(s_normal) method show wday0 = if not show then let top = (mday + wday0) / 7 + 1 and left = (mday + wday0) mod 7 in calendar#attach ~left ~top ~expand:`BOTH widget#coerce; widget#misc#show (); show <- true method hide = if show then (widget#misc#hide (); calendar#remove widget#coerce; show <- false) end let update_calendar (calendar : GPack.table) (buttons : date_button array) = let now = Unix.localtime (Unix.gettimeofday ()) in let _, first = Unix.mktime { now with Unix.tm_mday = 1; Unix.tm_mon = date.mon; Unix.tm_year = date.year - 1900 } in (* wday0: day of the week of the zero'th day in the month *) let wday0 = (first.Unix.tm_wday - 1 + 7) mod 7 in let ndays = if date.mon = 1 & leap date.year then mdays_in_month.(date.mon) + 1 else mdays_in_month.(date.mon) in Array.iter ~f: (fun button -> button#hide) buttons; for i = 0 to ndays - 1 do buttons.(i)#show wday0 done let create_GUI () = (* views part *) let win = GWindow.window ~title: "Camlendar" ~show: true ~resizable: false () in win#event#connect#delete ~callback: (fun _ -> GMain.quit (); false); let style = win#misc#style#copy in styles.(s_normal) <- style; let style = style#copy in style#set_bg [`NORMAL, `NAME "light green"; `PRELIGHT, `NAME "light green"]; styles.(s_focused) <- style; styles.(s_focused) <- style; let style = style#copy in style#set_bg [`NORMAL, `NAME "sky blue"; `PRELIGHT, `NAME "sky blue"]; styles.(s_planned) <- style; let vbox = GPack.vbox ~packing: win#add () in let packing = vbox#add in let toolbar = GButton.toolbar ~style: `TEXT ~packing () in let prev = GButton.tool_button ~label: "Prev" () in prev#set_tooltip_text "Show previous month"; toolbar#insert prev; let next = GButton.tool_button ~label: "Next" () in next#set_tooltip_text "Show next month"; toolbar#insert next; let calendar = GPack.table ~homogeneous: true ~rows: 7 ~columns: 7 ~border_width: 10 ~row_spacings: 2 ~col_spacings: 2 ~packing () in Array.iteri ~f: (fun i wday -> ignore (GButton.button ~label: wday ~packing:(calendar#attach ~top: 0 ~left: i ~expand:`BOTH) ())) wday_name; let buttons = Array.init 31 ~f: (fun i -> new date_button i calendar) in let date_view = GMisc.label ~justify: `CENTER ~packing () in let text = GText.view ~editable:true ~width:70 ~height:50 ~packing () in (* Controls part *) let save_text () = let data = text#buffer#get_text () in let key = (date.year, date.mon, date.mday) in Hashtbl.remove schedule key; if data <> "" then (Hashtbl.add schedule key data; buttons.(date.mday - 1)#set_plan) else buttons.(date.mday - 1)#unset_plan in let restore_text () = try text#buffer#set_text (Hashtbl.find schedule (date.year, date.mon, date.mday)); () with Not_found -> let start,stop = text#buffer#bounds in text#buffer#delete ~start ~stop in let update_date_view () = date_view#set_text (sprintf "%d %s, %d\n" date.mday mon_name.(date.mon) date.year) in let update_view () = update_calendar calendar buttons; update_date_view (); Array.iteri ~f: (fun i button -> (try Hashtbl.find schedule (date.year, date.mon, i + 1); button#set_plan with Not_found -> button#unset_plan); button#focus_off) buttons; win#set_title (sprintf "Camlendar: %s, %d" mon_name.(date.mon) date.year) in prev#connect#clicked ~callback: (fun () -> save_text (); previous_month (); update_view (); restore_text (); buttons.(0)#focus_on); next#connect#clicked ~callback: (fun () -> save_text (); next_month (); update_view (); restore_text (); buttons.(0)#focus_on); Array.iteri ~f: (fun i button -> button#widget#connect#clicked ~callback: (fun () -> save_text (); buttons.(date.mday - 1)#focus_off; button#focus_on; restore_text (); update_date_view ()); ()) buttons; update_view (); buttons.(0)#focus_on;; GMain.init (); print_endline (Glib.Main.setlocale `ALL None); flush stdout; create_GUI (); GMain.main () lablgtk-3.1.2/examples/dialog-thread.ml0000644000650106067230000000254414161276610016661 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* lablgtk2 -thread -nothinit dialog-thread.ml *) let _ = GMain.init () let window = GWindow.window ~border_width: 10 () let button = GButton.button ~label:"Open Dialog" ~packing: window#add () let mythread = Thread.create (fun () -> while true do Thread.delay 2.0; prerr_endline "running." done) () let main () = Glib.Timeout.add ~ms:100 ~callback:GtkThread.do_jobs; window#connect#destroy ~callback:GMain.quit; button#connect#clicked ~callback:(fun () -> let dialog = GWindow.message_dialog ~title:"Quit ?" ~message_type:`QUESTION ~message:"Quit the application ?" ~buttons:GWindow.Buttons.yes_no () in match dialog#run () with `YES -> GMain.quit () | `NO | `DELETE_EVENT -> dialog#destroy ()); window#show (); GtkThread.main () let _ = Printexc.print main () lablgtk-3.1.2/examples/drawing.ml0000644000650106067230000000237214161276610015607 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open Cairo let polygon = [ 10,100; 35,35; 100,10; 165,35; 190,100; 165,165; 100,190; 35,165; 10,100 ] let draw_polygon cr = function [] -> () | (x,y)::tl -> set_source_rgba cr 0. 0. 0. 1.; move_to cr (float x) (float y); List.iter (fun (x,y) -> line_to cr (float x) (float y)) tl; set_source_rgba cr 0.5 0. 0. 0.5; fill cr let expose drawing_area cr = draw_polygon cr polygon ; true let () = GMain.init (); let w = GWindow.window ~title:"Drawing demo" ~width:500 ~height:400 () in ignore(w#connect#destroy ~callback:GMain.quit); let d = GMisc.drawing_area ~packing:w#add () in ignore(d#misc#connect#draw ~callback:(expose d)); w#show(); GMain.main () lablgtk-3.1.2/examples/dune0000644000650106067230000000311614161276610014475 0ustar glondused; copy test.xpm (executables (names about accel_tree action assistant assistant_tutorial buttons cairo_demo calc calendar cgets combobox counter css dcalendar dialog-thread drawing editor2 entry2 entrycompletion entry eventbox events2 events expander fifteen filechooser ; fixed_editor fixpoint gioredirect giotest hello iconview ; image kaimono ; label link_button ; lissajous nihongo notebook pango1 pango2 ; pixview pousse progressbar radiobuttons rpn ; runthread scrolledwin seppala signal_override ; slide_show socket spin stackcontainer stackswitcher ; testdnd testgtk testthread ; timer toolbar tooltip tree tree_model tree_store ; tron ) (modules about accel_tree action assistant assistant_tutorial buttons cairo_demo calc calendar cgets combobox counter css dcalendar dialog-thread drawing editor2 entry2 entrycompletion entry eventbox events2 events expander fifteen filechooser fixed_editor fixpoint gioredirect giotest hello iconview image kaimono label link_button lissajous nihongo notebook pango1 pango2 pixview pousse progressbar radiobuttons rpn runthread scrolledwin seppala signal_override slide_show socket spin stackcontainer stackswitcher testdnd ; testgtk testthread timer toolbar tooltip tree tree_model tree_store tron ) (flags :standard -w -3-6-7-10-24-26-27-33-35 -no-strict-sequence) (libraries lablgtk3)) (executables (names spell) (modules spell) (flags :standard -w -3-6-7-10-24-26-27-33-35 -no-strict-sequence) (libraries lablgtk3-gtkspell3)) lablgtk-3.1.2/examples/editor2.ml0000644000650106067230000001153714161276610015527 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open StdLabels type action = [`OPEN|`SAVE|`DELETE_EVENT|`CANCEL] let file_dialog ~(action:[`OPEN|`SAVE]) ~callback ?filename () = let dialog = GWindow.file_chooser_dialog ~action:(action :> GtkEnums.file_chooser_action) ~modal:true ?filename () in dialog#add_button_stock `CANCEL `CANCEL ; dialog#add_select_button_stock (action :> GtkStock.id) (action :> action) ; begin match dialog#run () with | `OPEN | `SAVE -> begin match dialog#filename with None -> () | Some s -> callback s end | `DELETE_EVENT | `CANCEL -> () end ; dialog#destroy () let input_channel b ic = let buf = Bytes.create 1024 and len = ref 0 in while len := input ic buf 0 1024; !len > 0 do Buffer.add_subbytes b buf 0 !len done let with_file name ~f = let ic = open_in name in try f ic; close_in ic with exn -> close_in ic; raise exn class editor ?packing ?show () = object (self) val text = GText.view ?packing ?show () val mutable filename = None method text = text method load_file name = try let b = Buffer.create 1024 in with_file name ~f:(input_channel b); let s = Glib.Convert.locale_to_utf8 (Buffer.contents b) in let n_buff = GText.buffer ~text:s () in text#set_buffer n_buff; filename <- Some name; n_buff#place_cursor n_buff#start_iter with _ -> prerr_endline "Load failed" method open_file () = file_dialog ~action:`OPEN ~callback:self#load_file () method save_dialog () = file_dialog ~action:`SAVE ?filename ~callback:(fun file -> self#output ~file) () method save_file () = match filename with Some file -> self#output ~file | None -> self#save_dialog () method output ~file = try if Sys.file_exists file then Sys.rename file (file ^ "~"); let s = text#buffer#get_text () in let oc = open_out file in output_string oc (Glib.Convert.locale_from_utf8 s); close_out oc; filename <- Some file with _ -> prerr_endline "Save failed" end let _ = GMain.init () let window = GWindow.window ~width:500 ~height:300 ~title:"editor" () let vbox = GPack.vbox ~packing:window#add () let menubar = GMenu.menu_bar ~packing:vbox#pack () let factory = new GMenu.factory ~accel_path:"/" menubar let accel_group = factory#accel_group let file_menu = factory#add_submenu "File" let edit_menu = factory#add_submenu "Edit" let scrollwin = GBin.scrolled_window ~packing:vbox#add () let editor = new editor ~packing:scrollwin#add () open GdkKeysyms let _ = window#connect#destroy ~callback:GMain.quit; let factory = new GMenu.factory ~accel_path:"/////" file_menu ~accel_group in factory#add_item "Open" ~key:_O ~callback:editor#open_file; factory#add_item "Save" ~key:_S ~callback:editor#save_file; factory#add_item "Save as..." ~callback:editor#save_dialog; factory#add_separator (); factory#add_item "Quit" ~key:_Q ~callback:window#destroy; let factory = new GMenu.factory ~accel_path:"///" edit_menu ~accel_group in factory#add_item "Copy" ~key:_C ~callback: (fun () -> editor#text#buffer#copy_clipboard GMain.clipboard); factory#add_item "Cut" ~key:_X ~callback: (fun () -> GtkSignal.emit_unit editor#text#as_view GtkText.View.S.cut_clipboard); factory#add_item "Paste" ~key:_V ~callback: (fun () -> GtkSignal.emit_unit editor#text#as_view GtkText.View.S.paste_clipboard); factory#add_separator (); factory#add_check_item "Word wrap" ~active:false ~callback: (fun b -> editor#text#set_wrap_mode (if b then `WORD else `NONE)); factory#add_check_item "Read only" ~active:false ~callback:(fun b -> editor#text#set_editable (not b)); factory#add_item "Save accels" ~callback:(fun () -> GtkData.AccelMap.save "test.accel"); window#add_accel_group accel_group; editor#text#event#connect#button_press ~callback:(fun ev -> let button = GdkEvent.Button.button ev in if button = 3 then begin file_menu#popup ~button ~time:(GdkEvent.Button.time ev); true end else false); window#show (); let () = GtkData.AccelMap.load "test.accel" in GtkData.AccelMap.foreach (fun ~path ~key ~modi ~changed -> if modi = [`CONTROL] then if GtkData.AccelMap.change_entry path ~key ~modi:[`MOD1] then prerr_endline ("Changed " ^ path) else prerr_endline ("Could not change "^path)); GMain.main () lablgtk-3.1.2/examples/entry.ml0000644000650106067230000000374414161276610015321 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open Printf let enter_callback entry = printf "Entry contents: %s\n" entry#text; flush stdout let entry_toggle_editable button entry = entry#set_editable button#active let entry_toggle_visibility button entry = entry#set_visibility button#active let main () = GMain.init (); let window = GWindow.window ~title: "GTK Entry" ~width: 200 ~height: 100 () in window#connect#destroy ~callback:GMain.quit; let vbox = GPack.vbox ~packing: window#add () in let entry = GEdit.entry ~max_length: 50 ~packing: vbox#add () in entry#connect#activate ~callback:(fun () -> enter_callback entry); entry#set_text "Hello"; (* Appending text now requires getting the underlying buffer, and * entry#buffer is not exposed in the bindings yet *) (*entry#append_text " world";*) entry#select_region ~start:0 ~stop:entry#text_length; let hbox = GPack.hbox ~packing: vbox#add () in let check = GButton.check_button ~label: "Editable" ~active: true ~packing: hbox#add () in check#connect#toggled ~callback:(fun () -> entry_toggle_editable check entry); let check = GButton.check_button ~label:"Visible" ~active:true ~packing:hbox#add () in check#connect#toggled ~callback:(fun () -> entry_toggle_visibility check entry); let button = GButton.button ~label: "Close" ~packing: vbox#add () in button#connect#clicked ~callback:window#destroy; button#grab_default (); window#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/entry2.ml0000644000650106067230000000156614161276610015403 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let _ = GMain.init () let w = GWindow.window ~show:true () let e = GEdit.entry ~packing:w#add () let () = e#connect#after#insert_text (fun _ ~pos -> if e#text_length > 5 then e#set_secondary_icon_stock `DIALOG_WARNING else e#set_secondary_icon_name ""); w#event#connect#delete (fun _ -> GMain.quit (); true); GMain.main () lablgtk-3.1.2/examples/entrycompletion.ml0000644000650106067230000000636614161276610017416 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let model_of_list conv l = let cols = new GTree.column_list in let column = cols#add conv in let model = GTree.list_store cols in List.iter (fun data -> let row = model#append () in model#set ~row ~column data) l ; (model, column) let string_completion_list = [ "hello" ; "hello world" ; "abcdef" ; "abcxyz" ] let stock_completion_list = [ `HOME ; `GO_BACK ; `GO_FORWARD ; `DIALOG_WARNING ; `DIALOG_ERROR ] let setup packing (make_entry : (GObj.widget -> unit) -> GEdit.entry) = let box = GPack.hbox ~packing () in let entry = make_entry box#pack in let button = GButton.button ~stock:`JUMP_TO ~packing:box#pack () in button#connect#clicked (fun () -> prerr_endline entry#text) ; () let make_simple_entry packing = let entry = GEdit.entry ~text:"text" ~packing () in let (model, col) = model_of_list Gobject.Data.string string_completion_list in let c = GEdit.entry_completion ~model ~entry () in c#set_text_column col ; c#insert_action_markup 0 "action 0" ; c#insert_action_markup 1 "action 1" ; entry let is_prefix s1 s2 = (String.length s1 <= String.length s2) && (String.sub s2 0 (String.length s1) = s1) let make_complex_entry packing = let entry = GEdit.entry ~text:"pick a stock id" ~packing () in let (model, column) = model_of_list GtkStock.conv stock_completion_list in let completion = GEdit.entry_completion ~model ~entry () in begin let renderer = GTree.cell_renderer_pixbuf [ `STOCK_SIZE `BUTTON ] in completion#pack renderer ; completion#add_attribute renderer "stock_id" column end ; begin let renderer = GTree.cell_renderer_text [ `XPAD 5 ] in completion#pack renderer ; completion#add_attribute renderer "text" column end ; completion#set_match_func (fun key row -> let column = { column with GTree.conv = Gobject.Data.string } in let str = model#get ~row ~column in is_prefix key str) ; completion#connect#match_selected (fun model row -> (* Unsafe but correct dummy column usage let column = { column with GTree.conv = Gobject.Data.string ; GTree.creator = 0 } in entry#set_text (model#get ~row ~column) ; *) (* Safer but relies on Comment #1 of Gtk bug 555087. *) entry#set_text (GtkStock.convert_id (model#child_model#get ~row:(model#convert_iter_to_child_iter row) ~column)); true) ; entry let main () = GMain.init (); let w = GWindow.window ~title:"GtkEntryCompletion demo" () in w#connect#destroy GMain.quit ; begin let box = GPack.vbox ~packing:w#add () in setup box#pack make_simple_entry ; setup box#pack make_complex_entry end ; w#show () ; GMain.main () let _ = main () lablgtk-3.1.2/examples/eventbox.ml0000644000650106067230000000544514161276610016012 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id: events.ml 1347 2007-06-20 07:40:34Z guesdon $ *) let string_of_event x = match GdkEvent.get_type x with | `NOTHING -> "nothing" | `DELETE -> "delete" | `DESTROY -> "destroy" | `EXPOSE -> "expose" | `MOTION_NOTIFY -> "motion-notify" | `BUTTON_PRESS -> "button-press" | `TWO_BUTTON_PRESS -> "2 button-press" | `THREE_BUTTON_PRESS -> "3 button-press" | `BUTTON_RELEASE -> "button-release" | `KEY_PRESS -> "key-press" | `KEY_RELEASE -> "key-release" | `ENTER_NOTIFY -> "enter-notfiy" | `LEAVE_NOTIFY -> "leave-notify" | `FOCUS_CHANGE -> "focus-change" | `CONFIGURE -> "configure" | `MAP -> "map" | `UNMAP -> "unmap" | `PROPERTY_NOTIFY -> "property-notify" | `SELECTION_CLEAR -> "selection-clear" | `SELECTION_REQUEST -> "selection-request" | `SELECTION_NOTIFY -> "selection-notify" | `PROXIMITY_IN -> "proximity-in" | `PROXIMITY_OUT -> "proximiy-out" | `DRAG_ENTER -> "drag-enter" | `DRAG_LEAVE -> "drag-leave" | `DRAG_MOTION -> "drag-motion" | `DRAG_STATUS -> "drag-status" | `DROP_START -> "drop-start" | `DROP_FINISHED -> "drop-finish" | `CLIENT_EVENT -> "client-event" | `VISIBILITY_NOTIFY -> "visibility-notify" | `NO_EXPOSE-> "no-expose" | `SCROLL -> "scroll" | `WINDOW_STATE -> "window-state" | `SETTING -> "setting" | `OWNER_CHANGE -> "owner-change" | `GRAB_BROKEN -> "grab-broken" | `DAMAGE -> "damage" | `TOUCH_BEGIN -> "touch-begin" | `TOUCH_UPDATE -> "touch-update" | `TOUCH_END -> "touch-end" | `TOUCH_CANCEL -> "touch-cancel" | `TOUCHPAD_SWIPE -> "touchpad-swipe" | `TOUCHPAD_PINCH -> "touchpad-pinch" let _ = GMain.init (); let w = GWindow.window ~width:200 ~height:200 () in w#connect#destroy ~callback:GMain.quit ; let eb = GBin.event_box ~packing:w#add () in eb#event#add [`ALL_EVENTS]; eb#event#connect#any (fun x -> prerr_string "before "; prerr_endline (string_of_event x); false); eb#event#connect#after#any (fun x -> prerr_string "after "; prerr_endline (string_of_event x); false); eb#event#connect#expose (fun x -> prerr_string "BEFORE EXPOSE "; prerr_endline (string_of_event x); false); eb#event#connect#after#expose (fun x -> prerr_string "AFTER EXPOSE "; prerr_endline (string_of_event x); false); w#show (); GMain.main () lablgtk-3.1.2/examples/events.ml0000644000650106067230000000754714161276610015471 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* This is a direct translation to Gtk2. This is actually meaningless, as the new text widget lets you obtain an iterator from coordinates, but this just demonstrates the use of [#event#send]. *) (* Old comment by Benjamin: I cannot translate this program directly to Gtk 2. The event generation causes segfault and starts some drag-n-drop op. The default signal for left button has probably changed.*) (* I don't see segfaults, just Gtk-criticals. Seems the default handler for button 3 is still called, and I see no way to disable that. But this is not really relevant to [#event#send]. *) let string_of_event x = match GdkEvent.get_type x with | `NOTHING -> "nothing" | `DELETE -> "delete" | `DESTROY -> "destroy" | `EXPOSE -> "expose" | `MOTION_NOTIFY -> "motion-notify" | `BUTTON_PRESS -> "button-press" | `TWO_BUTTON_PRESS -> "2 button-press" | `THREE_BUTTON_PRESS -> "3 button-press" | `BUTTON_RELEASE -> "button-release" | `KEY_PRESS -> "key-press" | `KEY_RELEASE -> "key-release" | `ENTER_NOTIFY -> "enter-notfiy" | `LEAVE_NOTIFY -> "leave-notify" | `FOCUS_CHANGE -> "focus-change" | `CONFIGURE -> "configure" | `MAP -> "map" | `UNMAP -> "unmap" | `PROPERTY_NOTIFY -> "property-notify" | `SELECTION_CLEAR -> "selection-clear" | `SELECTION_REQUEST -> "selection-request" | `SELECTION_NOTIFY -> "selection-notify" | `PROXIMITY_IN -> "proximity-in" | `PROXIMITY_OUT -> "proximiy-out" | `DRAG_ENTER -> "drag-enter" | `DRAG_LEAVE -> "drag-leave" | `DRAG_MOTION -> "drag-motion" | `DRAG_STATUS -> "drag-status" | `DROP_START -> "drop-start" | `DROP_FINISHED -> "drop-finish" | `CLIENT_EVENT -> "client-event" | `VISIBILITY_NOTIFY -> "visibility-notify" | `NO_EXPOSE-> "no-expose" | `SCROLL -> "scroll" | `WINDOW_STATE -> "window-state" | `SETTING -> "setting" | `OWNER_CHANGE -> "owner-change" | `GRAB_BROKEN -> "grab-broken" | `DAMAGE -> "damage" | `TOUCH_BEGIN -> "touch-begin" | `TOUCH_UPDATE -> "touch-update" | `TOUCH_END -> "touch-end" | `TOUCH_CANCEL -> "touch-cancel" | `TOUCHPAD_SWIPE -> "touchpad-swipe" | `TOUCHPAD_PINCH -> "touchpad-pinch" let _ = GMain.init (); let window = GWindow.window ~width:200 ~height:200 () in window#connect#destroy ~callback:GMain.quit ; window#event#add [`ALL_EVENTS]; window#event#connect#any (fun x -> prerr_string "before "; prerr_endline (string_of_event x); false); window#event#connect#after#any (fun x -> prerr_string "after "; prerr_endline (string_of_event x); false); window#event#connect#configure (fun x -> prerr_string "BEFORE CONFIGURE "; prerr_endline (string_of_event x); false); window#event#connect#after#configure (fun x -> prerr_string "AFTER CONFIGURE "; prerr_endline (string_of_event x); false); let text = GText.view ~packing:window#add () in let buffer = text#buffer in text#event#connect#button_press ~callback: begin fun ev -> GdkEvent.Button.button ev = 3 && GdkEvent.get_type ev = `BUTTON_PRESS && begin let pos = buffer#get_iter_at_mark `INSERT in GdkEvent.Button.set_button ev 1; text#event#send (ev :> GdkEvent.any); Printf.printf "Position is %d.\n" pos#offset; flush stdout; buffer#move_mark `INSERT ~where:pos; GtkSignal.stop_emit (); true end end; window#show (); GMain.main () lablgtk-3.1.2/examples/events2.ml0000644000650106067230000000246214161276610015542 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* See comments in events.ml *) let _ = GMain.init (); let window = GWindow.window () in window#connect#destroy ~callback:GMain.quit; let text = GText.view ~width:200 ~height:100 ~packing:window#add () in text#event#connect#button_press ~callback: begin fun ev -> GdkEvent.Button.button ev = 3 && GdkEvent.get_type ev = `BUTTON_PRESS && begin let win = match text#get_window `WIDGET with | None -> assert false | Some w -> w in let x,y = Gdk.Window.get_pointer_location win in let b_x,b_y = text#window_to_buffer_coords ~tag:`WIDGET ~x ~y in let clicked_pos = text#get_iter_at_location ~x:b_x ~y:b_y in Printf.printf "Position is %d.\n" clicked_pos#offset; flush stdout; true; end end; window#show (); GMain.main () lablgtk-3.1.2/examples/expander.ml0000644000650106067230000000222514161276610015757 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let setup_expander packing = let e = GBin.expander ~packing () in let pixbuf = e#misc#render_icon ~size:`DIALOG `DIALOG_INFO in let icon = GMisc.image ~pixbuf ~packing:e#add () in e#set_label "Show image" ; e#connect#after#activate (fun () -> e#set_label (if e#expanded then "Hide image" else "Show image")) let main () = GMain.init (); let w = GWindow.window ~title:"GtkExpander demo" () in w#connect#destroy GMain.quit ; setup_expander w#add ; w#show () ; GMain.main () let _ = main () (* Local Variables: *) (* compile-command: "ocamlc -I ../src -w s lablgtk.cma expander.ml" *) (* End: *) lablgtk-3.1.2/examples/fifteen.ml0000644000650106067230000000654314161276610015600 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open StdLabels open Gaux open Gtk open GObj class position ~init_x ~init_y ~min_x ~min_y ~max_x ~max_y = object val mutable x = init_x val mutable y = init_y method current = (x, y) method up () = if y > min_y then y <- y-1 else (); (x, y) method down () = if y < max_y then y <- y+1 else (); (x, y) method left () = if x > min_x then x <- x-1 else (); (x, y) method right () = if x < max_x then x <- x+1 else (); (x, y) end let game_init () = (* generate initial puzzle state *) let rec game_aux acc rest n_invert = let len = List.length rest in if len=0 then if n_invert mod 2 = 0 then acc (* to be solvable, n_invert must be even *) else (List.hd (List.tl acc))::(List.hd acc)::(List.tl (List.tl acc)) else begin let rec extract n xs = if (n=0) then (List.hd xs, List.tl xs) else let (ans, ys) = extract (n-1) (List.tl xs) in (ans, List.hd xs :: ys) in let ran = Random.int len in let (elm, rest1) = extract ran rest in let rec count p xs = match xs with [] -> 0 | y :: ys -> let acc = count p ys in if p y then 1+acc else acc in let new_n_invert = count (fun x -> elm > x) acc in game_aux (elm :: acc) rest1 (n_invert+new_n_invert) end in let rec from n = if n=0 then [] else n :: from (n-1) in game_aux [] (from 15) 0 let _ = Random.init (int_of_float (Sys.time () *. 1000.)) let _ = GMain.init () let window = GWindow.window () let _ = window#connect#destroy ~callback:GMain.quit let tbl = GPack.table ~rows:4 ~columns:4 ~homogeneous:true ~packing:window#add () let dummy = GMisc.label ~text:"" ~packing:(tbl#attach ~left:3 ~top:3) () let arr = Array.make_matrix ~dimx:4 ~dimy:4 dummy let init = game_init () let _ = for i = 0 to 15 do let j = i mod 4 in let k = i/4 in let frame = GBin.frame ~shadow_type:`OUT ~width:32 ~height:32 ~packing:(tbl#attach ~left:j ~top:k) () in if i < 15 then arr.(j).(k) <- GMisc.label ~text:(string_of_int (List.nth init i)) ~packing:frame#add () done let pos = new position ~init_x:3 ~init_y:3 ~min_x:0 ~min_y:0 ~max_x:3 ~max_y:3 open GdkKeysyms let _ = window#event#connect#key_press ~callback: begin fun ev -> let (x0, y0) = pos#current in let wid0 = arr.(x0).(y0) in let key = GdkEvent.Key.keyval ev in if key = _q || key = _Escape then (GMain.quit (); exit 0) else let (x1, y1) = if key = _h || key = _Left then pos#right () else if key = _j || key = _Down then pos#up () else if key = _k || key = _Up then pos#down () else if key = _l || key = _Right then pos#left () else (x0, y0) in let wid1 = arr.(x1).(y1) in wid0#set_text (wid1#text); wid1#set_text ""; true end let main () = window#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/filechooser.ml0000644000650106067230000000405614161276610016457 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let default d = function | None -> d | Some v -> v let all_files () = let f = GFile.filter ~name:"All" () in f#add_pattern "*" ; f let is_string_prefix s1 s2 = let l1 = String.length s1 in let l2 = String.length s2 in l1 <= l2 && s1 = String.sub s2 0 l1 let image_filter () = let f = GFile.filter ~name:"Images" () in f#add_custom [ `MIME_TYPE ] (fun info -> let mime = List.assoc `MIME_TYPE info in is_string_prefix "image/" mime) ; f let text_filter () = GFile.filter ~name:"Caml source code" ~patterns:[ "*.ml"; "*.mli"; "*.mly"; "*.mll" ] () let ask_for_file parent = let dialog = GWindow.file_chooser_dialog ~action:`OPEN ~title:"Open File" ~parent () in dialog#add_button_stock `CANCEL `CANCEL ; dialog#add_select_button_stock `OPEN `OPEN ; dialog#add_filter (all_files ()) ; dialog#add_filter (image_filter ()) ; dialog#add_filter (text_filter ()) ; begin match dialog#run () with | `OPEN -> print_string "filename: " ; print_endline (default "" dialog#filename) ; flush stdout | `DELETE_EVENT | `CANCEL -> () end ; dialog#destroy () let main () = GMain.init (); let w = GWindow.window ~title:"FileChooser demo" () in w#connect#destroy GMain.quit ; let b = GButton.button ~stock:`OPEN ~packing:w#add () in b#connect#clicked (fun () -> ask_for_file w) ; w#show () ; GMain.main () let _ = main () (* Local Variables: *) (* compile-command: "ocamlc -I ../src -w s lablgtk.cma filechooser.ml" *) (* End: *) lablgtk-3.1.2/examples/fixed_editor.ml0000644000650106067230000002227114161276610016621 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) open Gdk open Gtk open GObj let dnd_source_window () = let window = GWindow.window ~position:`MOUSE () in let vbx = GPack.vbox ~border_width:10 ~packing:window#add () in let evb = GBin.event_box ~border_width:0 ~packing:vbx#add () in let frm = GBin.frame ~shadow_type:`OUT ~packing:evb#add () in let lbl = GMisc.label ~text:"hello" ~packing:frm#add () in let lbl2 = GMisc.label ~text:"drag from here!" ~packing:vbx#add () in let targets = [ { target = "STRING"; flags = []; info = 0} ] in begin window#show (); evb#drag#source_set targets ~modi:[`BUTTON1] ~actions:[`COPY]; evb#drag#connect#data_get ~callback: begin fun _ sel ~info ~time -> sel#return "hello! " end end let corner_width = 7 let corner_height = 7 type drag_action_type = GB_DRAG_NONE | GB_MIDDLE | GB_TOP | GB_BOTTOM | GB_LEFT | GB_RIGHT | GB_TOP_LEFT | GB_TOP_RIGHT | GB_BOTTOM_LEFT | GB_BOTTOM_RIGHT let get_position_in_widget w ~x ~y ~width ~height = if (x <= corner_width) then if (y <= corner_height) then GB_TOP_LEFT else if (y >= height-corner_width) then GB_BOTTOM_LEFT else GB_LEFT else if (x >= width-corner_width) then if (y <= corner_height) then GB_TOP_RIGHT else if (y >= height-corner_width) then GB_BOTTOM_RIGHT else GB_RIGHT else if (y <= corner_height) then GB_TOP else if (y >= height-corner_width) then GB_BOTTOM else GB_MIDDLE class drag_info = object val mutable drag_action = GB_DRAG_NONE val mutable drag_offset = (0, 0) val mutable toimen = (0, 0) val mutable drag_widget = None method drag_action = drag_action method drag_offset = drag_offset method toimen = toimen (* coord. of opposite corner *) method set_drag_widget (w : GObj.widget) = begin match drag_widget with None -> begin GMain.Grab.add w; drag_widget <- Some w; () end | Some w -> () end method unset_drag_widget () = begin match drag_widget with Some w -> begin GMain.Grab.remove w; drag_widget <- None; () end | None -> () end method set_drag_offset ~x ~y = drag_offset <- (x, y) method set_drag_action (w : Gdk.window) ~x ~y = begin let (x0, y0) = Window.get_position w in let (width, height) = Drawable.get_size w in drag_action <- get_position_in_widget w ~x ~y ~width ~height; let (x1, y1) = (x0+width, y0+height) in toimen <- match drag_action with GB_TOP_LEFT -> (x1, y1) | GB_BOTTOM_LEFT -> (x1, y0) | GB_TOP_RIGHT -> (x0, y1) | GB_BOTTOM_RIGHT -> (x0, y0) | GB_TOP -> (x0, y1) | GB_BOTTOM -> (x0, y0) | GB_LEFT -> (x1, y0) | GB_RIGHT -> (x0, y0) | _ -> (-1, -1) end method unset_drag_action () = drag_action <- GB_DRAG_NONE end let to_grid g x = x - (x mod g) let to_grid2 g (x, y) = (to_grid g x, to_grid g y) class fix_editor ~width ~height ~packing = let info = new drag_info in let fix = GPack.fixed ~has_window:true ~width ~height ~packing () in let _ = fix#misc#realize () in let fix_window = fix#misc#window in let fix_drawing = new GDraw.drawable fix_window in object (self) inherit GObj.widget fix#as_widget val mutable grid = 1 method set_grid g = if (grid != g) then begin let pix = GDraw.pixmap ~window:fix ~width:g ~height:g ~mask:true () in let c = fix#misc#style#bg `NORMAL in pix#set_foreground (`COLOR c); pix#rectangle ~filled:true ~x:0 ~y:0 ~width:g ~height:g (); pix#set_foreground `BLACK; pix#point ~x:0 ~y:0; Gdk.Window.set_back_pixmap fix_window (`PIXMAP pix#pixmap) end; grid <- g method new_child ~name ~x ~y ~width ~height ~callback = let evb = GBin.event_box ~border_width:0 ~packing:fix#add () in let lbl = GMisc.label ~text:name ~width ~height ~packing:evb#add () in evb#misc#realize (); fix#move evb#coerce ~x ~y; self#connect_signals ~ebox:evb ~widget:lbl#coerce ~callback; () method private connect_signals ~ebox:(ebox : GBin.event_box) ~widget:(widget : widget) ~callback:cbfun = let drawing = new GDraw.drawable (ebox#misc#window) in let draw_id = ref None in let exps_id = ref None in let on_paint _ = let (width, height) = Drawable.get_size (ebox#misc#window) in begin drawing#set_foreground `BLACK; drawing#rectangle ~filled:true ~x:0 ~y:0 ~width:corner_width ~height:corner_height (); drawing#rectangle ~filled:true ~x:(width-corner_width) ~y:0 ~width:corner_width ~height:corner_height (); drawing#rectangle ~filled:true ~x:(width-corner_width) ~y:(height-corner_height) ~width:corner_width ~height:corner_height (); drawing#rectangle ~filled:true ~x:0 ~y:(height-corner_height) ~width:corner_width ~height:corner_height (); drawing#rectangle ~filled:false ~x:0 ~y:0 ~width:(width-1) ~height:(height-1) (); end in ebox#event#connect#button_press ~callback: begin fun ev -> let bx = int_of_float (GdkEvent.Button.x ev) in let by = int_of_float (GdkEvent.Button.y ev) in info#set_drag_action (ebox#misc#window) ~x:bx ~y:by; info#set_drag_offset ~x:bx ~y:by; true end; ebox#event#connect#motion_notify ~callback: begin fun ev -> info#set_drag_widget ebox#coerce; let action = info#drag_action in let (mx, my) = fix#misc#pointer in let (ox, oy) = info#drag_offset in begin match action with GB_MIDDLE -> let (nx, ny) = to_grid2 grid (mx-ox, my-oy) in fix#move ebox#coerce ~x:nx ~y:ny; if cbfun ~x:nx ~y:ny ~width:(-2) ~height:(-2) then () else (* should we undo ? *) () | GB_DRAG_NONE -> () (* do nothing *) | GB_TOP_LEFT | GB_BOTTOM_LEFT | GB_TOP_RIGHT | GB_BOTTOM_RIGHT -> let (toi_x, toi_y) = info#toimen in let (mx, my) = to_grid2 grid (mx, my) in let (lx, rx) = if mx let (lx, toi_y) = info#toimen in let my = to_grid grid my in let (ty, by) = if my let (toi_x, ty) = info#toimen in let mx = to_grid grid mx in let (lx, rx) = if mx info#unset_drag_action (); info#unset_drag_widget (); true end; exps_id := Some (ebox#event#connect#after#expose ~callback:(fun _ -> on_paint(); false)); (* draw_id := Some (ebox#misc#connect#draw ~callback:on_paint); *) () initializer fix#drag#dest_set ~actions:[`COPY] [ { target = "STRING"; flags = []; info = 0} ]; fix#drag#connect#data_received ~callback: begin fun context ~x ~y data ~info ~time -> let name = data#data in let _ = self#new_child ~name ~x ~y ~width:32 ~height:32 ~callback:(fun ~x ~y ~width ~height -> true) in (* Printf.printf "%s %d %d\n" (data#data) x y; flush stdout; *) context#finish ~success:true ~del:false ~time; end; () end (* the following is for test only *) let window1 () = let window = GWindow.window () in let _ = window#connect#destroy ~callback: GMain.quit in let fix = new fix_editor ~width:640 ~height:480 ~packing:window#add in fix#set_grid 5; let setter = fix#new_child ~name:"hello" ~x:100 ~y:200 ~width:32 ~height:32 ~callback:begin fun ~x ~y ~width ~height -> (* Printf.printf "name=%s, x=%d, y=%d, width=%d, height=%d\n" "hello" x y width height; flush stdout; *) true end in window#show (); () let main () = let _ = GMain.init () in window1 (); dnd_source_window (); GMain.main () let _ = main () (* Todo change mouse cursor resize fixed itself remove_child (drag and) drop *) lablgtk-3.1.2/examples/fixpoint.ml0000644000650106067230000000265214161276610016015 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let rec fix ~f ~eq x = let x' = f x in if eq x x' then x else fix ~f ~eq x' let eq_float x y = abs_float (x -. y) < 1e-13 let _ = let _ = GMain.init () in let top = GWindow.window ~resizable: false () in top#connect#destroy ~callback:GMain.quit; let vbox = GPack.vbox ~packing: top#add () in let label = GMisc.label ~text: "Fixed point of cos(x)" ~packing: vbox#add () in let entry = GEdit.entry ~max_length: 20 ~packing: vbox#add () in entry#set_tooltip_text "Initial value for fix-point"; let result = GEdit.entry ~max_length: 20 ~editable: false ~packing: vbox#add () in entry#connect#activate ~callback: begin fun () -> let x = try float_of_string entry#text with _ -> 0.0 in entry#set_text (string_of_float (cos x)); let res = fix ~f:cos ~eq:eq_float x in result#set_text (string_of_float res) end; top#show (); GMain.main () lablgtk-3.1.2/examples/gioredirect.ml0000644000650106067230000000530114161276610016447 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) open StdLabels (* On Windows, the channel will be set to non blocking mode. The argument given to [callback] may no be UTF-8 encoded. The redirection stops as soon as [callbacks] return [false] or an error occured *) let channel_redirector channel callback = let cout,cin = Unix.pipe () in Unix.dup2 cin channel ; let channel = GMain.Io.channel_of_descr cout in let len = 80 in let buf = Bytes.create len in GMain.Io.add_watch channel ~prio:0 ~cond:[`IN; `HUP; `ERR] ~callback: begin fun cond -> try if List.mem `IN cond then begin (* On Windows, you must use Io.read *) let len = GMain.Io.read channel ~buf ~pos:0 ~len in len >= 1 && (callback (Bytes.sub_string buf ~pos:0 ~len)) end else false with e -> callback ("Channel redirector got an exception: " ^ (Printexc.to_string e)); false end let () = let _l = GMain.init () in let w = GWindow.window ~width:300 ~height:200 () in let notebook = GPack.notebook ~packing:w#add () in let redirect channel name = let buffer = GText.buffer () in let sw = GBin.scrolled_window ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC () in let label = GMisc.label ~markup:name () in let _ = notebook#prepend_page ~tab_label:label#coerce sw#coerce in let _text = GText.view ~buffer ~editable:false ~packing:sw#add () in channel_redirector channel (fun c -> buffer#insert c; true ) in redirect Unix.stdout "Std Out"; redirect Unix.stderr "Std Error"; let _ = GMain.Timeout.add 500 (fun () -> try Pervasives.print_endline "Hello print_endline"; true with e -> prerr_endline (Printexc.to_string e); false), GMain.Timeout.add 500 (fun () -> Printf.printf "Hello printf\n%!"; true), GMain.Timeout.add 500 (fun () -> Format.printf "Hello format@."; true), GMain.Timeout.add 5000 (fun () -> Pervasives.prerr_endline "Hello prerr_endline"; true) in let _ = w#connect#destroy GMain.quit in w#show (); GMain.main () lablgtk-3.1.2/examples/giotest.ml0000644000650106067230000000264514161276610015635 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) open StdLabels module Unix = UnixLabels let l = GMain.init () let fd = Unix.stdin (* Unix.openfile "giotest.ml" [Unix.O_RDONLY] 0 *) let ch = GMain.Io.channel_of_descr fd let w = GWindow.window ~width:300 ~height:200 () let buffer = GText.buffer () let text = GText.view ~buffer ~packing:w#add () let () = prerr_endline "Input some text on "; GMain.Io.add_watch ch ~prio:0 ~cond:[`IN; `HUP; `ERR] ~callback: begin fun c -> if List.mem `IN c then begin let buf = Bytes.create 1 in (* On Windows, you must use Io.read *) let len = Glib.Io.read ch ~buf ~pos:0 ~len:1 in len = 1 && (buffer#insert (Bytes.to_string buf); true) end else if List.mem `HUP c then begin prerr_endline "got `HUP, exiting in 5s" ; GMain.Timeout.add 5000 (fun () -> GMain.quit () ; false) ; false end else assert false end ; w#connect#destroy GMain.quit; w#show (); GMain.main () lablgtk-3.1.2/examples/glade/0000755000650106067230000000000014161276610014672 5ustar glondusedlablgtk-3.1.2/examples/glade/README0000644000650106067230000000113214161276610015547 0ustar glondused============================= A text editor skeleton ============================= - the project1.ui XML file has been generated using glade - use "lablgladecc3 project1.ui > project1.ml" to automatically generated OCaml code to access the widgets - run the example with "lablgtk3 glade_demo.ml" ============================= A simple calculator ============================= - the project2.ui XML file has been generated using glade - use "lablgladecc3 project2.ui > project2.ml" to automatically generated OCaml code to access the widgets - run the example with "lablgtk3 gladecal.ml" lablgtk-3.1.2/examples/glade/dune0000644000650106067230000000101314161276610015543 0ustar glondused(executables (names glade_demo) (modules project1 glade_demo) (flags :standard -no-strict-sequence -warn-error -10) (libraries lablgtk3)) (executables (names gladecalc) (modules project2 gladecalc) (flags :standard -no-strict-sequence -warn-error -10) (libraries lablgtk3)) (rule (targets project1.ml) (deps project1.ui) (action (with-stdout-to %{targets} (run lablgladecc3 project1.ui)))) (rule (targets project2.ml) (deps project2.ui) (action (with-stdout-to %{targets} (run lablgladecc3 project2.ui)))) lablgtk-3.1.2/examples/glade/glade_demo.ml0000644000650106067230000000406314161276610017307 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* An experiment on using libglade in lablgtk *) (* lablgladecc3 project1.ui > project1.ml *) (* #use "project1.ml";; *) open Project1 let load_file f = let ic = open_in f in let n = in_channel_length ic in let s = Bytes.create n in really_input ic s 0 n; close_in ic; Bytes.to_string s class editor () = object (self) inherit window1 () method open_file () = let fileSel = GWindow.file_chooser_dialog ~action:`OPEN ~title:"Open file" ~modal:true ~type_hint:`DIALOG ~position:`CENTER () in fileSel#add_select_button_stock `OPEN `OK; fileSel#add_button_stock `CANCEL `CANCEL; (match fileSel#run () with | `OK -> (match fileSel#filename with Some fn -> self#textview1#buffer#set_text (load_file fn) | None -> ()) | `CANCEL -> () | `DELETE_EVENT -> ()) ; fileSel#destroy () initializer self#textview1#buffer#set_text "A text editor skeleton. Only File/Open and Help/About are implemented." ; self#open1#connect#activate ~callback:self#open_file; self#about1#connect#activate ~callback:(fun () -> let d = GWindow.about_dialog ~name:"Editor skeleton" ~authors:["Anonymous coward"] () in d#set_logo (GMisc.image ~file:"logo.jpg" ())#pixbuf ; d#show ()); () end let main () = let editor = new editor () in (* show bindings *) editor#window1#connect#destroy ~callback:GMain.quit; GMain.main () let _ = main () lablgtk-3.1.2/examples/glade/gladecalc.ml0000644000650106067230000000476214161276610017134 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open StdLabels (* lablgladecc3 project2.ui > project2.ml *) (* #use "project2.ml";; *) open Project2 let w1 = new window1 () let numbers = [| w1#button0; w1#button1; w1#button2; w1#button3; w1#button4; w1#button5; w1#button6; w1#button7; w1#button8; w1#button9 |] let label = w1#label1 type state = Input | Result let state = ref Result let pending = ref (fun x -> x) let insert_digit n = let prev = if !state = Result then "" else label#text in label#set_text (prev ^ string_of_int n); state := Input let get_float () = float_of_string label#text let insert_dot () = let prev = label#text in if not (String.contains prev '.') then label#set_text (prev ^ ".") let set_pending f = pending := f (get_float ()); state := Result let equals () = if !state = Input then label#set_text (string_of_float (!pending (get_float()))); state := Result let _ = w1#toplevel#connect#destroy ~callback:GMain.quit; for i = 0 to 9 do numbers.(i)#connect#clicked ~callback:(fun () -> insert_digit i) done; w1#button_dot#connect#clicked ~callback:insert_dot; List.iter ~f: begin fun (b, f) -> ignore (b#connect#clicked ~callback:(fun () -> set_pending f)) end [ w1#button_add, (+.); w1#button_sub, (-.); w1#button_mul, ( *. ); w1#button_div, (fun x y -> if y = 0. then 0. else x/.y) ]; w1#button_eq#connect#clicked ~callback:equals; w1#window1#event#connect#key_press ~callback: begin fun ev -> let key = GdkEvent.Key.string ev in if String.length key <> 1 then false else begin begin match key.[0] with | '0'..'9' -> insert_digit (int_of_string key) | '.' -> insert_dot () | '+' -> set_pending (+.) | '-' -> set_pending (-.) | '*' -> set_pending ( *. ) | '/' -> set_pending (fun x y -> if y = 0. then 0. else x/.y) | '=' -> equals () | 'q' -> GMain.Main.quit () | _ -> () end; true end end; GMain.Main.main () lablgtk-3.1.2/examples/glade/project1.ui0000644000650106067230000002246114161276610016765 0ustar glondused 600 400 True False window1 True False vertical True False True False _File True False True False _New True True False _Open... True True False _Save True True False _Save as... True True False True False _Close True True False _Edit True False True False Cut True True False Copy True True False Paste True True False Delete True True False _View True True False _Help True False True False About True False True 0 True True always always 400 300 True True True True 1 lablgtk-3.1.2/examples/glade/project2.ui0000644000650106067230000003370314161276610016767 0ustar glondused True False False False OCalculator False True False start start False False vertical True False 0 0 0 right 0.89999997615814209 0.5 False False 0 True False 4 4 4 True True False True 1 2 GTK_FILL 5 True True False True 1 2 1 2 GTK_FILL 6 True True False True 2 3 1 2 GTK_FILL * True True False True 3 4 1 2 GTK_FILL 1 True True False True 2 3 GTK_FILL 2 True True False True 1 2 2 3 GTK_FILL 3 True True False True 2 3 2 3 GTK_FILL - True True False True 3 4 2 3 GTK_FILL 0 True True False True 3 4 GTK_FILL . True True False True 1 2 3 4 GTK_FILL + True True False True 3 4 3 4 GTK_FILL 7 True True False True 9 True True False True 2 3 / True True False True 3 4 = True True False True 2 3 3 4 8 True True False True 1 2 True True 1 lablgtk-3.1.2/examples/gnome-fs-directory.png0000644000650106067230000000377414161276610020054 0ustar glondused‰PNG  IHDR00Wù‡bKGD’–{lÌ£ù±IDATxÚí™Û«WÇ?{fNNB½¤!4Q¢-”„Þ^´ "øà¡"D)ø¢þö¡ø¤OÖ&PúÔŠÅJ¡mb4ZŒ&9Òã5i´69÷“ßï7{-öeÖžßœÓ)‰ gÃoΞ={Öw]¾kí5°sì;ÇÿÝñU@?Âùƒ;)¬Ó·Ï¿Á?¯,âpa‚Mâ™'P 7676Y_¿É7¿ñ=vÍïúÚx4~öàì¹×¸ç®ûØÜ\Ç9Qœs¨š_ÂoÊù?üŽ‹/ñôS?¹|ð௼wõß‹·@34xèà¼úË“8QPUTW¹h %ÊŽ"¨‚ŸìåÈ'qàÀ½=úà — <,Þq üþü¯yëÌËÑE‰WUкFP`¯ƒ;Ýð“,¯¼Ï©“/rú­·o‡Ì_~º-€7ß|³ç^ET/YHcAQœ‚ AxM±7oN8~ì” wݽ/ÇPöµxƒè–ídÇÃ:«kŒFÖ×6Y^]e2sùÏïqê¹ ¹]hye•µµuD4ž‚ªRUUp‰1€.X Æ pæWoP×óÔuEU9*WÇ•%þVÔMƒŠÄõøð‘.ZÀvÂ9®^ùµ›ç[O|›ãÇæ7ç~ލGQT m[TC´ˆHW"»I¡*xÜ5‡‚ ­÷á9`aaq6ºti—_úÅL>¸ÿ¾»yþ…ç8~ìa®\{¯-•'” €ˆZï ¯+‹D *øÖã€ÖûìŠA¡~6W¯^ãÄS?äч¢ªwoajB§?u”kïÿ…üý¯ˆ¶A0 ~,’SÔ‡5Äk<‚÷¤ªÇ·ÁE[ Â{Ñ`•3øîwžäó?ÂÇ?H3·g[_UUšfžÓg^êrBNv!Ú¦ª"ƒjÈê‚£ª¢ZÑÔBðÎqçQGåïg´Àç?Îþ{ösaál,B «všU•2+«FwQ3ÇžäµDìšq,Íc¹TD&L±`jÀý‡ŽpùoêEŒÐµ¥ˆM+bA /Vxs†5d  D:N‰Tg;Ýè„E]Ôô”öóô´)…ö;1Š GÉŠè4O#]ý0Ù\=AûZÍ+ƘžW‚éÆ$þŸéT;m÷ tí} eïg bU €m„J¾Ÿ(Q¥7·+Åûcb,)g³àÉJ]t÷fR¹DáÊÀí’OxIa¥ ¥%m‹‰2ÈA1Wxigt!ï»2kf«ýi: .çÈ4€$Ôô<‰ä ]9ûŽ0™LhÛ6×ûA;@P‰\.ðÙ•Œ¥ç6ÜL¤#Ó0qŽö\Gs|ÌfS¿ Xëˤ2;óÿV )(VÄ‚-]Ð Ÿ-¡’×0ÀAœ\ˆ!áCfD¥p MûgCƒØàV“+ »}fÊÉK2XÌ{(ŠùiUªUD’﹬™,˜LÓªõ+¼}¶°f!Xçvbã ¨¶$O XšÞ@ Nðê vèï%%•‚V“À˜_t[Ë®;•æaJl-æj`A“Ô{~G|uU¹¬ùÊ9œ«pUÑôL¢IÖ.^x— Þ ÆÁ¥Vhîà5Ñ_|½HÖ÷eùœ·‚Úm–ˆÙ=5‹»®¯š„¥EgÏ9ǙӿµF@n–îö÷O~ÄOL·ûü>p8ìs½ ˜ëMÌ M|¸1ÅT•Ò¹­MŒëBµÝÿç«YC"ÞÜO=Æ6j¼ÚŸ›¶’žoMz œy¡ë} Qsí¾;¸[øèÒo¨&™$J Ä ´X*£U7 tÿEƒIz€ì|í=ÛÿuF©MÖ–¢cÉÁ—W½—ºörÿ›‹Þ¢¶ÙÀô>k«öõαsÜúñ_÷MËÚÛG×CIEND®B`‚lablgtk-3.1.2/examples/gnome-fs-regular.png0000644000650106067230000000340314161276610017476 0ustar glondused‰PNG  IHDR04Ì“»‘bKGDùC»¸IDATxÚÕšKoWDZCÚ4³Ð*HtEÊ¢,‚RBÃ+ÚO€Ô]Yõ#ðP%XtQ‰Hx4< ‚À’MT‰v”‡`ÄĵöÜÓ…3ž;wî±SPÒ+dß¹w|ÿó?çÌ5Àw€,„«»»ûéúõëúN`u ¹wïžè£P(È|Œb±(cccrôèQ_©õÀ{@*VܺuKDDfffÞŠ@J©†®r¹,ÅbQ¦¦¦dttÔWâ“8%R¼ƒ!"ˆHÃû*• ="“ɰyóf._¾ ðX´Ùä Mlݺu^×G¹\ ££ƒ-[¶044Dkk«S‰Ð—Û·oÏ‹àþ~abb¥™L†M›6qòä :::¬J¤æÃâºÀú~…çy58yžGww77~ÊñãÇM85ÍBsÜ&0ˆ¡ ”J%¦¦¦¸sçccc\½z•R©Ä† Ýœ:u à{`©O±Í&„â”hDh÷Úª ¶y_¡#GŽP,Q¾¡Y±¢‹={ö| ü€Jó¦žu.Ã÷D¥„¾¾>–/_N.—£Xü‡\îãããœ8qÂ߸dF…¦Ù<zl¡P ½½=Qp×ýF¬_]+³Ÿ!•JQ©T˜žžæáäÓiòù<££·8vìÀ.à`ÒÊB.Œ»‚ÏÄrTèãzÀ*¥jó"Uæñ¼Êìž* õô|ÆôtžÞÞ/éééñ·7ùš“,÷6¬`”Š*¨”ªyšŒ5Áý¶¶¶ÈS›u¶mÛ¦YEæ„å8Œ›Êxž2Œ¢´õ¾ðÕ¸(fhnnv—"Âèè(©TÊbéÏd’2Ë&Á=ÏSšð¢Á‰Ð_‰+W.ÓÞþÕtÍ67×ïѬEÄšæ½@ý{ô·õ}I9'¡íÛ¿¨eÂ$,»•±1²qÀ>veOîÞýù|ž„jT¸yóétºXDï)U½|·ûÐðÌD›W³óÕDXLö€Ý2,\kƒ‹ù“I‚5¶¬ޝº $;wîä͛׆2Ñø.Nf´`Â%¬¨X!+"ìÝ»çÏŸ%AH¸~ý:--­šûUH€*Ó(“H„I|hDÆ¥°bºg.\8ϲeËŠ^õ@ÃÆ$f€Û˜M÷€ÉLÅ&@H)¡··—R©T³Š¿Ñ,®¢Êˆ5ù…ƒÜF™6Á%ÂBû÷ —›LNd×®ýÆâÅ‹5H ±B8i™î×á\žÆLññ«N³Zsç†éêZ™ÄzpÚù\êêõBÌ^'‰³Ä¶C’zXH±k×. …£$p?Ôœ”k’³÷qµUUŽxò$!¥ô²ÕUÛç}fr1IØâRc³°ðbíÞDÃÃgYµjM2 éÖò» [ÿj«ƒ\Lb&-[IaÖWîJ !úúv“ÏOÐgwe+äìl$k KýYbbâqR"S\º4Bgç’cø–ðk•(Yæþðš(Da©¯:ÃêÕk“šhÛhòr´­´¹ßÖ¸»˜%êMkÕ!€þþ~^¾|Q³F”“ÅÑ™¹ß8؊ðÁÄ)´/Ç¡Cƒd³'×B##¿²tiFK(n&ÑÝï×6îîMBJ†ë&Sè(„Ξ=Ú5%çàýŒ$ZÛäñ¨«%¶s‹ë«yµŠpÙên)MеCg9n[÷úrpð0'CÈ/[£Ü«×*ÊÊ"ÑžXOnQ|“b"àÌ™_X»v]r°¥ñzP›ÔóvÛž’Ï!B™xß¾ýärO-Ör»}®‚ÛâŵopðkÆÇÿJnêÏŸ?GW× ë›ã(LpÙzh˸[X™Ó§fݺ“=”Ó$0†;‰¹--uŸ34rêȘœœpÔþâÌØs=Ù©WðÇ¿I†ÃÃC¬\¹Ú€L´·¹¿‘à‹Â.~}]rõ©IïeÞ…Å)€û÷ïÂÀÀ!ž<ÉZš”xú{Û¯#55… ”Íf혜œdff†±±ßgON<Òé4 eܽû'Ùl–W¯^YoÁü_¨ÎëG`Õû´Ú÷9ð>ТŸ.À!Àkà)0áŸCõè¾Hÿð€P*MZ0/dÁmŠ(€¶Cžú@eIEND®B`‚lablgtk-3.1.2/examples/goocanvas2/0000755000650106067230000000000014161276610015660 5ustar glondusedlablgtk-3.1.2/examples/goocanvas2/dune0000644000650106067230000000025514161276610016540 0ustar glondused(executables (names testgoocanvas2) (modules testgoocanvas2) (flags :standard -w -3-6-7-10-24-26-27-33-35 -no-strict-sequence) (libraries lablgtk3 lablgtk3-goocanvas2)) lablgtk-3.1.2/examples/goocanvas2/testgoocanvas2.ml0000644000650106067230000000242614161276610021160 0ustar glondused let locale = GtkMain.Main.init () let add_stuff ?pixfile canvas = let group = canvas#get_root_item in let r1 = GooCanvas.rect ~props: [`X 10. ; `Y 50. ; `WIDTH 200. ; `HEIGHT 100. ; `LINE_WIDTH 1. ; `FILL_COLOR "red"] group in let text = let font_desc = Pango.Font.from_string "Sans 14" in let props = [ `TEXT "Hello world!" ; `FONT_DESC font_desc ; `ANCHOR `NW ; `FILL_COLOR "blue" ; `X 200. ; `Y 200. ; ] in GooCanvas.text ~props group in match pixfile with | None -> () | Some file -> let pixbuf = GdkPixbuf.from_file file in let _image = GooCanvas.image ~x: 100. ~y: 100. ~pixbuf group in () let main () = let window = GWindow.window ~title:"GooCanvas example" ~width:400 ~height:400 () in let evbox = GBin.event_box ~packing:window#add () in let () = evbox#misc#set_can_focus true in let wscroll = GBin.scrolled_window ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC ~packing:evbox#add () in let canvas = GooCanvas.canvas ~packing:wscroll#add () in let pixfile = if Array.length Sys.argv > 1 then Some Sys.argv.(1) else None in add_stuff ?pixfile canvas ; ignore (window#connect#destroy (fun _ -> GMain.quit ())); window#show (); GMain.Main.main () let () = main () lablgtk-3.1.2/examples/hello.ml0000644000650106067230000000203514161276610015253 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let _ = GMain.init () let window = GWindow.window ~border_width: 10 () let button = GButton.button ~label:"Hello World" ~packing: window#add () let main () = window#event#connect#delete ~callback:(fun _ -> prerr_endline "Delete event occured"; true); window#connect#destroy ~callback:GMain.quit; button#connect#clicked ~callback:(fun () -> prerr_endline "Hello World"); button#connect#clicked ~callback:window#destroy; window#show (); GMain.main () let _ = Printexc.print main () lablgtk-3.1.2/examples/iconview.ml0000644000650106067230000001172714161276610016003 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let files = [ "gnome-fs-regular.png" ; "gnome-fs-directory.png" ] let error ?parent message = let w = GWindow.message_dialog ~message ~message_type:`ERROR ~buttons:GWindow.Buttons.close ?parent ~destroy_with_parent:true ~show:true () in w#connect#response (fun _ -> w#destroy ()) ; () let sort_func dir_c name_c (m : #GTree.model) i1 i2 = let is_dir_1 = m#get ~column:dir_c ~row:i1 in let is_dir_2 = m#get ~column:dir_c ~row:i2 in if not is_dir_1 && is_dir_2 then 1 else if is_dir_1 && not is_dir_2 then -1 else let name_1 = m#get ~column:name_c ~row:i1 in let name_2 = m#get ~column:name_c ~row:i2 in compare name_1 name_2 type data = { store : GTree.list_store ; path_c : string GTree.column ; name_c : string GTree.column ; icon_c : GdkPixbuf.pixbuf GTree.column ; dir_c : bool GTree.column ; mutable parent : string ; file_pb : GdkPixbuf.pixbuf ; folder_pb : GdkPixbuf.pixbuf ; } let create_store file_pb folder_pb parent = let columns = new GTree.column_list in let path_c = columns#add Gobject.Data.string in let name_c = columns#add Gobject.Data.string in let icon_c = columns#add (Gobject.Data.gobject_by_name "GdkPixbuf") in let dir_c = columns#add Gobject.Data.boolean in let store = GTree.list_store columns in store#set_sort_func 0 (sort_func dir_c name_c) ; store#set_sort_column_id 0 `ASCENDING ; { store = store ; path_c = path_c ; name_c = name_c ; icon_c = icon_c ; dir_c = dir_c ; parent = parent ; file_pb = file_pb ; folder_pb = folder_pb } let fill_store d = d.store#clear () ; Array.iter (fun name -> if name.[0] <> '.' then begin let path = Filename.concat d.parent name in let is_dir = (Unix.stat path).Unix.st_kind = Unix.S_DIR in let display_name = Glib.Convert.filename_to_utf8 name in let row = d.store#append () in d.store#set ~row ~column:d.path_c path ; d.store#set ~row ~column:d.name_c display_name ; d.store#set ~row ~column:d.dir_c is_dir ; d.store#set ~row ~column:d.icon_c (if is_dir then d.folder_pb else d.file_pb) end) (Sys.readdir d.parent) let refill_store view d = view#set_model None ; fill_store d ; view#set_model (Some (d.store :> GTree.model)) let up_clicked button view d () = d.parent <- Filename.dirname d.parent ; refill_store view d ; button#misc#set_sensitive (d.parent <> "/") let home_dir = match Glib.get_home_dir () with | None -> exit 2 | Some s -> s let home_clicked button view d () = d.parent <- home_dir ; refill_store view d ; button#misc#set_sensitive true let item_activated button view d path = let row = d.store#get_iter path in let name = d.store#get ~row ~column:d.path_c in Printf.eprintf "tree_path = %s path = %s\n%!" (GTree.Path.to_string path) name ; let is_dir = d.store#get ~row ~column:d.dir_c in if is_dir then begin let path = d.store#get ~row ~column:d.path_c in d.parent <- path ; refill_store view d ; button#misc#set_sensitive true end let do_iconview window = match try List.map GdkPixbuf.from_file files with exn -> error ~parent:window (Printexc.to_string exn) ; [] with | [ file_pb ; folder_pb ] -> let vbox = GPack.vbox ~packing:window#add () in let toolbar = GButton.toolbar ~packing:vbox#pack () in let up_button = GButton.tool_button ~stock:`GO_UP ~packing:toolbar#insert () in up_button#set_is_important true ; up_button#misc#set_sensitive false ; let home_button = GButton.tool_button ~stock:`HOME ~packing:toolbar#insert () in home_button#set_is_important true ; let sw = GBin.scrolled_window ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC ~shadow_type:`ETCHED_IN ~packing:(vbox#pack ~expand:true) () in let data = create_store file_pb folder_pb "/" in fill_store data ; let iv = GTree.icon_view ~model:data.store ~selection_mode:`MULTIPLE ~packing:sw#add () in iv#set_text_column data.name_c ; iv#set_pixbuf_column data.icon_c ; up_button#connect#clicked (up_clicked up_button iv data) ; home_button#connect#clicked (home_clicked up_button iv data) ; iv#connect#item_activated (item_activated up_button iv data) ; iv#misc#grab_focus () | _ -> () let main = GMain.init (); let w = GWindow.window ~title:"GtkIconView demo" ~width:650 ~height:400 () in w#connect#destroy GMain.quit ; do_iconview w ; w#show () ; GMain.main () lablgtk-3.1.2/examples/image.ml0000644000650106067230000000612614161276610015237 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open Gdk (* load image *) let load_image file = print_endline "Load as string"; let buf = Bytes.create (256*256*3) in let ic = open_in_bin file in really_input ic buf 0 (256*256*3); close_in ic; buf (* This doesn't work in OCaml 4.05 *) let (.![]) = Bytes.get let rgb_at buf x y = let offset = (y * 256 + x) * 3 in (int_of_char (buf.![offset ]), int_of_char (buf.![offset+1]), int_of_char (buf.![offset+2])) let create_region = Gpointer.region_of_bytes (* alternate approach: map the file *) (* Requires bigarray.cma, but needed for Rgb.draw_image *) (* let load_image file = print_endline "Map file to bigarray"; let fd = Unix.openfile file [Unix.O_RDONLY] 0 in let arr = Bigarray.Array1.map_file fd Bigarray.int8_unsigned Bigarray.c_layout false (256*256*3) in Unix.close fd; arr let rgb_at buf x y = let offset = (y * 256 + x) * 3 in (buf.{offset}, buf.{offset+1}, buf.{offset+2}) let create_region = Gpointer.region_of_bigarray *) let use_rgb = ref false let file = ref "image256x256.rgb" let () = Arg.parse ["-rgb", Arg.Set use_rgb, " use Gdk.Rgb.draw_image"; "-image", Arg.Clear use_rgb, "use Gdk.Image.draw_image" ] (fun f -> file := f) (Sys.argv.(0) ^ " <256x256 rgb file> (edit for using Bigarray)") (* Choose a visual appropriate for RGB *) let () = Gdk.Rgb.init (); GtkBase.Widget.set_default_visual (Gdk.Rgb.get_visual ()); GtkBase.Widget.set_default_colormap (Gdk.Rgb.get_cmap ()) (* We need show: true because of the need of visual *) let window = GWindow.window ~show:true ~width: 256 ~height: 256 () let visual = window#misc#visual let color_create = Truecolor.color_creator visual let w = window#misc#window let drawing = new GDraw.drawable w let display = let buf = load_image !file in if not !use_rgb then begin print_endline "Using Gdk.Image"; let image = Image.create ~kind: `FASTEST ~visual: visual ~width: 256 ~height: 256 in for x = 0 to 255 do for y = 0 to 255 do let r,g,b = rgb_at buf x y in Image.put_pixel image ~x: x ~y: y ~pixel: (color_create ~red: (r * 256) ~green: (g * 256) ~blue: (b * 256)) done done; fun () -> drawing#put_image image ~x:0 ~y:0 end else begin print_endline "Using Gdk.Rgb"; let reg = create_region buf in fun () -> drawing#put_rgb_data reg ~width:256 ~height:256 end let () = flush stdout; (* Bind callbacks *) window#connect#destroy ~callback:GMain.quit; window#event#connect#after#expose ~callback: begin fun _ -> display (); false end; window#show (); GMain.main () lablgtk-3.1.2/examples/image256x256.rgb0000644000650106067230000060000014161276610016252 0ustar glondused”·â•ºÝ›±Ï“­ÐŸÒŸ¤ÃŸ¦Î¤¦Ûª¤ÎªªÚ¯ž×¤•С™Ô±¬â­©Þ®§çž®Ðš¶É”¸Ë¡¶¼¥®Å¢³Ó ´Îª½Æ¨¼Ó¬·Ó¶´ÏµÀÆ´°¼¬¾À·³ÄÄö¾½ÂÇÀ¼¿½·ÆÄ¹ÑÆÁÂÏ·ÃÌÅÍÉÙ¼ÍÓ¿ÊÁÆÏÇÄãÍÕßÏØÕÍÎÜÌÇãÑÑâÙÔ×ÚÈâÈÔÜÄÌØÈÒÒÇÍ×ÃÅÛÁÍáÇËàÊËêËÚð½×ïÅáíËÞõ¼ñø¿âã·Úæ¾ÜÙÈáâÅÜÙÃÖ×®Ö̳ÞȱØÉ·ÍÔ²ÑØ«ÑÑ¡ÎÍŽÒÜ—ÔØŒàÍ‘ÖÊϼƒÉ¼ˆÎ¼ˆÝÁÔËzãÇwØÉ€ÚÆ{âÎçÓ‰Ý×…áׂÖÜÓÞŠÙÔ“ØØŒÓØ‚Îá†ÎÒ|ÛàsÓÛzÞ×ráÙyàÔs×ÜiרgäÆkåÑoÜÏ_áÍdàÈR߸C׸?Ö´GÙ°WÚ°Kç¸EÚ·YÜÊ]ÞÂOÕ¿;Ù½@ÞÃHâË9íÇ<éË@ðÇ8éÉAè´@æ·AòÌ9ÝÄ7é´@ܲ?Þ½Eä¯CÙ²RάLЯPÒ¡RЩ]̨RÀ¿UÀ²XÉ©FÌ´JϱPŹFËÁJÄ¿FÆÄQȼDÒ°OÔ­DدHÒ³PѵPɶYÐÄ^Ë¿WÙ¬PΞ[ѧWتOˬWͨY͘ZÎdØ£ZÌ·XÁ°EŹPε\Ï®N½»T½³Y´ÃY¶¸N¹¶D°³S±¨Y«¨Mª¬U¦¬[§®@ª®T ¯M¥¢M£žZ œG¬‘E£‘K¥Y¢ŒK·[¨…S¦—EžN§`¡–R˜XŸƒ[‘†Qš‚Sš‘R™‡U§€W©€Tœ‡J¢~Qœ~C–tO”iL•rS”tN©lPªoJ¢zT¯pB¥qIž[M lC«gC¤lD±cC³YTÁSI¸OQ´IBÀIE»ZK»OE¸QH°WU¬TK«QG¹VK®TGºV?¬MD¶Z[¾MGÂUK»ZK²QO½NX¸JZÁHP³KV½J[¼ESÀF]Ä@WÆ;VÆ;\·àš´Ù—«Ò”¬Õ™ Î£¥Ê¥±Ë¡­Ø¤«Ñª«Ù¬¤Ò¦›Ñ¯šÝ¬ ×«¦×¦§Û›«Êž¸Å—®Æ ²À§¾Èª¹Î±¾ÅªÀÆ£ÆË¨Á͸¹Ç½¼½¾·¸®²¼½µ»½Â²¼È³ÄÄÀÍ·ÂÌ»ÀǽÀÂË¿ÁÀÃÁÃÑÌÐÍÅÐÉÈÞËËÞÀÓßËÐØÌÇäοáÔÄÕÖÒÚÑÍÐÎÑÓËËÑËÐÑÒÆÖÇÄØËÓÙÄÑÞÊÙèÉÛò½á÷ÃÛîÄãö½ëõ¶èé´ÚáÁåݸáá¾ÜØ»ÞׯÓË³ÒÆ¸ÊɳÏѰÍÈ£ÇÍÆÖ™È×ÎÆ–ÙŌԕÌÅÐʖϾÌÈŠÚσäÉ~ÝÆxÝÆzè׃ãÖ~ßà…ÙÜÙ߈ÑÛŒÑËŽÎבÏ×…ÎÕxÓØyÙÏÙÔzÞØnßÚmÔânÙØmÙÑfèÓpÚÕmÝÉjèÂ_ã¾Oç·Oä¹IزUÓ¯VÙºQâ»Kß½MÖÈVÓÁP×À@àÁ>ä¾=ðÀ;ñÌEîÒ8íÌ4êË@ïºDêÀCëÄ4íÄ9ÝÀ8ܹ?æ´BÝ«RݧPѲIË®SØ®QÔ¤\ϵQõUϯLÏ«PβDĵDƶ?ηHÒ±RɺKDZRÏ·K̼GЯHÒ¶HÌ®V׿\ÖÀRÛ±XѨUП[Æ OÀ¤YɬTÒSÖŸSÛ§PÕ®ZÔ´WƱIʺLβZÉ»bÅ´Z»¸^±¹U¹ªHº¬D±ªAª¨I±­U°®Q­©Q œG¨¡Q¦¤J¤—G˜N£‹O¦‹Q£ŽO ŠP°„W®ŒQ¬™Y¦•O¨’N¦”\š–Z›”P R™€SœY›ƒU¢€X¥‡R›zL zW¤x\¡PœqYšmR›oP›rS©oN©lIŸvG¦oLŸaW™]T¨fL©jD³n=¶bD²\C»^I´OR½HJ¸HH¿RFÆJG¼EV²SI«XH©TL´LO¾MBºU9ÀU@·VO¿MAÄUAÃVI·ML¼LV³H\³GZ·PTÂKZ¼IUÈMTÈ@Y½ARº9V“°Ù¤ºÙ‘«Õ‹©×™ÐŸ¤ÍŸ¦Ñ®´Õ²¦Î¨¤Ð´¤Ô£¥Ï«£Ø©«Ø±¢Û¯¨Ð¬¹Ô¢·É¢»Å«³Ã›ºÁ¡·Ð¦ÂÌ©ÄĨ½À©ÉϰÈɶ»¸³¼¸½º³³¼°¶Ã²¼Â¸¸Î»ËÇÿĺÏÅÄÃÎÁÂÀËÈÇÐÒÃÈÌÌÄÔ×¾ÇÑÀÓÛÌÊ×ÔÃÏÑ¿ÙÑÀàÓÊÙÎ×ÒÊÔÖÎÍÚÎÑÔÜÈÐÉÁÓÓÔÕÔ×èÈàæÍáêÉßô»ÚóÂÞî¶êõµçñ¸åëÅÚé´àáÀáݳÛÛ©äÙ«ÒÇ´Ôη×ĹÉ΢ÐÅžÓÑ”ØÎ“ÏÑ•àЌԊÒÂˆÓÆ‚ÔÀ‡ÙÄ‚ßÈzÞÉ|äÌnÛØwíàuèÚuÕêzÜâ†ßÒ†×уÑבÙÓ‰ÏΊÓ͇ÓÖƒÜÔsåÚ€ßÏzÚÞjàÐqæâ}êÛlèÏuéÊqÝÈ[áÅ^àÊLÞÄIÞÂLÕ¿Tà­RÔ»RæÉXØ¿X×ÄIãÀFåÃJåÁJíÈIíËD÷ÉHõÈ:ëÕ9ôÂ9ö¿Fä½7îÇ7á·2áÆ?ç¾FæªKàªWÞ TÒ­VÒ­LΞ]Ö^Ò¨Pö^Á§O̳T϶KÏ´MʼBѼIÖ»Kʱ?̯JÕ¯?Ë­FÚ¨Kׯ?Ú¦BÜ´NݲSß°K΢IÏ¥NͪNÆ®OÒ¯JÕ¦LÙ¨IÍ­NѱRŶT·RÄ´O¾º^ǺSÁ²Zµ»Q¯²O·©@¿¡G¼¯9°¤?¨ª<²­F¯¥A² E«–B¢ E®•@¨šQ¨‰R‹N©•G¡‘K¥‡Q®’P°ŠD­N¨K¥X™ŒU —N›“Y—Š^ ‰`£_ Xœ†\ŸYœ‡Z£ƒM“zV™}UœwZ˜iM’jR¢lU dJ qV¡kP£]L“W_£`W iLª\M´YT³\O´PQ²RSÂJJ¹DEÂGD·MT·EI²FU¦[O¤GR­BN±MHºJCºZ<°_CÄ]<ÊNBÇKEÁTK¿O[¶N\ÃLMÂGOÃGPÃDWÇJLË:YÄ8Pº4\˜²Þ³Ý™²Ô’¢ÐšªÙ¡ Ûª¯Ý­±Øµ©Ì³£Ð·«Ñ®¦Ó¶¥Ù´©Ô±ºÈ±¹Ë®¸É±¶Å¨¯Í¦¹Ë¶ÏžÁÅ¡ºÆ¢»Ä¬ÂÄ§ÇÆ«Ì»¸¿¶½»¼½¾³º½³´Â³µÌ¹»ÈµÂÑÀ¿Ì¹ÍÀ·ÎĹϼÁÓÅÍ×ÅÍÔËÌÒÍÃÍÈÄËÃÔÂÌÖÄËÖÅÛ×ÌÙÏÎÝÑÐÙÌÉÑÏÍÚÛÁ××ÍÐËÈÒÍÍ×ÔÛçÍÖðÂÝéÃáîÁáñ·Úì·áëµìè¾ìè½ãæ¸ãÛ´ÞÔµáÛ¯ÝÔªÜϯØÈµÖưÎÀ´ÒȨá̦ÞÄ’Ý΋×Ê‹ÏÏ’ÐËŠÖÅ…ÕÇÐÒsØÒpæØqä×tåÑtá×vßäuÙâuÕÚnßÕwÒÚÔцÒÌ‹àÌ€äׂÜÑ€åÐàÓwæÍ{âÕvâÝ|ìÚ{ïßyéÛoÞÜbâÔYêË\àÅWá¿TÛÀUݶSÞ»NÜÃHÞÆS×ÉVÚÁIáÂPê¹EåÆ@ëÆHõÈN÷ÅBíËHòÐCêÓ?íÆCéÊ=å¼9æ¹5ã»Bæ°IÞ®NÔ«\Ó¤YÚ \Ó§UÌ®YΣQÒ¡^ɪ]ά_ëXŲPÉ·Jз@кDÖ³HÒ¸DÌ­>̬AÍ®:׫AÓ­7ݦ;ÚµGÙ³JÜ®RØ­IϬRÇ­RÒ«JÕ²HÒ²SÔ¨NЫKÖ«MѸWÄ·P¼ÃV¼ÄY·ÇO¾¾PĽN¸µF³­<³¡?­©:·¦9·¡:±ž=µ˜Aº¢7µ“6¯’9´“B§ŠH¢ŠG ŒE§‡> ’E¦”Iª”@¦’=¬C¡”Qž”X’ŒW”“W•T™„_¤Ž]¤‘b£‹dž‹W£ˆO ‰OžŠS“zP–ƒP“zQ”sS—jJsS“lV›hWœ\Y—b\›WY•SY]R¨RT¯RU®PT´MM¶KN½DJ½GMÄFL¶MN®HF¥KOªMU¯DG§EI¤GG®NCµMI·Y=´S@¾QD¼QNÉTUÅNZÅSUÀTXÀCJÀ>IÉCPÊIYÊAQÁ4\¿.Xž·Û ¶à’³à—ªÎ¡¤Ö¥¦Ó¢²Ô±¦Ó¯©Õ©°Í¢­Ô©®Õ¥£Ó§¦Õ«±Ì¯¸Ã¯»Å°ÀǬ»Ä¥®¿¦¶½¬À¾¥´É¨º½¡½Â¬Éƶ¾½ÄË®¼º­ºÊ¶»Ã´µ¿²¾¸°¹Æ·¿Ê¬¼Ë¶ÄȮøÓü˾ÇÔÏÌÜÅÅÊÊÂÃÃÆÇÐÊÏÆÒËËÒÊÏØÂØÌËÖÒÐÛÒÀÛËÊÐÐÂÈÕÎÚÑÎÞÃÏÛÌÞâÌÏçÊÙèËØñ¿ãï®ãò³àë½äá¿Þí¿ßß·äÙ±ßÙµéβÝÒ³ê̲ÞÄ­ÒÍ­ÑËŸÙÍ¥ØÆŸÙÄ’Þ•ÐÒ‹ÜÓˆÍÐÖÆ‰ÑÊ}ÍÖÜàqÕßtÞÙsèà|àä|åÙtÝè}àár×âvÑÚ}Ú×~ÓÔƒàÖÞÓ}ÜàˆÔÖ}â×qá×oßÓpíâ{èãzêáwïÛlçÓaÜÖaÚÓWÒÊdÞÃ`Ó¾_áÅRãºKÖ·Kæ·UÛµGéÇGæ´Hã¹Iä¿CãÂLîÃIéÊEçÉMíÑCéÂ@èÈJí½AÝÅDâÁ<ç±JåºBÚ©DÖ²OÚ­PÞ¬[Þ«OϦSɱQ̰Z¿¨gÀ§UDzYDzRɲKʹPÑ¿?×·?ر7ϸ?Á¡@Í¥?Í«AÕž@Ôª4Õ­Iß­HÖ·CÌ´LͦQÆ®[ȪVƪFМGʧIÓžAͨHõM¿¸KÀ¶NɳMŶQ»ÄBÁ·?²µB¬­=ª¨<² ;µ£2°¤<¢:¼¥=¼A³œ;§—F°C³–N ‡L©•Dž‹E¡ŠF«–;´‘5©’G¦—O¥˜K—U””W—“R’`—ƒ[˜_ž‘b“]š™Mœ†WŸŠT‘ˆU‘yWtMyP¡rKœmN£aR¡^Q–fV `YšZW”Z]¤]Q©cL¨TU´QL·MW°QT³OF²OS³UK¿OX¼ET°JU¸HZ®JW´FY¬NÁ=FÍ:TÁBTÌ;ZÁ6[Ê4Y‘Âט¼Þ±ä˜¦Û—«ßš°Ö¢´Õ£©Û¡µÙ¢µÒ£´Ï¥¨Ë«³Ñ¡°Ó¬¸Ó·¼Ç¯·Ä¡¼Ì›²È´Ä©±¿¨¿¹°·º©³Æ³¼º«Æµ»Å­Ãȱ»Ê«¼Æ«½ºµ³¸¶¼Á²´½³Ä®ȿ¬¾Ê±ÄÆ·Áº¹É¾ÌÖÊÒ×ÐÆËØ¿ÉÎÄØÐÅÕÅÎÕÆØÌÌÑÍÐØÆÙÏÄÞÆÇÕÂÑÌÅÐÊÕÌ×ÎÃÜÀÔß¾ÔàÌÙëÏÒíÉÜî¹Úã±âç¸Ýíµåä´àã¸êá¬èß«ïÖªéÌ«àѧçÏ©äÊ¨ÙÆ›ÚĘçË¡àÏ àÉ‘ãÎ’ÙÍ”ÓÔ›ÏË‘ÏÑÓÒƒÒáƒÕÞÛæ‡ÞÜØá€ÚázÞßpßìv×ëwÙÝ…Üá‡ÓÕ~Õ×€ÒÕ{ÔÛˆÖç‡ÜîyÖç{å邿àxàäyàÞyçãyïÚqìÕnßÔlÔÈdѾcÕ¶hÔ»^Û»XÖ»SÙ¾XܱLä²Jë¿Lì´Eå¹HàºMâÌMäËQçÏIñÏPìÑHäÄMìÃAæÁ>ãÂAàÄMà¸Hå­LÙ­?à´RÕ¯XÓ®UÙ¬VÛ¦cÍ®_˹`Áµc̳`ѨKʪDиIÔ·DǵIʳIж:³C¢JÅ¡RÒ£IÕ¦Eʨ=ʬLÖ¯QѪCÆ®FÆ­DѧRÄ¥IÄŸLÄ™Kš<̧CÆ­;êAɯ9ʨ7ƲF¾·MþEÀº?¶µ4º°3±§1±Ÿ7±œ.·‘/—2´Ÿ<¶:±š=°ŒF¯•J´•D¤š:¤<¦“?£Š?¦ˆ3®…6µ…Eª‘I©˜GŽN–”X™ŒU•„P›ˆZ“Y‘ƒSKŠ•OŽ”F›M–„L‘zY’yZyUžoWŸeW¤ZRŸ]MšiF”dI™TR™Q[›RZ¦XP®^LªXM§[TµTJ±MS²UR¯\XµYW±Mb½H\¸O^µMW°?\­?R´CM¹EG¸DD¸OH¾QW´JW±PO·KWÆHNÈLNÌHH¾FSÇJWÇ@OÁ1`¼/`Â6UÌ,P’Æá•È࠿ך¸Ù¡¸Ú™´ä¥²Ï¡©Ú©³Î¢¼Ò›³Íž¨Ï¡¯Ð¬´Ï¦½Ç®À˧ºÊ°¿£µ¹ µ¼¼½©¾½ª»Å³¯»°Æ²¬À¸À¿©»¿´Ã¿®¿À©¯¼±ªµ©³Ä¤¹Ã©¶»ªÈ̹¯¿½§Ì¿²Æ½¼ÖÉÊÜÐÅÏÓÆÎϹÏÅÃÞÎÃËÌÈÉÍÎÇÌÉÅÇÏÉÈÓÓÒ¿ÇØÌÒÐÍÒØÍÇÏÄÔÙÇÚÖÉÛãÀÙâÀÕÙÂØà½×è¾ßë½êݵÝÒ¹äÛ´ëà®éÓªäİìɱèȲáѧéÁ™àÈ£îǘåÖžæÖ޿דÓÒÐÓ“ÉÑ‹ÔË‹ÒØäÝŠçÚ…Ýׂêçƒçâyëç{äéäæuäã|ÙÛ‚Þâ~ÍÞz×ã‰ÑáwÐÝ„Õå}ÒæwÕçsÛêuãåxâàpÜæsÞÖnîÕjç×màÎfáÑ_˾cÔ¼eÙ·^ܳ`Ô³Qã¶QܶNæµTåÁRè½Uõ½FëÁJêÒLðÉKòÖTòÌAáËLãÈDèÄJéÆHãÄ@àÇKÞ´Kè²Hâ´CÖªIݰPصTß­V͵ZÉ©dͶ`Ĺ`̳^˦SħTβN³NÀ©JÊ®D̸EÁ¢HÆŸ>É«>É«Lϧ@¾ @ЫAÖ«DÔ·HϸOÊ­@Ò£KÍ¡D˨EÇ–9Ä›7Ǫ?­8Á¥>Dz1ǵ:Á´;º¼Cº¹>Á²@²¾,µµ5·´'·¤/Ã4¼›8 /µ—,´˜3°œA¶ˆEº”K¹š;µ—E¦”9¨‰B¥‡;¤ƒ>²„7¨;¯‘Qª‰E™P¥’W£ŠV™ƒT™‹V‡V”|Yˆ‘X‡ŽW‘Y’‰L—Y˜wbšt\’uS•jW§mW•eT¢dSXU™cA‘aF›SH¥VV¨JM£LM³WN¯XNµK\µJKªRU¨WN»_T±]O¸LY·GVµSK½JP±HD·AH¼?E·@H¯MV°JO»TR¿JYºFN·GYËKVÇ?WÂ:ZÇFNÊ@\Ì>ZÍ/ZÉ4TÑ4QÄÞÂã»éž¿ã«ÄÚ©¾à©¬Ö§ªÍ§¦Ô ²Öž©Ó£°Ó¤­Êª³Â­®Â¬´Ã¡µÄ¤±¶¨«¼©³»«¾Å¥ÁÀ©Å´­»´®½¹¸È­·Å§ºÄª±Ì¢²Êž´¼š²½§³Ä¡°¼¡ºÃŸÁ¾§¿½­Ç¿¦Æ½®Ð¾¸ÍdzÙʾÏÑÀÕϸÐËÁÖÉÈÙÒÅÎÉÉÑÈÕÒÃÐËÍÌÔÎÉÙÑËÒÏÏÍÑÅËÓÈÑÛÀØÜÃÞã¸Ùà½àØÀÚÖÁáâ¶ßÞºáÓ½éÒºìÓ±ìÑ®èÔ®ìǦöÊ®ðÒ®õΩíÉ¡öâðÍ’öË™î×™ãÏ™ØÒŽÎËÓÕÜØ™ÛÝ“ìçíáçè‡ìâ€ðå|ôäƒèáéè~àézÝßyÕØ}Îà‡Çë‚Íå€Ïæ|Øëzæå}åàoâèqìãsíápáßoéÜgêÍiâËfãÄZßÏUÖÊ_ÜÂbÔ¿]Û½\ÞºXå»ZßÁRê·[ð·Xí¼Q÷¾QóÉNîÍWêÈTôÐQåÚAçÓBåÑDðÌLïÏLíÍHç¿?êÁDݹ<à¯?å²<æ°Dè·NÝ·Yà¶YÓ§`ʲcƬa̵R­QůLƲGÍ©DÊ©F¼²K»©D½¨9»¢;º­D§CÈ¥DÀ¨@Å¥AϱFг>Ò´FÑ·BÈ©Cë>Ǥ5ʦ8Äž<º¦@¼®7©5Ç­7õ,¿®0¸¸5¸°6º¯.²¹-¶µ/¼°+¹ª/Åœ,¾Ÿ'Û2¿ 6¸˜2°˜A·B¼•=¹’>¬”5¯Š;«6¨‹B©…Bµ†A´ŒE´H°G¨šR¢™R¥‘N¡HŸ‰N™‚R†Z„ŠSˆW•b™[Ÿ‘U™…Y”{\“zWŸnNhTi[•_T’`G—\I›]G™VF›SG§MR¬P\³K[¯EX¬I\¯DV¦HS°M`µZ[½RM³[J­NPµINµLD¾AF²@E³BOµ=O¬>Z¨L^²L[±DX½JQºNTÃHUÁ@P¼>ZÃE`ÆC`È=^Ï4ZÊ)`Î+[¹å”ÃÐ’¸Øž´â™¹ß«·Ð§­Í­¬Õ©­Íœ®Î™·Ú¦¬Ï«Î£¯Í¡²É´µÄ¬­º©¸½¥¬Ä©»µ ¿Àž¶²§²® »´±Ã±±Ä³³¼¦¼½«´Ä¤²Á™¨½¤«¿¦¨Á­²Á¡¿Ä£¼¾£º³¶Î·®Å»»Ò¾ÂÕ»»ÚÉÀÐȾÝЭÓÌÀÛÁÈÑÆ»ËÀÈÕÊÊÍпÊп×ÙÁÑÏÎÈ×ÎÒÊÉÁÙÄÅÙ¸Ñ߸Ëå½Ûà¸Ýá¼ÔàÈÕÖµÔî¶àÙµëÉ»äÍ·ïÌ«åϰîÍ«òѦ÷θëË®ñÉŸðÆ™÷À˜éÏ™çÜŒÞÐŽÖÒÞ͈ÑÕ‡ÖÌ„ÞÜ…ÞÒ‹êÞ€àÚwæè{äê†ñî†ææ|ÞÙ„ÛÙxåæˆÜÜ‚Íæ…×é‡Çâ†Ùè{Óò{Þéx×ãvÞâjîáiéånÙÛiÛØeߨoæËkßÊ]ÖÒ[ÚÅgÛÈcѶW×¼WÕ»`ã¶Ué¾Rì¾NéµTì¾UðÁMúÇ^ïÐ`öÆSïÑMìÆBóËKóÍ@îÎCôÉEë¿Gç¾Må¸EÞÃ@ܳ>ä°Háµ<Ù®EÙº\Ó±`Ô­YÔ«^È¥eÉ¡aÁ SƦQ»·C¬HÇžG½«G°£<·¡D¿?¾¤9­C¾¬H»¤E»­<ŪJŬ>ų=Ê©KȬC¯A¸¢2¾ <Ç™6¾¥5Ŷ5Á±:Ť8˧1È­2½¤:¯§9´«0³´*÷$¸¸&¹¤.š)É£1Ê™8»Ÿ=·–<¿œD¹šH­‹@ªŽC«‚>¯„H¢‚9«Š>«‰I¯}F®‘H³ŽL¤–F­›UšP¢‹N’U™„HR‹…\’Q†O“Y“‡\š€e“dœ}WœpUnb¨t_›o_œZX—[[˜`P›UI™PI¤KQ¦HZ¦U_¬Dd¨JY¦IS¦U`£UU¦W^©S[³YV°XH¯\F¨HJ¯CC¶@@°:H·?L±@PµJS­EO¯KYµH_³ATÄB]ºLZÀDZ³>VÄ:ZÀB\Ð1UÇ3SÑ(SÏ2Y¯Ò•¹Í’·ÝŸµÞ¥±àŸ¯Ñ¢¯Ø£´Ö¨«Øœ«Ô¦±Ð¥­Ñ¡³É¦»Ê¨·Ñ«´È¦½Á¡´È›²·¤¼·Ÿ·»¦°³¡½µ¤º¨«¶²¨²­¶»«½Ä¯½¾ž·¹ž³Áª§º¤©¼±µ¼²¶Ä¯²º­Á¾ºË°»Ï²ÈÒ½ÄÌǺӿ³ÛÁ«ÓɲÊǯҺ¼Ô¼ÊÇ»Ñ̳ØÐ¼ÒÒÉÊÔÄÅÏËÎÔÈÌØÆÈÒºÏÔ¶Ìã»Èß®Ñ×®Ëá¹ÐÚ¾Ûç¶Øí¾ÛÚ·ßаÜÖ©èÕ­äͲäÒ§äØ©ôÔ´ïÕ¤ñÊ¥íÌ¢ðÄåÄ“åÒ‰âÐ’âĉàÅ„à×âÖw×É}ãÊzâÖwäÜ|àÝzá߃âì}åÝ|äÚß߆ÛâŠÑà~Ðá{Îè…Ñð†àôˆÝê„ÞïzÚãréäxæäpÞäsâÓqáÔpÛÙjÝÞ\ÖÓ^ÐÍdÎË]ËÃ`×½WѵSؽ`á²]ïµ[ï­Xð²Mý·MøºOó½YðÁaðÉYãÌDçÔHñËBðÎCïÎHäÍKê»Páµ@æ¼=è·7ã½=Þ¸Dä¬CÙ­QÒ¯Uί^×¹_Ô³l˦hΪ`Ǥ^¸©O·®L¹¨H· N¸ C¯©C¶ H¾¡?´§Bº«E¹®B¼£B¿±DůE»°F·¤>³­<½¦IÀ®9·¦7¹«=Â¥A¸±7¿¬9½¤.Á«1¿ª8Ħ-½§6µ¨6º£2À¨5ʪ$ð"ɨ+¾§5»ž2Å6Í–2Ę=¸–9³’>¨‘5§‹;¦†E£‚D ‹F¦…?¯~C³…C±…N¨O¬•Z¥—S“Y‘•V—ƒS”~GŽT—ŒX—’V•–QŒ†[„[Žz[‡wa—pbžtaq`¡wa¨wfŸf^¦bW£gQ™V\šS[œQ^®SX¬Qe«Id©K_žS[¥][°ZW©a]¬Z[¬^U·XQ°ZF¦UE­HI¤FB¥=E²BL³;S²DL¹DK³LS±MX·BZ½FQ¿DT»4X¹5Rº?[Ç9`É.fÁ0\È-^É*Z–¼Í•·Ô¦ªÕ¡­Ù›¦Ó¡±Ë¤±ÓŸ²Ù£°Ñ”±ËŸ±Ïœ³¿£±Æ§¼Í¬³Ç¯ÂË­¾Ð§ÂÕ£³Ë£½·¦¹´¨±· µ±£¾³¥¼¥º¤®µ¤²·¤·Á¶¾©¶º§§Â𬴢½²¥¶°¶½¹³Áµ»Æ±¿É½Åʶ¿Ë²¶Ö¸°Ð¾°Î¸ѹ®Ó°ÃÚ¶³Ì»ÀÊÅÃÇÆºÎÖ¿ÐÑÉÌßËÑâÍËÖÅÍáÂÑÛµÏá¼ÑÖ·ÌÜ®ÍÏ®ÞÓ¿Ùç±ÙêºãéµçÜ¨âØ§ÜÒ«àÙ­ëݯãÎ¥èØ²ôÕ¤äΠçÒŸíΣéÁêÆ‹èÅæ¾†ÝÉæËzÜËwÜÅtæÓ|ØØtÛÜxäÝsàààâ‚äà…äÙ†×á‚ÑàwßáxÌéÓç×éwâå}æðˆêáæÜläâpêßjáãpÞÛlÖÓhÙàjÚÏdÒÑYÑÌhÉËZÖÏeØÁ[æ½Và±að»_ø½U÷´Rè»Uù»V÷ÃRù¼OïÆ[éÁTáÎ?åÌ<èÑ>éÎDáÐGçÄ>æ¿Bâ»FÛ¶BêºEܼ?ë´Dá®B׫DÙ«SÓ¹OØÄXϬ`ħjÍ«fÇ£bÀ¦Z³¢L´©Qª•W©§Dª¦L¬›A°¢D½©G¼«KÁ¨M¡<ű<Ç©7µ­G°§<À£I·¬O½§?®°6¸¨1´¦B´Ÿ2â4½¥.¾«2²§0±³-·±:°«:¯«:µŸ3¼¨1Ç£ Ä­&¿¤5Ä•1–?½CÇA¼’Bº‹=²‘A¡‘2¬ƒB©ŠE©‰I«‡G°‹?­‰?¨„G­’T¤—L›”QQŒNމV~G’ŠL‹‰WP•S”‹IŽMŒy[‘€[Št^£rd¥te¤w_§z`Ÿe^¨b\›^a¥W_­Sa²Nd­O^¥Wd¡Vh¦V] [_¥RVŸO^®Vb­[\±PL£RH°SO¢YD£G@¨GA²HG´QPµDF±GJ¯DQµAR¶JSÂ;V¶=QÁGPĸ¢G»ª=¸®5¹­Dµ¨F±¯@¶­E®¨9±®9º«?³›5¹£7¿©)¶©)·­.®°9®¹2°¶4µ³1¹«+µ¢1¹ 5Æ¥)¾ª-½3¿ž1É’=Æ—<½‹9Á‰;¸‡=°6¬Ž:¨‹B§‰@¥‰H³ŠG­ˆL°‹C¨ˆE¦„Q§I˜ŽN–PŠ”F“Mˆ†S‘†NŽŒX—I‘˜JŒ”HކN„‰SŠ~ZŒ}X›v`¤zdœ{c¥sZ©t^¢sf£eb£df®`d°Zh¯Ta¤Oj¢Wf¦^b£\aœWZS`¡QY©TW§HPžHO§JF¢PK¥IF¤KC¥UH¯OGªUO¢SN¤SR§E^¸He¼;aÅä·@æ¾Jí¼Bã¹=Þ¹JܱBÙ´EЬOÖµQɯU˲aÓ´bË·[¿´Z¼ªW±¥`¼¡_±©H¯¤=±ŸI¦–J¯”@¿•M¼–H®¤A·¦=½«;¯©5³¡7°¡A®±=¹¬@¹­E­¨9ºš-Â2Á®(º¨.·°2½¸&¬µ3±²/¯³-µ§+²£3¼¦0Ǥ)¿¢2Ê“4Ê3È–;Ñ<º‰9º€:»€:µ€<²ˆA°8§ŠG°B³€D¨I¡K§‰O£‹B™‡B”ŒG”M˜CЇJ‡…U„‘X’T™R™>”K‡EŒ‡I‘z^|\v\“„l—‚h¥|b¥{]£tc©i^¥ajž\o§Tc¯^g®Yc§[b¦[Y®^a \cœ]]©YP£[L¤RN£CL›AZ›D\ªNO¤OP¬XI HM¢FM™CSŸDX§EY¯HV«Ea¾GRÁ>c¿:S¾)U¹.S»(]¶3^³)S½-aÌ$YŸ¶ÕŸµÑ£¦Ñ §×¦¦Æ¥­Å¡²Ç™¿É¨À»§¼½§À¸ž½¾¤µÀ¦¼Èª·Ä©·Ç¥¿Ê­·Ð§¬Èž±Êž´È¨·»¨®´¦¯´¦ª·¤³¨¡»¬¦±¢¦³£¦­œ²¯”¶¹œ²·¦·¶­²­¶¼µ­²Âµ³½·¶¼¼»»²»±ºÄ­»Í²¶Ï¶³Ë½µÆÄ¹Ä¿Âͳ¾Èµ»Å½¹Ó¿¾ÐÈÄÌÒË×ÍÁÖÕÁÐÖ³ÍܶÕѹÚÛ³àÓ¤×Ö¦ÝÙ³ßé«åéªÚé¨ßÜ¥ëå§èÜ›òؤðÖ°íÍ¥àÒ¡æÖ”ëÏ”îÎìדâÍéË”ñΈ鿊ç¹ë½…îÈtðÌtâ×zÞÛyÔã€ÚÝwàèpáèxÜë|èâ~ÙíÔéwÑîƒßåŠãè€åãÙìÛåˆÖñ‰Ùí{ÓêtÞètßÝc×ÓaÚàfÐÜ^ØÔ`ÕÐcÙÇ]âÉeëÏhâÅZâ¶Wé·TéÁSØÃRâÂZê»`åÂ_ÚÅ]àÂ[Ý¿Xá¾OæËFëÈ@ëÓAåÃGèµMê±Câ²Hç®CÞ¬@å¸Dè»JØ¿R׺LÒ¸IηQØ®UÖ­LÍ¥R̪YË·YǹR«_¾¥\¿ªT¿¤UÀ©F¹Bº¤N­ J¹ J·I°šK¬ >·Ÿ;³Ÿ9´œ,µ©0²¨<¶¦9¯°8±¨A½ž0¹£+Ƥ3Â¥.Á¨2¯0¸°+²²%²¯!¯«)¯ª)»¡9¸™8º˜1¾˜/È<Ë”BÄ‹Aº…@½†4¸{:½}CÁyK¶D¸@©A¯‚<µ€<­C¡Gš{<ž„?–ˆ>™LŒ…G…ŠLƒ†QˆRŠ–EŽ“I—C‹”BœA‹•F••F˜…R™†\€`wn–~jœ~a yf¨vd©lg£gfš\j­\l±Xp±Xm§\f©YY¨`W¦cUª][°[O©VL«WS LU™?WA^žC`¨SWªYV¡PQ›C]ž@[EV­CZ¯>]«=V´AZ¾F`Á>d¿2X´9Yµ1Z´&V´)^³(a¼%e›¯Ú¡ªËœ²Ùš®Û¡µ×ž¨Ð¤½Ì©ÃÉŸ¸É¨´Á¤±¿¡ÁɟÜÄÍ«±Ä °ÃŸ´Ì¢²É—¶Ï»Æœ·Ã ²¼ ²¶¤«¸ª·«¡¸¢½«ª±ž©³¢¨¶ª²¹¥·¼˜»«©²²¨¹¹ž»·¦¯´±º¸¼°¼²¾²°¸»¶Â¼±Á¿´¿¿ºÁ¼·Àº´Êijù°Ã´¶ÈǾÌɺÓÅÄÜÆ¸Þ˵ÜÖ²ÝÔµÛ×¶çß°ÜÖªåÙ ÝÎ¥àÕ¸ä×®îë¨àá¢èÜ«äážâÛ”æß õØ ç׫ëÕçÓ¦ìßúÕ–óÛ”ìÈùЅ뾃êŠïÄ~ü¼{ð¾ïÇ{ã×uïÚoæß|ÔÞu×ÞzÜèÛÜ‚çëxÚê}ÏÝ‹àæˆáãŽÙê‹ÜáƒßâééŽÙç…ØãrÔè~ßãpÜâd×ÖYÏÓeÖÊiÜÓdãÊYæÏhçÇbÛÎcäÁ^Þ¼ZݾZßÃWÍÅOÔ¾Tæ¸^ØÀVÙÆeÖÆVÞ½SÖÄKÝÆRÝËPåÒPèÄCܬRܬFÚ²NׯCâªDÙºMæ¾Jç¾CÛÀAÒ¸TѼRÙºEß½HÒ©MÕ§TÔ±MƽXªQʯOÈŸIº«BĨ@½¤>·¢E¯¦Dº™;¯‹<»—5°ž<¹š3©£?µ™0ºž1´¢+²®4ºªA¸¥;°°:½ª3¶š$¶š(¿§.Ê£0¸£$»¥/±«)´©'³›6¼Ÿ4¹ >Å›/Ô7ÀŽ<ÈŽ3Ä‘B½Ž=¸ˆ8ƃ<µ|<À‰>­~F¹Œ>­„G¦Œ7²†9²†>¦†J›Œ<–„G—‘N‘ŽQ‡”S…WŠO„›N‚ŒKQ˜HŒG”’F†DŒ“N”ƒX’‰P `ž}k€h‘vd¤zd§vlœjsšfkXsœai [i£Qe¬]]¢][¢cR ]a«Ze¢X_©XH—XMœVVŸCV˜@h¢@ZŸJb¦N^¥DX£>Q¤;[Ÿ>Y¬I]±BU±?R¬B[­?b±?n¶9`­1Z²,Y­6k±0nµ/d»,m’©É˜«Õ¢«Òœ´Ý¥³Ú´×½Î©¿Ì£´Ê¡´¾¤¶Ã™¹Âž²¿Ÿ»É¡ÀП¶É”¯Ç–¸ÑžµÔ¼ËŸ»ÊŸ°Í¦«ÆŸµ¼¦¯®·«¢¼«£·¨£º²°°«·­¤»´¤°²™®¬®¶™³µ¤­°¦°¯²»·°¸³¹®¾À´º¸·¿¹½¾·ÆÂ®Ç¾ªÊIJ½½±ÃÁ¶ÃĺÈȲÕ´ÝÀ°ØÍ±ØÚ­àÛ¬èÙ´éá®åÔ³ïÔ©èÙ±áÕ®ß×§æáªãÜ­ßå¥íã¨ëëšõè‘îÜ—ìÞ™êá£üàŸþáŸûá“þÒ‡ÿÇ„ÿÆÿÐ|úɃõ¾zýÄzóÄzïÃ}òÍqðÒtâÛxßÖxâàzÝáxãÝ}×â}ØéŒÖÞŽÚê†ÛíŒÛê‰Ýì‹Üç’åêŠÛá†ÞÚxåáyÞßqåÛeÛÒ`âÉ]ØÉb×Ç]å¾[âÂ`âÄ\äÆg߯bÖ¿[ÚÅ[ßÌNÒÂRÝÀWܼ[Ú»YÔÀbÚÃ`ÒÅWÒÌOÔÎWÖÁVáÄNá¶X×°PÙ°\á°Vé³Mß´Mâ²Iâ²Iä±JܹFÕ±EѺMÜ¿SÞ¾KܱQÙ²UÙ´M˺VʵWίPÇ©B½§?í7·¡>¶¥1¿2¹‘.³”;±;µ‘5²•7­ž4¼š(¹ ,°«3±«4®­8¶¯5·¡.º¤0¾ª1»Ÿ#¼£$¨"¨!½œ0¹œ/¶ ,½¥8µ›<´£<À<Ç•?¾“5¿‘=ÀŒ5À|8¿}DÂH½@º€<µŠF¹‚<°„<¤„G©‰@Ÿˆ8¥ˆ?œ•@™E–P‘“MŒ™PŽ—Y‘¢P‚›S˜S‰”K†MŒF’ŠM‘”FO™‰Mš`Ÿ‰d›zo—vi’x_šwe¤taimž\n”_s—UrŸOn£Pr¦\d¬^]§[[¦VeªL^¡FSžPT LJ•NQAR”Caž@b›BašAb HW§F_©BV¬E`ªA]±7e¦>_£9g­El©>h¬>s³@t°8f¹;o´5q±.mº#lš¢ËŽ³ÌªÍ˜µÐš­Ü–»Ù¨±Ð¦­ÎŸ¸»›§¹Ÿ¸Á£¾»—µÆž®É£­Ã¢­Á¡ªÁ™¶ÉŸ°¾›¶Ë™¸È™¶Á™¯¸™´°§²»¢½±­¹¦¦º§³°§±®­¸¦²¹© º¶œ¬¬¨³±Ÿ²±³±±°«¦¹²§¬Ãµ¶»­µÀ®¼¸·±Ä¿²Éµ·¾½¯»Ã·Á®¶Á°ÁʳÖ̲àʹÚóÜÓ´âѱÛܬÙß­çаäÕ¯êÜ©öß«æÍ§àÖ¢íØ£êØèÙŸëÜšçæœäâçÐèà£ëè£íæœëÛœ÷ÛøÐ‹òÇŠÿ¿~ø¼ƒù¿óÊ€öËöË{ûÆyèËwàÖxâËqçÐvãÖsßÖsâáxÜâ‹àéˆâìßé|äó€èòÜé€äé‡àåáäxäÙ{æÙkçÝfáÜgØÓcÖÍkÙÕlÜÌ[èÃUíÇZáÍUØÇT×ÉV×Á^Õ¿]Úº]Õ¸^ã¹\Ù¹XܾVÝÁdÐÅTÒÂZÜÀZ×ÌUÙÊKÜ¿UÙ¸Jå­RÞ¸Nè¬Nê¬Rì¹Ië²Mç»Iå·OÔÀMÒÃUÙ·YнOϵJÒ¬KÉ®YɧWдYɶVÅ®IÊ®C»¢E´¬D¼ž<²¤:¾(·“.²—C©šB·˜9­›8°š@³¤6«/®¥0¸¬)²§2°'²¤4¼¡3¶¬1¹º¤$¹¤"´ž,ºš2½ž6²Ÿ7¾ 9¿¢>Û4¼—FÁ”@º–8¶Š5µ8°ƒ>Ä…@´8³F½†H«„@·B¤5¢}@Ÿ„D¯;§…C¤•DˆC•“O•RŽ•[’ŽQ†–V†™J–M“—U‚‹H‹N‘T•ŽM•‰IˆO•‘[ž…Y–„VoZ”th–hcbm•gr—arŽOežYl—HlŸMu®fj«cf¤Rf¢Tf¬]g¢T[ªSV£T]O[“FašQg Jf™Ha¨DW CW¤BM¤HZ¨Cf©NW­?a®?[³ê±Dê²Lç¼NÛÁLؼVÞ¹_Ú¼VÒ·QÍ«GÔžDÉ¢QÃ¥OȪXÆ¢UɨH·¬I´®B½ 8¶™9²˜0¶•+µ*©‘:°–7¯ž@µ¢8¯¢>ªž7¥œ2²¨3µ¨,±ª)·œ$ê,½«.¾¬*¸ &±—¸˜ ´¢*»¥*¸¢,½¢4·¡2¼™5ÂŽ?Ã@·‡B·Œ9²†0®ƒ/º†,·”8·“9¶Œ=¬‡>°‡>¬ˆ5¦{6­5¥Š6¨ŽE¨‘FšŽD’Œ<Œ›O˜R’“L‘‘QšX‡›O•U‹ŒP…V‹ŽN”šI’—S†šU‡“LŒŽFŒP”sO“p\pX‘aa`]˜\gœ_k—PaœO`œMp¡]r¨`o¡_d£UiŸab£`bª[a¥TVŸTTšU[’Ud˜P[¢OS¢N[©PK¥LG£OPœNb¡KcŸIa£LV«E\¯>f«Hn²Cn¸>l·@`µ6dº=j¸2d½%dº!p¤É†¥Ë‰¬Ï†«Ã—¨¾ ­Áœ¯Àœ¢¾›«·¤ª³—¨Á¥¬º ¦Ä¤Ä­¿‘­»Ÿ±µ™¶¾£¨Ã ¬» «¿š¤¶¢¥«¢¡¤ž©®²¯´±¥¶°£¶¹±±Á¬»¶ ©½›¨¹«©µ¨¤³§¬´›®·¦¬¿£©Áž¶·ž°Ç£ºÆ¬´¹µ´Ê¹ÂÆ»Àƹ¼¼³¼µÈ·ÇÉ³ÈÆª×ήæÌ¬ÛÔ³ÞÊ£èÖ²ßÍ´ìÚ²îÑŸåÒ¦øÞžéá¡õÐ¥éÍœçÞ”íÖ’èØ–÷Ü”úÜõÝ’ðÕ‘åÓšçÞ›áÒãÔêÎëÆ—òÄ”òÃ’ÿÂúȇÿÀ~íÀ뽉óÃèÌèÓxéÅlëÏpêÔwÙÕkéÑtßÞ€ßÛ|êð|æéxâìsÞæzÜê|çé{âìsâçxÞífáÞjëâbâápÝëfÓÚdÜ×pÛÍ_áÊdãÐ]ãÀUßÂLÜÒWßÄFäÁHç·NæÂPݺTéÅQê¾Zå¹\æ½Wå®TØ®YÚ¬SܰHà®KÞµEé¶Qì®?Þ±Eê©=î±;é¾JæºRä³QàÁQã´OسWÒ»KγKÒ¦RͦOƧT¹±R¯K¹©Rº¯L¸¦:º©0³˜-¶Ÿ.¯›+¨›%ªš0ªŸ=¢˜AŸœG¦¡H­¤7±•?¨¢3¨¤0´˜)¼ž*¸¢-²¦-½¦/±£!¶”-³š²¥·¬(®§'¾¦+¹Ÿ3½˜0´™<¹‘?¹B¯Ž3¯8µ…%©–.«—-¶™/­–=´†1ºŠ:¦…4¢„1£3«–,š—C¥ŠD•‘C’Š=ŽŽL––WŽ“GŽ¡H’¡H”O…‘N‹ŠT‰ŽK‘“N‰ŒK•ˆJˆ‰KŒ“Qƒ‡Yˆ†Z“v\‘eXˆaY™WY•ab ]j˜XešW\šJl Pl˜]j©ed©dp™Zj¤Vf£XZ¢MU®V]ªQP¡ZZžNZ”NhŸS^§I^¬KX«PK¡FM¨O\˜MfBm¨E]«HY°OZ©Fo¶Pf¾>e´?]·4j¿2b»7f»#l»&s~«Ê‚¢Ã|§Á…¡Ã–ŸÅ™¥¸¢«¶š¡ÀŸœ¹ ž¶¨žº£¬¾£¤Æ—«¾Œ¦È¯Á“®·¤¶·©®½¨¬¾¬«°¢ª«¦¢¨¤§­¤®µ¤§±®¢µ³¬´¾°¹·¥¶·±º›¬¾—®³ž¥·˜¯¸žª´œª¹²Ã¥´» »½ ·Ç¨³Î¥±Å®·¼³¹Áµ¾¸¾µ»¾²ÄͬÌͧÕΫÞϰÜϯÞʦðÒ­ðͰëÑŸ÷ÞŸêä›ëÜ™ëÏ“ëЛèÓ•òÓ™÷ÞœøÛšïÕŒõÜŽïÝïÒ”íΖáÒ”êΛêÈ”âÌŒæÄ’éÈšõ»”ù»ŽÿÈÿÇûÁ‡ûÉ‚ïÈyñËxãÌqÜÇuæÍuß×{ÛÙoæÜoäÔ}éÙrïäqìÞyêáwâÛ‚àä|éÞtæàxÛìnáèoãéiåæcáíbÜédÖênÖÝfÞ×háØcâÕYåËXÝÖVßÏJÞÀKãÀHí¼?éÁGêÈVìÂUïºMê´Tæ»Vã°\ê¤Væ¥Xå¬WÙ¯L×°MÞ¬Kî«PìµEì¹Dä±@ê´K߸Eã¸EݽOá¿QÞ¹ZعTÛ¶NɧSƧJŤM´®L·¦I¶©M±«E¶¦6¶ +»˜,³£!¨#¢•-¨’/©ž6šŸA—š9¡ A¨™?­;§.§›1°£-°›+´˜!µ #¯¡)¯–&±˜"«—&©”*±¡#µ˜'²ž3®Ÿ2·–<¾Œ>µ7»-°‰4°Š)°Ž"¸“¯”#¹™%±•,¸4·Œ5²†7ª…7 †1¥’3 ˜9š“=œšB›L¥”EšLšD‘ŸM–ŸRŽ™K““U—UŽY‡”T…“R‹ˆRŒO‰‹T‹R…ƒZ{]ˆjbij^b—^f˜WkX`”Nd’[nŸWg agž`i—`s]mž^^¬M\­W`°RU³ZO±SXŸSfžTd S`ŸLU§QI¯WK¬ULªEY@gžAk¦Bg¥G_²D[²QbµIa½I]·C]½ÔºGÝÅIλJÞ²RÙ©TÍ´Jɱ>¿ªJ¾ªF±¤J­¯C¶§G¶žF·¢@±¥,­“.·–*¨/­.³’7¨—Cš˜GŸ¥:¥¥C ¡5«£:«ª;–©6œ™3®’)²œ(¯¤(²–)¦—+§—* +­š%°’!­Ÿ#¬ž3¯™7®›0¬˜.µ6ª†*ª‘$°Š+°‘-¸’0­Ž%ª–!ª•,·‹4²‚3©ˆ=©5£†4 “:©‹@ CŸ•;œ—DŸŒP¨–J¢ŸO –Q‹—T•‘JIŠ˜V‹˜Iˆ‘Q‚ŠWŒ‹RŒ\Ž‚LŽ‚S“uZu\ih•o`‹`o•\jQu˜Ww’]i‘Zm”]k’`e¦]mŸ^l¢OcžTi¨Od¬Q\­R^²PU¬Oa£QXžY^ Za¥QS¤]U©SI«RV±Q^£HcšDf¥Bh¬Fj¯Ie¹Fh´?fÄAbÁGcÀDl·.h±$mÁ%hÆ$dx¦Î}¡Ï€•¼˜¶„£·§¾†¢»“’µ›”µ’£Ã…£¿‰œÁŠ˜»”›´¬»”«½ ¦¿Ÿ¡¶£©½¤¡È›¢¾ž¤²¤¥¹¤¡·¨£´«ž«¦ µ°¯¶¤¢·¨ ´©¥´¸¯¼œ©À•§Ê“¢È˜§Î–ªÆ¸Ã¦³½¬½½³²Ê²·Æ¸»¹®¸Ê¶¯É·ª½Âº»½º¹¼»Å½¯Ï̸áÌ´áÁ¨ÝÇ¥ëϦôΰçÏ¥ëÓ¤éÒ æÊíÕîÔ–éɘêÇŽå׊ìÖŽ÷É‘òÌ“ôÈ“ëÑåÐîÑƒéÆ€óÊ‹õÊ|é¿}ôÀó»‚ùÇ|÷Ç€ð¼…ùÂó¾wõ½råÌyÛÊ}ÚÔtÝÔ{çØríÖzáÔ€áÖzäÕxðÓyîÚvóêmíåfåÔnÝÒfÖÚfàßlØÕnÛÔhÔ×bÔØiÜã^åÖbáÖZ×Ö^ÙÍYäÊ^äÈYæÓ^áÌYÙËKßÄHá¼Fí·EçºVéµWæ±Mè½Tå¶WíµXí°SÞµRè´Mä¶Të¯SìµRâµTÝ¥Dã£CÙ«Hå¨Lã¯FÚ°LÓ¼TÒ¼SήKÉ´LÊ©Eɧ>¸£=²©H²¢B¬›E®£M½«A¨9¾‘(°‹#»‹%·Œ-¾“=´ <¦™9›A™–D ™5¡ž=¢¥9—«4•©0™2™,£ž)¢Ÿ1œ”/Ÿ™$œ™# 1œ”$¥(ª™2§’2žŒ/¦#²‡!ºŽ#¹•©‹"µ‚'µˆ-²†-¯Œ+¤'ª%±Œ%§ˆ+ž1¦ˆ> “?§A¥”E¡“>¤œD¦™D§‹C¡ŽM¥V£’Rš™PU†ŒXŠJ‰V‰ƒR‡‰P‡€]…zUƒzOƒsT‘rdil“of”dl’goŠau’Rs•Qx”_w—ar‹YdœdmŸ]g›R`›QfžQe \l›Qd§VY°OU®O[­\^ŸaZ£eX¨`X§WS®SO­ST¯Pa¦Ba¦Bc²Ea±Hg¯Ol´Fc¾>eº;nÂ9e¸;j²6v·)sµ'o d…œÆƒ½¦½•¤¾…𵡼‡™¼ƒ›°–½Œ£Àƒ¡À€žµŽ—¶‘–Àš¤Â¦·•¡À¡¤¹ž ¿¦¬Ë•£Å¬®š®­œ­±¬¡¶¥Ÿ±­«¥ª°ž§¥œ—³¯”­±ž«¶—£»£¨¿§Êœ¦Í—®Î—¶Ë¢³»¥¶½¯¾Ã«±É§´Â¶´¾¬´Æ´®Ë¶®Á¾·¾¼¶ÄŹĮ̀ÞˬáТçÌšáÇ õÔ¬ôË éÒ§é͗꾦àÑ£ðÊŸâÉšôËŒñЕéÓ“åÂñÃ’ðЗãÔŒìʈòÑ}åÌ…ôΆùΈìÅñÂsùÄvó¹ÿÈtù¼€ù¼qè»z÷ÇzéÉ}ÝÐxÓÒ€ÜÛxÚÚsï×nâÕpìØyêÏyíÜnôåvçßjìâsáÚjâÞ`ÒÚaÝÏkÕÜ^ÖÒjÚÎgÒÕ^ÞÜ]åÓVêÚ[äÏXäÐTäËNåÐ[çËLÝÌUæÆSÙ¼IåÀPàÃJîºLî°Tè¿Hò¼JçÀSðÁVï¹\ä¨Vâ®Kë¨LߪVã´Lì´Fæ§Jà¡Jß²P×·Uç³GÚ¯VоXÇ´XƯKƵAƪCÄ´=º´@®­J¸¬@®¤?¯ªR³§>Ç£3³“5º‹%ª—)ª‹6®˜=ª¡1¨š;¡™A ¢5¤ 4–§7”ª5’®2ޤ5Žª.ž 0›£(¢£0Ÿ£$›™#˜’3¡‘,¢›3•%¬’.­”-¯(¢“®…'·Ž¬‹#³‰ ¦‹0§/²•(£—!«'®‰)¤Ž2¤…)¥‰-ªˆ6¢Š<£›5°šE¤š@¨™I©–L£”A§ŠM£ŠR¢„DšŒQŠN‡KŽƒPŠTˆTˆ{RŽ}ZŠ\ŽsOŠpb—qe“oa˜xc“mi“dl“_o‹Yz_yˆRlZn\hŠas•[g›R`•Xa›TgžYg¡So¬W[²X]°Id¦Z[¯`R¬aY§gP±QK«TQ³XP²RT«KU§DZ©I[©Yg³K_¸NlÀCp»Ae¸8m¿Gb»4i³)uµ%i¿!e‹šÀ…¢ºŒ ¶Š¡¹‚¦Â†¥À‹¦¶~—³‚¢¹½Š“¼„˜´“œº”¢À »šŸ¸¢¨¾¡ªµ™³·˜ªÀ•­¼”­º’¥¯ž©³¤›±¦œ´¦¢©¡¢¥¥—©Ÿš¨«Ÿ£¯˜­½ž«Ã¥¤Á§®Æž°À›±Ë›¬Ð£±Æ¤´¿§»Â©±Ä¶¸À±µÄº»Í±¸Å»±Íõν½Ìǵʼ®Ø½¦ÜÄ¡êÌ çÑ¥éÈœêÅ çÆ™Ü¾ßÁžÝ¼œçàäÈšìÂìÅ•ÞĒ꼉äÂëÀãʎ迆ëÃ~éÀ}éÁƒòÁ€ûËuÿÇrÿ¼oûºvý½xö¼pëÇqñÁwçÄ}ßÄ‚ÙÊuÕÛtÚÚwßÕiåØißÒfêÛiðßoèÚgèävêàtßßläÙnØÒoÛÐ`ÒÎX×Ô_ÛÚgÖÖcÔÍ^ÚÏ`äÚ^â×TÞÛSëÙVãÎTãÐMÞÑNàÎMÛËPÛÀQÙÈTâÅNí¾Rè»Jê¿Rñ»NíÂXç¼Xè¯_ìªYí©Tæ«Oã´Nå±Sé¨Qá¤Má¬MÙ­TÚ°YݵYÓ®UÓ¸ZηZɸIÄÀPÁ¶G»®A»³E¹ºM±³J¶´F»ªFÀ¦@À¤;Â.µ“/ª›8«”7´˜:¯ž5¡£2¡¡0 £5Ÿ9‘¥4‘¤2œ¤9•©7”­,¤,˜¦+ž£-˜¥*£Ÿ/ž2œš*˜›0¥•&¦’¨”)°†)­‰«$­Ž ¯‘*¬‘*­–#§‹'¬"Ÿ“(œ‡,¥‹)Ÿ&¨ˆ.¤“7¨•?¦š9­™9«‘?ªA°–F§ŽI¦†E©G¢Š>ƒC™‡F”„KІH‰„JˆƒT‡OzI‹vS…qRŒt_˜t_•qgšqb‘qf…aiˆbj‡dlŒarbq…Vj^t‰Yr“\x—Yl™PeŸTb Na¢Xk®Tq«Qh¯T_±T\³aU°_SµdR¯]O®]Z©WT¤\N¥\X¯R\«U[¬ZY§X]¦S^´Gl±Fo¾dÂAeÄ;m½9w¿-rÁ.wˆ™Á€£¶ž·…¤º|›¼Œ”°…¢¸t›¾¡³zŸµ ¸‰”¯’¢¾™Á”ž¼’¡µ”¤¾§ŸÀ–ž³•©¿™¢ÃŽ´¾™´­¢­ª—¦¤œ ¨™¨©š œ›™«œœ§¥–§«˜¥­¤¥¹¨­¸—­É™­Ä©¨Ñ§Ç£´¿«½Ä¨µÌ³©Ç®¬Ç«¾Ä«¶¿¸»Ñ±´ÌůÌÃºÒÆ®Ïº¨×½«ê¼¥êÅ›í͘ðžìÈ’îÑ۾•æÎçœ巗컋쵄åÇŽãË’éÆïÄ€äÄ‚çˆâÂzãÃuðÆrðÁqû¾xÿ¼vö¹{ÿ»zÿ¾tÿÀoðÆpïÉxæÀ{è¸xåÌyãÓzØØoãÓxÝÐhÞÎeáÖkÞÏvâÝoêÖqèÔuççmìÝtãÝcÞÊeáÉbØ×^×ËeáÍeÖÕ\áÏcÜÒ`ÝÏVãÓUâÍNêØYëÐWìÓSãÈVâÅUé¿VåÆUá·Jí¸MíÀVä²Gç¼Gò»Sé²RÞ°Rè¸Vê¤`ä¡Uä§KÞ¬Læ±IÛ±Hà¡FÞ­H̬XÛ«V߯Q͹QغVÕºTȶJÌ¿TÄ®N¸ª@µ°=º¹K«¬>²®@´£@¸”;º›A¶2­“6¬•;­›6³Ÿ2¶ž2£¤+¦ 7™•0˜ž0™¢;Ÿ /–¤7£6œš+‘¡1££.¨6¡š%®™+©Ÿ& –$©“"§•+£Œ-ª—0¤"¡'¥‹#³–«—.¯˜.¦,Ÿˆ# •(§—#¡‘)¦‹&§‹'Ÿ”+¥“<¢¢@£•9ª•@¯™Aªˆ@£†E¦’?®‡F£~Oš€@˜=™ŠN‘L—…P‹‹L€PŒ„Q„‡U‚{X…ubˆnZpjˆwXŠh^•c^ˆf`‡fm‘lr“_w‡dq]o’Um’Pg‘Tj˜Oo–Zlš`aœVm¥^gœ[g¬Ug¯_`¥T]§bZ²gT¨XV¢_Q£aQ°RZ§TW¦XN°^b \g©]dªVg­K`­Hf®Gkµ=p½Bd½9j¾6l¼9}¹/xÊ+mŠ“³šµyœ·¥¯~£ª…”¯’®y—¼~¬w˜ªu ±€™­š¹•·Žšµ“¢À¢»œ¼”¥¹“£¾ ´–©·”¦­²¦¥°§ž¬¡Ÿ©š£Ÿž©¥¥¨¨®°©¥«²¡´¶œ®³¤³Àžª¿©¦Å«³Å©´Â³¶Æ·¯Æ¶®Å²¸Ä©¼Â±À¹´Ã½¶Ó¹·ÝµªÛ¶«Ö¾ Ú´¢ßº§ëàçÁ•åÔàÀŒãÁ•íÆæËïǃó¸‰ñ³‡è·|à»{æÈ…æÂzé¾wôÀyï¾â¾ußÄrçÇné¼pò½|ÿ½xÿ¹wÿ¾sÿÂpþ¾i÷Ãpñ¹‚ä¿ç¹àÁ‚ÜÒvÝÖuÞÛpãÓgäÓháÒvâÑrëÔmêÕmîÖmëänòáríÛgÜÉkÚÇeÛÍ]ØÐ]ÖË[ãÏ^àÕ_çËfàÉXêÉQæÇPêÏKäÖFïÎRôÉRçÉOßÉUåÀWð·QîºLó«Wí«Qê¼Uê¾JíºHæ²Lå¤UÞ¥VÞž\Þ¤X×­TØ®Nã¥Xà¦PÙ¢SЭR׫VϳYɺOÔ¸JÍ·N˼V¾²S¿¯G±®@°³E«®D®­C®›8»–3·Œ2²:­:¯™8¶2±‘9´—:­£1¡ /›6˜¡6£–1 5¢™5 ž5’œ:ž•:›—-§£)§Ÿ-¥-©•(©Š'¦(¢‘1£‰.¥“-¨Œ*¦’&¡‘'©•0°)®"­˜#¨˜&›‘*‡*Œ®”)­“*­‘/œ‘3›”.  4œ›1žž8¥–>§Š4¨“B©F©ŽD¡~MœŠC•ŠE•}S–~X‹~RŽJ“„O„TY‰M_„yf‰gŒ|ZŠwb”fX…`V‡jequ‰kshoŽ[o‘[fWe–Zc“Oo–Wdž^gž`f–R`šJdªRi§^f¤a]°fgµde´[f¢RY X]ª]Z¦]V¨VQ¨[b¦^c²[a²Tl¦Qg«Jh®LxºGwÂGuÂ8kÉ6hÅ2vÇ)xÃ*o„ž¹y›µ|¨·ˆž±|ž®°›³}”·x—·r›«{—¬†–£~•®•«†¢¹ˆ¤½šª´¢œ²›£±’¨­’¤­—£­˜§¥—°¤¡©¬¢£› ¤š¡œ›š¯ŸŸª¦ ¤¨¦®´Ÿª®™¦« ©²—®±œ­À¨®Â©²É°©Ç²¬Å³«Ë¯©Ë³®Ë¸°Ä¾«Ç´­Ï¸²Ñµ¬çº±Û­¨Ø¯æ¾›à´šßµà¾”ܾ“áŠßÈðÍ~ã¼…åµ{òµyñ±€ò´|ë¿tê¾qâÁx߯tæÃwãÂjèÅjë½tá¼ö½sòºƒñ¾ÿÄw÷ÅpÿÃeøÇzïºxè½€çÃzì¼€çÄrÞÏxÔÞgØÐdÞÙdå×dÝÍfêÒlàÖfâÚoïðpéÚeçàgàÒsàÅfÞÇhØÔ`ßÖeâÊhÝÑcëÉaæÐbáÍOæÃNÜÈVìÇRðÅZñÄMïËOíÇKç¾WäµSòµRä²Jí©Nê°LéÄSæ´Nå±KߪSß²Và¦KážPÛªVâ¡UÞ£^à©XѱVÙ·QÏ®TÈ©S̯OƲIι[Ì®X͹QÁ¶FÀ«M¬µ:«­@¤¢8² ?±š0ª”2§’4¯’7®Ž5´›4¯›?´š;¯¡0¤¤3™¤=ž3¤Ÿ4ž™3š—5œ’=•–:˜”+—¢'¤•.¤˜0 “!¬‹+¢‰­"ª…2§.£0²Œ*¡“0¦‡#°•0´£(§¢ ¯–&žš$ ‹/¦"›‡”"§—"œ™.¢Ÿ*¢ž7˜¦0¢Ÿ;¤ž=¯‹9­†<§„?ªE¤ƒA‡Dž…Mž€Hš„M„Z•‚O’~RŠ}K‰…OŽŒO…ŠP…€^ƒZ€a‡|PŒoK lS˜q^†ug‚rmet‰fmŽYo‡aa’\lŒRj’[r–Qo—eq•\o•Qj£Rc¡SiªZk¦\g§ae§as X`¡QRš^T¡[\¡Xb§L[ž]`¬Tb²Qo¨HiªPl²Rl¾RiÁG}¿Mwº;zÇ;wÅ?‚Ì)tÅ!pƒ›Àšº…›¿ƒ¤µ™®s›ªn“³s–±}Žº}•²š¶‚”¨Š–¬…œ«†£¬ˆ©º˜©«—ª••§šœ¬¡œ¬—§®œ©´šªª¨§¯¤¦ªš££›˜¢—¬¥¡²­¢¶¯¡¯¯¯­£¬–¤§›ª³›ž²žµ­ Å¯¥Ì²¬Ä¹¦À¸¤Ç°±Ò¹ªÑ´¨Ñ¶¬Ñ³§Ø±¨á±¦Ù«¤áµÜ¸›Ú°•֬ⶋßÁ‡äÀ‹âÌêÆ}ðÅtåµzî¶~õ¶yï¾ué½jéÇhåÂnè»oÙ¾cÝÄkâËmàËwéÅ~ï»|ð´}쾆ö½~ùÂvùÄoíº{î¾zðÃwíÀ~éÉzéÃßÒ|רoØÓpÚÓdèÖ`åÍgâÏaßÞaçÞeèêeòÜcêÖjæËjèÏsêÉuãÓsâÐoåÑbèÕ]ã×_àÐSæÉWã»`Þ»Zá¼PêÂVíÈOåÂYâÅJì¹Jñ»Xä¶Uë¬Uâ®Oà¯Hß»KݶEݸJÛ¶Ié­IðžYêžXñ `ìŸZÛ¡dÚ«\Ý´[Ѱ[Ñ¥KΧL΢S¢W£TʱUùUÅ´L»«K¯©>²­3¥¢4¦š6§”2¤‘2¬•=°‹H¨ŽB¦“Eª¡@§Ÿ7¬¡9¥§< ¦<¦¨;8–•4–”5¡–.¢“-¢”0Ÿ-œ(¦”%¡ˆŸ‡&ªŽ+¬‰(®†$¨†,²Œ#«‡'°‡"¨Š-­’.§›(±ž$­™¦‘¢Œ#§)ª‰&­’%£›$¦ž(› "–˜-™Ÿ4šŽ-©Œ2²‹0¬6¥‘9£…<žˆG¤@‚9™€C£wO›zV—zV—Y‘‡N‡ƒO†P‡L•S‘‚Y‘}YlKpJhRjWŠpa‡h^†nelnYi\i†VgXgŠ\sWyŸZsž[s ]s¡Xg•\l”Uf¤Yk¯Ul¨Xo Ynœ^\¤TT Z[§W]¢Ra¥Ve¤Vd«Vi¯Ij¯RmµNj¹Kh¼Ot¾Ky´DºHzÆ>}Ì/‚Ó$u‰µ|˜¶™»€¬¸vœ³r¤¶wš´j’ªtµx•«z—¯‹­| „—¡}™¬Œ§»Šž­—§°‘¤ª”¥¥Š©ª˜ ¦’««“­­˜¨¦™¨¥–ª–˜Ÿš¥¡¦¨ –®«§®£œ°¦ž¢¦˜®¨• ¬¢¥¶Ÿ¡´£¤¼¦®Ä¨¥¸¶«½´¦Ç­¨Ñ±§Í´ Ô²¡Ù²¦Í³˜Ò­Ÿá®—蹞᳖â¯ä°’é³é»„Þ¶€åÈ€ìÅ|ð¾~í¶wö±sòÁkñ·nå³rèÂvèÌgç¾eÖÃiáºaâÆqïÃfìÃuçµp嵂ò½zñÊkù½kð·n÷½mñÈvïÁwæÂ{ñÂpðÑsåÒkÞßnáØjâÑcéÕoïÒdãÕgÛÖfÚçdáðnêájàÙhæÏvíÐwêÌsåÒsñÍläÛcäÔg×Ó]åÔ_àÒLáÆRäµYãÁXñ¿LâÅLåºMà¼Zð¶Oêµ]â·T×»RÙ¬QÙ·PÔ»EáµUׯJà­Qà·Fá®OÞ¡Yã©]ß›Så¦_ФPܨZЮLѪTÎ¥MÓœEÇžPÒ«VÑ®RÌ¡VÏ¥G¼®9´°3­ ?­›:ª¡<­<¥›4¡’>ž‘F±‘C¡Š?¤‘=³ž7±£D²ª@ª›A¨§7˜7œ¡,˜—4œ,¯—.š‘+¢—"¦ ) “$›‰œ‡$«‡/§‹.¯‘*¦'¦Œµ‹&­ ¨Ž#­Ž*Ÿš(‘0¦™$›‘*›—%‹)®Š3¦˜-§Ÿ/š•#‘“ š0Ÿ”4¤Ž6£š1¥/¨›,¯’> }Cª„G§yE¦|<œwD‘vFœ}P’vWŽ‹L„}M…QІI•ŠW†O‹„Z–€^‹sPŒpPžcS•hW—v\‘scŽgj‘mb•[lŽ[j]p…[x‘Vr“YyŸUpž[v¡Ms•\u‹^m–Wc™To\t¥Nh¡[o¨^]§XaŸQe¥P\ªLlœJ`¡JX®Nm«Di´Rd·Gs®RtÃJr²MqµAy½F€À;{Ê8‚Ï$|ƒ“¼}œ·„¦À†­¸‚¬´x¦´uª¯kž«i¢­o¢®j™ t’¡~¢ }¡¢†Ÿ«~œµ€«­“«©“¬¤†¬«…°¦”¨§«¥–« “ª ¥Ÿ–¡˜”“œ™œ›œ™š¦¡®¢›²« ¯¢—¨ª–«©’§¬”§¯£©™«´£§±¤ ½´¨½¬¤Ç¨©Ç² Ã¬›Äª Ð­ ËµžÑ·“Ú¯—å³ï­“ꯆç°}ß©€Ø¸„ܵ†îăïÀñ·yù²|û´nöºiò°jæ²uõ·móÇpë¸hä¹eéÆpéÂiè¿hè¶fëµiå­zéµlñÆhó¼n÷¹fï¼pôÂiöËlîÆtëÈpêÒnÝÕrÖÕsÛØjÞÔiâÕpçÐeéËjàÔpâÙiÛèsÜçtßÚnäßuãØoäÞlìÚbëÔ`îÖ[êÖaÜÄcãÆTëÊMò¾Hè½KáºNæÀMêºTâÃKÛ¿Räº\ݱXÞ±Y߯TØ·`à·WתMÛ©QÞ§Qß©GܰNÛ°Uã«SצUÜ¡\Ö¡[Õ›Uß–WàœMÚ¤JÙ›JË™Q΢FÍ™SÓšWÓžEÈšBÁ¨7º¥3³©,®4¥¤5¨™5¡›=Ž<£„;ª‹@­‡<§9®—5¯©>¯¬B±ž>®ž7®Ÿ/®£:¨3£”2¯•4§™%™™"Ÿ•™$¤”'š‘(ª’%¬‘.²‹#®&¨‰'³Š ¯Ž(¤‹!+ž˜1›’5¥Š+¡–"•˜*–*£‘1¥˜*Ÿ–- ’-–”-Ÿ›.˜—'  $¥™-²”6°˜1¬Œ3¦ƒ8¡ˆ=¥Dš‚G”xMœuNyS–wIˆ„JŽƒKŽ…U„ŠZ‹WŽzQ‘WŒw`ŽuZŒn_’gWŠmT“j\‘rbŒme‹cd‘gn”[rˆZr„\rNuXtž[|”S‚›Mz›IjŽPk‹Uq•_l¢Xg To¨_k£]a§[e¨J^¡Ae¥Fm¡H\¨O[¨Oc¤Pp­Wf©Ok´Li¼Mt¿No¼>zµ9~¿<€Á0tÇ!u–¼ˆ•·›·‚­¶€¥ªwž°n£¢p¢ªh¤žn¥£uœšnš¢ƒ˜‚¤°€š±‚£ ­¨†°©ƒ¨¨Œ¥ª™« •žŽ¬§—¨—Ÿ™£¡“—œŒ¦“¤ž›¥“¢«¡¥¬¦¢‘¯¨–¬¤š¤´¡¯´ž¤³˜ª¹§¦¹±œ·®¥·ªœÁµŸÀ¨¡Ê¨–Ó²¡Óµ–Ó«ŸÜ¸˜Úµ•诙䵔è§ä³à§|Þ¨{䰂丂öÆîµ~ö·rþºoú´nù½oò·kë¹gùºgô¾qð­gôÀmìÄfë½cé´oè²oé¶tôºjëÃgõ¹níÄo÷ÈhúÌiøÍcéÅkçÔtæØmëÕqàÌmßÔißÕfãÓkáÜqÛÒoÝÔg×ànÝëpÚ×j×àpßÓpá×hçÔeìÝ]àÍcîÒbÝÎVßÐ]ÜÉ]ãÍJá»Tî·Ræ¾QÝÄGßÇSÙ¿TÕ¹Tè¿YÙ»bÓ¼[Ó·aÒ¸_ض^Ó²SÓ²QÖ§YÚ«VرFÞ¡Pä¦[Û™[æ›Và¤ZÒ¡YÚ£QØšRÙNÛšWÕ‘VÍ›KÏšWؘWÓ—HÅ—KÁŸ4À3ºœ;¶˜6ª˜3®Š@Ÿ“9¢G£‹6§—9¬ŠE®‰G¤£<ªž>¦ 5¨Ÿ9¤¦)²ž/¦¡)«¨/·›4³˜/Ÿ•*¢Ÿ¥“#‹"›•,•˜.¡‹2¥“.¢2«‡+¤"©ˆ#¬Ž%£‡-“%¥•*¡0–Ž/œ“1“1™š&–ž(—“6Ÿ*”)–š'šš5 ˜1¢š* š%Ÿš8£˜=«”<©‹9¨‰8¥:™<•‚E“|SJ‹~R‘{Y—ƒZ‘…c–wVŽ{e‹‰U’}Qz\‹q[ŽyT’sTwO’mV›f]k`‘j]–qlˆia„\t…Sw‰Wx’K]•OsšUy™Uu—IsžYv—W{¡Uz¤Pi¢\i¦P`žRl§Da¡Ae¡En§Hc¬K[«La®Lp§Nt©Jg±DmÂF{ÅBr»=yÇ3~Ä6|Ð1zÃ.|‚š°ƒ‘²„“ºv£¸y«¯~¢¥r¡¥uœ£n¢¢m——q–¢všx¢œƒ¥©†£«…£¤§¡‚ž¢™…­ž¢¡•§“›£–¡¤¢™œ•œ’’Ÿ•ž—‰ª’Œ¥˜‰«¤—¥ ˜ŸªŽ¦¬‹¡­•ª¤±ªœ¨¬ ¥®§™¶¢•®¤”º®œ¾´”Ë­ŽÒ¯”Óµ“×·œà¼”ܰ泋事ñ»‚íªŠã¦‹ãª†Ú¢}Ý©wã±ë»zðµyùÀrø¹lô´jó½eó¾ló¶eôºjú®nô±oø¯gí¼jï½iíÂkç¶tì¸kî®iì²uñ¿wîÀlîÃcðÑdóÚkõÑfñÎkóÔtéÔmêÎpàÎtßÝpÙÛqÛÜnÓÖfÕÖm×ÞoßÞnåÖaÜÝdÚØ_ßÚaÚØaàØaàÑ\åÈXéÈRãÏSÜÏOãÃUêÀ[èÂRè¾SÞÁQàÁUÓ¸VϾ^ÜÄ]Ü»ZÙµUâ°`Ü·aâ¬[Û±Tã«^Ú¤WߟPߣOâ©Tã¤Rç–Nå—Yå [ØŸQÚ›^á ZÕ£VØœSÛšNÚŒYГNÏ‘NÈŒBÅŠDÇC¸”:–4º‰3´‡;©‹>§—G«•@¯˜=¦›?« B°”E¨¡E©A§ 7¤¨-¬ 3«§,µ«1¶©-¯¥)­ž(¦ ©™'¥—&š –ˆ,¡'˜”,œ—*¥•2 ‰0„)¨*­€$«ƒ,‰/œ„&ž‰/•”.-›’.‘Ÿ&˜›)œŸ(£—0—”,™Ž2žŒ7¡’+¦†1§‰+£. 7›‰*¢‡. ƒ;ˆ9¡{D¡{@“…A”ƒNš€UŽ|Y„[–{`ŽtgŽ~a˜ˆf˜‚[”]•v[—pW•uW t\œuR•pX—nW—hZ‹kZ†[hŽZm‰X~‡T}”M~‘S|G}‹Lv“Is—S{œT€O}žWršTn›WhžHm¨Hs£Gm©Ge¤;i¥>fžDg§@k¨:k´>l°Ct´@q¼Gy¼DzÀ«ˆ6¯ƒB¤Œ4´™B±šA¢¥>°¥=£žLª’Cž”FŸ™6›—.£ž*­™'­¥(©¥"«•$©¡%¤“"©”(©–-•Œ–…0ž‘+œ“ ™‹)¡(Ÿ/¬•+¦Ž,¢–)¯Ÿ’/™ˆ%¢#–›$œ‘2šž(œŽ4š4Ÿ—)ª–)¦’)™‰, (ž•(™—)ª•.ž˜/œ:’†7ž1‚1–…:˜{Bžx>Š|I‡‹R–~X‹t[™‚R yV„bŽ}b•tQšT˜oWŽkak]•r\p[¡sc’iV˜sRfV‡b^•hp—fxŒSmLs•W}‘YzŠV{…U€ŒMr’KuM‚•K™I{ Rx£Xj•Tp”Nu”Rj–LfŸCl§Gf¤QuNq¦Cy¦Ir®A€¦Mƒ·CºG{¹6¼AuÆ8ŠÉ4€Ñ6Šm‰«w¯xˆ¬}”µq‹³rª‚–ª€•«t’©m§x—šy£”} ™„©™ƒ¡ ‡¡‹¢¤‚§šƒ£˜ˆœ›£¥‡  †ª–¨Œ£ž’Ÿž‹ œ”’–ž•ž››ž¡£ª¦¢«¬¤¥§–ª¤¡±•ž¬¥³šš³›œ¸¤ ¬¤›±ª‘±¥˜Á¨¿­À³˜¿´ Î©¡Ì±šÛ´“Ö·‘Ôª†Ú±~Ù¨…Þ³ŒÝ®‚â¬~ì¶ró¾nô½uòÁjæ½bë¹Zù¹]ÿ»e÷¶jú½k÷½còÅgë½dàµbß¶oá½sî¼eñµoó¹wïÂrâÀoÜÄqßÉcèÍ]ò¿_æÄgãÏ^ìÊhñÓdôÑgïÇtëÂ}ÛÎwÚÑ{ÑÙq×ÝgÜÛgØÚdÙárÔápÐÜhÚÎfÖÎXÖÆ_çÂ\êÀXßÅJß¿KìÆOîÈUíÇVë¹VؼNÕÆKÏÇIÓÆLϳZÔ¶aÌ´`Þ¼Sà²RÒ­Rз`Ô±bç²Tá¤PÝ£VßšLæžPä™Oà”Mà’IÙ™GÛœGݧV× NߨEΪSΜOÕ—BÐŒAÒ‘?ÏCÓ˜@Å“F¶ŽJ´’?¼‘G»ŒH²‘C±‹5®‹5«—8¯–>ª FŸ£<Ÿ¥A¦ŸFŸ“9©-¢•,¥›(¨œ,¥š#­‘&³“!¯ )­¥*©™,¥Š0€+£5£Ž/žŽ)¢$¥%ž—"¨Ž#©–+¦(ª‘ ¥Ž,–“5¡‘.£—'œ(œ)—”-‘. ™4§›*™Ž$™’ ™!–’,•œ2 š1—“0˜”:•Ž:Ž„?“Š7™„9‘{D‹}B‡yH†‚U“xQ‘z[yWšyX’z\•{R}^xXŒr`kXšpZ¢qe£f_škfœu`‘rZ—kdjh•ip’cyUvˆRq”Yv•TzŒL{‰OzˆRŠNw‰PpQwžL€ŸNy™Ip—Uv”Op“Ug—DgDb¦Jh¡Ou£J{šHyžF¥L¡J‡«M„·K‚½9zÉ9†Ã>Ç=„Ò<ƒn|²|Œ¶xˆª´x˜²r–¬‚Чw’¬u“£oˆ¦p•p¢”z¢—}©¡{¤›ˆ©¤§—‡¥š…—’Žœ–‹’ž’¢£ˆ¡–“«¥Ž¢•’ž›–¢”–’ž£¡“›™¥©£¬ œ§­£§¥šž«£¡®¨­ ©¬Ÿ¤³±¦±¦š´¸™¹¶ŠÂ±“ÃªŠµ±’À±¢Ñ ›Æ¤”Ì¥™Ú³…Ö¦ˆÐ¢‹Ù°Œà¤~ܳ€Ý»~óÁzî½gø¿rö¶bæ½bôº^óÀZìÂ]ú½iô»kñ¸aï³föÄmà¼fÚ¿iéÁgé·oñÃrò°vé³oãÄiêÃeàÎbëÆgîÀhãÀlàÎZßÓhß×véÔmæËußÍxÚÊjØÕtÙÙv×ÓkÜÖoØåkÒåwÓÒsÐÛoÖÐjÓÑdÙËWÜÆXèÇUÞÃMæ»GéÀKã¼[èÄ`ãÇYÖ·SÒ½LËÂFÆÄNȶ^ɶ`Ô«a×»WÓ®ZÔ©QÙªbã°ZèŸQâœ^á¦Sé¦TÛ•[å–PæIߘBÚžNè¤Nè®På›LÓœ>Ô–@̘NÔ–@Ú”;ÔŽIÌ“C¾ŠDÁŠK¿Ž>»‰LÁ„?µ“EºF©>«…@¡ŠA¥¡BŸ >£ 7•š0–—4›’-œŸ/¬š4°¢0°–3º”+¶—1¹“-®˜4¬œ.µ$¢/ª},œƒ2Ÿ‰-¡5°Œ1©,¥›-¦›&´’$¯”%®žŸ’0£Ÿ:““4œŽ6œ6””.œ•&“œ-˜˜(¬'—‘"”'•'–&›0Ÿœ*›1••>•ˆ:Šx.š…=“=šC‡ƒDˆ‹HQ”…U’‚SyTvQ–yT˜yT‹uY‹y[•kT˜mZ˜mažu_•o`šrWŠkg“n]hf‚hjŠ`wŽexWtƒPyX~’\q‡U‚Vr„Xz”Hx–S{LƒŒNxKm’Mx“VhšTq[e›Uc˜UeŸKgKoŸU‚—HœS‚¢EެJ…´D‹·Eµ<Å9ŒÁ<Ì=†Ï8~{„¯z‚®q‘°y—¯x·ƒ•²†²|…¥u…¦s˜z›¢wžœz•˜}˜—}—ž¤§€«¤€¢™‰Ÿ£Ž“œ‡’“Œœ˜Š›•’ª›Ÿªš ¤’Ÿ§‘žšž“—¢—–¨“¥ ¤¦Ÿ¢™¢¡œŸ¡ª£¥§ž«¯¦³¨¢®©®­ ¥®–§¹“®¼‰µ±‰½¹–¸²”»©”ƤŸÏ¢™ÊŸÇ©“ѯۭ”Þ§‡å¥ß´‰è´ƒî¼që´ní±gî¹aô½\øÆXñÃYúÃXñ¸aõ±iù²gú¼kó¾læ²qå·tã½xä¿xë»m÷·sý¿yó·näµhàÂjÔ¾vÙ¼rÝ»jàÆgàÏuÙÍzØÔvàËzÞÎkÑÆmÔÐmÖÊt×ËrÊÛoÒÕuÒÜtÙÎuÙÐjØÉcÏÇbÑÊfß¿XÝÉKéÄJïÃNå»Rê¶Zç½\ì¹Nâ½MßÁLÍÁRйRϲY×·XϲXȱWÍ´ZÚ¯]تT×§Tå™Uà™Pè\éŸ_áZݤVä™Hî–@éšGß§Aã£LÜ¡HÑ—CÌ—GÑ @ÓFÒŒCÆCÁDÁ•FÀ‹?ňA‹KºŒG´‹@±@¥ˆ<ª‹J¦I­œN¥£E™š>™™0—“0Ÿš-§œ1§š7¯œ8º›>µ¤A¼:º‘;³.¶“*°‡"®‰,§ƒ+°3§ƒ3®‘5°/§™&­™+©ž%¯›©¢Ÿ!¥¤2¡ž1–¡7’5’›8—6ˆ˜,š'“—. +Ÿ‘2š”+‘&‘ž%’˜4—™1“6‰…2†„4’z*”…1›„6ž:“ŒAŒPŠ‚SŠ„O{M’zZŒqYrN•wRŒqSmZœnU›oY¡j]›mc˜jZ‘sYŒiaŒpa‡qc…hs_x‰cy†ZzŒVŽ]}•Tu•Vz‹VxŽR~‘Sƒ—[yU–Sw’Rpœ]r›\hŸbk˜XjWg—\t™Yt£Pt¥O|ŸW†©P‰£O‹«MºG¶F¾I´L‘»Aˆ·;À<Šv‰«~~³|Š®x†¦€—²{‘¨€…³€Š¨vsŽ ~¤{—›x¢˜¤…œ¢›¨†¦¥ƒ¤¡…›’“Ž•Žˆ£Œ¨”—¬””š–ž¢š’——¡Ÿ’£ ž£¢ž¯®¢¡›ž¢¨ž¥Ÿ§²°¢¦ª£µ©£® ¨¨˜£³Œµ¦“¸­†´«“º¬’¾¥œÄ›šÃ©Â¥•Òµ’Э‘Ôµ„屉ç­Ý°Œæ²yî½tã½uá­qí¾]ð±jé¾Zô½[ê¿_ë¹gö¸bó¨]æ³dç¼dî²të¾kçµtîÃqó¯oç´dó¾uô¿läÊiÛÄdåÀeÕ»nÞÌqÚËsâÆnÙÐs×Ó~àÖnØ×jÍÊt×ÌhÎÓoÑÖrÓØrÌÞlÓÜmÌØfÖËcÑÉjȼaØÆVÞ¾TÝÃIèºJâ¹UìµSÞ¸^ß³[â¯NØ·ZθNËÄIÌ·UѼP̲Y×®^Ú»]Ò¬PÕ­[ЮWÖ£XÛ—RêŸRôŸIèŸOâ¥Uê›NÚLè”CÛ’HØ£HÕšIϤNÒ£?ÙIË¢<Õ“CÉŒFÐ…H½ƒF½„=¾‰;ÁBÁ‰L¹Œ>¾>¯„:³‘5 >ªŽB©›@žœ9©‘Dœ@­ ;¢“0ª =¯™?µ“;¼˜@¹—@¹™9·œ,«‹)².·‰*¨….³,²„-·‡:³Š(±‰!®™0©ž.ª%¨Ž ¥ž™ !–” ¡5œ—;Ž=š3”“3‘”7–¥',›—$›Œ–‹›'”¥–œ-—•+‘‡0Ž,•~+†x-ˆ+”Š8ŠxAŽ~@’uPŽ„QŽMƒzLŒxY—x[‘mX’zc‘yZ•wb‘t[–dc’r^Ÿhe™la›mh˜lY‹kcˆll†`l’fo‘ps”bu‘Zˆ—_s‹Pu‡boŠ_mŒX}˜\†PyŽX€‘Y|Ws—bj fc›_obu˜Xt¢Ypž^|œTt—]zŸT…¢Uˆ¯Oˆ¶L‹«J’ºI”»O—·A…°I‚µEÌBŽr‡§v„«v€¤w†¬xƒ±wˆ®t|±y~²{‚®~•¥˜«|‘¦z Ÿž›ˆ–­—­Šœ£„™§–›ˆœ‘ —¥‰¯˜‹§—˜™’š–™œ™’©“¢ž¢žŸ©¥¨££¨¥¥¢ªŸ›¢¦¡¡®ž¦£”®®š´ ˜¯ ”µŸˆ®¡µ¨¸£’¾¤šÁ£’Ùə–š“¼ª”Ê®ŠÓ¼ƒÜ·„Þ©ŠÞ¦‡ç±€ä©vá±oÚ½fä·lç¯hâ¯gëµeë¾QíÆZðÂbì³fè¬cí¶cçºeßÀmæ´në¶hì¸lð¶hã°féºuíÅ{ìÅ{äÇnÝÇmßÈjÕÁrÜÄxÕËtØÄwÝÉwãÚrÝáiÖ×oÔÖcÒ×hÏÖbÊÔhÍÝg×ÙqØÎcÈÔeÉÈ\Ò¹[ξVÔ¾WÝÀOí¿Hä¿Hã½Xç±Xâ³XÕ¸SÔ¯WͳKÌÁNÕÈCÑÀI×»YÔ¸\Óº_à¬WÚ®RÕ­Nß©NÚ¡Pá¦HîžGå—JåžNäŸDáŽHÙŠGÛ–QØœPÐBË•KÕžJÜ£CÑ IÕ“FÈŽIÍŽ>dž@½‹@·•CÀ•@ƃJʃM¿A¾‹3¯6­‡<Ž<›ˆ>¤‘>­’F¬’C·‘3°™2§•:­•G¦ŽL­˜@·–@½ 3°’7´Š.«ƒ,­‰;ªŠ-±Ž)´Š-¹€2º0¾#²Œ+©•)¢+©’"¢‹› œ™#–’0›˜=–’8œ1–Ÿ9‘¥4˜ž&˜“(›™““!˜Ÿ%Žœˆš‹‘'Ž&Œy0‘~;‹…7—†2“4’|7Št>ƒp<‚tK~€Pˆ€O‰‚Tšvd—zf—sc{[’yY‘u\ihšgh£ma›qcžhf˜ad˜i^Šheejˆs{Žp}Šqz—g‹f{[t“_{‰aq–^€™X}‰\x†O{ˆSz†Ypaf˜_lbr—`ušTl¨VnªWxœW€–Y{ŸX…§Xƒ°Y¨L…©NНC—±H—°O•³E¾>†ÊB†p|¯j{²s…²pz³oz½zƒÀr|º||°…‡±‡–³z“¨}Œ¨xŸ|•˜‚–Ÿ‚œŸ‘‡’¨€œ›‹’˜’ž’”Œ–••œ˜¢–¥••£“ª£›ž  ©—Ÿ¥•®§§¬¤—¡¬œ­¤£¨§³¥—´¢—»¨—« —º Šµ£‡¹ª•¹¨‹²®”¯¤º¨•¼—“¼ ‘¸«šÀµŒÇ¶Ö¶Ó²~à¸yê­xä¶nà¾gã»så¯nÝ«låªdä¸Té¼XêºUò´_å¹Sâ¬\íºWâ»YèÂdâ¾rå¯hð°jâºké¼mç¹mæ»mê¼pçÃxßÐåÊpåÉ{ÚËrÞÎrÙ×uâÖráÙuÖÜnÖÐ}ÒÐxÐÜdÒÔcÊÏrÒÕiÊàeÖØnÔÕqÏÆ]ÑÄXÒ»TÚÃPãÀ[ïÄJÚ½KèµTä¬Lç¬Ná±UÕ³VײQѹSÔ¶UÍÃJÙ±MÔ±NÑ«[× L×°TÙ¢FÖ®RÞªSæ˜HçœEêžSÝ‘MÕšWÛ“VÖŸWÓ™GÙQÉ>ÊžLÖ£OÙ¥LÜšAË•JÇ;ÁŠBÆŽGÀ‡NÆ@È‹EÀ@Æ„I¾@½‡:¶“9¦9Ÿ–1¨‘1£2©”8¯Œ>´™E¼œ=®Ž<¶ŽB°•B¸¡Bº–6¶¥1¾’/°˜;«Ž<¹”<¯6¸‘5½‘$¾…1°)µ‹$¸” ª“±#¤›œ–"˜—- Œ"š(“•8“’9;œ¢:—.“Ÿ0‹™‹––•‰š‹žˆ™!Ž#‚ƒ$†€/’z8ŠxA’‚=t6†:’u:s@uJ‹uLxK–yZ˜{fœ}\ ncra’wgžjj™po¥al¤cX¤ngbd¦md”j[˜^išgb–nzpyŽnƒ—q|Šgr^n•iŽm{˜a}c{PzŠ\z”YyŒVu‰Xq’X|•^lžax [w›V{N{¡N‚¨ZŠ¥Kˆ©S²\‘³O‹¥B®PŒ¸N”µ>±G¼I¾9hƒ°jy¿s{Ár}½wyÉ}yÃ}ˆÂ}†·~ޱ‚¯xŠ·vŠ´w‹¨†–¥–©†’¡„‘¢}›˜„˜„—“‘–“’‘•˜œ‘˜›™™¤–§ ¡ “£™Ÿ‘¡£“¡³’¥²š¨¶§¤·¢£®£ª±š©¹–Ÿ¹—˜´¢”³¥–»£™¹©Ž»ª‰²¦«¤–¬ªŒº­»¡Œ¹²†ÃµÌ¶ŽÉµЯ„Ô·|Û·uÝ´tݺlÛºlà³må³méªbë¯^ä¯Vî¿Zè·Lð·Oò°Yä¶Yà´Vç¿Uï»déºfî®cê²lé¼oß¹kêÀqïÁkè½sëÆ}îÆ{ãÈ…îÒƒéÌ|ÞØ}áÙoÔÜkÔÕwÕÛrÊÓ|ÖÒzÕÝqÓÙm×ÙjÓÝeÌÕiÊÛnÕÐoßÅcܾcØ¿]â»XèÀWà»UåµIÜ­Hå®KÞ²KݳMܾSܾTиTÚ²UÖ¹YÖ´XÒ±QÕ¥KÖ¤Ká®Iá¨Lå§WÝ¢PáœLà•EÙ™MÜTß™OÕ–TÒ—NÍžLÒ™MÌ’AÔ™@ÌEΚ=Ø?Д6È›=ÅžGÄ’JÆJÄNÈ•H½GÊ>¾ˆB¿‹7±“9¦.¢2œ‘9¢“5›‹5¥‡C­=¶ŽD»“L´B­–<´œG¼™<´ž<»š;²˜=µ˜>¹™9µ1¸Š1¯.³Œ±ŒºŽ °–%¯š ª’#§“¥›&™–()•”0‹.—Ž5™”8–˜,–+‡“-“+‰œŠ‘‰•‰‘‚”%‰‹+‹Œ-‰1ƒ3„v@Š|FŒz;•wEŽuBvOŒzN{KsSœwT›ta}k¡ug¢|_žtg ke¦ekªf[Ÿc\Ÿ^g¤ge¥[cž_ažiišgfŒsoˆqx‚ut†ww‚w€oyŠt~‘n{™mv‘^|“[q™Wl›]s[o‹ZwšS|—U}¢Yw—]†šTƒ Z¦SŠ¢J…¤M…±L®O‹§M“¦CŠ´J²F·K‡µC’¸9Â7Œe±iv®s…¶nŠ»}~½ƒ°zx²x{µ…‰ºˆ²~‹«t§r“ªš›y™ †Œ›‹— Œ–…–Ÿ‰¤˜™–’‘—¡›™¡ “Ÿ¤˜«™ŸŸ¤–™¡˜—œ®”Ÿ¬Œ¦³£¨²™Ÿ´˜¤¯ž¢¦›¢¬¢ ²¢¤š‘µ ´Ÿ~°¥’« •¨ ‰ª£‡¾›‡¹£¹¨Ä­Ì³„ïw֮͹t׸wâ´sÔ¬uå³lè®lã»eð½Zö°YêÀVí¶Pð´SçÀ]áÂRä³Uâ¼^çºeâÁeÜÁpà´fá¯cé±aÙ¶kè´ièÀgãÉvã¿zÞÄxݽ~×ÃzÜЃÛÓäÍyÑÌw××kÓÍ}ÆÈ{ÆÜl×änØàtÖÓmÎÙdØÙlÏÎeÒÙ_ÖÎbÖÂeãÆWåÆMÚÅUÙ½LÖ¾SØ®V׺Mß»C×ÂIݶVÌÁPDZLÕ¸[Ùµ]ͯPÒ·RÒ­FÓ›OÒŸDÕžPߟMä›Mâ”EÛ•OßœFÖ•NÓœMÖ•_Η[Ë VÆ”AÅ”BЛ@ÛœKס=ЗBÙžLÆžHÇ›DÆ’GÄMË“G¿‘L½I¾Ž<¸•:±‰:®–5ª=¨;¢ž0¨•< Ž:>©ŠF¨–>µH©ŒJ­˜D® ?·œA±š>©Ž6²Š@¨–A°“>©‹0¯†.·…%·“,­Œ#­%ª'«š«’³™§“# ”!£š-’Ž4—/–’)‹š4–˜/Ž $‰#™-ƒ•Ž%†‘ˆ¢%Žš%Œƒ%‡Ž*‚Ž/†v/‡9‘r4ŠzE“C‚EŽzL‡rG‰sM™€\•{X§yZ©oh wl {d¨yt¤oo du›gf¤uW¦a_ kn¢\g¤e`›nnŸinŠioxvz–rtŽu{ŒjkŒn~n{”b„”cy‹\užbseqgq–^s§Q‚¦aw¡Pq¥SwœUv£S®MŠ®X¤N«HºC†¥NФI‚³OŒ­Q•±B޶F»D‘»1Šb~¤h~ªcƒ¯o‰¶n®xƒ­n}´o€½±„Œ§v’©r‰¡sŠœu™›z“¡~Ÿ†“§‹Ž£}ž¢Ÿ‡—ˆ——¨¢¬”¦­”¤œŸ£§˜¡šš¦§£¤¥²Ÿ£³Œ›«›± Ÿªœ›«—™¦–ž¤¦ ¦–˜¡–›Ž£—›žƒ£¥“©§Œ³˜ˆ¸žŽÃš”Ç¢†½¢{¾¦|ȲzιuÒ¶qÔ·{Öºwß®så¦aÝ®]á³bâ°Zó»[ôÁVæ¶Wíº[éÀcìÁbæ¼_é¾cçºiÞ¸uÞ½që»géµjè¿fÙ¼cÛ¸pé½rëÁæ½|ÛÇxÛÃÔΆÔ΀ÙÅzØÆwÐÒlÐØmÍ×qÓÌvÖÝsÇÝn×ÏhÙÎhÖÏrÖÜmØÔiÓÐWÏËUÐÄcÝÊ`ÜÃOÐÈKÕÂTÚ·RÞ¶R×ÂHßÀIÛÃJÜ»MËÀJ÷OȸUÕ³TÛ­U×­RάGÔ›JÑ—HØ›Fß’CàšIÞ”LØ“JÛ¤EÔ¦MΛSÌ–ZÉ¢ŢQàDÈ›GבGÙ”JÒ¢GØžH×TÑ—OÄF¸“FÀ™DÈ•@Ê™I»A¼7·›=²–>´ˆ3¶<¯š6§¡7Ÿœ1£’5£ŒH¦ŠI£–E­žA®–J¹£Nµ¢Aµ‘<­=¢ŠB§‹:¥A¦†@°~=ª-«ˆ'ª‘1²+±‘ ¹±’¯²™!«”«ž$£œ/˜‘)›Ž&‘.ˆ 0ž.–¡"——$Š“(ŠŒ)Ž.ˆ‘)š+‹™#‹’"‰Œ•1ŠŒ6†‰/„x5„s5’uB‘‚OŠˆP‰yOzG‘uG|Tªz_©wa¨{gœ|i§pq¥mq£ru¡sn™qhv[šw\—hižjk¨ccœmqœoq“mwŠpwŠt}•|~•pulnˆl{Šh~…mƒ‘f…ŒjŠ”d†\Še}e†¤^~¢Vv¡Wp¬Qt¥Rs±Pv«N±O‰³VвGˆ´E€·Oz©K€¤SލL‘®J–ÀG‹È<‹¾<f€ª`{±b€°c‚¨q~§w€«w…µs„°‚„µ…€¦ƒ” v›~‰œsЦ„ˆ¦|›}‹§‚›¢Œ˜•~¢˜‚›•“—”–›–¨ª˜™§– ™Ÿªš¥¤­—ª¨˜¯™œ²œ©‘•±ž•¬¢®š›¤–¤™œ ˜’ž›“¥š«“†¢š­Ÿƒžž°«³¡|Àœˆº£Š¾™„¿¡„È©wÒ²xˬrÕ±uܸqÕ·mÜ®kå®`ܧhá¶aêµ\ó´Vçµbð¶\ìÀ\æÀaá¹`ãÄVàÅeî·eæÁtÞ¼nç¶jß¼pؽlÓ´\ݵpê¸vèÄqßÅuéÇ‚ÔÄtÙÐÙÉrÖÒpÇÓqÓÍnØÔjÐÑiÚÛqÏÖxÐâkÓÕlÓ×_ÝÜcØÛaÖÍ`ãÍQÓÏUÍÀbÚÀTâËUá¾OÙ¹[׿QÛ´VÖ»IܺKоJ×¼QÔ®X̼NϪWשPѦ[ܯ^Ù¤WÏ–IÓ‘FÔ AÝ“D×–DÞ‘SРFÚ£QТDÍ¢NȘ^ͤVˤPÒªUÅšNËœHÚ¤D×–PÏEÕIÌFÆ‘A¿ DÞK»—D½ G´ž@·‘Eº”AµŠ6±ƒ5­@¨”@¤–6¦–<¤¡A©J¨œFž“JžR°ŸT§£R¶E·•K¯’?©ˆ:©Ž:®:±…C­<®ˆ1«‰)¬ž*²!¨›#µ˜'¯˜!²¢¹£ª$¡£$¥™&‘›&œ’3“›06”'’”3–˜&†Š$€‘2Œ‰'Œ‹!Œ–*—#‚“+‡“'‚“1ˆŒ2’A‡F—}:—E†E‡{FŒ€I™†V¡z]w\¤wc§uk›mp£yi§rtŸkr­nh¬wpžm[ xo¦lr£hn¦ej§sq’uq—mp“r{’pršnx“s{kn”hr’ky—g‹š`ˆ˜k‡”h‹Œl…›f}’\ˆ¬Uˆ¥W¡OsŸ^ož\{©Uv­S~¬O‚©I„­P}²CƒµF}·A~¬H†¬A–»<ŠÄ<Ç6Ç4‰[Ÿ\ˆ¬h‰©f‚ªl„©w…¬yˆ©t|°{{³‚‚¬€…›–›|Œ–‚ˆ¡…Цz¢~”¢š¢‚ž”†¢–™”“¡–“¦ ©•˜ž–¡¤Ÿœ«£¢¨¡¡¥š«™–®˜§’“©“›¦Ÿ ¥§›§¥¤™™™™ˆœŸ†ž”« ƒ©œ~£™‰§§ƒº«x»«{¨z¾›ˆ¼˜‘¾•ˆÎ ƒÎ£‚Ø«uÕ«wÎ¥zÕ¯qÕ£j×§cÞª]ë­]è¨eñ³^í³Sî·Yé½\è²`êÁgÞÂ\à¼dä½hãÅjâ½tÛ¹sã½pä¾sÝ»fâ¾ué¿u踂ç»ÛÊ{ÚËtÒÐoÓÇrÔÊyÇÏqÍÖnÏÑwÇ×qÏÝmÆØjÍÖmÑÔfØÛ`ãÕYÜÒ^çÐXáÐXãÇ^Ù¿VáÅVßÂKصNÕ·RÒ¶NʲJÖ¸QÑÁUϲTÑ´RÍ·Xʱ^ΫRǬT΢_Ó¢^Ö–XÒ”RÖ“SÜšLÓ’QÌ”KÆ–KÑNͪDȪKÅ¢PÊ©XÊ©QצXÛªYÒ¨XЩTФMÇ SÍ—GГGÆ–IßNÁ¤F¸¡E´¥E´œN¸ŸI»›I¿”Fµ‡;³‰@±‹?¦•D§@¢š@¢¡E  >¤žJ ˜Fœ–O¤™R³’U·˜Pµ‘C§Œ<°<«‡9¥’3­7°Œ;¬Š3ª˜.®š0§›0«š%¨’¯›©§²¦!¤ª"›¦)•¡'˜¢0š¤-•˜3šŽ3–‘.Œ‹(Ї-~‡'‚.ƒ”.„”"~š(ƒ“"…—‰'(„ˆ.’5ŽŒ<’F˜„B‹?Ž„@•EŒ‡Q’~X¡ƒTœ‚b§t_¤j]¥jj¨sežri¢w`ªvg±~l¦ulŸzi¤rt«kv¢op xr™pg™xmŸxr or£l}›rt”tx˜f”f‚œ`ˆ—\‰“aƒ’dŒ›`‡›g‡£`}£Z„¡\«Tt©Pv¥WŸZ{žSz¥EwªGy«@‚»I…¸A†·@Œ¾:Œ³E‰¶>ˆ¼8ˆÀ?Å=‡cޝ`¦gˆ¡lŒ¥e~ªh~·ey°p{µm«zаsœv— r§€’©sž~œ~¨}™…™’‹®— Š ž™¤“—Ÿ—ž” °— ¡›˜›Ÿ« Ÿ©›–¦¡“²˜–¤Ÿ¡¦Ÿ¥­ž•Ÿ ˜››”§š‰¡”ˆ¨–…¦’Š™†¬©|®¤º«†¬‚³˜„¸š‡½œƒºš‡ÃžsǨ{ظnЬoÚ§vѤsà±`ã²aåµ^â·hàÁWéÀ[öÀVä²\í®fã´[á¼[àÃcÚ·nÚ¸yÞÀnæ´v×»m׸iسrçÀeçÃpâ»uä½åºzÒÇ}ÛÍnØÄqÖÊjÉÇpÑÒwÕÒjÚÔmÔ×kÑÒfÎÒvÓØ`ÐÐgÓÌ_ÞÆSÔÂRäÅVÖÉLÛÀN×½PÚ¾P̾TÉÄXÊÁNÑ»PÐÄOÊÉKÛºUݱ]Ƶ`Á¨WͬZÏ´]Ö§\ÍžcÍ•QÌ›MÜ•JТMʤFÓRÒœPÉ£WÓ¡XɧEÌŸUÇ¢MɬNÒ¬QȰWÖ¦^Ï¡WÁVÍ™JÓMÈ E¼™IËQ¬AëOœP¿™L³ Mº J¬“I¶˜J¤‘>¬’;³–8®˜8¥ŠC¤’9£’?Ÿ•>˜‹?œ–A¡ŸHª˜H­¢F§—HŸ—C£…7¤‡6«“;¦‰3¤•6£’4®‡1¯0®‘2¯–/³"¯š¥ª"«®%¬§¨˜%¡—%• 0™¡;Žž/‡™3‰”,…Œ5ˆ™'{•*y)€™*„–z— }–‘(‘+‘—*Š”5‘“8‰Ž2‡@˜‡<™F†7‘ƒCŠ’T™Qª~O«wV¨tg§rl¯plªl^¢{`¡}f¤}m°to©liªugªzp¬ll¢w~œlm¨~r™~vœzt™wz•du™fm˜qu™tr›l}—aˆœf…’iŽ]žb†›`ž^y›WvžW~¯_u§Z€£Uƒ¤Oz¥R‚¤J®L}±J}´R´A†»>’¹?‚º@‰µB‡µ:ŽËB’Ê;†^ˆŸS€¥a¡f‰¥n‡¤ez²]}ªd‚³g”­e•¨h‘œp‘Ÿ|Œ§xŸuŒ y–¡t“œt”˜y¤Ž~«Š‚¬—¦•–œ˜–¡Ž•¨‰œª’£¤’›œŽš˜‘©£ž¦™ž¯˜˜ª¡ ™™›©Ž¤¬’¥¨“ª£‰±¦€©žzœ—xž”„§˜|¦¦‚­œ†§™€ª›ƒ´’}½›ƒ¹ª„Ųƨr˵mʶpЫtÜ­sݧpÚ¯hà¯eÝÀlâ¹`ßÂZâÅSôÃWïÆbá¹`ßÃfæ¿dÞÅiá¾påÀs߸vâ±wÖ¸qдzØ´tݼjâÈiâÅgáÅqØÀxØ¿uÚÀyÐÇlÖÆqÑÃtÜÍsÖÏlÞËhÚÊnÞØpÐØoÓÚnÌÕ_ÒÉQÏÃPÓ·]×¼XÕËTÜÈKßÉPлIÄ¿MÈÃXÄÆK̽LϾRÔÉPÙ¼]Ù¸`Ù®eȯZÙ¨YݪbÚ˜eØ–dÓ“ZÔ’QÖœTÏšQÆ›OʦOÄ¢NÈš[ÍžWÔ¬LÓ¨GÒŸPÒ¬YʯPÄ´U˪bȤV¾™P¿›QÅ•FÅQÜLÉ£GĬF¼®D¾žIÀ O¼ EªŸK¦•Bœ•D ŽB¯–C¯•7¯‹:¡‹BA™@˜Œ?œŠBœ“;¥—<¬›F¦šH«žC¢’C¦“6¥„0¤’5¯’1­Ž+«Š+²Š/­ˆ&©Ž1¬,¤¨*¦¦ ¡©(§¬%§¤!ª—.© 7¡š/”2Œ’6ƒ›.„—+‡—(} 1y”5u™(p¢#w {œ‡‘Œ—Žž ŒŸ-‰˜+…‘.‰“5Š‹;„FŽ…>–<”D™‹Nœ}W¤zO®v^ªpf®q^¨m^›odšsdzr§vn¥zj¨og¢tp¤kž|u¤nz©|u­|~¥rt—wmŸhy—jv”snŒqk‰s€•k†Ÿg‰˜e‡Ÿ]™\†–Z_ƒ”j{œeu bt£Xk©Y~¤X‚šP‹Dƒ¦Gˆ¬K€¤Bƒ­J´C‡Á@Š»:Ä=н5†½:“Æ>”Ì7‹R‚ªZ‚§]Œ¨\‹ª\³a®[ˆ°k…±aŒ­eŒ¯m—«k–—o”f‰‘mš z•Ÿv”›‚¡“…œ†£‰‡¤ƒ—Ÿ‘˜¨‰›£‘ž¦Š—­˜œŽž ˆ«–£˜ ª•œ¥š•¡¡‘¬œ›œ˜¨«’¬¯…¡ƒª¨€Ÿ–xž“ƒ¡¨•…© Œ¢“{¦•}¤’†§Ž‚µ”€Àu¾ª|Æ£kÄ´hÁ°pÓ¹nݸtÜ®wÛ¸kÙ´nâºmÖ¾lÙÅcäÈ`ëÁ^ç¹Yß¼cá¸XïÂeÝÀcݵrØÀj×´oÙ°nѹmÞ¿hÙ¶mßÊjäÌcêÏhÝÃjÙ»tܺuÙÅf×ÍjÛÃyÙÇvÖÌiÞÓiØÇoâÎpÑÏjÜØlÕÒbÏÊVÑÃVÖ½QÖÂ[ÓÄPÔÅGâÍLÏÈF×ÄP×ÄJÓÆ\˽XÄÁRÓÄQÖÌPà·bܲcÚ±fÙ±_Ù¯_اiâŸcÖœdÚ›_Ìš]Ï›WМXÕš\Ô®QѦVÖšOÛ¬PÖ¤ZÓªJÑ™Vؤ^˧YÈ®a΢`Áž[Á—XǤJºŸNÆœHº¢T£SÁ£E¶¤B¿£KÁ£@¶™8¨“6¬9ž”D˜„=¤‡5¢’4©“<¢Š:˜Œ9¡…A£‘A¤Ž6”;©‘HžœC§‘G¨ŒH¨H?ªŽ-¤‰9§Š9«‹'§Œ1­ˆ0ª‹,§™#¤¡ ¬›*ª¨$žž#§¡)§¥%¬Ÿ$¬˜. ˜6˜™/‡Ž+“*¤3‚*w¥*|¡*t¡/‚¦„š„ ”%…‘–‘”†ž"‹˜'’š.•—/˜‡D ;——;œL¡‘R•„L~J¨|U©kb¦mažka i^”jfš~j¥|m¥qg©vo¡i¨~p¢~uªns¥tx«xt¨u}•ty•pu—fu•dz˜kt™ky—_ža‚–bŠ™b~¢hz›e„£\z›^~›\s©VoŸ^x¡P~ªRŸP†¥I¦M‹¦T€µF†¸>®I—¿D‹¿DŒ½H¼<…¾;ËG—Õ;ŒZªU«Q…¥R†¨^{³Y~°c„«c…¯^†²]…ªc’¤e˜œkœ˜e‘k’Œu™ž~‰ªƒ†ª‡«ˆŽ¥…¤¨Ž¥ªšž ”¡¤˜§¤©¦Œ©—™°Ÿ¨ž¬‰¨¤”¥¤’œ¥†¢¬ƒ¤¤} ¥x¢›€©˜| ‡£™Š¡‘… ‘ƒ¥”{ŸŽ‡ª˜ƒµ—y»Ÿuº¤m¹­j¾·fƵrógдjÔ¾hпvÒÀ~áÃuåÍrÞÈdâºoê¼hä½jíÁ\ê½]ê¾cÝ»mÜ·kÜ´dÛ´nÝ·jÛ´fß´kÛ¾qÜÅoèËmàÂyäÇsÝÅqÚ¿kÔÍsÒÊpϽpØÁtàÐx×Íj×ÊpÚ×dÕÙ\ÖÏ]ÕÌTÌÌNÚÄIÖÂPÜÇSÑËQÖÂOÖÀDÓ¼GÓÈJÉËGÏ¿OŵZʸ[ѵcØÁ[âÁcÛ¹[á·\Ú±aâ¤Zâ^ÚšdÙ›dДdÓ–YÒ cÒ›_ÍšaÌ¥bͯdÒ©TÓ¬XÞ­Yâ§[Ö¤WͤUÕ©cÈ«ZÆ£^É™VÉ›S¾œM¾£S²¤U¶ªX®¬V³¥Lº˜C°›>±–8·š6³™:ªŽ:¥“0¡‰1¦Š-™†9’6£8¦†7ˆ8 ’.¡5 –<¡’B¥H¦‰HŸ‡Jž†Až†C¨†9¬z4°}3°9­‰.®Œ+¬‘)¥–%¬—$±˜'¦˜+®¤.¨¡%«§$§¢$¨•"¢”,˜‹$‘+†–0†Ÿ,{¥"{š'¥.z§(ƒ® „¥(‚ž%}œ!~˜ƒ—)$”™!’&Ž’)“”8›–7—–:ž“8•†@š‰M“ŽF—ƒO£€ZŸvfšms£un™|f›rh sj§}b±yo©{m®}j³xm®uv¯xz±x~¬qy wužxu’vy”ix•ho˜`sžet•b|”[ƒ˜_„ ]}d|•\u˜`xžVoœWtž[s¨Vv¥N}©GЦ?”­GޝI“¬K‘¸M޳=´F—µL—ÁR“ÆJŒÉKÃLˆÄB‘ÎC“T†¶`Ф[‰®Y…£Z}£^}±`~¬g€¬c‡¢d¤^›a–ž]——q–d“Œp›‹u¢z¡‰ˆ¡…‰ª‡¥˜£—› “¢¥—™¥•¤‰ ¨ ”Ž ™‘™ž—œ™‰¥›Ž©£„£Ÿ¢¥†§¢‡©¡†­Ÿ„¨”‹¡…œ™ˆ¦ƒ¤‰¦†„Žˆ­–‹¦œ…³œv²œwÁ›g¹©m»¥fÀ¯v¿³mÌ®pδyÕ¾rÕÆoÕÈmÕÌnàÆlݸoß»jßÁ\ôÅeå»^â¶lçÀmÒ·gÖ´`Ý®cÖ³hâºdÓ¼qÛÀuÞ¾ráÊrãÑfãÊrã»qؼjÍÇpÇÐtÌÁqáÁ}ÚÃláÔiÙÒqáÐ_ÐÍkÊÊ]ËÒSÎÉNÒÉVݾHÔÊMÐÓQÍÌIÔ¾=ׯOǺRÏÁG˲SκXм_ι]ܳaرVÛ°Vá¬_à¸\Û²]Û¥]Ü©^ݬ_ÚšYÝfÓžWÍšSÕ Z̨`À VÒªHеQ߬SÖ¯Wͦ[מSʬXê]¹šg¼©aƤLÁ£M²¨\³ŸMº¢V¸X°ŸC·¦@²˜L´–>³›>¯“7¶“9 ‹5§‡/¨…/¤~: B£–=Ÿ‰1 Œ<¦†1 „1–ƒ?œ†HŒN«~N …KŸ†<›Š?¥ŠB¨}3¥ˆ-|,ª‚+¤‰6©2§.§œ, ˜0¢+¨”#²¡!©§¢Ÿ* ¤"« *”˜'Š›+„£"y¢*~ª0|¢"„Ÿ.~¦'x£+„Ÿ&uœ&~“&ŽŽ0•™-ž  Ÿ+‹‘8›œ>£5œ—=ž’<Ÿ˜=¡”LW¡‘M•ŠS›{j xm£sc•um kežzf§|k­i©sq¥zt²vs°wt¯v}°|q®tsyp®~o¢km“fw’fu¤e}’`yg‰›b…`}š^Ÿb…ž`–[v ]| Tv§U€´L}¨T¯JбLеRƒ­L‰°@ˆ¶C‰·I•¼E¼D‹ÁO‡ÉX—ÄF„ÈF“ÑL•ÑESt°[{¨Yƒ£Vˆ¨V„£]¯`¤`„§^•°Y”¨Uˆ¢\‹aˆ’o“rŽŒešu›t›Œ„¤‘‡”¨Ž”§˜’«œ–¡™šž“™¤¡Š¦¥‰›¡’Ÿ—‘˜–•𔑒‡˜”}£–v ¦}¢~«’}°‡¨†ª–©”„¨Ž‚¡‹{©„ˆ¤‹†¥‘Žª†­™‚°šr³ iÄjÇo»£j¬iͬtίvÚ¾xÓÌjÖÈhÔÅdØÂpÖ½dàµeæ¼]é½dë¼jݹhÖ½h׳`η^Ò¹gà¿jß¼hÞÃkÍÅmÈÏsÒÊpÓÅnäÌfßÀhá¼gÎÅ`ÉÐfËÍtÞÅvåÔxàÙqÖÖqÚÅh×ÐgÄÓbÇÊ^ÑÈLÛÆRÝÃKÕÄUÇÊMÇÄPÏÂCËÂ@˳MÊ»O̶MÔ³WÕ¯RÛ»RÓµ_Ù·_ذZ×±Yå²^ë°eß±`Ù¨cÙ°]Ó§ZÙ™hÝbÕ£TŨVÁ¡U¾«K±JDzJÒ¬L΢LÉ›WÍUȦQ¾œU·¢dÁ§YŨOº­V¶¡S¹™L¯¡O³£R¶œK°˜JªžM§—F®ŸG±žF±“:¢.£1ž†<£‚:Ž8¡–B©–7¡„/¤}1šƒ2™ƒB™‰I¦…I¦Qž„M¤zF ƒ:£…:—‚1›‡8Ÿ7˜ƒ.œƒ1˜“2žœ)žš*œ¡&ª—(«¡&¬¬¡ ¨Ÿ+žŸ#£§( °)“ª(Š®0y¬+‚§*‚©&¬&ƒž2›'|›&{›t•„˜ Š•(Žš(–™+˜ž.Šœ=‰–C™8—–E“—A•“D–—L˜’N“Q‰`Ÿ‰^˜z_•xc™mf›op¥zk¦ƒi£ti«se nk¦oy¨y{­xv¨}}ŸxzŸ‚|®msq›gw™sžo~škƒ—j„›c{ g{¦Z‚ Zˆžc}œ\y¤_{®b}«]…µS¸X«[Œ»]»Pƒ¶H’°D¶Q“²P‘´M•ÂB‹¾RÆU¾NÆMÄL‰ÍN•W}©X€ªN…­Z…­[‰¦\ƒ­[ƒ«b‡§^‘©]ŸW‘ž_‡œe¡q“ d“oŠ˜pŠ’s—‡{œ‘„‘‘¢Ž’¤œ©š’°š¡’¡Ÿ£š”ª’œŽ””Ž”–Ž•š‘Ž”›xš”|œ¦vœ£z¯š{«„©†²§—~­‘…¨Žyª•„§‡¥‘‰©ˆ‡°|§šiÀœn½¡iÂhº©h¼¦sϰzйwÔ·mߺhÖÂnÕºnè¼fݼdå´gå¹Yâ´eÖµ_Ú·jÙ¯]Ó«bÛ±bϵiÝÀbãÇ`ØÃaØÁgØÅ`ÑÊfÞ»`ÜÊYÛÌiϼgØÐ^ÈÌpËÄkÎÄvÛ×}ÞÜjÙÒhÍÏgÎÇ\¿ÍWÁ¾TÒºSÓÆTÔÂIÓÀDÏÄNŽCĹCϺLÉ«NÊ»K̯HÒ·XÉ«Wض[Õ²TέRѹYáµaÚ¬^׸aá´fÓ«e×°`Ú¤hÕ˜cؘS×¢TœTÁ£O·«SÈ©D½¨F½ŸA½¢QÉ’GÉ™PÈžX¸£]¾›f¶¡SÆ©QÇšL·™Q³™U¾›L¶—F¨žB¬§D±žJ¯ŸAº”J­ŠJ«‰C®‘3˜‹6”„3;”“?¡š9—‡7š‰6›ƒ<›Š4£‚;•~G¤€K|R˜vP †J“…9¤ˆ:~0“z.šz,‘}6ƒ0š‹4“š-š—$“+Ÿœ(«–) Ÿš.ž™#œ /›¢$‘¥4£&¡'y ){¢5Œ¨3Ž-ˆ™7ˆ§,{›"… €¢‚ ‰•3”-‘—/‰ŽB‹’C”<™ŽD—ŒA˜˜O››R›˜\¥žX•`©e£’_¥d•}^¤tbœxr¨zjž|e«rbª|iµqj¬x®€~¥w{«|œ„}­{°zr«q{›g…¥sz£pw™n~”v€™i…£j~¨\|¢g€^}ž`x¥e…¨fƒ³W„¯aƒ·T‚¸ZްWˆ³M‚·Hƒ´E“½G…¹IºK‰ËHƒÀIƒÄTŒ¿R”¾MÏS”ÏR”A†¦Jƒ¯Qˆ°Uˆ°T‹¡Q’£K¤UŒ¡RŒ¤\†–e}–`‚ _‡—kŠžr…˜gˆ”eЇoŠ–•ˆ•‡˜ŽŸ™ˆž ­›˜¥™•Ž™—¤’¦‡Š™‹Ž“•–”•‘}š˜s ¡zœŸ|§’w«u²‘}´—t©”y©y«“³’‹ª—‡¨–‚ª‘«Œx¬•o½•tßoÇ£kÀŸsÉ£tÅ­uɬyÛ¬nå²dß»dà·aèµ^Þ¸Uà¹]׳^Þ·_ß¼dÖº]ݺ]Ô³b׺gÓ¶fÓ·]ÛÆcÔÀcÑÄ]ÔÃVÕ»_Ù½aÙ½]лZÎÊ_ÖÔlÓÎlÑÌsÍÌuÚ×rÙ×tÏÓbÊÇZϽZÃÃTǸQƽSÍÉPÐÇDÍÈCÌÇBýEľOɯZƱVɹK˹JÒ¯JʲSǪTÒ§QΦUØ´\ß²cݵbÞ²`Õ­gصh×´i̳aϦ[Æ—]É—XË’Y¿–M¾¥H½¨M´¬Qµ G¶£M”FÄšMÇ”X¼ Y¸£[À¦_ŧYȦMšQÁ›M¼™Q°œR¦¦H žA¨¡?­—<µ“H­ƒM«„@¤‚H—„@•ƒ<‘Ž<‘”7ŽAIŸ@™<Ÿ‡7¨5¢}>¦ƒC¤|M¡wG’‚•ŒKŸŒ9˜‰5šŽEŽGŒ‡?—‹B~<ŽG†:vA§AžyIvH”yBˆƒ:ˆ€B–}7‰‚;˜Œ6š‘DŽ‘.“*žˆ&œ/””.¤Ÿ!˜›¢™š'‘¤'Ÿ$’¡-ަ.„Ÿ-£&Ф(z™8|›:†š4‰›4|¥&Œ¯%y§‚˜!ˆ™1ƒ 9‰8ƒ’B…L“N‹”@Ÿ’Dž”JœLœšU™_¥–f§›h¡“^²f¢Œ_œf ŽXž^¥{f¨wj¯v´‚x²zs«‡t¥€t³…s …sœt‚±|€¯h£kyŸ~‹¢~‚®v‰²p}¨n{¬qv°dz«pˆµk|¬i·`‚·aÂc|³^|½f‡¿g†Ãe†¶T²R‰ÅT”»E‰¿M…¶_ƒ¿RÃRˆÄU•ÎU•Î[’Í`—ÇW˜ÔSªOwŒZ|“Z‚”M‚œQƒœLO…¥[‰¢UŽŸ^‰b‹_‚œU}™Y‰[”d‹m‡—uŠ–~—’z›š‡š¥‹Ÿ—‰¥ž“¦˜‘™‰›¥–…¡œˆ›‘“Š‹œ’{ ’v–’‚›{¦šp¡Žk©’s°‹…¶ˆµ“‚§”z˜†~š‡xœŠ€¨‡~«…t«u­s´•k²¤t¸ªw´¯f¿¯eÉ©p̳wЧzÙ¨pÜ¥nЮhØ©fß®bà½fÛ¿aׯdÕ½^ÕµZÜ´ZÉ«`Ƴa͸[ðT¿­VǵRεXȱSÈÀVÃÁP÷XξWÔÅ^ÍÆ]ÐÁ]ÌÅlÐÌnÎÎqÍÊsËÖsÒÛ^ÕÕYÒËaÈÊaÅÅZǾVÁÈJÃÈLËÁSÐÆRÑÅOļLÁÄJÌÃTǽPƾOĪQÄ¥W»¬S¾¬Tî\̦bÖ¬[κd˵k̺bʸgÆ´hˬ]À´VÅ¥X¿š[Á¨RȬPÁ®UÁŸN·–J¹G·AÅž@¼œI¸‘J½¢H±¦IŸPœVÅ”PÀ›Y¶ŸW©§S±ŸS¨˜Dª”@°A¯D¬LªL£@¥L˜ŽJœF†7˜…AŒ|Gˆ‚;Ž{<”‡>ˆK•}Q–€J¤‡L¤Q“sJqAŠ|H‹~@Œ‚Eƒ=–A•B””6˜‹.Œ*ˆ-šˆ*“)©Ÿ(¨›š › (ž›$§#˜ #ž)†¦.‡ž.~š8uœ9|7ƒ˜:…›.‰©+ˆœ'uš&’&Šš/‚”7‹I‰G‹›@‘–Nš—K”—R’ŠVœ™Uš–V‘Yž‹\¦Œ\°˜h¨“g©“]¯W¥‘]²e¯zf¥nª€x­‹vª†s°…q·‡{©|‡£v‚ªsz²k‚¦sŠ¡~…¡­|ºx„¸g}»d†»o­x°u…¾j†¾n|¾o†Äa~Àa„Çi…Ã`ŠÉbнY¹MŽ·G–ÀR½[¯_†¾^‚»^ŒÉf™Éb—ÄgŽË]–ÊQ–ÑQ¥T~˜P”K{M‹—V‘˜K“”W„ŸZ•V}›U‡‰X‚Š^‘X’`‡_ƒ‘l……j“’u•—|œžr›’‚œ„¤š‚¥“ƒŸ•‡£—˜š””§—ޤ‹€ …™…‰£”{¢“s‡v›’xœ“sª‘q¦„y­‹€®š…®‘Œ¦Ž…£‘{“’u›„wŸ“z¥Œt®ƒw¬‡n©Šh¸šv´ j·±m·±kË«kϦlÒ¤hÓ¨dÖ®kέb׬_Ù§eÖ±]à´Y×®TÛ¹_Ò°[ϯVΧdȪ]Ê®]È«TɺMýMűXÆ·M¾¼Y̳\¿»ZÁºRý^Æ·]˽hкfÏÂkÐÃnÉÍeÓÎrÇÕgÔÚ[ÑÍ\ÕÈXÇÃUÃÊ]È¿PÇÍQÊÄWȽNϽKøIÒ·]ѲS˲\ȺRȨOÁ¯YÀ§U¹£YÇ«SäaͦdÓ®jô\¼°fŹZ¾¼ZĺaÁ­T¸¤\Á¬fíTÀ¬UǨTƦW½–HµœK½£Iº¢H¼ D­ H¸ŸC¼¥S½™PÄžN¸¢T¸ N®›V¥›V¦¤EªŽ=¨ŒA§’Fž‰OŸ”T§”Q—ŽP¢‹K¡ŒIŸF“‰;•„B“ƒ9“vC€<†G’„Hš„IœvP„K—ˆS’wI“qB—qD‡‚EŠ€<€>—†;™B™‡4 ‰5“‹0ž‚.©†1¬‹& ‹¤‘%œ‘%¡™#’˜+—.‘ %”%‰¥'Œ™*‚&x 4xœ9x”:„ž<„¤&zœ0€—)…¥4¤9‚›:ƒšI‰’G;‹šH ’Q›’R——_”™b“—] až“\±œeµ˜k±—i³˜]´`¬“f±•h¯g´nªŠx«‡{®‡{©w±|­€‡¤z†ª®p‚Ÿr†£~‡¡„‘°‹®‚’µx‹±t}Â}}¹}·tŒ¹s‹Àr|¹nˆÁf„Àd}ÃnvÇ`„ÏcŒ½a…¹M‰Æ]ˆÀS½_ޏ_‰·dŠ»\†·`Åk”¿h•ÍZŽÈY¢ÏW›LŠ•S†•P€ŽS‡‘U‚–K‰V‘’O…•S“J{‡X|ŽT‚‡XŠ‚e€rƒr‰„q‚v˜|œy”–w—‘†œ‹Ÿ“Ž¡”Š˜™Œœš‹“›š’Œ…‰€ŸŠ€™Œw €yšƒs™~x…w ‡™…uª”€ª“†¯—‹­‹…ž‰„~¡–£“w¢’x ˆv«†t¤s¨u²£m³ t¾¬kË´cΪiÒ¦fË­cÔ¨hÒ¤_Ú£XÓ¤bܱ\à²Zصaá§VÒ¯YΨ`É¥aÓ®Yȱ_ŰWù[ɵOưZº²TÁ±OǵXξSÄ¿^È·[ϳ_Å¿l˺nÙÂoÕ¿dÏÉhÎÍlÐØeÆÔhÉÐcÒÈ[ÔÌWÉÊXÂÅUÀËL¿ÆQ˾YƼUξW×·WÕ±\̨`ɰ\ǤPÀ©QÄ­P½©V»¤RÇ©WΩYȯfÁ¬i½±_ƹT¿µY´·W¹¨b´±g¾¬añ`¿ªYÄ¢SÅŸN¼ TÀ”Q¼šR·šEµ—H°¢@¶§H¸›L¸šX¸˜R¼šO¶¥S¶ M¥Oš‘BŸ•F›•HŸ‹TœV –N¢’W˜—P ’VœLš‚E“‚A”‰=•~9˜…;‹~K–~K’yM–{C{I—…I~S–„PyJqOyMœ„L—‹GŒ;’Š?œ….–-›–2ž- ‡+ª‹/ª‘,£•$¢’&œ‹&‘‡(Ž’+„*š%}—£)|¦/|§*s«1v¡9~©1€«/…¬+¤6vCz§Eƒ›N‡˜EŒKˆ’G–”I–“PšO‘˜[™h™ŠdŸ‹l§še¦˜e®˜f³•a±œZ³šd»—cÀž`µ•l¸…s±ƒy«ˆ†²ˆ³Œ´ˆ‰º°‰€¬€ˆ¦vƒ¦v}¡z€«u‘®±|”±ƒ²‡‘¾y‹½uÊtÌs„Ây…Àg»e€º\ƒÉaxÇb‰ÍZŠÑ[ŠÆZ‰¾V‹¶X‹·`‰¸jŠÁ^…¼bÂf†ºmŽºn—Åc–Ô_Ñ_—T…›O—R‰‹G†šJ‹ŒG‰S‘RI{’NŒVO}ŒYˆ‹`ˆ—gˆ„~‘ƒp‰Œq‘‹~{—u›Ÿ†˜œ‹ž“•˜†œš—š‘•‘‘|‰Š•‹„ž‡€’‡y‘„r™Œv•}j™„o—‡o—•{˜‰u«–ƒœ†¨“©‹y—••†z¦†w’w‘x y£k®—j«œm®Ÿp³¬sŤd˰eÓ³bÏ´Vʪ_ΣSÕ«aÙ©bã¨Tå¨Ræ¨`à®Yϳ\ɪ[űZ͵Q¸X¼°Y̺KýUűUƸS¾®MÂÀV·¶TĺZÉÀ`ͲZÆ»hмcβjɳfÆÁiÓÈtÊÒaÈÕhÈÁbžeÆÄSÇÐZÉÐKÂÍIÁÄN½ÃVÄÊ[ȹZ˸QÔÀd̹Uʵ[Á¯UÀ¬\·¥\ĪW©XÇ¢UÁ²`ϧX»´VÁ²\Ä¥S¼¶Y¿°_¶¯Uº©`çZ³^Á®T»œPßK¹“A²ŽD¶œ?½F·ž=«¦;²£C»žJ­˜S¸ F»˜O¶˜FªšG¤£O£”G›–>§ŠD–’[ ‘X—M–’U¤’G •I›ŒG‘ŠF“|A~5•‚9”‡FŠˆBvB•@Œ‚M—zO‹rHš~S”tQIˆROŠ‚J”€H˜HŽ„I”Š@••=›’.˜™4žŽ2¢6“‰&–Š)”– š'•’(•—/Š+ƒ %Ц0~¬0ƒ©0w£&€¥/r¤:|­.zª5tª-€¥/‚œ=z—C•=’I„ŸF„™I¤Gœ›Pž‘X”›U˜ŸX¡hž˜i©—\¤™]±›h° `¨¡b¼‘h½fµ‘d¬’l·‰y¬yt·…{©€­„°•†·‹Š´Œ~´}„¤~†¨€~¥~´{•±z’ª|Šº|°sŠ»u“Éq”Àj•ÀpÅ}–ÆsÀj€Çn‚ÃjËczÊd‹Ï\€Ð\‰È[ŒÀ`ƒ°fŒÁfŒÂf¼o„¹`‰¼mºb¿aŽÌ_–ÆZŽR„“H{”?‚›Gy”N‘R‡G†ŽDs”Av‘NuN|ŽSv—c˜jŒ’x“{„uŒ‹{˜†mˆn“–m“}•™Ž‘¡›„’…ŒŒŽ••}˜–‚š|—”s“‹u›h›ƒl¨yj£|qŒwž—o¥”x˜ƒ–‘}𔄢yz¢‹n™…n”Œo—n›y “s¦”l¤¤eª˜b²j½ iȦcɲ^È®UÈ´OάLß³JߪVÝ®Tä¦ZÞ¨NܰSÊ®Pȱ[˵OƬHĹQĽXÊ¿MÁ¼M»µKŰWżX´¼T¼ÅQ»½U¶¶WÀ®]ʱWÅ´`Á¯`»µ_ȼkÊÁj¾¿lÂÅ_ËÆgŹ_ý[ÀÏUÉÌXÀÏNÂÈT»Í]¶¿^¸ÀYÁÁRǾ[¾_¾·_Á»gÅ·_¿¹Z¼©VºŸMÆ¡TËŸOĬRƪ_¶¤\¶­[Áª\Æ¡XÀ¨SDz\¿®[©S¹¨U¼¤P¾›A¿‘?µ•G±™G³’9´™:²œ8±£<²¡O«™PµžJ¼žB¼˜G¾›B® E§N ’G£›MšQ Jš’TŸ”W¨˜O›“I’–L”KŸ„=¡:›†=”‡Cš‚C£xHœ{>—sK“ySQ›zI•†KŠƒUŒ}W‰yI‹~Mˆ{F‘€E›D˜ŒE@’œ=š™A˜‘@Œ’6”0—Ž)”“(‰œ1‹’<Š™5‡5†¢(Œ­%†¦0ˆ«(x /yž-u¦9m«8n¢0lª:xª6ƒ¨7€•A†”9†–<†¦D…¨M’¨S™ Oš¡V”›Y£”_§b£—dŸ‘Y¨’^±•fª’g­”q°Ÿn·š[¬–a°t±€g°wk®|n¬„w¨‹€°“€²‹¯‡µ†‰°|~¬|…²~‘®}œ¯s–²|вv†¶q¿t¹m”ºiÅu–¿v•ÇuŠÍpŠÊp‚ËcƒÂh{Çh~ÃdˆÊiƒÀa…¸j‚»sŒºk‰Éo‡Çj…Ìh‰Ê]†Ê]€¾\ˆÇVÄX–N~”MzIy”MsˆM|ŠIy‹L‘Fo†JJ|W{ˆKu™W€Œe‰r‡q‹‚|†wŠj›ˆrœ‘q•š{”†—•‡ŒŸ’„Ž‹‰—Ž…”œw’’{˜›v‹‹r™’mši•u§n¡e™ˆk¦Žp¤˜|›››€””ƒœ‰y¤•z”Šk˜s’šs¥p§—w©—k¦ž_²fµ¥cÁŸV̧UÁ¥R¼¬QÒ¦QÙªMÒ¡Nå¤Tß¡Nç­Lè¦KÙ¸GͰGÒªXƳGË»QαFÀ¼MÇÁVÇ»PÀ¶\ı_·¯[³¹Yµ°T°¶O¶µa²¨[´¬g¸ºb´²i±Ã`¿Ãiк[ÀËVÈÁa˺dǹaÁÃV»ÈZÂÐS¿ÔM·Ð[ÀÆ\¼ÃY¶ÊV»¹`úZÀºi¹¼eÀ¶Y¸±_»±e¶Ÿe¾£cÄžRŬW»®P·®L«¥X±žU¼£R³ŸR¶šP¿›T»£Z¶¬O²£UÀ¥P¸™G¹™B·’B¹Ž8®5´™<¶ŸH¥™;¥—O¯¢Fµ˜K´•@µ¡A¯šK¬ŸJª’NžŒQš‘IªŸV ’J¨”Q«ŽQ§šU™”H”I‘‰@Œ8œ|>š‰C—‚?™„;™ƒA™xE„IŸ|HšrN¦xP‘€L•ƒG•N‡{B‰G†y@Œ‡A›ˆB’IЉA…’J”L‰‘Gˆ•@†‰>’,‹/’œA—0€™0‚ž3„­)‡¤0…¢6}Ÿ&~£0}¬.}³,w¢,o %v¡)z¡0}œ-v;{<„¥>„ŸBЧH‹°J‘£SžªX’ TŸšW¤ Zž¦dž—`¥›e¬‘hªjŸ’i«—c³’h§–e©h²†t²tt²uk§‚u±}®˜ƒ®Š{´Š‡´‚ƒ±~‹©~Œ©t‡µŽ­y—«z…´x½m„¹gˆÄuˆ¶o”Âx“Æl”ÁtŒÆu’Íj~Ðl„Îk‹ÂcˆÇ`„Ée…¾i}Âg€»n†ºm¾eŽÔhŠÉkŽÏY“Â[‰Ç\„Ë]”ÀSš?}ŠFt@|‡Hx†NyƒEu~@u|CvE‚~E„L‚“T~•d„f„r™Šv’ƒuކn•‚p™r–{™“r’“u†ƒˆ‘…„‘‡„“|Ž”€žƒ‹™w’™i‘–h’k“—m’‹hœˆg¢†jšˆf›˜m¤›x™¢w™—z ”v›‹wžŠyž”wœŸm˜št•¤ržm¢£b«Ÿe³—^´žT¾ªUÀ¨W¤KÀ©O¢OÓ£LÛœGß Dá£Bà®Fé­Eà¶?Þ°<ϱHűIżIÑ¿LÌ»L͵Y¿¾YÆÄ`ǾYð\¼³`½©W®­T³§Tª­]¶­e±·e¸¿g³À_À¿dŽZ»¹]ÂÅSÇÉZ½aÆÃ]ÇÃYÂÁPÀÐV¼É^¸Ä_ºÈbªÃX­Äg¶¶g¼Àc»g½³k³·a³¨`¹£e¸Ÿ[µ£aµ¬]¶¦L´©N±¤G¨¤N¯˜W­T»•VÁ¥V¾¥W· T»PÀ›D¿ŸH·—B»›;¸™:·Š8¸†=¨F£ŸC§œB«›C¯“A«š@±œH§’K£–W©•V¢–R®šP«˜K² R§–I§ŸQ¡˜NšG–’D”’8—‰8œ†:•€9Žw>Š|=‘9”~B•€J|B˜L {JžsI‘wAŽv@‘€I‡†M‰A“}N•…M‹ŠC…ŠEŽ“AŠ’E‹Ž>ƒ“FŒ˜@’<”ŽF‘AŠ“7„–7€¢0ƒ¨*{¢'y§.t§2|¨)|¤'}¯0oª&qœ$f›$kž-u¥)y«3…°=ޤCޝP—³PŒ¬U®_޲_œ©Q¢¯X¢©UžŸd¥£f®•q§pŸ–ešŒh˜›gŸ˜g¡‘iª‹i¬„m²l·yl±~l¬Œz²Ž|­‹ˆ®Ž…°²ˆ·ƒª{´v…®tŠ·q޾sƒ¶p½gµm‹ºt‘Âh‹»m‘Èd•ÆjŒ¿kƒÈv‚Ìk~ÌmŠÌqˆÂd‡ÂiÀl‡Ät‚Ä|†ÐnŒÓd†Õg‘Ï^ŽÍ_ŒÐdÈi”½^ByKsŒHj†BsŒFp‰;iƒLjvMqvK~~UxVu•[u›V‰k‡ˆi„ƒx“fˆ…o”„k”y”~qˆvŽ€ˆ’„„ˆ‚ŠŽ‰‘“‹Ž{‹”xŽšm’ŠvŽ_˜o—•e†k”‚^—ˆm“–j”“w©{£¡’˜z’“w‡}–‘s“•u˜“u™Ÿn™”f©`³¥^²¢X¶¤a¬™K· Tº˜ZæVÉžLíMëGɱQÒ¯OÞ¬BØ­JÖ·HײOÕ»LÇ·VıK±NDZB¿OÎÃJÈÀUÆÁ^½­Uí`µ²b±¶a«·]®±V§¸R§«^®¶`¯³_»¸\¼ÂQº¾_þOÀÁWÁÂVĹ[¾ÀZË¿YÉÆ]ÂÈ\¿¼\µ½c´Ád¨¾`¦¿^·Â^µ­W¸¬]®«Y¸±f°£a»ŸV¹ŸUªœ\±§O­¡G°§P¬ A´žGµ•S¼–]µ›V´¦[Ã¥ZÀ¥U¸—S¹›M· E±ŸD²”D½ˆ;¸‰FµŒ8³ŠD®—:¢›;±–K©•G²šJ­›B¤›J™FžF¤•Rª’F®ŽK§™I›N¢™FŸ?–A”‘H£–@¡ƒA“Š;™9 }>–€7‘€:‘…8˜„D“z9•yG¤sDyIwL‡€L’vH…{?‚y?’~Lš}U„~Q…†M~}H‘C†‰C“HŒŠIƒ‹;…ˆ:Š=ƒ™:‚›6€›1‡,}«9x¥>wª0§$u¬4p¦8o¢5k¬$i¨.a©6sž0u¬6©B‚žAŠ¥R•³\–¶`ˆ¹c­_–§Yž£PŸ«R¥¡_ª¡b¨“c››o›f œf ‘c d¯_¬c¹„`»~d´‚h±sµ‡n½Šs«ˆs¶’ƒ­|·z…¶€Šªz{¨w€²q“­n}´lx¬c‡±b‡¹sÂn„¿nйo™Ëk™ÂlˆÍk’Å|€ÂkÐw|Ìj‡Ám}¸o‹¶o‹Æu”½u–Îs…ÊkŽÌkŒËg‹Êa”ÅbÌe„À[“QtGq‹EbBa†D[{;c|GntMuyPu‰Tv[y‘Qw—bœc‡”j‡s„~gކeŠj…yy„}rƒt‚zŠƒ~……‹ƒ‘‡„‡…ŠŠt‘Št‹Šhˆˆeˆ‘i™b•Š_›~_˜Žk—nž“p¢œx™‚“zŒ•r“…yœ”x™˜gž–t¢›t§™t®¡d¯Ÿ]µŸ\¯¢M­•LºžKÁ–XŤYÇ RĤJîOÆ©F˲MÒ¸I̹?Ç·CνPʶSͲSÍ»RÄ´MÀ²QÄ»HʶJȽRÊ®OÀ¬Z»£Y¶ª^¯©_¯¯d¦«a¤´W£»`­¸e¸ÃX¸¾X»¼V½¯S¿³T·¸VÀ¿a¼¹dÀÅm¿ÉeÁ»Y¾¾T³Ã]¯¶^±¹R«½W©ÅXª¼Q©¼P¯«_®ªf³¦^ª©\¯žV¶œO­™Q« G£¤G§¤E±£F¶¨J®Z¬©Qµ£O²¥[¶žX¹›L»¢DèA»§@­›L«™L´†L³D´„>µŒ;­•?®D±™DªŸE¬™AªšC¤œ@ –=©‘> ›G¢ŒL¨ŒPª•HM •F““?•ŽF¡–@¥Ž:œ‰B¨ˆ7£‰8šƒ5›„5—…6–|6˜{1–‰8¢x8£sI›{O•~K‡tJƒoDlP…uL‡rM”R‡V~wR|{G„ƒ?ˆƒB„M‡‹E‡†?†…9€Œ8~‡A~‘=u›>|™8k¬8g®=j®-w¤.pž+r©/h°0o²3qª7g«žšC§œEŸœI¢—JŸ™O¦“Pœ‘P‘’T”‰L˜‰G Dš7„6¦6Ÿˆ6¡;œz6žˆ?§ˆ>£„=œˆ4•ƒ6¥‚DzD—~C˜{?•{>|h;‹pHŒsO„R‡‚Hˆ€MŠsT‡pJ€‚<~~F‹N{M‰~:ˆ€HŒ‰Aˆ’5|Œ8tš6m˜Ctž8`§Ij¤Cv¨6k¦d¦0b©>w¬=m­1q©>}ªDƒ£TŠ«_ˆ¨WŽ·T›»P›°\—£Z©_—œa¡˜f¨ d™˜oš k¥›gž‘h±–g¬•a©‹m·‘m¬q´kª–fµ‰d·…c¯iµ|l­€y·…‹´ˆ§x°‚а{¡pƒ¢{~±p‡§b…­q‰¾u¹e—Çq ¼k“ÌršÈp“ÇuŒÁvˆÁtÁt‡Ç|À„‘ÁyÇyˆÅv”ÈoŠÈt”Èl‡Án‡ÅmŒ½qŽ¿eÀ^…FWA^”Ac”;]„6gˆAe‚GhHf‚Lm}Jo}Hj~Ok‡To€Pu†`|c„‰lŒzd‚{n…|uyr†~†v{…€x‡~„~w|‰~ƒ‰‚v€…wŽ‚r‘Šk”Šk‡ŠdŒŠ^‘ˆ_‡‹n—m‡ŽpŒ”h‡Ž`˜f’™q“”o‹pžgž™l¦”j¨”W°“S±ŽO­P®Z´žSÆ™UÈ™LÌ¡> AÇ¡GŨJƨIÅ©>Ì´<ʼGκE͹NÁµR¿·UŹOþIÊÁKƹM¼B¿³EǰQ¾¬Lº«Z¹°X¯µU«³`©¼a«¸U¨¹[¨­\£¶Z©´S¶¹R·±[¯¬Y¬¯d¦¯]¯¿b³Ã_´¹e´¹]©Á[¦²[›±Zš­R®R§´Z¥¨Yœ­_¤¯_¨°dž¥_›Q¡šS§›O¦RžžW›šK¤šK©T¨•R©’O®‘J¥žQ¦›DªžG±’L¦–O¯›K¨J£F¨P§„D®‹C«‹F¯ŒH®‡I­Ž>§…D™…:œŽA™=¡ D¡žD››FŸ>œ¢Eœ™J™‘K–“I•–H˜AŸŒ4 ‰3¬Ž.¬†7§}?¦6£…9§}A¢‡=«‡>Ÿ‹>¢‹:—…A™~AŽy@“z6Žs2…r;Œz;ˆpHwD€zMŠ|Q„oT}nTwrJ†sMˆwHŽy=†ƒB|JŠ…F•F~–=m“FjŸAeœEj£CiªJfŸDgš5c¥7d8_¦9m©4m¯9m´4y¬;v¥Gw©Q|¯R¨[‚´V”´Y—®Uš±[޲N¢Q¤]Ÿža§Ÿf¡¡b¥˜`ž™fžj«Œ]´‰\­k«—l©l§d´™h·•p«Žh¸‰e´€i°ˆu¬|µ~v¯…}°…‡ª|„¥~x¤y{¢v~¯l†±r‘¶o•ÃbÅf”Êi™Àq•Ât‘ÌtŽÏmˆÂtʃ†ÁŒÄ~ŽÀ†‰¾z‡ÍxŽÇÉzƒÌyŒ¿kˆÅp~Êg„Ïf‚Â_„¨’Fª‘9¬Ž?—H ˜=£›8¨Ÿ= Ÿ@§–H™˜8¥˜:•™BE›JA™‰<—Ž=›Œ=¥|0§ƒ4¦x-©u8§{1ž~6ŸC‡F”<¢‘>Ÿ†Fš}>’‚?œt=}0‰x7‹o>‘{A€rFsMvyL}nIt}J{|L‰tBy>Ž~?ˆŽFƒ@‡“F|’GŒ:s›A{¥8lŸBj¢Fg¥Lp§Pe£Af©s©Hk¬O|ªU‚³Z†´T¿J“¬S–¬]®PޝT˜«_“«cœ`”¡gž£e›žc›aœ”]š`¡—f¥sŸ›d§t© r£Ž`¦’^ª’b³v¯€w¨t§~‚¬µ|~µ}‡³…‰¤|}¥z…¬r“©n–¯w’¼l—½s˜¾w·uˆ¼lŽÒoŒ¾j„Âxƒ¹r…¸~†»z‡Â‚…Ì~‰Ê€ŠÁwˆÁk‡Æh‡¶o¸b‹ÅiƒÇ[‚Ãe†>Y”@`;c‰Dd’>]“I`‡Lc…SozSa‚Mc}M]xKf{Pr†WŒe‚‘a“hˆ„cxvbsqf{f|‚kswo}xqx…u~zƒ}x‹n‚Šq‚|wx‰„nˆlˆ‚aŠ”e”™e‘˜bƒ›^…ŒW†‰^˜•e”i—ˆg „p—‡o¡…t¢ƒl›‰g™Žm›™h­”^«›`¦˜\´£Q²¡VºŸL·©F³¥O¸¦S»±GȪKÍ¥K¦NÀªOê>ʲF˹RƹK¾³SľR¹·FÁ¹L½¹N»»T½·YÅ©ZÁ¤WÄ¥\ºµY¼©b¯§_¨¢a­¦Z³©d­³c³°`§®T©¹J°´PµµR¨°`«À\´Àe­½V²·V©±O¤·W§¯H›°Jš«Tž·W¦·_ ­Zœ¨[šªU±^œ§W˜§K¥ EŸ¨P¢¥K™¡KžB˜>™™K—šN˜–J›šB›AªŽ5­›5¥¥2¥Ÿ;ŸœI¤¤J¦ŸN¤—P®‰F´ƒ=ª€:±ŒB´ŠB«A¡—D™I¨¡K©œD¨˜L™’Iž›@¤”@œ™E™˜@˜ Q—Vœ–NŽGŸƒ;–€6—‚0¡6£|:¦y/v1ž}6•~:€B:–…>˜„6‘…>’x:˜y<˜r3”|7GŠvJ}sAqyHnuMt|J|yE|„C€}:†;‘M’‰M•‡KŒ‘<„—8{‘?v7‚™<¨Hy©Jn¥Jh©Lf¤;]©:c¤E[­>_¸Gcµ>`ºFm·=h¯Mn³Q¿XºQƒ»H”¸I˜¯KŒ°T‰«VޝQ‘¨Z–¬[“©bŸd“œ]¡^‘žP•‹R—Z›d“£j˜m•¡i£›m¬–n¬’`­—p¤Žw›v¢vv©‚~¬†y¨Š|°†‡¨†Ž­~‹Ÿv¢p‘©|·x–µ–»yеx‘µrйp†Ék‹Àn…¼p‚¼sˆ·~½s…Ät‹À€‹Å{¾y}·e€¸m·k²mŠ´j‰¸d~º_|Ha¡=o’Hl“QjKdŠOp„OoyWfxYjwT_vQl…SnˆMk}crb~“\ˆ‹_„‚fu}ns€es|d{t`sqpq€t{|u‚s|ˆp}ƒw~‹qŒ~oˆ†s„„o†ˆg“m˜f„•d——aŠš\•Y’bdš”kŒƒc—…k˜ŽkžŠržˆi“ŠeŽz¤ˆc¥›]§•g¨b¯œ\º¦Y¼©W¹§E¯«Mº¬OÅŸVˤJÁ¨Q½žU̬LÁ§GéI˾Sº¯M¾¶UÇ´WÅ·IÆ´J¼¬KÇ®T»µZ½¦]¼¡[À©^³°S³¦S°ªX¯¡W·°a±¥f­³`§³YŸ¶^£­X¨±W®­Q²¦_±¶^¶Ád«¿W´®Wª³\§»N™¾PŸµH›³R¡µT—¼M ¶Pž­Y«Y¥§T¢¤W§¦Rª£>¨žF£H˜¢> GœŸM˜¡=–•A”=¡<œ“3›7ª 8¬•?Ÿ D –DšœK©—H¦Tª‘Qª~E³B²ŒJ¨I£‘K¥œ@š¡B¢™I©¡J£@”–Kš“F£Jœ•I“ŸB–”HšˆU–‡S™F—Š=—~C—Š8¤„:¥ƒ@ž~8•„,—†3–†1z=•€CŠ…:˜‡@‹A‡>ŠI™„C˜‹B’F‘vJ}vMw†@yyO†J€F†Š<†‹H‰‘F”‡I“”MšLŒLŠ—J„”E†•;¦I€¦?q£Os¢Ik ?c¨Df¢:f®7_¨C^¶BX«C^¾?b´>g¸Go·L}·Dƒ®R|¹M…±I’°U´SªNˆ·Y•«b“§\ЧV†ªc–gŽ£_˜£R–”U“Uš_˜¢h‘—d•™dššgœc¦”b§i¬’~«ˆmzmžm¡~¤‡¨…}®†¦†Ž±„‰¨y°…’¶„·ƒ–±z‰·{‹¿y–Æp“¼r‰´x‹¹rzµtˆ¹|}»yŠºq‚Àyµs‡Âu‹½hÁm‘¶b½^Œ¹e¾c„·_ƒ8l£BxžQ–Rx–TxŒYoˆYh‚Wl~crz]jy\hwTjƒSqŒ^r[r‹hƒ‰j…kt€n}ybxrhpwfomsny}zztƒz{‚mx‚bƒhŠ€qˆ|j‰|i†…h‚“^…“e‡–f‘”^ŒŠc‘dŠše‘—a—li‘’c”ˆn‹…rŠˆhƒo“…uŸŠn ‘f²“h´“e¹™^²¢S´­Y´¦U¹žX¸¢LÀ«J¿¢SÀ£TÈ›QÏŸJÄ©B¸¶J¼³JÀ¶KÁ°OÁ¬QδXгQȰPÉ®VÄ®MÀªSº®W±¨X®®U­´\¢ª^¡¢T¯«Y¦¶b«²^«¶`¥´a©©U¥©P¨¦L¬¤T«­T¶±U¨®K¨¶M§¹K¬µT›³R™ÀOŸ½Lš¾O¥¾W¡¸O °S¥£[ŸYž§T¢£R ›D >ž§; ¬D G ¥:“Ÿ<Ÿ8–—>¤”;¦3¤˜2¢”8K L¨™T¡™L²˜V³ŠPµ‚S±…K¬„A´A·‚@ªŽG£™L£šJ«ž<­>¦”GšŽIŸ—E™’D™›@—˜F““D™ŠPœ…Aš‰>¡„Gš‡> Až…Dž|Dœ‚9‰~;†ˆ1ˆ=…€7‰|E‰„E‰Ž<”Ž?”ŒIŠ•LŠˆMŠFƒ|P‡~O{„AtƒDy‚>ƒ‹HˆŽ=“B‰˜?L‰‹D’–GŽJ•ŽQ‡—VŠ›K—Bx£E|£AuœNnšHn•>k—=j¡C[¤@Z²>^¸H]°Ba½=`º7m³5p½?l³Ey³AyµF†¸L²O‡²SŒ»[²_•³]Œ§]’®\‡¥^©`”£Y¤P‘›UŒ’]Ž”TŒ¢_–ž_˜l k™i£œj–k¥…v«„y¥p¡|}§x¤…±‚´­€Œ£‹‰ªˆµ‘¶ƒ”¯†‘·‰·†•¿‰š·•·v’±m‚µt‚Áo‡Àu†½~‚´z†®~°w„»o’»n‘´f”·\³^“´]†´Z€´d~Ih£JlŸOlœWo”\m“\i†ZfˆUmSo\j‚Tn†]kYp‚ao‰iy…c‡‚p{‹erzg€[ylhykozrwwv}psƒ{s}eˆ}oŠa€kne‹{bt[Œ}aŠ“a‡‹gˆ•b†c”˜d—^™™dŽ“r‰p…s‹Žzˆ‡sˆ‹f‚d’‡s”…oŸ‡s©˜sµd¶—X¶œYª¥N²žK²œF¶ŸI½¤E¹¥EÀ¦DÏ¡PÉ®AÊ«FÆ«CÊ©KħGÍ£SЮRÇ­MƨIÄ­RÌ­S©Q¢R¿¯Z¶®U´³T¥¯S—°V«­S³¯^¤µUª·X­«^¢²f¤¥[®¢P­­L³X®§Q­´P±°Y¥¹L«±XŸ­\¢¯S¡·G˜ÀL›µM¢·U­±F¢©V§£M¤¢O˜£Nž?§«E¡›E¤ª@™£J ¦C›ž?“£4—”C˜C¢“5˜6—›9—9¦•:°†K›’M œN¡ŽD¬‚K¯†G´ŠJ­Š<³„5¬‡7­;¦”E¨–J¦¦C¬›@¦•<¡I¡“Nš›Q–žI ”O™™A™‡KŸK ‘=‘„C‘…>‰E¤KŠ=Œv;†6“>ЉAŒ„B„}D…J„…?ŒŽL‚‘H‹ˆA‡E‘‡KŠ>‚GwŠHv€Fy†LŒ‹IŠ’E˜H‡’B„@…“J‹’Lˆ”B‘S‹ŸK|¤Cw›H€A‚©@§Cs˜JkŸ;r¥Aj¨@`§FT 2X¦?g±:]­@nµ2h°;p¶8r¸:o°Eu½>ƒÂG~½F‰¶L}±S€¹_‡¯[ŸQªaŒ­_Œ£a„ªW„£V„™T—¢K¡P‹£_Ž–[”šj• gš¡k™¨l¦œjžo™Šs™†l‚nž†y£†¶Ž‰¥‡Š®Ž~¢„‰©–‘ª’«޵醑Á…š¾ƒÂz™Ár¹v‰µƒÆ|’Äp‚Á޲z∉¹y€¹l‡¶]†¬b‡³^‡¶`„¶\Œ¯V~£i‰¹’B® A® ;¥¡B©•G­–Hž’C˜O“Iœ•P¦–Mž•?“›?–‘C™’I“ŽB•L˜M‘~AŠ{8ŠˆB…F‡ŽMŠŒKЇM‡†Bˆ•LŒ’I}”P~†Fƒ‡@‚‘F}‚=„„@{Bw„Bƒ†A‰ˆM†‹?Ž–@‡:…Ž@ŽŸEŠžE†šL‘™KN|¦IƒHx£G€©<‚¢>z¥=i¤A_Hd¤@^¥9^œ7]¨Da©Ca¥Ek¨5p«:u¹4m»Au®C}±NÁG‡»D…½Qw½Mz¹Pz²Wx¨Qz¨Q…«VŠ£Y…«Y Q…¡R”›L—¢Q— VŒ›d™–h›—Z a›¦\œœe ™c˜œkžu¥Œr †z©–z¯˜…°‹‡ŸŽ|¬Œ†¶”¯‘ªŒ„¸‘–À…˜¾z“¼|¾w†¿z‰¼ŽÂ‚”ǃšÂyޏ¯}~°‚†´}‹²eް]Œ³`Ž«e‹´T«R‰žX‡¢bƒ?nŸKnTužV}žVuQy’Vp…Ln‡Qq~Qk~]k€Wqˆ`rŽWy_z‚]‚‚c€‚hv‹rzƒs~o|t{pyzylvvku}iqt{osutwxuqs‚qcƒn^{€\ˆ‡a…]‹b‰‹aŽ›c‘—m—˜hšv“†t‹“wŒ’s—‹q’{i„q•†n—ˆt••p£—p«–p²ž[­™]©¦Y¯§Cµ­B¿µK°§M©²F±³@Á´JÅ­L̪FǨAÒžLЧRÌœPÙ¨KÖ¤MÊ P̱OÇ¥YÀ©O¸¡P¼±Z°¶Y¯¯O¢¹O—´Q¤±Mœ³W—­V—ªNŸ£O—§S¢¨Z®®V¤¥W­¥J§­M¬°`³ºX§½M¤´R¬¿d§±`£·O¢«Mž§I˜¯M˜¢Sž°@£ IœªI¥§= ©9§©2§°8™¢;¨¤KœA¥›9Ÿ›5”’>Ÿ5¡¤@˜ 5œ›@›Œ7¥–:¨D­3£“<¨D¯…K·†L¼‡>´<½ŽA¶’Cº•?¹7©¥>« F§¢L­›Bª˜J§ŒPŸHŸ™S©’Mœ›L¡ˆBœ‹<”‘H’„?˜ˆAŠF–’MŠ€@ˆ}9ŒD‘„@ŽMƒ‰I‰‹IŠ‘K€˜BœHx•H}„C‹B€F{ŒB{‹?†;€€E|N††K‡‹<‡“:‡™:ˆš>‚™@„¦B‰§FŒ§E{©J°Dƒ›C¡Az¢?‰¤A}¦:f¦>l˜Hr¡:c 6]¡0e 6c¯EY¬:_£:k¬:hµ7jª=i§Iq¶?uÀNxÂFp½Do²Hp²En»Jl»Ft²L¯T‰±V²Q†¯M~ŸVŒ«L’¯L‹¬S£`š_˜™[ Vœ«b•™g¤Žh•‹qžŒs›ŽqŸ…}©ˆ…§”‡¨ž…¬š‚«œ…»•ް•Š«‹º†‘ºƒ¾€•¹Œ³~ŒÃ‰‘¸ˆ“¼†”º|‘¾{³‚бzx²‚­oŒ°eˆ­j…®[¨aŒ¢U„§Yˆ¨]ˆ¡d‹A|‘Eu”Jv—H˜T{Ts—Jr—Q{†X|“SsU|†^sˆUuX}Š^~gu€e‚}i~…ku}u{€n„{k€mlzlrunwfishjypjtmwug{xdrƒom}ph~uc~ye‰ƒl‚d•ˆk—‹fœŒqš”nœ‹m™ˆo™•pŠ‘nŽh’‚hŽ~b“ƒmk˜™c™™Z§bªœ\°¤\¸¡Y°©I¶ªN¹µB½°H±²D¨°;°­C¤JÃ¥FßFÓžJÑŸGÑœQË[Ó¤WÖ¬XÈ©N´QÆ­N¿¨D°¤J¤¥M ¶V¤¹P µV˜´N•¨Hž¤E˜¥O”°_˜«]š¢[§ªW±ªL¬±Q¤²X©¸X¡Ä\ ¿V¦º_¨Á[§²P–°V–±F—ªB‘Ÿ?—¢I¡£DŸ§A¤¢?ž¤8¤5¨¨8¬¥7¨©5§°?Ÿ¨GšŸCšž:–¥<—¤>¡¥<œŸ5ž–9¥A¦‘5¤ˆ5¨‰8¨Š5­–:¯“=®–DºŽ>†GÄŽHŘE¾™>¼›D´¦?¬­J°¢D¢“R¡‘O©—J¡ŽJ¢˜G©“P£E¥ŒB¨A ŠFC‡K•‰@ŒŽC“PŠKŒˆB…Dˆ–IP„˜Vƒ•N†šP|˜AxOs‰Kw†G}‰MuCyC€’P†KK…=~ˆ@„‰=Œ’?ˆ›:ž8Ÿ?¦>¨C~­I¨>ƒ™G‡šDš?~šAy–Dt?y•FržAs£:i®6c©.Zª6d¯8aª=jª5l°>c®Ab°E`±Gm¼Md¸Jj¹Hg¸Lq·Hj½Cn¼DyµA}­N}±N…©W±SˆªR—¯M”«W“¢^•¤_“£b›¦UšªR¥_•™i”h¢wŽtŸ~¦‚ž„•«ž~©ž|«’€°–ˆ³‹}ºˆµ‘„¸ˆ®…³‘®†Š·‹ŽÀ‡¾†…¾Œ‚¸ˆ„º|‰µ|ƒµ|§o¢l~®f†¬d‰©]„¡]‚™`›\‹T‹I}Mz–Ow‹Mx‰M”PtŽH{‘MqŒQ{ˆU~ŒTr‰Uw€cx^{~[~ƒfw†`}ˆi~„jx†mwyt{z}mmrmprdnqbybdmjuwlrnessnr„rk„yhyrf~{a}tc{{a‡€bv–‹m•tŽv–n‰†n…”t’Šn‹‰g”zm”~hžŠg—ˆb¨—b©œd­\§§Z©›E©©?®¡J·²B¾°O²§K¸¦H¸©G·±OÉ¥>ȦJÍKÒ—OÑ¢HÉ£FϯNТMǰVÍ«KɬP¸¨L°­C­°N§¯]±Z£·S£¨Pž©Jš¡K ¢O¦[¡«V¢±_§®]©¨U§§Xª¶Z¬ÀRª½W¨µO¥¾V ¶T ¸Q£²Rž­O¥¯C¢¦A¢©H¨¤G£¢K£¢;šœ:©°D¤­D ®6§¤>¡;œ›J¢ D•C•£E¦«5ž›C™C›ŸD¬˜A¢B§0©„2«7¦Š=®š>»‹3ºš@¾CĉB¾˜:ÀŸ:¢A½›<ºªH¸ª9¥¢N©I›”D§I­C¤›M¢D£…8¡?˜‡D’ŒBš…C”’A>ˆP}O’ˆK‰‹E{•?w„>z=‡‘>„C‚–Ez’>~ŠKw’Sx„I|“Dv‹=“M}Š@ƒ…A=vƒ@{A„—BŒ‘?‡š7Œ©>«8~ª<„¯?€°4yœ=x“Eu›>r8w™2už5q 6n¡B^ª2d£8W§Agª:\²8`¶6]³Gd·Gf¶@m³Al¸@n³Ej¾@k¼Bo¯Jm·Mq¸Qt²EoªKt¯Bx¨J‹ªQ«W}§MбY™³R—­Yœ§W‘¤]¤X•©_‘ k•£g”o–wš”u¤}£…„š‰z¦“‚ •}©¢{£ž}µŸy¸±†x°……ºŽ’³‡„²Š~²“„²‰º†~¸‚ˆ«†‡³|¬‡…©xˆ¬s{¤q}¥f«r‚¨^‹¨\—V{™Xy¥^Š¢R‰Ly‹L{ŒT…M}}BpzDo„FkPx†Rq‹UwXqxRtoSxucw{atz_z}a…ˆe€„ay‚ewpykm{p{yrsppblvmnlkuvwstr{qq|ne}pj€th€ug‚xkˆscƒyl}sŽytŽxp›…n’„xˆƒpŒ‰ehƒe‚gŽx`—xj“€]•ˆ_¦›`¬ X¤£O¢¡I¯D«¡;±¦E¾§Jº®I³«O·±P¾®N¬FΩDÉ¢=¾ BʦDÓ DÏ¡M¬LɯSʰQƬXº³M´¥U²¤L¹±L°²R¤­WŸ°UŸªM ­Qž¬S¢žP£¥N¦³R¨¯W¸¸T·³`²®Z¯¼Zµ¾QµºV¬´X§½Q¨»N¤ÃM¦¿L«¾J¤·O¦´Qœ²MªŸP®G¢£>œ¡<ž£@¤±F¡±>š«;—¨@N•Oœ¡?¥­F©¨;œ–?Ÿ”A¦ŸI¥™N ˜=¢’8«Š;¢Œ7¨@³“7³š9»—0¾Ž0³•?º >ß?À™H´–C¬¡9®§<¤§@£ I¤¤D¨™F¡™C§šG•>š…7›‚A™…K™ŠO•G”†O™‰J˜QŠR…HŒ‰Jˆ‰:w‰;‚’?ƒ–<}“7v“Bt–D~ŽMq‰NmŒHm–Gr’F|•Hz‡Dw‰N|„L|Fu†H~†Eˆ”@ˆE‚­>†ª1‰ª0y£/z¨3£:w—:u’4u“2p™:v 4p£:\¢5WŸ6Xœ>eœCd¤9`ªB\±9f¶:d¯Fe´Ij³Ce»>j¸@m»Bf³Dd»El»Lw½Os­Jt®Bv±G{ºQ¶S~³Wƒ³V‚²PªY’´[˜¯[šªb•¡f¢iŒžg’’g˜”jœŽkœŽu›•o£‹t¢‘Ÿ—…›Ÿx¢¥w¬œ® x°¢wª“€­Œˆ¯”‰¦’…¬ˆ|²Žw®“x­…u©~ƒ«ƒ…°ªˆ|¡€€›€…£p}£n†Ÿm†žd†˜c‚—V~ V}™]€›Y|@x?‚ŠPtwFsrPi|@g~Dy}I|zEv|HiwWqjUtg\kq`pvTp{av|ay…bp~_€|bxkrousq}|iewd]uljpcvuqqt|ykm{qfwqk||g…|cŽzb…}p”|m–ql~i˜yn“…f™r‰„z„g‰‡j‹†k“‹oš‚f”qp™‚l•Œi¨’]´Z°šRžšR¦žN©§A±¢AÅ¢Q»¦QæXʲKǶEά@Ë©?é<Ç©>Ì›=É™GÂ¥I¸±KÁºIÀ°UùXººU°¦N®±B°°S©¸W©«R¤®Y²U¯®V©®L®¦Q£ªS¤°Z±²RÀ´RÁ¹O¿°O¶¸W¸²J­ÀO¼¶\¥ÅO¥ÀO«¶N¢¹L¦´Rª´WªµU—¬R¦±H«¢N£¥Jœ¤A©ª<°²I¡±<£¦@¤<Ÿ¥Cš§L¤Ÿ?ª¡I§¥6¤¨8››K›œC¡•Q¤—E¡˜GžšA«?¢B´“=³¢=¹ 1±œ5³¦>¹”@½ =¼ ;¼™C°˜G´¥=©«A¡«K±šD¡§C¥’D¥–I¡‹A•‹2£G›R‘ŽJ••Nœ’O“‹P—ƒJ‰†I…BŽG{”A~“<‚‹CŠš5{‘9tœD{I}OwŠCoHp’LoAtB}…D„Kz‚Ry†E{ŒD…™D¦>€ <„¬2‰®<|¤.x¯.v¤;nŸ;r˜>fš:i™1f™.o¤0i¨2\ ;^¢>U™;\«7d¥3_°7b¦6e§9a²K[­@Y°>\¬Gj»?b¬>m½Io±Hu¹Nl¼Tk¹Gm´Bi¬C|µO¬FŠ­U†µTµRˆ¦W¶\š®Z‹±b”±e„¯a…Ÿa‹–f‘’kŽšm‘•s –i§’w¤“u”’ƒ©Ÿu¤§z¬ v«s¯˜y¯€°Ž|²—‡¨Žƒ·Žz®“ƒ¯–{¨s¨}†«w‚§… ~£ƒ¥p{«i€Ÿq€žwŽžg€”h„—X‹“R‹˜Sz–]v;†…>yE{€HpwDtuHi}Ivu=vsCmjKhhTfnPohRsrOhtTfv[t{ds„_m}Z{te{svwwvmowigyghxkouiozxprwqspfwtft{k}yk€a’wd“oc•si–~`‘~e›d“‰o˜qt‹Œn‹‡oŽˆc™ˆe‘„k™zi—‰j˜‰ež•Zª˜Z¡œW§£T°£P«œ=°£G¾«JȧOƯSͳFαJˤMÆ¥@Á 9˪9Ë©9Á¡GȱB¿µH¿MÀ·V°°K¬·O«¸B«­A¦¯H¡³M¤¼O«´T«®W®¦T´C´£@¹¯M¬¶V¹ºV¹µY¶µLîL¼¹G¼²R¼¹OºÂT¹ÅS¨ÂM±¹Y¬¶T°¹\©¸Z²N¢²G§§G«¡I©›D¦¥A­°Dª´C­­<©«@¤ @ œHœšO¥¨Mª«Hª­A¦©H¥«D–œH——K™S ’S¢ŒO¥”G­˜G®¢=±¢;»¥5¶ª5·¥2¼¤.´š2²¢<¾˜=Å—9»Ÿ>²¥:°©B¥ŸEª£H¤”RœJ¦Š@ž9—–Iš’L–ŒN”‹K›‰O”’M•–FŒHŒ™E†œ@Š“<}˜;‰Ÿ5„—=†;w–@ŽKyEp™HržEu‘Ir‘F€ŠE€O‹R~‘V€•Vw–M|žAƒ¦6Š¥.Š­4ˆŸ:¢4p¬6m¨2nª7b›4h™7i˜5m—2_¡=Z¥4Z¤3Y­5b¥:g§,a©-d©6cŸ5a3]§BR¯BV³DZ¯Nd®Fe»Mg»If¶HvºKt¶Vo¹Qj¬Ij«Fx¦E§F‚¦M…°Z‚¨[…©c‹µ^·Yƒ¾[‚¶ZŒ¯\‡¨h…¢r‘¡p™žq“l–jœ m¡¤qš–z›Ÿy¥¤q¨¥wœ«u œw§•‚«›„¤”„¢–ቂ·ƒ|­‰w¤ƒx¬ƒ} {{Ÿ~z£z¤v{¡w¬sv®wªs„¥f‹”bŽ–\‘ŒT–VŠŽU|C~{Fv†?y|Lyq¼µ>ÁªC¾«OÆ´CͪQɬK¿¯Hư>Ó°7Àœ=Ì£EɯJ¾½KÆ¿L»¶L°ºO®´N³®L´·F°²J®¦=¤³B¦¶U²¸V©¶G³®A¸­?¹²D±®O¼®XôböZ¸²V¼µ[¶´Zºº]ƾW±¸TµºZ¥ÄM¦¿H´¼U¯Á\­µT´¹E²´N®®E¯°Fª¤>¤®E¡¦> ®C¥œA¨¤;¡š?¥>¢£@§¨C«¦C®©E«§?¥œ?˜£E’¡O¦‘Cž‘F¤”F«”J®¤H¨ž>®¡'ª¢*¬¥+±£3¯›1ª—@³§>¼Ÿ<³©=¹¤>¬¬9¨«:¢¥@®¢@¬žA‘7ž™2 Š<˜š:›™EŸ< D˜™G”•H‰>†ŒF‘•>…B|›AŠ˜6•6yš;zžIxœ8—8s”Bm˜Fy“G„˜?œHˆžM{•D‡˜L{ŸB}”M€¨G‡¦7€¤2…ª>б:„¦)q¨/z«9h›2c˜8f£=nœq};ryF{mFziGwoOvnX|iO|ePrp\oif}d`~glvkqoe{vktyhmhjqeawaholouygizklzrsyj}tcpfˆm}h‹uaŠ}i•wd•{e›†l”‚tœ‰k“‹g†g™vŸ„l”…`™wb•tdŒ{a’ƒc”‘]¢P£M¡’D¯˜Gµ¢?³«;¿°AêF¿²L˹AÈ®FÇ´OèFЬMΧBÄšLÆ›RÀ¦PÄ´R¶ÃN¹ÁP·¸G¶µE¶ÁH´»D±³;µ©<¬²A°°H©¯F²´H¾°C¿§<ȤMĪUÏ¥[Ȩ\¿¯S¸«P¾¨R¶°\įbÁ³Y·½`±¿\«½T©·M¯²F·¸M¹»Gµ¹JªºD¬«E±¯I§¬F¤¦J¨¨DšŸ>›žDš§G¥Ÿ<£«>¥®/«§2°°<³¯A¥¤; ¬H•¤Nœ›Bš™?š–@©>¯”C¨™D¬£=®­(±4¬/¦™7§ 7¢@®§@²žC®¡?®ŸFµ£=°œ:«Ÿ;²ª4¬£:°¡>®˜:ª”9¡“0ª4£•9ŽAœ”<™’H—EŠ˜@Œ˜I‚™N„D{•G8‡›G~˜G‚˜8‚¢7w¨Hs¡Hƒ•E‡—?~B£L€¨E‚ŸAv˜?z D{¢J§B}µ7ˆ¸=¸-€¨-{¥,u /h§=k¡9a¢3c¦9i°8cª)U¬.Xª;Y¥~–8w”`±1Y­4a¬8Y­-R¨/X¦6Y­9`¢8b¯7\±)c¯7Rª?_«7gª7d¬A_¬Fr§Gv­Kr¥Ju±LvªEo´Km»Ni´No¼Bv­‡–Cˆ–K™Q¢E‚ŸI}›=‡˜?…œB¡F‡¥;€³=~¯>{¬F‚§G‡²E†°@²C„¥9ƒ¥6s¤7z¯0t´5k¯4i·:g®2pª+l¶2m³5_³)[¨,[§9T¦=a ?\ªp¬Lm¨Lj¡>m¤@l²Dj³Gh¼Eq¸As¯Kp¶C|±By»F|¶It¯Hw±DrµB|µJ´P‡°Z€´a…¦Y“¡`‘¦f–›n¡q›¦k›°h—«j©k™uš¨n¡¡k¦ q ªn£©h¡±j¡²f£¥pž˜j¥–f Œg¢Žq§€n©wj¡utžusšxy”n‚žp~Ÿo}šky¢q†•f|˜h‚ZŽY‚Z„–W€/iw8eu8l8ts6l|?t|3muCgf9giAsa5qbDycE}gGƒeFnZJp^Vr^_pZeidqldkw_ynOitWjehom_usp|utuwk|l{}n}|t‡qxƒr‰ƒi‚‚nˆt|c‹ydŠyl—ol™wvˆ~p‘}f‰n€n‰}fƒ`Œ[ƒZ–ŽH‘‹Vœ—I§‹I†H©”>¨©Gªš>¸«KÁªLDz>ºAͳ4ŸEÊ®RͧDÇŸL¬BįKÀ²HÀ°AøL½¶I¸¬OͰKɪH´»6º¿C¿¼:ºµ>¯­:³¨B´«DÀŸIÁ¥MÁ >µ§=¼­@ªS½¼G»ÃB·ÃO¹ÄVĸZ¼·^¼QƶPIJVøIÁ¿J´ÀO­¾G¶µG§°K«°RŸ°H£¥:­£?´£;¡¨5Ÿ *¦ž.¥ 2™¥,›¥7Ÿª:³¡,®¡-¥¤:›ª9¡­: ™6¨Ÿ9¢›?¢ŸA¨£9£°<  <ª£1°©1°ª>Ÿ¤9¦§8¡ 7¨¨-¥©-¦¯4ž¯3ª´3§ª:ª¦C¶¬5¹¬>·ž<«˜;¶š5°ž9¦™4¥¡6©Ÿ5¤Ÿ>¢¨B£¤@“š?”˜C‡™K‹šG¦D…©H‡¦M~¦?Ž›?ž6‡ =Ž D}§>€ªC…®@‚¥Q{¨Bƒ²;Ц<}©9x¯8«At¹@t¹Y±9c¶]¦:j¥9i°Lw¦Ph¤Jg­Dj§@cºId¸Ls¸?i²HlÀEsÄ;s½Fp´Jz¶Ex»Ow¨@w«J³P€®V…§Rޱ[‹°[¤Xœ¤\™®`£¤n“°_”«m­i•§}— n—ªjš§e•¥t¦k–ªkŸªl¢™l¨•e¥”m¦i£”uƒt™zi—‚h|r wz—}|’tpœrs¡prdpb{‘`tawŽ_„œ`|”S}1mt;ct4cs6bu:p~?rusfMz`KkQRfMPoIRtVanTeeVlo]ovUegchfbgsjmxm|xo€ur~‚m‡€n†€fˆ}n†„p~‚pxyo{od‰ybŽ{a‹xe”rkvj‹m‰xl“~k™ƒ]”…Zš‰e‹c“‹\š‘O‘Q˜U¢‡WŸŠG©šH¨¡9¡¦:«¦H©¦M´¥C¼³C¾´8¾©=»®IȬQŤHͤIìAÀ¨I»¢HÁ°O¹°H·¨?¿©D¾´@¸¶:º³>¶²>¾¹Dµ°E¬¶L´®G¼°;»¡<¿¡@¶¨>±±J¶ªLµºBµ½DÀÄSººY²³Nµ¶T¹´PõWľI¼·Jº¹M²ÁH´ÃKª¸C¢¯Q¥§Pª£A¤¡9­¬5¯¨B­š@¡›5¨ -¡§4¦¡0ª 2±š:¯¡2¤©A©¦B¢®:¢¥6¬¦?¯¡? ž=ž›4›ª(¥­,¬³4§«9«®8ª­6¦²>§¥5°¥5ª«9Ÿ®>¦:Ÿ§2£¦7§§6µ?¯œ7³§6´•-®’4«•;°§1«¨5®§=¥¬>œ¬@”§?«E–¢G™”GœE„ŸN‹¥L„¢FžNŠŸI“™5™2‰œ7„žB~ŸI}±?ƒ©N„O~°Eƒ±@}¯B€²D‡¶>~¸;ƒ»?~¶:v¬2n¬,f¯'f¯(k§(p®&k°)_ª(_®1[³7cµ4b°AY²2\³0f·;bº=[º0^·3T±6Z±v«Dv¤Kh¥Sc¬Fc¶Ir¯Ht­Et²ª¯9¨ª7Ÿª8ª®2¤°>¤¤C¨ž?¨«/©Ÿ-¥¡1­¡<±Ÿ7²¡5Â¥;°–?¯3¬—3´£6ª­8§¡=ž¯G¥²E ¨=œ©?Ÿ¢J‘’B•žL€œF‡–@{—B‰–;‚H›8€£2†¥>}¬B|¡8 9†¬<€¤Q‰£E}­J€­F{¸A|¼F~´Gx³G€²>s¿2u¶+p­,d¶8h¯4f¨/e¨5k«/Z«4gÂ=b¼2l²t²Ep¯Co¤Cg£Sb¤Jl¯Hb©Am¯Fh·>lÁDlÁBv»DmÄ>nÅ?r¿Hs²Ly¸I‚ªR€°R©Oˆ¦Sz³Q¨M¬Q’ª]–´Wž·c’¶c‰¯q•«i“ v”¡l‘¤l¬r”¦i–¡qŠ®cŒ£k›™e’g¥‘n¢œr‘“e˜oŒ’iŸ„j£t•yt˜zy–rl‘yq‘wimeut›kq•bw”e€•Yt“`|3ct7]n5Ys>`t?UhGYbCai?cb;gXGlS:s\µŽB°Ž:§š>©¡3ª¬:­¥8«ž1·¡6À«?¼¤GÄ©>À¬@êE¼§MŸW¼¢Pº©J´¦D¶¨E´¢;¯™6²¡8µ¡:ÀŸ9· ;¿¢B·¨>±«5¹µ>µ²:³¨A½¬?»§Bº±D´»Q¸·R¹¼L··Q¸«FÁ«K¾°F¾²Qº±S¿§R°¦R°®F£¦?£¨Iª¨Mª¥F©£H¨œC©¡F¤¨>¡£1˜©4‘­9™¡8•§0œ9ªŸ@§™B©ŸI¢K¡¨A±©A«¥8°¦1³¦1ª¨)ª¤ ¶¨$¼­3³°2±¨,¥«.ª¦>©¬<­¨7­¨@ª«3¡ 1¡•;©–3¹ 0¸›=¾žEÀ—>´ŸD¹–Cµ–?¬¢:«ž?®§8 ª9£§E¦£Fš©>’¡=ŒE…–@ˆœE‰›F‚™<‚’DŠ™A‰Ÿ:ƒ£=}¥?ƒ«8†¥A‡Ÿ=‘ªDЍF„´L~±Ds±Cv²J{·Sv²L€¾L{½?pÆ@m¾5tÄ8k¾8k¶;f®8f·2n²3`¸/bÀ5b·:i»:^¼3VÁ5Xºr¶Ao¨JvªPe¯Ie¬Je¬OeªIm»Ii»Geº=rÁ7uÈEsÃGrÉKm½Em½M|¼P‰µT„«Hƒ¯GЬW€¨N}­UŠ®S¸_޳Xµ^±Z‹¹f†´^‰ªg¡b¢n†§a‡ªbƒ¨fŽ­j‰¥h¥^Ž¢h˜˜i“b”Žl–„e†c‘ƒf›†k|q’yq‹tu•hœ~f•|hštq”in›]{”bv•g{†[z3jl+nc.bk3buAZh@T_B]V:Y\BfYGaTAe[@h[E[R?bJ:`SCVQN[^GcVM^\[VSecXriZajTal[eiejqajsmnthtvbn]~f†bzuY†y[|wY|te…jb‹bd‘wi†s\’t^€s[Œƒ_„€NŒxU€|V‡\…^„‘^Ž—P–T›šL¡R§”=©—;·›?´š<¨—9©©5²ª.¸¥,¼¦9±§:¯™N¹§9°¥?ÁŸ=´¨E¹œ@µœBµ£H·¨B®¨Kº¨D®›:­š3¼˜5¿¢7ÀžBà7Ã¥AÁ¡7¹±6³­3´¬7¹«?»¦<ȤK¼§N¶¯L·®N²µK¿¸V½ªG¾®DÁ±N»©Iµ¨X¶¯HºªC¸®D´«C¸§Aº£E« I¤›>¨­>¬­9£´9«³2™ž;¡¤5¥›B¨©;ž¡A£Ÿ4­¤>®¡J® 9µ¥4´ž:º©4­¥1£©3­©'´¡/¬².¶«<£¨6Ÿª5ž¦:¦­A¨¬?·©:­ž=¥ž8¬˜9±6ºš<µ–@·›A°•G°™@¼›<³™B§¢A¥¨6¯©;¤¦4¦¬7˜¬5¡¨8œ¨Gš˜I˜L¦@ŽšH‰?„£;’žBŠ—E¡;„®>Š­2§=}«@‰¤=~¯F€´P~³G…¹F}²LªP€µA„»=vµB{½An´8yÁ4pÂ8wº5n»o°=t´Gt¸Gw¦Pq¦Oo¬Nm¨Bn¬Dp¬Ij¶Bs³@o»;n·6t»MkºOi»Bu¼R|¿V‚¬O†´K°F{©\­Z„¬M‰µO‡»O‹¾R•«WŽ´Z’¼h‹»e”¸n‘©k‰¡e¤h‚©g‚­_€¬e£kŽž]”n–m˜Šq–“m‘†hŒd’|l‡a•€c‘|q’g–ym™ƒgpzkŠoqru‹`z‘a{†].td/md7mg.\n+\]2\X8RT[UAR[GTdEZ\LVRS]PdiLjfTrt^iq]ordijhkpakvapiapl`€{\€_‰re„nY†k_n\Œs`g`…p`‹ueuh‹s`Šu]~K‚ƒI~T‡…_‰ˆbˆc”‡\’M˜”L”‘IœŠIªˆ?­—E°›;§ž?¦Ÿ0­¡/´¡6¹œ5¯¥B²Cª˜B°›=° @· >»œI·¦Eª£;ª¦B®@½J¾”K¯–=²žG¶œE³š;»¥9¹¨3Ĥ<¿£8³¦8¶ž>â<ƬFÄ¥GÁ E½ªI·§M°ªV·ªJ¼´M¿¨Q¾¢J¶›Q¯¤L®°J²²;¶¬C¼¯DÀ¥B»ž:±ª<§¥?±©J³´C©³=¯¬AŸ¡;š8¬§>²¥=®0¦¤4¬–B­™B¤¢6§ž4­¥-»­*¹¹/¨µ.°¦-®§5¬­6®©7¨©9¥¡>¡¬<¨°E¨¨3°¦/§œ1¥™6°A°’Bµ˜:¶™B®œ<ª–D¼•<¿œ=¤9³Ÿ?µ°<ª´;¡ª8¦¥7¦¯3–´:£Eš¡G¡M†¢I‡¦D–ŸAŸ@Ž¢F„©8‰Ÿ5‹­8‚®3z§C°Bˆ«E}¯My´I†ªJw®Rv¶T…²J„¨=}©B|¶D|¿:v¸<„·?€Æ4„»-x½/p¿0q»Ä G´:Ę6Á¡@À™;ͬC¾¨G»©KÁ°W©ªMº®Mµ¯Mº¢I½žI¯ªNº§L­±F³§?¶«1·²8ºž3µ3·¡=¬Ÿ>®µ=¸«=¬«Eª­I¦¤FªG²˜>±Ÿ@±§4®™+¦›/ª•8§”:«£6¨¥-¯²2¯¨,¯®5²¨,²¯1´«0·µ9®®:¬¤4¬¤1©®G¥ 4°«<¨Ÿ8 £3ž˜<ªŸ=¨œ@ª›AªŒB­Š=ª›=¿™<²œ:¶¨B¦ªB¬¬7£¤?Ÿ£6˜¢6˜¨2œ¦B³P‰©Q¥P‰ªFž«E˜©I‡ EФG‰œ7¤7в:‹µE‚¼Oy®C…¬Gƒ²Ky´G€§F†·N†µQ‰°;‰·A‹¶>‡¼8|ºDv¸<†È7Å5}Ä9{½Ax¿>~ÊEjÉ6mÄ>kÕ)`Æ(\È7`Ó0XÐ4WÊ,YË.aÉ:b·;\»?jºKkºNqµUmºIk§Nt·Er±;n³Do©:j°6e¼?oÂ6oÀ=hºnc0pY.a^4\];VS@XP8\Q4USA^MJZWBSW@UX?YP;[ZFSXINSWZOXeSZ^Ud^c]]gh\_cifjeanmZmt[ktTluS{mSuW{qUul[zmWz]y_ƒz]ˆwg–yc’i`Šj\‘f_…jT…iTŠh^‚s_ŠsXƒwZ‚yO‰zP”G“ˆJŒŠJ–•?¥ŠG¤Bª˜H£—@£–=°”:³™F¬C°„I­‰?©‚=³‰4¬Œ2¥—:«žH ŸEŸ™E­œE±¦=¾¥Eµ¤H½F½9Ñ:Å7ÚA¿‘CÈ“K¿–B½šF¸žK¹—@¹ LĦMÀ²T¯U¿¯P±ªQ¬ L± I¬¡K±¦?¶¡7³¢@·¬6¶ª9º«4µ£,µ©+¼«4¾¡@³¨>»¦A¹¯G­¡N¨¢E® L¬œD¸›;¼žC·¥>¹œ2¶ +¯Ÿ5®¥;²5²¬0¬¯8«²,»¯1±¸4¸·)¸­2³°-²¶2±­*±¢6ª¡:®¬9­¦@¦¥?¦›6œ£>Ÿ9š™< “F¯‹E­@³˜K²ŸDªªG­°Cª´E¤­>§¯?œ¤5Ÿ¡1’¬;“¸=‹¶J‹·F­H®B”²D°Bލ?Ž©H¦C–§E¯;б<¶L‡­P…³KµG|·B‹¨Cˆ©K~­R~¯Gˆ·Bˆ³;ˆ¶5~¶=|¸2ƒÅ3‰Æ>ÆD|ÁLÌD€×I|ÖBxÔ3hÏ-f×5[Ñ/R×4WË/aÔ.aË+V¾4XÂ8XÄCV¹FW±Pi·Jv·=sº>h¼4j±;d¬¦5¡’CŸŽ9§…<£3©Š1­1¦“;¨‹=©‘=›—>žŸ8¯˜C´ŸA¸¢Eµœ@Åš@ÞB¹”:Õ7ÂŽBǘF¼’EÈ™JÃ¥B¼˜KÀ L¶•;¹£I¼ C¸ŸI·›T¶¤J«™I±žM¸ŸM¸¢F³™C®¦D¶£7½ž:ºž6­¢2¿ª2´²9¸¨3¯¬>¹±B¼§Fº¯<®¬F³ H­¡B¹”D¯£F¸§@¿¡2°¡3§–(®‘/©¢3µ˜-¶¢9¹¤'Á­2ij2º±*¼«*¼°%º³)¸«:´­6©š6©›<¬ž:­•D¦?­ž: š?¡”@¥ˆH¦‘Fµ‘J©Ÿ?¨= §>ª®<£²D¥¦D¦¨? £4ž¤<˜·=˜¦=˜©K”¬F–¢L—±:›´C”©?† K‹¥=¨Dš¬BŠ­9ˆ¨K½BŒ²Lˆ¸D€µD|ºC‡¶KŒ¯F©B|©AЬE~¸={·@{³1|¼?|Ê:zÉ@|Ò>ƒÆCsÉFrÅ>zÚ@pÚ9gÑ7^Î6dÖ.cË,SÌ5ZÌ3fÎ3^Â3ZÀ3a¿BUÃAj´Dl½KlµAhÀ>f´7[³=^»Bi¹5fÂ6iµ8lÁ7p¿;q¸Ek½Kk©N_¢Un¨Lu¡Vv§Gz¨R†«H„¦G‡®E‹»I…±Q‘µH‹¸W…ÃO€»Iƒ·U޳MޤV†Ÿc~§Y¦^ƒ«R„™Vƒ£d}˜]†œf‘–h\„‰Y|“]ƒŽ`‘‹a…‡Uƒ†Yw‡Uz‰a€…V…eކX”zj‹l]„f[‰cpŠmm;kZ0gW/f\3ad/bP+bK4bR.ZW3UM*[G+OS0TS@OR@ULGTWTJWXLUZSRZPb\Sd`O_]W^^g^Qj^]hYkf[npaqjdsqYphKobOxfP„fKuJ„nZ‹fYea•hc‹mb‹pa•mcŽpSˆoNƒzN|sH„lR~kS„sOŽoV‰{K“}@•}Ey?ŸBœ=¦”8£‘6£ˆ>¤ˆD¬”A¬—;œ53ž€7¡< Œ4¡‡4°Š0¯‘-¤‰8”D§œ?«ŸD®–:¡@ÊœB½›@º•AÀ›A¼<¸ž7¿=Ê©FȧEÆ¥G¶ŸG»–;¹—:¼”:¹—@µžL·™T³œW±£IºœNº•B²›7®¢<®¢.²ž,¹)°©7²°4»±3¾¸1¶¯?°¨<²©6·±?²§:±¡>µ–@­•C¯š;¾™=À©1À¥%®”'µœ(¯—(¶—*Áž1Ȧ3È¥$Á¯ ·¶-¾©/­(¾©6´ª8¬¢=±:³¢A¯ 9©“E¤Ž@©–5±“;§‹G©ŽO­—N°¢L­›?¤’>©‘;¡¡Dœœ?¨¨A›±?–¬AŸªFœ±>œ²Jš©P—®L‹¥A™¬7—ª>‰ª;Œ›F•žH˜¨DŽªN•§G¬A¶?±D~¶;‹ºAˆ¹L²P†¸C¬<„±C~»E…µ<|¹A~µ4vÂA|Ë=„Í:zÌ6oÄFsÉJtÑo×6gÕ<\Ý2^Ö.UÎ:ZÅ?\Ë0ZÁ/]½.V¹;b¼>`Ã4pÅ8y¿Fn·Ci¾ÃžN½;²œ7´›=ºœ2¼@ÁIÀ™J¶¡MºŸQÀ¥N»•D¿šD¯‘1µ.±¢/­˜(´.²ª8µ©:¶³1·«>¾°9¯§0«©;§œ7«®;­¤=©—@±œC¯•:¾£5½¦/±£0¬ž/ª’!¨–.À’0Äœ,½§#ñ,¾².ij/ì-Ä­"·²,¿«+©¨8¯¤3³¨3©©=¨•C¦“A¯šA³›6©šF«C°˜N³˜P¢“Nœ“Kš@¢¡9›¦HŸ°;™¯G›ªB—­E¡¶Iž­G¦Q“¨J£Hš¦FžªN‹¥J‹—>‰ J’ŸBš¯B—¬GŒ¶E”²:†¸>‚±8€¸>|·?€¾E‚¼F’¹J„¸BˆÁ?“°A„·:~¼7x¿9„Å>tÎD~ÉE{ÊDqÇFnÒ;xÍFtÉGsÜClÌAiÐ.^É?_Ë@\È1_Á/fÉ;[Ä<\Æ,h¾3o·5ƒÂ?w½Co·E`Å9VÃ<_Á0`¾=`·9e¹0k¼8h¿5c´Co°Jc°Oj¨Pi¨Lo¥IkŸL¢B~ª@„®E…®Q¸L¬N‹¿SвV„µH·Gy±HuºT…«KwµNq©Yu§N|®J~°X‡¡M€¨Y„ PƒžR„—`ˆŽYš_‹ŠX‹Ž^‡Še{€ay‰hs„axŒhy†^Œ…gŽƒ[…vg|}e}}c€wd0T_,aU7YN7`V1Y_+TZ"XQ'\N$RX%OR%MX1CP??IDBQKQNRQU]XTYNSXP`WWeXSeQZZUSSRY]UPb^Wib`ckaav`[~aL}_MƒmLŠlQ‚^HŠaFˆaQ˜nW˜oT—qV”tauf›rbP–O–{P—WyN“pP•qU“{K˜};š‚<“€:—Aš4¡Š6™ŠCG B˜‡Eœ}Jš}DŸwG¤w9›†?¢=®‹=«;®Œ<¤‡4±‡2¬‹1®Ž*¿œ-¿›.Æ›9Í‘DÍBÇ—FÀ™E¶¡9º¡=»¡;ĦFº›D¼ž7µ˜9¸’9´›D¿EÆ•M½šG¾žL¾šC³”>³˜:¸–=º˜.´–)´ 3´œ/¯£5½ 8¼­<¼«0· 4³™8©Ÿ7©¥0³¤4ªœ.¬š6­—;¸ :¸¥7¾¨4µ¥2¶¦(µ+²”+»“ Äœ$Ä£-ì,ȱ.É®.Á¬*²(µ#¸¦.¨©7¤ª<ª¦3ª¢;¯¢:®“<¨–:®—=±=¬˜H²“E®Q£–Rœ˜L—ªHœ¬?¢¯Fž°>§·Fž®H ¦K˜ªL˜±V”§R•©Q™žO›—O™šL••PŽŸCލE•¥9˜®<‘³B•¼9‡»9{»5~²:v­D|¹<‚Á6‹ÄA‹Ã?’ÅJ˜½H‘¶DˆÃ=„ÉE„Ë?{ÌwÔ@jÎ@mÒAsÓ=kÌ9gÈ7]ÈAcÆ@iÈ4lÉ0e¿5dÄ3hº0r·;{À8xº5i¸=]¸3_Á9WÂ5_Ç2k¾(h¼/k¼6]·=_²PJTLK[WIZWDTUFXTUi^Tp^[iTTdWNT]PUUSVd`an_coX_mbTsZQxaLylI€fK{hFˆ^OŒ^OŠbT”f]gV‘q]Œnb•o`—‚R–‡PšvSuN’wJqIšwH;˜>˜†?~D’Mœ8¥0¡ŠB™}A‰@šŽ@Ÿ‡<–sHœ‚F­}C z=œ‘Aª?¯C«Š<­1·,±ˆ0½Œ6•9Â’4¿š,ËŠ<Í<ØH•F¾›<¸¡D¼£@¿¡;¶™CÀ˜5´–A¼—/¿’EÖ:¡;¿¢:ºœ?º˜C±ž1´0¼‘4¾–.²”/» ,ºž:¬«5¯¡?¸²?²¦Bºœ:·2¯¢;¤¤?ª¬5« <® 6¹¡9¼§=Ä¥/Å¢6´­4º¬.¯Ÿ)º‘*·›)Ä¢*Å©&Ī/Á¤/¿³6ǵ3õ(¾¯%Á©.¬3¬¦6«9·™=±—F ‹@¦›Kœ”Aœ›<«‘M©›B§RŸ˜Qš¨S’¡KŸ¦F°?›°I˜³Jœ®F›§Hœ±Ož°J˜²P“«N›¥Y¨J’¥HŠ¡R”Bˆ¬GЍ>“²A‘°A•µE‰¯I‚¹:¾>{¼B²;·D‚¿?’Ã@ƒÂ?…½M¶Nˆ¹D€ÇC‰Ç@€Ú=tÑ>nÉBoÌG€ÒJ{Æ<€Ò;uØCtÐGpÔHcÈB`Ò7]ÍG^À:aÈ3f¾7gÁ0bÇ9qÄ6hÁ=rÎ0xÃ6a·8b»;eÊ4i»5cÆ/e¸,r°1k¸9`´0g¶0]³9l¨Go£MhšNj™Mož?j§Ez®?i¤Ly¯Qs¬Dy­LЏG‰²LƒÆL|¿Fl»Ix«Bz¶Sh°Fg·Rs±FqªG|±P¯Nz´I{²MŠ­I„ŸM‘š^†œR‘cŒ_€a_x…`{fŽb{‰c€†jm‹ˆlˆ_ƒwl{`.[_)JW4SP2[F9VH6QC-IN/JM+IM4IC-HA6JK7DM>O]RNWZI[`HZWHbYNoeKnaOhWO_VRW[WU\PXfYUcOdjVguZYw^X€`L~dMykK~nOŒpZˆjSŠjXfT‚kT‘sVmR“xWŽ{Q•V™xR•yM˜…L—B–„8˜…<–ƒB‡D‹Š@G™…Ažˆ8¦yDžx>Ÿ‡D …E–LwC£€?§y>£…3¤ˆ6£‘4¯‰>­ƒ?»„/À/¼ˆ2»‡5´ˆ4½“-ÅŒ.Ä—9»’B¹ BÄ DʦDš9Ä5º”6Ö?¼‘>¼7Â6¼ž?Àœ>¹¨4¸¢;¹£>·ž8·›4¸‘2²“/´š;¼œ;¹›3«¡1®¬:»¬9¾§?æC»›6ºš2©¨6ŸªB¦¦<¡4¦š=«¨3¸©0¶¤-Á£8²ª.´¤(µŸ(³™,µ-³£+¼¥(È™$Ǥ)·©-²¬-¾·4½³,» -½¤/±=¹•=²E«ŸH¢”M¢œI›žJ š=Ÿ“@Ž?œ–N•ŸP—§N—¦F—©H›«O °J¥£F¢¢H®O˜²L”²B–®Hœ¤W–£Z¬W­J†§LЍL‰­F†ªO†­P•¬?–§IŒ¬J±J{¿G…²H~¶?€¼E…Á?ŒÇDƒÉ;„Ç>ˆ¸MÀL€Æ<ŠÊ8„Ù=€ÛEuÕ?xÍ;wÌ<{Ï5€Ð;„×D{ÐIoÊKdÏFfÈ=kÃ=_Ã5\Ê=\Ì:aË:`ÆBkÇCfË9qÊ7sÆ5g¼-k½%hÈ.bÅ,^µ5dº/kµ/e¬3Z³3SÁ4]½0f®8j¬?p¨GpDm¡Bn«=g¡Jk¤Nv Pr¤C{´E„³M‚µIw½Jl¹Fn¯Av½KlºHi³Qm¸Jq¯Rn¯Pt²Q‰¥J†ªE~®K‰²Pƒ¨PŠ¢U‰•[Š’Z‘Xƒ•[‡‹b…”bs–mx•e„‚c„g|~q‰~m„€f‰†m~c&MJ%QW2VD4XC1PI.HD)MF+CK(GG/ED=HM1CV:CONMeUOZRCaXETP@ZYIedKlXT_ZQgRSY_[abK\VV^h_hh\mi]it[dphZ|fWyeSylWz`W~_]}k]vnTŒg^…{[vRqTqZšyI‘uF™p=y@ž~E”€GƒH™ŠMœJ•{EŒ…Kš|I“ŠBœ„9™u3ƒ:œ€B¡ƒB£z>¨|9¤}D±…0¨‰.§{+±‚1®‚4¹{0¿z)»~:¶ƒ/¸’4µŠ0Ê‘/¼Ž0³—;Ä–AÀ—DÄ“?‘>½•5²’.²•4°‘=µ3»‡;Á˜6º•;¯¥C³ 8¸ C¸œ:µ›=µ›(¹¢:¾ .®5´˜1³«8¸ªC» 6½¥6µšAº›G¨¥=§¨EªªF¦¥?¤§G±¢?«¨D¸¬4ºªBÀ9¼›1´,³™)½—3»Ÿ(³¤/´Ÿ'º‘)Æ›2ª3Á¡5¶µ8¸ >µ›3°–9³Ÿ9»ŸC¼¨E±£R«˜Sš‘J’P“¡@¦šD¡•E ˜HšžS žU ¦Q”¤Nœ£P¨F›ªU•¢RŸªJ˜²S’¬R±R®X“°R‹±W‰²[€°RŠ£Y‡§Z§W†¤L™±M•²C†®M­FÄ=Ž·?…¸A„¾9ÁCÍI‹ÇA…É?ˆÃPÌ>†Ï;ŽÌ9ÒG‚Ò?{Ì:{ÕDsÄ=Ì6„Ùs¡Caœ>a©ApŸJj¢Ns¥Ak¡=w´Ou«N~°Nn²Ep¶Js¸?m°Hj­KjºCuÁJq»O}®W…¨TŠ¥Ry°T{³T}¢S‰¤\Ž›[ŽZ‚”b€›^‰TŽZz“iŸkx˜]…‘ha~}izjw^…wd„ƒ`.OF*NN&FK-GF7JK5HE-LA+EI4MN0EI2@T:GQ=MYMH^KGWNDZECdL>\V=f_KeXSj`JeYHZXQ^YPkPMf_S]]^cn_^qfbs^R{]RueUze_}mbte]|iZ}tU…rW†sX„lQvZ™wZ”oJ•fEn=“xF“€?—‡?‘…G’K–KyS‹yIŒL•|?•‚0•€2¢z1 }5®ƒ;¬†<£„B©~:ª-®}+µy.³|.´w)³y*µ&Á€2º‰*¸Œ*¾4¾’.ž/¸™9À—5Â7×;¶•4°Š8·‹+µ’-µ‡4À„9¹Ž7±Aª™?´—?® :ºšD·¡<À¥;»ž.µŸ2¼«0¿«*±¦/¶§1²§=±¤>¯œ;¯¦:¯¤G­š?°¡E¤¥K¨›F£¢E¬Ÿ;²ªBµ¬F¼©E·¦>ºš9Ã)ɧ+¿ )¶™*º›.¹Ÿ+½™0Æ*Æš(Á¨/»ª5´›@·™?°š>¸@³šF´£G«—G¢™M¦—L™—M’“O››C¥MH›§Rœ¥K¡¨R—XŒ©N¤R™«K”±R“µKš±N›°RšºJ“¶PŠ´R†©Pƒ¦^¤bƒ§Zƒ«Y€ XŒ¨U’«K‘¯DŒ¯B®DŒºB”¶F•¼:·CŒÀ?¾JËG‰ÃI‡ËD‚ÕKˆÐA‚ÕAŠÒF„ÎE}ÉDÆ<}Ë:×A€Ñ8ÙE{×FqÚ=lÛCqÛEkÌ?pÍCpÖIqËAgÐGsÐFmÈCkÊBxÒ=sÇ:f¾5c»3i¿/k»0k»3q¸,g¹3iºAiµ?e¾?Z¶9b¼>Y·4\ª?e¨@l¡K3LG7RNADV@?PT9RL>HS:WR>OVNd[H`VLYWV[TOcWP]PRdTO\OYec\encefa]sVQo]TnXW{^]nadpeayq_„hQ€jP…x\Œv\u^™oS™yI‹qNŠnB~=›„Eކ@‘~NšŠI¤‡Q”O|9”u@–s;w1.§x7¨Š5¬}8«ƒ;«2¢‚7­ƒ/§Š9¶}.¬v&¸z-¶0º~'Ç~0¿)ÂŒ)·‡*¿“(º0½¡:¸™9Ä¡=º—+ºŒ5¯/¯’'µ4·Ž0²•3¬‰@°‘9¬”C´œB§¡?ª Aº—AÁš6¾¤4»œ1­7¶¤4°®.¬¯1±­9³š>ª›Fº¢Fµ¯N°E¶©E´–G¤—I¤¤GºŸ8¸ŸH²´Q·ªHÀ°9¸«;¿›3—0Á¡)¼6¶˜2Ę5Ÿ4Éš+¾4¼­6ǬB·©7±¦GÀ¦J¿¨=º§Gº¢A¤£EžœU™‘M—šRššD™—D££J¢—L›¨Q•£C˜¤Q¡ªVš£Nš²S•©R›²K˜­Q¡´I–¶Y‘ªP‹µL‰±MŠ©Y‘­^‡¥V†¥Yަ]†¬W‡¯\ŒµOްPˆ²JƒµD“±F†¸I’Ç@Žº=É5ˆÈBŠÃH‡ÇD‰Æ@’ÊA‰Ñ?€ÏK‚ÑT|ËBÄK|ÊK‰ØGƒÒ;vÕ@}Ú@€ÏLyÝGjØGsÒFpÅ>jÍGrÒFdÒHgËHnÆNdÂEqÆEzÓ:uÎ>fÃ>lÁ6`Á0j´-j±+e³/_µ9g³4`±7b¶D`¼8[°8\´>AA@G$>L&JM1MK&HI*SD8JH5BUCDSBOJ8?A?@GG=BU;GWJPMGOVFPWE^XI`MRVQIPbH[\NUT[YP`d[Z]d[`lTZfR`hUYvfTrf_sdglm]no]~iPŒdS‰oN•uM—xP˜yOyR–}EŒr=y;›|DžˆM„G¡ŽJ¡M¤‰=ž‚:£„7žxA›€:|,¬ˆ6©†;«‚8›|1š9¡u=ªy:¢‡;±‚2µ.­y"¯~%±}0¿s+¿„/ÂŽ9̆3Æ3Ç–-¿š5Èœ<Ê–5Ê™:Å‘/À‡4ª‹.­Œ&®Š,¯3°•A¾”?»œ@µ›3¥˜5¨›;µž<¹¡1¼¤1¼£;¬œ3²§0¬¥>´®?¬ª6¸ªD³›Aº¤E·«E·°:®£7¤¥C§šFµ¤A·§=¼«L³­K¼«D½°:·¢0¾–2¾Ÿ/º—8Â/½—*¿¦*Æ¥/¿¢6Æ©1Á³5˵=¼·?¶¬@²ŸE¾£I¹£Q³§Kª˜S¢˜PŸ—P™›P“”M›šQ¥¡OžžG–¦Q•«I“®K¡­G£§M˜®K˜©K›±Mž¯L¡¯U‘´QލV€ªW€¦H…§O­O‡²R‰²_”·Y‘±]мZ¸L‚°M‡®VƒµMНL¯LŽÀE†Ç;ŽÄ<½I‚ÄGˆÈAŽÌ=„ÆI‰ÊG‡ÏI}ÅR†ÉMÇB|ÌQ„ÔO€ßNxßFÔ>{ÕEvÍEnÌFuÉ>kÄ?lÁ;eÆ;]ÎDeÑFiËKgÈFhÔCjÏ=tÉ=nÎBmÑBbÄ?Zº?`¶3_À8g¼5^´¤~CŸƒ?¥Š+©-³„1¨„.¬|+°r*µ€(´‰/¹;¾“AÉ™<è/Ëž1Å™/Êš6·•=½‡4·<´Š7³—2¶‹<µ˜@»A±“;®”6¬‘=ª›Eº¢D±§;»®0´¤-³«5»œ<·ª;µ›=²ª?²«;¨¢K¯ªE±£Bµ£8¹­8²¢@´¦G³ K®¤G­®J±«D¸¬C®¶B¹¥4·˜<¼›C¶—B˜?À™7Æ£*»š5é/Æ®9Ò§0Ê©6Ì´=¼ :À­F¹£B¯¡Eµ˜Q¨—N£˜S¦”J¨¥O£¡R›žIž¢K™©R•­Qž¥Mž§Oœ£O´G °V™´J¼Lª°Z£ªMŸ¤S¢W‡©J‡¦H¶H‡·Z“¶W•¯b‰¯Z•¹^µRÅN—³R–¯IŒ¹Q‡±J‰ÁFÀO”¸>‰ÈI‹ÆEˆÆJ†Ä@ƒÅ@‰ÅJ‰ÐKƒÈNvÌL…ÌE†ÐLŠÍNÚOwØK}â@yØF|ÓKyØGmÎAlÉChÍ>uÒ>gÓAiÑDeÐFlÍ=mÊ>fÐ=pÆJrÈHkÃ?_ÎGaÇChÄ:a¼8`¾5fÂ6nµ>sº>a®Aa´?c½8t­Au¯Is¶Lz¬Co¤@n¨Gy­Ns²M}µN~¦M{¨RƒªQs¨Q|¦G£Hw=o­>}¨@u²3w®@~²S}­R}™Q‰©R‚¢S‚¥\”š`Ž›[Š¡bxœV{¨[{©T‡™]}š`†¡k‡žhz h}Žfx•Z}‰azƒ`‚ƒ`‹‚OU?"I@%=?$BO*RI#PI+RC.VM3YK@RNJXHCNMFDIRHP]KOYPJSYMZaIRcNXfW\m\OgTSj]Xb\Rj_UnbYmaTsjZudR|ga…q^‡iXŒpYˆsO‰sU…wTŽoR›vP™rHœzG“Š?˜ˆ7•>¢…EŸ‹C¡=§‡?¤~>„4–ˆ7”.ž†8 ~3¤w/­r/³o6¨x@©†A­ƒ:¢~.¨‚+¨ƒ+¥{'¢v(°z&ª…*¬Š'±”0»™=Ä¢8Ȥ6Áª.È¡0·œ:·‘9¹Œ6²Ž;¾ŒG¿•B¸˜9º™=¯¡<³™;ºœ;±ŽB«Ž7°ž=°›7º©-¸¤+À©:¶ AµžG¯œK§šC³¤F®ªJ²£Eµ¨I¿£K»­=°­:³®>°©?®¥MºžMµ¢Cº¢M¯«G«¡@¨šA¶;µ“C½=º“>´œ1¿Ÿ5¦5ʨ4Õ©5Ñ­6É£8Ë¡D¿›A»¦I¯¡S«—Tª‘^©šZª™S§ŸN¦’K©–R¤¦UŸ§Q›¡Lž¦Už«J™¤MŸ®R¡±Uª¯\ª¶U¢²K£ªM˜žT¡J„«GŠ«N…¸Nƒ·[ˆ¼f‘¯bŠ·eŒ¿a‰»f‘ÄYŒÅQ”µK™¶NŒ´O·G•ÁI‘¹M’»EˆÃOÄK{Ð@„ÎE‰Æ?‚ÇB~ÈLwÉT‚ÆN…ÎJÜJˆÙQ‚åFxáJrâBtÙ@wÔAhËMiÌOqÌKoÈArÓCh×FoÏ;mÈ7kÌ;tÔ@nÊHsÍ?hÉ<_Ò8_Ë@^¼9b¹6f¶6o¹:z¿>t¹1lº3l²;u´Jt¼Kw¼Ey´Gs³R|­Kz­S~´Q´Zv³Xº[ƒ¯O|¨K{¦OwH„£M„¢Gy›<ƒ¨<}¨=¡E{¥Gy©U…žX†¥U‡¦_Œ£S“SœQŸX€§Vuª\¬\~Ÿ\w \¢gˆ›bžj†“d}atŽisŠb‰`~€\$L>!IC.PG"ATEE+QF$NG:TL1GEAUO>FDAOPJLOUPKPNPHN]QSbJ[]ITePOcMMd\RhYFi^IicYikKriSo_ZrdQƒgRƒhbaRƒdXlM€jQ…fG‹kF™gM”wK”tNž|:‘†E‹’=Œ:—8—†>¥ƒA¤‹1“8ž‹<˜…1š„=£{.žt-¯{7§w@¥wIµ…6¥z@¯{2¡}2­-´{8³x#²%ª‡1´3ª”.¸;ÅœCÈ›5Å™/ɦ6Ǥ.¶Ÿ1¸”/«œ7µ–E–D·JÀœCº 9³•C±›;ª–J«’9º•0´™8¸£6¿«4¾£9»¨<µ¤<® J®¨D¹­O¿°E»¬J¿¤I³®M»§DÀ¦B¶°D´ªQª²Pµ­E¿©G¼±N½¤OªL«I°–E•M·IÄB½£9Á8½¦7À¬:̪4È©8ϧGÌ¥LĪD¾žD´¦J§¥V¦£Z®œW§¤]¨žSª˜H¥šV¥œO¨¯X—¬Qš§T¥¡NžžG¥©J§V °O¨ªUŸ¯U˜®K¤¥Q“£E‹¯Tˆ²Hˆ´N‹¼OŽ´V™µa›ÀW޾U›¿_ÃUš¸N“¼J‹¸T½NŠÁM·I–¾LÃJ…»FÉEÃCŒÊEÉ>†ÂH…ËC~ÐYwËVÉD†ÎY„Û_‚ÞWÜUr×ShÚ?pÓAfÑTqÊFxÏJsÈNvÃ@mÅ=qÎ?g¿>tÇFlÂChÆGjÊEh¿3bÇA`Í?aÃ;d¶2k±3tµ;p¸;k·1j·?oº9o¾Bn³A{¶@€¹A†¸Qy»M~®Q€°Z®[ƒ®P…²O‡«F~®K† Q€¡U‹§L|¨K§E‚«?~©LuFt¥J„—J|–X‡žU’ŸS‘˜^• P—\wžMt­S|­dx©X€¨X€ªX~«d…¡_‰›h}Ž[‚˜gƒ—]“cvˆY„PHN'DE,F>0OG%QL)KJ2LN4KM>LA=IFDME9NAAP=8M<>I:?Q@DJK?BG=AHKPDON>QNFISJQQVRUV`IMZQVcNNjHPdQBc^DkaSfeYklTz[Vz[S{ZP{[[x\Y~bM}gG~dH~fKfKpNoOŽzJ˜}A–CŒ‘@‡”B‡<ˆŒ:‘ŽA>š0žŒ3”z?Ÿz9œz4£o<¡u8±r9³|A³‚<¨{6­}9¤}8¨„<³„8ª„-±‰*²‚5ª1°‡A®Ž?´—<¿“<½ 9­8Åž7¹œ/¸;°™8¹‹:·A³™A¶ L­’Mµ’@¬J®œD·š<º˜4¼™0Á¡5Ä›+Àœ2¹¦1¾§Aµ­Iº¯C¼¨AÀ§O½«G·«P¸¬PÀSµ¤M°£S©©Yª°U¶®V¹¯I¸§O»¤V®¤N°›E¼›EßSÀ™YÁ–NŸAÇ£=Å HÅ CΤBÊ®?É«EÅ­C½¯?¾¡<­¨?¬¢M®›S¬¥\«™V ”Ož’G£’HžšV£ªT¡£KœF¡œF¦¥Ož V¥¢V£®U­¬N£¨F™¢I¢«J¡¦Q“¬Q‘±O˜´R½M™ÁW™·T”ÇO“ÅUœÎ\žÆWšÈZÀMмZ€½W¶R–¹EšÀL“ÀLËB‰ÄG„Ñ@ŽÑIˆÑOˆÃIwÆSsÈLyÇQ‡ÐMŠÝX‹à]~Üa{ÛWrØKiÏJnØKqÔNtÔIsËFlÊIu¾Gn¿Mk¾Bu¾XÈ;Z¼0NG7LB6IA;V?8L@9EDJE@>E=C@JUHFRJOHOQLGVYGOUCUZ?RkAHeMKlQO`SIaaLfeKh_StfR}_[{[KvZL\Q|_Iw^KƒTF€YH€aH‡hMŽkN’wL•{N€?‰8—?އ<”3ˆ‰>‹‰B‘Ž8—„>š:™„8™{;£„F r<¥nG¯{A¯vC¨u>£‚<ª‚?¤ƒ7¥y8¦‚0³ˆ0­*¥‹0¦Š-°Ž:®‡5±–B½›6Á¦0À±<¿œ;½•-³˜4·‘F®•C´Š=¼M»’E²•A¼”@¬’@³”I» :º @¶š1¼¡:È 3Ì«>¾¨:æF¶©F®;¼§HÀ²QƦM¾¬Y¼­XÅŸYº R¦¥I­¨K®¨Y®¤O¼©T²ªT¾¬O´§N¬H·¤R»§MÉ–WË’HÅ›J͘?Ο?΢CϤIϰ7Â¥EɯBÌ¡CɦB¢G¶©NµW®¬^¤–R®•J¯šL«šMžW¦«J «Q™«Nš«K žN¦¤W©¦R¤¨O§ TœªH›J¢¢H§ªY™­W”¹J´R–³S”µPÀ]“ÀS’ÂW¡¼V”·Zž¾[–ÄZ‹¾Q‡º\Ž·T†¾BÂS”¹[‘ÁO„ÆQÉV“ÄKÊK…ÎH‹ÇNuËV|ËH„ÑJ€Ò\ŒÚV}ÒVrÒYrÉRlÊUsÑXpØSdÐCiËLr¿Dh¿;eºBuÀNnÁw´5q¸BhÂBkµ=r³Ku¸M€»E‡´O~½L‚¸Wˆ«XˆºU‹½Y‹¶O~ºF†°I¬;‹­J}±Iˆ°B…¡D~ŸH‚ŸKƒŸL|šNw’F€’Tƒ–UˆžW’—T«YŠ¥Ux£L«[~«^s¢X} dw™a¦Xw¥a¥Xš_„˜_ŒcŽ”S€ˆS}W[?RI PA+IF5LF>T<>XE?ODDOC:VCAVG9K@7MCACI]FBlKDkUIcbJl^GihGy`G|^S{`R~fSveXyVKu^N€XJ„VJxUCz^C…gA‡o@ƒxEŒxE’B†:‚Ž5Œ?†‡7‡Š6ˆ~5’5“‰@—†;Ÿ@¬…J©ƒF°}K©vM«yG¯}@®€?«€@¤B®|:«…>¦Š8 €:©…3£„*®‘1¨/§‰<·Ž5¸š0º£-º¥0¾œ6´ž9¹=­•F®P·”J´ŽR¸•H·œH¿”D³—:²š=³¤Aºœ=º™CŦ;Ì¢>È«:É£:¾¬> ?À£=È£BîMÀµS°[½¦W¸¡V¸ S«¦J±£T­­Pª¯W®ŸQ¸¦R¸¢UµªY·©LºªK¾P»šUÇ™LÆ’FÆ›NÍ¡GÉ¡HÄŸIϪ9βBůFÄ¥FÈ¥AÁ®E²¬M·¦G­¢R¯¡V²P®˜X¬ŸS¬¨P¢©K¢¯Eœ¨Kš¯M¥¨Y¯œU¨›W¨¡W¢™O£•S¢¢T¦²Pœ²O’»J’³R’µY”µ\ŽÄS“ÂVœÉQœÀS·T—·Y•·O–ÄVŠÉJ…¿O{¿RÇPŒÊ[ŽÃX€¸`€»`‰Å\‡Ã[‰ÅSŽËL‹ÉG‚ÖQxßZÙS|âLÙVwØXuÍ[{ÐVrÐUtÏ^eÒUdÇGcÅGeºIc¸@a¿Jo¸Ip³Jj»Fh·9OEFDU>DNJGTAL[:OW;IWGA\FCiMi_Jc`=d`OghFijLufIaEu\FnQ9rW9‚SD€aI~SB†WF†^I~b<€u7wFˆˆHƒŒ8ƒ‚:…‰3x;‚};…{/‹;Ž~9 F–HŸ€D¦‹L§‡J´vJ©ƒ?­„Cª|=±6¯„8²‡E°†<ªŒ3²Š8«‡>¦0±’@¨’CªŒB«–8«›.¼™)¹¦-­¡7© B± I¨—F²‘Q±šI¯œE±JÀ”KÀ¡D½—=ºA»7½“9´©C¿®8¢>È©@«@´¤I¾¨?Ĥ=Ä©L¼¤Ié]ɪ^­N·§P¶¦G®¥H°«P¶¢O¯ M±•I¸œZ¸ U¹ Nµ¢Nº›T²—ZÃŽNÈœRÅŸHÇ¢VÇ¡VÄ¢NʤCУ@Ï¢:Å«DÁ®D̨7µ­J°¬M³¦Sµ¤Sµ©Q¬¬B¦«N«¥C¦©IŸŸAœ¤Fš¦Mœ¢K©¢TŸ¥Z°ŸU¤¤_¨]¢¢RŸ¨[¨ª\¥¹[œ»W›´P—·N—½S›ÀY˜´`“½[–ËQŸÀ[˜´\ÀN‹¸Xй]Š´YÁ\‚ÒTÍS’º_‚ÀVй_»U}ÄR‹ÓXŒÑOÜW†ÛI‚ÜR~ÎW{Û^wß[tÔ[ÔZwØ\lÕOkÜU]ÌUeÒRa¿@]ÄKj·Gr²Ck»Jg¼;iÄ9e»HcÈ>^ÅKd´;e²@^¸9eÀ3k¹=o¼6d³Cr³1q°2uÂ5bÅEvÂGpÁC€¾Oy±O…´Iƒ¸F‚³Lˆ·S†ªP‹ºVŒ­J~µH‡¶KŒµC±G‰¯7§?„žH™GŠ¢=…‘H•E~žK‡—Bƒ¨?Ž¥O“ªQ³P†§Hz¢W€ªRŠU~¨\€«a{žet [€£b‚™c…š]y“Y‡Œ^Ž•^†–R”TG>&L>2M?0?I/KM3JN3KJ>H9DL4BE5NIXKN\CLaFP]:H`jdI^[IZgAgdAf_>tfBug=l\8~X8\3v^>wZDy\J^F_8Še:wJ…€HŽ}FŽ~A‡n<ˆo;…:Œ‚.œ€/šq5–s>›uI¯zJ²‰G°ƒ8´7¸@±†>¹}A±x4ª‡C®ŠGµ…>³ˆ?¥D£?°;¬‰?£A¡‡>©•@¥“6±˜0¹™$»—9®¡=¯£B±˜K±žH¬¡F¨¢G®•R°™DÀ£<¼—3²’4ºC³™F¿¢CÁ­>ɯ;ĬB¸¤;»¨CŪFͬBÉ¡DÁ¡MƧYÁœ[½¦Lµ§F»©B²K¸šL¸¤N·¨I´œR¹¡W²¡Y²§OÁ›K´’Nµ’U´—FÄ’GÌ–IÈ£S̪UËŸLÏ¥GÒ¡9Ø­4Ò©6È¢CÅ >¾®>¹¬E´£Q»¡M½«H­­B£®<¡ Dž¡J¬¡F¤ŸL™©U›¥]ž¥U¬¬Y¨§_¨¨X¢¦`¡§^­¡T¨¤Zž³]˜²T˜·O–½QŒ¿TœÁR›µXžÀ[ÅV–¶R˜µT‘ÀU¹V¼Z‹º_Œ½^”Í[‰ÍbŽÀZÂbƒ½`É]xÌZ‡Ö[„×P…ÛSyÜNrÕ[{ÐY‚Í]{ÕWwÓ]ÖQ|ÒQuÞLtÜNcÕL`ÉEbÉBkÃBnÁHf½Bm¸?r·Fl»ˆ™7~˜.„š6ƒ¡9šI¥N‚£D£Q¦NŠªG„®F| MzT†£[‰›b…¥e…¥bšb˜aw¡\|œ_Ž]~d…˜^‹—U…¡V‹Ÿ\*N=&U>(L91?J1II2BP:AD4CF@CQAAQ€hA„zJ‹~?‰t;w2l>l.ƒ{0–u9™h>™o3£oB¥„I¯?¯y6¾z?­†1±‡A«€;¨z=¥~6³ƒ<¤“:©9¤‰?£†D¨Ž5¯†7«‡;¦†?¥–6£3¬‘/ªŸ­”7´©?¶™>·™Jºž=®ž@³¤K´ T²˜H»—>±Ÿ?¾œ@½Ž9µ™E»™J¸®FµžL»¬H¿ž@¼¬CÆ›AÒ¦RÄ£OàSÄ NÈ¢Z¼¦U·­HºœNºšN½¦S¢U¼›V°šM¿›Xµ«J·¢FÇ¡O»—H¼˜K»™IÇž@ȧ?Á¨MÛTÂMÆžM˘;ɨ>Ë¡CÍ©BÒ©7ǧHÀªKÁ®H¹§L¸ H®£F´¡C«ªJ§Ÿ=¯›?¢©P˜±N¢­[œ°R©R±«_¬£^¢®[¥«c§ªS§±_¥¯T¨¼Q¢¯K•¾X“¾W™³M’±UŠºO—Ê[’¸Y“´W’»P–ºMŒÆa‰ÈcÁW‘ÄNÀP…ÌT}ÂV†¾V{ÏUËUƒÉPŠÝS„ÖX‚ÑVuË\ÒSÑbtÏa{Ô`|ÐW}ÞOuãIcáM_ÒXXÇLcÅAjÉKqÇTnÀBmÃ?nÀBeÀA]´C_ºNlÂ=jºDa³Aj±De¶AbÉ7nÃ7d¾@tºDp°PsÂBq¹KrÃD}º;€±Nv­Iz­M…¶N‡ºU…·R…©C‚œ>y¡Ly¢M~£G‡žJ‹­E‰±<—«6Ž >›@™6ƒŸ:“”B‚žH{©E³I’³Iˆ®C†­C„¨N¢\œUšdЍ[“¥X€©\ƒ£]~˜Z€¨_u–X{Z{—P‘”U’¦M•žX%I3-M4,O6'IH$GS-DL+HL5?H5CE8MI@KGDJQLBNBJNLSRMLJRA?T?9W43Z:oY=oV=rZ3m`8dW;l\7gS>`Q8c`=nk9sf¾”C»£Hµ U°žR¼›OÇ™JÆ¡DÁ“NÇ’TÏœUÊ—Z¼§P½©KƲNÁ®J¸§X¶¢X½ ^¿ YĘO½ J¹ªD»£L´—C¾•G´ŠE¶N¶ H¹¢B¶­F¹¦D½¤IÀ¤PÆŸPÉ KÀ¡?Á¢CÎ¥=ͨ=Ó¥KÌ¥GƱD¾¬NÁ S»žO®šK©¤>¡ªG¨ C§°AŸ±L¥©R¥©T£°\­§[¦´Zª¶b¥±g¦´c¤¹^¨®Už¼Q¢¸W ·Y¤ºQ¤ÁO“»Q™¶VŽÀQ™ÁY™Á[›¾Vž¾R™¿RÉ\¾[ŽÂMŒÌIŠÆQ~ÍY}ÈZ‚ÅX|Í_ÚZ×U{ÛX}ÐS‚Î]uÌVo×WrÑfÌf{×a|ÕXuÜQbÚ[`ÔW[Ê[^ÂNaÇOiÆNqÁMqÈJb¼LcºGa¿@aºCf¾CiÃ8l¼7_¼=dÅ9nÇ;vÍDqÄHmÉSw¾QuÈOtÂK}ÁH}·B~¹K|²J|¹F³L{´R~³H~¡M€ E„™H¢F„¤E‚§NŽ¢D‘«D˜©C•¤A‡¡2…›4ž8‡ŸAŒ§?…¬LŒ§M†³F†®=€§B|E†T~\„›[ˆ—Z£Vˆ¢OªU‚¡P€¤N}Zy•Z‹œ]‹P‹˜Z¢S"<3&I<@8>IKE*C;)HD2A=.F>1::@G>8=IcDCcG=]U=aV7q^2kd4d^6gL?dTC_ODc]@`hAh[„m?‹x<‰r9kBŽa1’c.šx-¤r;£m5ªt9·u>º|8¿‰5¿‡A¹~8®‰=¯‹4§•;ŸŠ9«…3£“9«Š6Ÿˆ8 —/ª‰>´–:°0œŠ;¥›,ªŽ%«š&½¡.»¦0»¡;¸—:´–F¸—:µF´™?µ§B½™HÀF¾œ@¯—>¿§Cµ§S¼šHÁ˜M»¦U›TÀŸNÄ™PÄœOÇ™ZÁ¥S¹¦V»¦NÁ§D¹ S±žK¾ª[Ä­S½©VǤRÁ¡SÁªP¼ J¿œO·“Oµ—R¸—Cµ˜O¼¤Oµ©G¾­@Ç¢N¼ªJÀ•EΣKȤ=Á¢IÊŸ9Ò¬BÞCɱ<¿±CëPº¥R°¯C¸±8®¤=°£E¯§F±±Q®K«°L¬µVµ°e®¬džµV¥­Y¨ÀZ£¸_›½Yªµa¤Ág ºY£ÅJš¿W”ÄYŒºQŽÅV”¸[—½V•Ê]™¼SÍUˆÇ[ÌaÏWˆÉ]ŠÓT…Í^~ÓWÕ`‰Ä]†Ì]…Ý[…Ód…ÇTtÔasÎZrÉXrÕotÖdzÒ^rÞirÙafÑ]iÓO_ÏN\¿UaÈReÏFiÆFjÍKeÄBrÃF]³K^¿Q^·>`»;gÅ@cÂAgÂ>iÂIfÂCwÀDzµQ€µRw¿L|¼Mƒ½H·Ez´I|´Px®N‰²GµAx·J³@€ªK†ªE|§?ƒ§<€¦N„©N‰³CŒ§H‘¥=•£;‹,‘¤3ލ?†¥I…¥OгFˆ´@¨Ku¯Gƒ¨B™P~žU¥^‡¦U‹¬Y”«Y“¥X‹±Oz«Yuœa„b‡¥WFžX‚®V3/:9<9@D+<>.@8)E@.:C+=8-3<-=:77B=EOJCLNJHJ?IL@JNGLI9IO5;UE6RF>YK@eLAdO5^N7gU³j8¸pA®‚9¹z;¼=·…A°ˆ5¨Š3ŸŽ6Ÿ”:§‰?ž‘@¢“4¦’6¡—:§ >¯—=«”A¤‹4§–*¡’.Ÿ•'­˜0³¡4²˜?¶š:«–?® C³?·›L»¨K²K¶“B¶ŸI¬¦J®œE¾¢LºŸI¿¢Rº§ZºŸU¿ O¸ŸY´žT¿ SÆŸ[ÁšU¹œQ¿¨IÅ­O¼©JİY¾­\º¬VƦP»¯F½ªLÆžIÆ•EÄ”?´œG¬œH²˜Jµ¤O¶¨HÆ¥Kŧ?¼œBÛDÊ @Ѥ<Õ¨:È¡EÈ«?Ǧ9ñDɪ=Æ¥C¾°L¼±F³@¶¨9·®=»«Q±¬U¥®W ±R«¯d¯°e©«e›°V½`£ºb¡¶^½W¢¶_ª¸gšÃd‘ÅO–ÍJÆU‹ÃY½N’ÆX—ÄYŠÆRŠÈ\‘Í_‘Êa‰ÆfŠÎbŒÊWÒ[†ÒZ‚ÖX‚ÐW‰È[ŒÆe†Õb†Í^€Íd|Ðg|ÎZvÒ_rÙfvÎmvÒgqÕ`mÜioÜ_sÐRtÌWgÍ[hÆWpÆOmÎPfÓJmÄNo¼G_³R]¹Q`ºH\½K_ÄE`ÅBc¹F_·Jk»Lp¼E|½D|¶L{°H~²D©G…°?{¯F{¬N}¤K‚­:~³A}±?v«D}®A†®=‰¦=§@‰ C‘£M’ªI¨H—š5‹¦7¥-™«;¡@•¦:”ªB„£?„«Hy³Jz¬;{©:D 0C1351.D.=@24>+0:46G66DA9B>BHMBKD4RT:KJEFVF;I:FZG;ZJ0cB8jP2mP4mH8kQ8kV5b_;iaBaU8lQ/^W@_Z<\VGbd;`c/a\/dW5mV6iW;lV>v]9t]3ua<Œ_:Œc4Žn;Žn>‘fJ‡i;…{8‘q?‰k4’h1‘^&¢k,¡i0«q3®e>¸l9·w7¹†>±|@²‹2¬;§–0¢–2œŒ3°Š@©“9›•/¤—A¢‡?®A¤™8¥‹7ªŒ5¦Ž1ž'Ÿ+«–,©—3­™;œ˜4œ˜@¬–:©©<¶™M»¡V­—E¸¡V¯™U©¡G·žP³œ[¶¢RµU¶”\µ™S°ž\¿‘Z¶Tâ`º“WÉ•Y¼ X»®JéUñUĦQ»¯LÆ©ZãXÅ¥Tº¦Q·—EÆœJº™E¿™TµJ¯™N±˜I·¡BĨ<¼žEÊ™@Éž@Èž@Õ?Ì¢FÕ¢DЪA̵:Ô°=̶7Í®F¼·;˲BÇ»EÀ°J¯¶?±¨G·¸Mµ´Q²¹P¥³[Ÿ»_žÀ]™¼b˜¿^š½[¢¹`˜ÅU˜·a ½b¢»Z˜È[›ÇYнW“»L…ÂJ‹Ë[ÆUÌT”Éb”È]“Ã`…Ño„Ì_‡ÐhŠÐXÙ_…Ö\×\ŠÊ[…Ú_~ÓdÚauÕjuÒbrÐfpÚ[oäjnàj}Ò`nÛqfÚetÝhtÕ_kÉ\lÉ[mÏS`¿^eÉZbÕLiÅYk»P_ÁNZÅWeÄQ\ÊNg¿FZÉGcÉFdÃDc¹MzºNz¶@z¿I†¼D‹º<ƒ¬7‘·>ŽªC‚¬M{¹L„ªD€¶Au®9ƒ«4|±A„¤>ƒ¤3Žž6‚¢BŠ›A™œD¥;™¢;2—­-š¤-”£:“ª9”µ>®H“¬;‚¦G…¡>@>E;?N9MP8RR7EW7FTD?ZC;g@2e;4gG4bH0kF4bK)aT-jN3iV:lT=gU8]S6]_D]T@_X=b`;[W7\Q1lU+t`.oY2kU7uX0€X>…_:~j6g8„bFˆdD…hH‰n>‡p=p:Žq/˜g,¥i*£].¬h-°h2³s*ºs2½=´€>±‰7«“;©˜7¡’:®ˆ;ªA¯ˆ7¢;£D«ƒ<žŽA¢Ž?ª’F©’@¤–:˜.›*—”2œš,—•-’š2˜¡7›œ?©£@¥¢K¬—S±›R²X­¡Z®™T¸œU´›X´–X­Ž]¬ˆ_±ŽW±”Q·‘Q¾_Á—]¾žUÅ\˦ZȦXÄ«YÆ©UʨIÁ¦L¼œPÃT½–SŸPµGµœM´žM½šQ¶Y¹–R·£D¢?Ç™:½›<½¢<Å©EÅ©PÉ¡MÉ£GÒ©KرDÙµ<Ö±6Ï»:ÆÅ<ÊÀ7ȶ7ʲE¿¸H·°C·ºH¹·M¿ÁP³¹X©º_Ã_–ÐjšÐdšÐ]˜Éa–ÆW’Ã\›¹h ¼c¢»n ÁhšÇd“ÀZ޾UŠÍUÓY‡Ë[ŠÍ_Î^…ÊbŽÆhŽÎq‚ÓmÔn‡Ò`ˆÊaŒÍjŽËc†Ö`|Ó`yÛmyÜuzÐl}ÖbqÚ`m×]kÞiqÛorÙgkÝllÖmlÚbhÎcrÈekÇ_bÄ\`ÇejÁ^jË^i¿`lÄVhÇReÈWnÄSlÉYpÀQeÁRhÇOeÆIpÀArÂJt¹;‚»9¸4‰µ:ƒ³1‹»9…¹;е@Š®K‡³E‹¯@~µ9´0Œ¨/’ž:‰Ÿ5Ž’>ˆ•>Ž>“›=–¡3“¢0–£4•­2—­2—­/–ª0—°A“³F¥>Œ¬K¡It§Ox­N{©V‚¦Z|¬O€¯R‹³LŒ¬U„¨]~°b‰­\ƒ¯[‚¬Uz´W|¶Q|ªJ>.$4)*1:#.<032/(<3/9+4J7.E,/@8.C1?@24:9cC.gL.^P8eB1_K5lP4eQ4hb9]_+aa7eX;qWDrN@d_4dS?]R3]`1VR/fZ.l`$fT+p_,uZ'xW/xX9…e>}_:‚r5‚hD€cCƒu;m9…m7™s>™t=•p.Ÿq2®_+³i1¯n6®q6¼v:ºs7§}E°‹=²J­ˆ9‡9 „@¨‡<£8¤‘FŸ…G®ˆIœ„H£†:©5¬—8¢’0£˜6’œ(œ/™(’5¤–9 ¨?¦4›¦@ ŸDŸšV©¡U¶›S«›W«–Qµ¤M¸¢`²—Y´’Y¶–P¬Z¸T·œO³ SØ[¹—aÇšVÅ©^¾£XÅ«]ºµ\À©R¹°MÄ¡NÅ¡OÀ˜Y²£P¹«WÀ¡V¹T½£_¿©RµŸN¶¢C¼š=Ä©8¶›=Â¥=À­Mɤ@˦?ɯHÖ­DÕ®?л:Ǻ?Ì»?ÿBαDòOÍ´LưQ¼¨J´¶H°·P³·\²»[¡¿Y¦ÇbÄ`’ÉcžË]šÒ\“ÐTšÅc¢»f¡¶]”¼džÁj”¶ZŒ»TÂV‹¿\‰ÎP‘ÆbŠÅ\Ê_—ÉfœÂkˆÄr‚ÄkÓ_†Ìa…Êf—ÔcˆÐe‹ÞZ‡Óm‚Úo†Òj…ÒkÓ`v×arÔ`e×dnÞoqÞmhÕimÜhmÊhmÚ_iÖioÖc`ÉibÇZ]¿gbÎfc¿ahÃVeÉZ_½\mÊ`nÉ_e¾Lm¸Nk¸Up»FmÃBoÄE|³:w³F~¹9~±?²7¯>„»F²C„²7´Bz´4„¬7‡¨/ƒ­3„®)ƒ4 .…›7‡¤;‘ F”¦<•©8˜¦4¶<›°4”©,§=œ¶7Š­GŒ«DŒ AœEx°O|®Hr°P} \®Y«W‡²Y‰¯\·U©a€·X}ºT{µ_w´[„µH‚±I7+&52+4(-:-57*-0$&>.)B53?.399.D65F/9J92FK0DQ1LP5NKE>SHBXM:WE7[M0cD-hK2lH(bN+dX9]`7bb:f\2oR;rK>mL=qS/gR-e\8`R1`X*]b&h])o\(t[.uU6wZ.{c8z^4x_@ƒk:ˆs<ƒr;€j6Šl@‰gG‘m@‘h;s2Ÿm/ªr0¶{2°w@·u?°s3§u?©zK¦„B±|H®‚:žˆ4Ÿˆ4¢…6©Œ4ž@œ“MŸ’Iª†H¦†=§> ˜;¢”>¢•4”™+“™+Œ6–4§ <©¡8¢¤Fž¡BŸ«JŸ§G¢›Sµ“N³•J¬šKµ§^»©`³«]¯œ`± N³”Lº™Vµ Uº¥`À¡YÁŸ_·™W°¡Y¹©TÁ±P·°XÀ·S¸¯DÀ£G·£M¶O°¡W¿£]¿¯W¶ªQ¹¨[¹¤Y¹¯M²¦L¼œD¹¤@¶¬CİMÅ®IÒ¢Cͤ<ƯEͯ?Õ´:ѳ=®=Á´EϹMÒ­JĵUïT¼­Q»«T±®S·¬Z¸³O³´S­³V£¼YŸÀN–ÈQ›ÔR¤ÐR›Î[ Ê[¡Á] ½g¶jŒº`‡½d‡¼\ŽÁZ‰½Z…ÅRŽÒWšÂ_›Ãi‘Æk˜Äe”Àh“Æj•ÎWŠÆR‰ÑR•Ö`›×[”×_ŒØb“Òp‰ßc‰ÝcxÕZuÜbzÖ`mÑiiÏnm×cuÑbpÑpw×gsÕ^oÝkoÓipÐjfÂ^eÉ]gÅanÍcnÇYdÀ\\ÀbYÈbgÅTh¹Vx¾T}·Pu¼PlÀAj·ChÁBuºBt¶Ezº@„»Cƒ²D…¨CНE}²:~¸3}²1‚¬=‚©6б,ƒµ4ƒ¨-„§5Œ™8šG€¤L‡Ÿ=ˆŸ>“¡B‘´5˜«4¦5˜¨<—±<•¹GŒ´B†«=Œ¨E€§Kt²El°EsªPt³I{´K„®M~±[y±Y²So¶[n¸\sÀWv¶TƒÀQ†¸J%,8%;*73)71$7-!6+*5=/*F38@27J4:H2:@78J7>VI7TG4UI5QFl^5gQ*kL9hC9uC7iE9bL/kR4gM/tU4pY+kY'mY,if2ya,nY/q[7ka@oh8}`9yiByk?‹kBŒaF•pI–pK{;ž|2¦x;©i3ªyD²w@§q<­~F¤|GµJ­ƒH­@´‰7›Š9£Œ6 ˆ8¢ƒ;¥—L>­“J®ˆ=¨†?¬†>§š5›’/˜>™”:• +ž’-¡Ž:››5©™BœªI•ŸD¡šE¥˜D³”B²LµœT­™Y½¢[¸¯Y±¦`ª–S·š[²ŸH²RºšQºšOÅšO¿¦Jº¨L®£Q½±P·°Uµ­P°³M¹±Q·«M·´M¬±T°®Y°¤P³µTÀ³U³´`±±\¹²I¼¯N¹¨F°ªE·¢Qµ³JÇ®C̬C̦6и:ζ<͸FÒ®?ʱ=Æ©HÁ­NÔ¸DÒ´JÂ¥O¹¨Z¹¦V¼­\´¤`¹²_¶®W®±KÂM¨ÁKžÈQŸÍ]™ËQšÂa”Æ^›ÊZ™¾a”¹]¼Wг`ŒÁS„¾X‘ºU‘Èd’È\“Ì[’Ái™½g›Ãd¥Ía•¾k–ËX—ÈT˜É_•Ï^’Òc™Úk™Öj—ÝpÝh‡Û`‡Ú\nØckÓeqØ]m×^gÎ^wÖjtÄ`uËczÍlzÒerÍnoÇ^sÍ]iËboÑ^eÄZhÊScÊ]YÃZ^Â\aÆNgÅVvÎMqÅTq¶Aq´Nj±Mi¹Ln·DxÀ>z¶C|º@z·?u³=€±D|®9q«5~¨?zµ7ˆ²2‹§5€«3¥7‰¡,@‡©;…¨D€ž@‰ž@„§:’²6—«8“´9‰¨2–°:ƒ®F‹¥@‚«Mƒ§F‚±Bs¹GnªPk®Us¯W~¸Lt±U}°[©Nƒ´Jw³Mvµ^r¸b}¸Zx¶K´J,21/627-=)53#1;-4C57K90I1:M4:F8;B?=;J3:D4;G10S=2P:3ND4U=-\E2dU7eY>aUFkWǸ9ƽD˺?Ô¬DÑ©GÌ­GǬGóAͲHȲKĪPÇ®Oé^Ç©c¼¦_ª·[§·N¨ÂJ¤ÀMž»K¥ÅX¡¿_ŸÃVžÌZ™Ì`šÍ[™ÅWš»L—ÁO‘ÂJ‰µUޝ[Œº\”¿c“Êb‹Éc”Ã`•Ãa£ÊnŸÊk¤½e›¾bšÅYžÏ[¡Õ^¡ågœãn—âc˜ÚgÝoˆÜg„ßXxÐYyØdrÒ_hÉZnÑZsÎasÆ_nÄftÅhpÆdrÒimÔgpÑgrÌfuÐ_mÑYfÐRb×TdÌYoÆQiÎOuÓQwÎJwÇLt»BlÀKb¹Gcº@e¼FpºCo¾Iw¸GsµHz¤‡ª<€«?„¦L‚¦Eƒ·LŠ´Oƒ®Eq­Jo´Pw³Lw³U{±Vo£MpªQu­Kp³Zm³]{®Zy·Yv±O|µG',$-377$;+$?<-8=*0:9>=64;:6C/6?93DA<8BA;FA2F.1C.7C22K?6BB8EE.UB:_TlV5rV6`H._O6_E®‡@¨~G¥‹D ‘S¨’O²…=­‚C¡ˆ>¨‰=Ÿ“?Ÿ™=š’5›™2š“<¤Ž9 Ž;Ÿ˜9¡ KŸ¨G•ŸW¤›Pœ¡Q­’B¹‹<µ“P¾¢K¶ªQ»ŸTÀŸY±ªL¯¢S­±J°žB± F±šK¸™W² I¼žE¼ \¿±]·°T·«W¸¹W·µE¿¹J·¿]°µR¡´]«®W«¯\­·T·¯bº±Q±¦V´¯Y²¨\¬­O±ªR¶®L°¥=²µB¸¹>Ë¿IÉÄNŰEÖ®OĵSβO¿¸O¾µLãN·¦Xµ²^¶²^Á°c½§Y·©Z²¼I§ÁK¥¶J¡ÅT§¾^¤Ã\ž»\ Ä^žÇd£ÃV‘ºa•ÅU“Ê]“»[ƒµP…¼V†º\ŽÅ[•Â[–Â`˜Ê^¡Ël¤Àj›Íi£Æo¥Äe¤ÉZ§ÐežÖn—åg—ëg˜Þm“àg“Òj…×d‰Þ]Šà[„Ø^wÐaxÉbkÉZ|ÇXsÁ_oÍgƒÅhnÇboÊbsÕjmÛqjÚexÙ]wÉZlÓYsÖXoÊTgËTnÕYlÈF{ÕGtÁItÈCk¾>n³Gm°Kk°@u¯BkÂBk¼Ei´Nm¨Hl¡5y2u®369;-C>/<@./?=3B@78DB7J:/P17N=3C76GFfS4rU3lP8nG9bH8^M4c@AfD@eF3_X:e[4nf4l_;f\@o`4|c9~\9xdDpjIrqJkg:nrDzqG‚jO‹hH‰aGˆc?ˆp9’p@–o:™{?žzAœk9¯i;±jE·nE²k7«i;´pK¸yR²tI®y>¯{AªƒF¶ˆ@±ŒE§“M«—I¨K¢Š<§ƒ<‰F–@–’;™3¤: ’7 ‘5•Ž=‹–<’™CŸ Kž^¨Q¢ J®–A¯F¯™I½¦N¼¦Pº©Sµ¥T¶¤L°§M³«Mµ­F±ªJºŸF»›Sº£N´žO¶©[¿£b·¢U¹²R¸´V±®K´¸T·µ\¨®]¦®a°ªV²«R©¦W¯±V»°Q·³X¾¶\¶ªW»¯O²§E°žH®£B·ªO¸²L½»LνK͹EίJƱIĹUǵJ¸¬O·¥X³£W¯±T°®Q´£Sµ¤d©¹Y¬¼L¤¶F¡ºMšµW£¼VŸ¾Q »W§¾^¢Â]—¾]˜½a•½b—ÃZ¼RŠ»S’»VˆÁ]Š¿]’À] Âe ¿l¦ÀiÅq›År˜Êgž¼a¡¼ažËlœØmœÜg âmœÚp™Ùr–Öv‰Ún’ÛhŠáY„ÎZ‚ËXtÑbwÇa{ÊetÉ`zÎg‚Éo~ÔnnÑfkÌcwÔi{Þin×ikÑlxË^xØ_o×QhÜPrÑToÖLvÏNuÈCjÅ@pÊHm½Lp²Eq¬=l®Fl¶Dk­=l±Ex£?r 5vª:w¢0{¬2ƒ©8„«1‚3œ;©?|¥EzŸLs¥J{©H}ª?r´Ex¿JŒ¼M~¸Mx¨B…³:‰¹=°=‚®:€ª>|µJqªRn­Sv¨Xq¯Mq¬J`¢Jc¢Tj®Rh¦Vf¤Yq ak­[q¯SoªNs¯Hi¬S"*#"3'.-,;7287?4HB=eN?mM2fE2sYosOvvA‚kHˆrFˆp;…_B˜_8’d<œi=›pC qD“s?©lF¬nF«v?³h6©r9±j@¯uL¼tP´uQ¼pE°t>¿„H´‡L«ŽVªN«‹Dª‚6°Œ; ‰7•‘@”…4”•/›–6“@›‹<œŠ@ŠC¢F—¢M —Z¬S££H¦—N¶—E¯›Rµ§CÀ§E²¢V¶¢E³¥E±±U¾³Kº¥L®´G¾ŸF³ W·«O°žJ¿¡W¹£d´¨e³¯X½¶Qª¬X¸¨Qµ·X²ªZ²¶V±­Q®µN®¸M©±Q³¯N¶¹N¬¶L³´T¸¨M­¤C¹°@µ§G¶£Q³²M¸°UÊ¿J˰YδZǬW¾»_ŸM»³M½«T²¤P´­O¨­J«³[³¡f´µ\§°VÀI˜ºGžÁT—ÆN—½[Ä[•ÊU Ë]¢ÃZ˜Èb’Ç`¢Ì\ÂQ¿`‹µP™¶b–Â^¾b›¹d—¹`½h¢¾qËl•ÂfÆZ¥Ég¦Ìj¨Õc×n§Úi¡áf”ßm’Òn‡ãsŠÞ_ãZ‡ÑQƒÏL‚Ô^ŽÈf†Ðg„Ï_Ï`‹ÂmyÉjvÔhyÓo~×`qÜnpØjxÛcxÍW}Ô`pÑ]sÙWvÎRsËLyÈSs¼Hb¹DcÁJdº@i±>w°6y·8k²8uªIr®Am D~¡5¬0~²-|­2…±=}°2{ª3~©B~­Hw™@~ŸNy§Mv¡P|ªK{®Qx¿R¶R…®Ds®?}¸?Á8>=DBW89Q3?H>DO;AHBXV2ba0i\7i_o`:m^5q`2qe;tZEwZD€ZO~dMrrNrnOwtNvpH}kF‡nG“iE’f>™dDe=˜i?™sE—r@˜kI«u=¬v@¨wG©v?¹kF·l?¹lC¼kG¹rEºlOµzR¾~J¿|J¯‚Q³‚K¦‚;®‹<ª†6¨…7Ÿ†7’†>ŽŽ4”‹4‡E“‚J˜L›ŽN¡–Pœ¢KžŸV¥™L°PºU³—M±ŸF³¤D¹šD¹ M¿¡G»¤KƯDÁ±LÁµQ´­K¸®P¼­J²T»§Lµ°L¼¨]¯Y¹°c¾©d³°Y±³U°±W¶­U¬²W£²L©®R§¯O¬¶X¬¬L§²P¬®K´»P¶ºI²ªF©¬Q¯«O³§N¹¤SÀ®UÀ²Y¼­Wƶ]¿²eÀ²`º°SúSÅ·Z·±R±®Q°´O­©M²­Z¹°^®¬[°N›¾K“¾I“ÁPžÊX˜ÈR–ÍS”ÃU—¼X–ÂY‘ÅVœÆR“ÂV“À]š¿V™¹U‘¾a–·^™¶\—Â]•Àb¢ÆgšÉf—½XžÊ` È\¥ÃZ¤Ê]§Ï[¥ài¢Ö`œÖc”àm‘àf™à`™Ö[”ØM’ÕOŽËX–Èc‹Çg†Íi†ÃmˆÊaÉa{ÐkƒÑg}ÜfuÛhvÜauàgØ]vÖ^tÐXiÊOlÉRf½PqÀJd¼Of²Cj©Bj±En¸As¼=tÀ?w´9w§@q¤@§F{¦<„²B°8w¨4zª6w£@r­Dx£Iy¡CzœBxšKj˜Mm¢Lx¬O}¹SwÀNz¼L‚¹SyºJ€µNy·@sµMq­Nq¬Qp¸HnµBy°Mn©Io§Gm°I_²W]²YY­^^®c]²g[«b^£^[®^W«\f²cd¬Z+47(%<**9,.7.(8#7;)28+)749>C<FC>6P=HKI;TL6KQ?MW=CM;KO8_W1XL7lT=j\?iQ>jO6rJ6mD;eB?rN7eQ9q[=s_Erd=oh-nV<{fycI€\Fxf>zgE{lFudGjE{iCƒiI‡qHŒr®m6ŸmB¥b7¸lH½o>¶jMÂtB½qI¾tE´xK¹vSµ‚N©ŒN¤ŽG©‚D­{8¦€CŽC‘8‘–1‹8ŸI›…@¡ŠU›‘Q£œQ©•U— \¨£]§œL§™S­œU¼•K¼›E±¥N¸›R´£L²¤N¹¡NɧE»«B¿µO¶²D¿£M®«Y´¤N² ^¸ `¾°U¹®]¯µa¶¤\¯²T»§T©´R£´\­¹]¬±Q®®_¯½[¬Á[­ÀI®»Jº¿Y·ºX¼µT³«W²ºL­µK´°Wµ¶Q¸®Q¾³S¿³W½½[½¬fîVµ½`´´Sµ®Xº±W«´]µ¼T¥»R³°X¯¶b¬°X£ÀG¡³TºL“ÅV•ËK˜Æ[›ÉS‘ÉV£¾[žÂ^—ÇSž¼c‘È_ÁXµX˜¾]“±c”¾Z¢Î_›Æm˜Ëd¢¾iœÇbžÒfŸÈU¥Ì_ ÌU Üc§á`¦×j¤ácœÙ^—Ýc˜ÝXŒÕM˜ÕZØWŽÕ[ÓYÓ]{ÒeÐg‹Ï_Îr~ÓpuÉfpÐczÙj€Ù\tÒTÒ^qÝ\sÖXeÔWuËSl¾Ls¹Op¾Ad¶5p³;g¦Au¹9s´@€·Bx³<|³>}©>©4†«6}´>§3v®,z0vª=r¶@r­@w¯Ar£Hu™Fp Eo¨Ds¸Lv¸X¶Rq¶Rr´Kv¸P|ºBs¾Gr¶Br³Mh¾Db¸Gu¹Ql¯Hi¬Em¥Ob²Ka¨a^¨SY´XU¨\ZµhT°cV¡aeª]Vªfa¯ak¡T%/7,9)'2$&<(-3('0(28.-05/??-A@'AO13G6?H?@M69E98D:4SBkcEzhDza6~b)sU-{ZAvfCv\AƒX?~WA^G„kI}hB†j9…h?†o5„xŸoB¢c8³[<´`F¬pD´tJ°lNºkJ¶n@¯{@²yC²|V©…V£ŒK±†D­x@°ˆ@¢‹?¡‘C•<˜‰F ‡DŸ@ L§ˆP¦’Q¦•N  Z¥œ^©¡Y¥¢U®œN¶˜X½™V·ŸN³›R»¥Hº¦JÀ¦DÀªN¹µR¼°D¿žO³›Q¬ž\°ª\µ¤Q¹¢V¾¥b¸¯_¾«V²¥X®­Pµ¬Vµµ\£»T­º`¶³\¹ÁR­ÅT°»T®¼Q®¹S±¶W¼±_º²X¶¶X´·X¶µY¼¼N··O¹ºW³»`·º\½¯`»²f±¬f³°^³¸[¸±b¹½[³¹Yª°T¤·R¦³S¨±[¬´W¥¸O»M”·J•µSŸ¾O–¿W˜Äa“ÁUŸÇWšÇS˜½\’¾b—Éb”À^•¿[¼h™¶h¡ÅaŸËiŸÃ_—¾cšÎa—Ði ÉY¡ÓYªÓ[¨Í[ªãeªçb­ÜW¤Ü]¡Ú_ŸÖj—ÌU‹ÐO†ÖVßNƒàRƒ×\yÓezÊh~Õe„Ðm|Îq~ÈmqÎnoÍjsÇZyÒ[x×WsÖPqÔVhÖKjÏUnÈRx¹Cu¹Dl¾Fs¹8w²„¬B‡¸8}³/v¯5u¦/…Ÿ/…¢4±<19K08G?=C8=M>8G??FC4XL=JR4N]6FX1SKaEzfE~kGŠl?ŒjC‹tCŽF‰hB‘pO›cJkP‘`NžhH¦t;«jB§fD›k9¬iD¨dH­iL£hJ®xA±vE²uK¡yE¯xI¨NŸE£‘F¯ŠI¥€I¤}F§ƒ>™™KŽ•KžI¨‰D¡‡G¥ƒM¥†F¯”T¨—Q¢–Z¦œXªž]¹¥L·œG³•Oº¡Z±šK¹¤R½¤JÁ¥NÄžT·«O´¯P¹§V¿P®’L¯™U³P³¤U´¦W¹¡O«®T¶§U²¢Y·¥T³ªb¥±Rž³P³³Y®°R¼ÂY²¿V¶¾Zµ¸Uº°`«¹c¯¹`±°]±¬V¼¶[¸À^´Ã`¯ÅT»Â\»ÆQ·ÇR¹Å\À·cµºf´¹e±±e¸®i­º^°¸R³²W®»Uª·[Ÿ¬W±R¡±M¢½RŽºJž´Už¿^œ¾Q–¹SÈ\–ÂM¢ÌQ¢ÀWÎ^ŸÎ\œÎb Å] ¼hªµlžÈp¨Ì^¤Êl–¾j¢Çh¡ÓaªÝ_ŸÖ^«Ïi­Ïa£ã\¨âl§Þ\£ç\¥Ód§ÐmœÒ\†ÕN‡×J‰ÚU|ÓX„ØX€Öa†ÈgÇ]†Íe|Å_†ÆkqËbeÓggÉfzÓWwÉQsÜVmÍHeÙDeÐPeÆLq½Nq·JpÂ?k¶:w«;zª=u£7x´Cz«Ko¥@}¡B}®6‰©/ˆ·6|¬:„©2{¨0…œ+Š©3z¦B{¬FuªAo¦@|¤Fx­Ho¤Ez¶Er´Su¾V{¸Uv¶Ul»Yq¶OgµJnÅRp¿Kb¾TeÊKb¸U`¸I`¸He·N`«WW·UZ°Zd¾]W°aYµad¸WVª_`ªafŸha c^£a+,(%(,/'150*/21+*/,45)5:)::.::6>F/6C<6H:6P@;HD9FB4RI6TE¨i9¡e?œkC¥cF¡jF¢jB±yA±y<«x? wE£…M¤ˆG«†B§ŒM­‹N§~I¦P ‹F£ŽB—–Iœ–N¦ŠBŸH§ˆB«O¶‰T»N³V¿šQºŸY´©V²¤Qª¨U±Q«¡R³¢O¹¤T¿˜SœS»¡O¼žN¶§V³›W¹™L¸œJ¾›R¾¢\°¬X³²]¥ªS§£U­ a´¤`¬¬a®­X¨µN¥¸U«¼T±¹X¾Ç_µËZ¼À_¶²g«°_­´W©ªYª¶\´µU¹¾]²Ãb±¾[±Á[¹ÉS´ÆX»½d¸Äa°Ëa·Âj¼¾d¸­`¶ª]¬µ\³®Xª²[£¹_›³R›¼VºT¶W“¿Xœ²Y¶_¥¶\¤¶T›ÆUœËRžÉP£È_ ÏX¤ÇZË^Ïc§ÄgªÅj©Áj¬Êd«ÅcšÉi¥ÕgªØd­Úk¨Öc«×g¤ào°ân«ág¬áf£äZàd£Ô_ äVŒâZ€ä\‚ÜNŠÞZØU‚×\ÊW{ÆVvÇb|Ìc}Äc|ÌdjÍcnÄYlÃ`wÊOqÑOmÕEoËJrÅMkÇFfºBh¾DpÂ4m¸4t¸>z©7|¥<°@u«:t¦E~©A†­5ˆ²8ˆ¸3‰¯.ƒ«+‹¯2£3y5¨@°8t®9z°6o¨BjµNk°Mm·Mt¼RzÇTxÀ^xÁ]pÀ^d¿Rd½OmÄLrÇTuÅRmÆOj¸Pa¸O[¹Q^±M]¸Wh°Yl»__»[c¿_^´Zb·YW¶bZ®gW§]X©RR§W()((+50+31444*,-.(,3+)?/.>)1D24D47;.+E@+@@:BH*I>:PB8EU,IT2NL+P\€XE‡eF‹mE|s=ŠqAyCˆkF†v;ˆmMeN„aI‘aX‹`F—mC^I¨a8¡k9›p¢cG§kCqG¬p<³wC±v>¤†;°‡;²‚?©ŒC°„I­L ƒQ¤O˜ŠP‘‰B’’P•ŽH§‘Vž‚C©ƒ?ªŽQ±•Wµ”S´O¾“U±]¶¤Z¸™P²—Xµ’X¹–^ª¢Tµ˜X¶’S¼•UÙPºŸL¬—V¶ O®¢N¶¤LÀžT¯®Y¬¦^³¡]©šV¨X¬¥b«­W¯©Q£µQª³G¨ÃV¬ÄO¬ÀYÂÆa¸Ád»V¹µY©ªT±±X®®e¯¹Uª¶V­ÈU¸ÃXªËVµÇ^¸ÇQ·Ã\½ÌXÁÅc«»j©¸n¦¿h¬¶i¯»^ ¹U¦¬X£ÀU¦¸Tž¸Z˜³V—®SŸ¸Y˜½W“°b´]™¼W™ÇT¤ÃRËZ¤ËY™Óf£ÑeªÊj£Ç`šÓk¡Ìn³Ës±Ëb¯Äf¥¾` ÎuŸÊf¬Øf¤Ía¢Ýf®Ö`¢Öd¨Ù^¶æg­×WšçT•ØO¡Ï_ßY…äQƒÖYƒàN„ßV…ÓN‚ÔR„ÈWÔ_€Èa‚Î_yËi{Ì^uÊZjÁbrºarËOl¿FlÊDnÅKlÄ?p¾Eg¹Kkµ´=yªJ}«4„²:€¬-¼8Œµ*~§&} ,†©<‡¥?†­7u­Bo¤=v¥Am±DnµSr»Wv´XtµOhÃ^xÃir¾fmÇTm¿\qÎSjÎNgËMdÏVaÄXXÀKT½VcÁLU³Tb¸Zf¬Qb¶V_µ`W½\S°Y]ºXX°ZW©bS±`R§WKŸS.";24(8-'-.5-71%30*4.&A0#>'/=13?,&C0+<8/:=3;?*@=6?I9LP/HQ.F[2QZ0Jb/J\4IN8XQ+YW&JQ*[[%`[0dR/`T2ZK7cN/iV1xU*sV%sZ+vR,~O#W1€^:ƒc8‚cB„iF‹^C‰kF‚kE‚pN‚iM‡gFŽb<•_?hE†]Mˆ`O‘^IŽmJ‘c?že:—c6—m;œkD©gF±rB©l?¯v4©t:®z7«„5©}:®€9´}:¨~@¬†D¤‹MœŽL›I’C”“K“˜K ŒX­ŠM¨ŒC±•@­‘H¹‰AµI´‰T·’X¾˜X¸ŸL®•^±_°£V°¨]¯©]¯™T²“WÄœQ¼–J³•N¹žT²œM³¨H±¦Rµ©P¶¬Z¹ªN°šS«¥W­¨cª¬R²©P©¶M£½N«¶M«»Y²Å\¾ÀU¼¿U¹¹Z«¹U®°L¯±T·¼_­À^¬ÄP¦Î\¬ÉX®ÊY´ÌY¸ÒS´ÐS¿ÐQ¹Ä]ª¶V§²`ª¹a¡¼g²Z¡«^¨®Z¬¼T¢³T–¬Y’­Y‘ªaŒ¬a—½`œ°V–°W‘¿M“ÇRžÃUœÍb¤Ò^šÎa­Ín±Ói¨Ðs¢Ìm¯Ìk¯Îo¯Èf¤»`ŸÀg Åp ÃnžÉ\¢Ðg¨Õb¤Éb¬Ë]ªÚ\²ß]¡ØVœØS˜×M”ÌS‡ÔO‰×S€×H‡äM×T{ÚI{ÛFÒNyË\ÕYyÊX~Ð]pÕVpÏ`mÇXsÂ`xÇYm¾KnÅDmÅMr·Pr·Bhº@l°=sº=zµ6x¿6¹4w¸4~§5t²>{¼B±<ƒ¬2‚²3À7~µ;‚­.£/z¨8Ÿ/…¦7‚§;vªAw¯Gq®En²Pt¶Vm­Yh´[fºfjÀbm¼YmÂVoÂToÍafË`lÄTgÊY`ËWb½XR½Z]Å\[¼Vb»SY¶PP³TR´U\³aU®^P¨]X³TQ²RH¶`MªXL¦_4(0!2= )3(&/'9/01 ?%(C5.831@;/44#72AC$EDDJ/>D09O*IJ6CL.FL,BX+BT3@\;NV1WQ3TW.HS-RQ&[WaY'dS*jV&kS+hU'z\*tW-}c"|b~P!…]2…W1~_5`9~Y<ˆf>…nK~oA‡nC‡hB~a@Œ^A~`CŽfGŠ_Q†\QnJ“iC–n@ k5žr9žm; jE©tE©l? f<£t=°w3¯x:­Š=²{?¨9¨:¥†;¡ƒJ˜—M”ˆH‰@œ•K‘’X–“U Y I£‡U¨‰Qµ‘D­ˆI¸‹S½‹T«“T·”O¾žWµ”VºŠf·—d²ªb·¤T¹™^Ä `Å™]·šV»™W®”O¸“W·›Y°¢c´œ\²¢_¨§]«¡c«¨W°ª_¥ [««^ª¹P¥ºT´²[¸²P·Ã_¼ºNÂÁRÀµY·¿O¸¾H¾¾Z°º\¹¿_³¿P¯Áa®Ì\®Ã_¯ÄR®ËR¬×T®ÄT«ËX¨ÀY™¸]¤´e›ºj¡·`£µi¦¿e¦µYš¸\ §]œ´TŒ±dŸºeŸ²c˜°V›·`—·^—¹N¤Ë\§Ée£Ëa§Ô^¦Øc·Ùj¨Éb¤Ën®Ðm¯Éu¬Äcª³k¦½b¡»d¢Ãm§Ña Ê[§Ò[¡ÎX°×YµÙ_¤ÙT¢ÛW™Ô\ŸÍR‰Ï`…àY’ÕQ‡ØMÜR}âW„Ü[}âJ„ÞRƒØT„ÙXwÙ`ÒUpÖWuØTtËN{ÂO~»Vt»HoÇGwËLvÄ@q³Di·;p¸8jº4t¯<€±7u´@†´=w´8€µ2ÁCƒ³:ˆ·:}À7}¿4‚¿1€²6}¸-y±2ƒ°<|¢9„¥:~¶I²EpºAo´Js¼\m¹Pu´VrÃ]sÃatÌ`rÇ[sÇYnÒbbÑi`Ì\[Ï\WËe\ÂVL¾^OÃOZ¾\L¿YT¹NU¹UL·T\µ^U§^N¹RR¬LT¯RN¿ZQ®[Qª\;%)<,5 %7<$8?.!<-&E;A9(C@8>9B#=A5@>C)E?)AI+IW2BU7=V=CJ3FK0GT0L^)J`/La&H`%NUUQWV_VjK nLpYjV%qS y_%~V){]"t`-yU9†S9†Z<`;‚]C‰iGŠnB‡qCƒlAˆhB^@‡`F~jFjA‹eK‹gFŠeK–]E—b9žiF¢rFžz;¡s@£tB£mA«z4¨x8§v8¦…3ª‰@©€@¬ˆ@©…B£“9œ–@™ŠH’ŽHš‘T—Yž•\¤šT¥“P¯ŒU¸‹S¸‹N¼ŠO¶ŒN¹Q¯’U¯`³‹Z¶†e½`µ–`ºša¾–fÇ™aÈiÀ£c¶¥a·žZ¾•SÀ˜[º™e¯¢d°™k­šb°–d­žd´Ÿc«¨Z©¨_¨«[®­M§¸O¬¯[¸µX¹¾OºÀS¸ºT·ÁPµ¹S¾½N³ÅQ¸¿_¯ÁZ±Å^«Ñd®Í`¶Ç_¸É\±ÏP°ÑP®ÊL§ËS§ÉXšÇY›¼Z™·[žÄešÀe–¼ZŸ·[•²X˜­U›¯b˜¬]¤º] ¸_—²`–·\Ÿ¸bœºXœ¼d¢Ía¥ÐhªÍg©Êf¬Îf¨Éd§Æc¬Ém£ÇkœÂuž¹qŸÄg¤¿i›ÉkŸÐc¨Ïg§ÍYªØS¬ÒN£ÍM¦ËU£ÂaŸÈ[Õ_‹Ù\’ÛYŠàZŽÝT‡ØSŽå`‹â[…Ü\}ÜWzàU{ßV€ÒW{ÏW€ÔWuÐN}ÊU|ÀMz¿Nz¼AºJsÇGqÄBwµ¯J{±E{»E€½K{ºOuºWoÁXr¶RlÃTkÇ^sÏdoÓjmÑghÌf`Òf\Ñg_Æ^RÅaSÉ\TÀRP»WH¶SE°RE»SMÁSUºU\°SX°UZ°[K²UG¼NQ¼VW¶ZRµ`5 $9'=2:%0: !/,12.A)465'2;15&CB'4F;AH@%ID.JP%BE/AV19O@>Z;BQ8JN.FK)AV2D[+N]6A`.GZ.MJbZiW+kV*qN#iY'de%g_%vf+nU(rd0uY+y`1~ZEˆ\D~YA„g?‹^:~aE|f@†iL}mI^<~fF€aAŒ[KŒgKŒ`?•dJŠf<˜_>“jIŸpDŸk? l>§l<¦€D£|6®q? w3ª{?¤{G²„E²|I¡zPšŽH‰H–N›Tš™P¢e¥‘\¡YžŒY²‘O³“Z¹V¶‡MµJÀ”F¸M»’]²–b¾‘Y¹¡^°™f³•fºœ_Å—c¤aÄš^Á›i² d¸¢]¶“_¶ŸQ· S±¢b°™`¯_²¨d§®W¦¢a ®]§ªS©´[ ·[¸ÁN°°V¸ÂS¶Á`º½QÀ´XÁÀN¶¶O³¶Yµ¸S¯ÈYªÏV°ËWºËk³ÏY¬ÑX³ÎW¤ÌQ¬ÓGœÂK¡Ã\žÀZ–µc˜¼Z‘³b—Ã]ŸÅW˜Á^™º]Ÿ»L“§Xš±R˜¸X–²^˜¼\޳]‘µa‘´a—½`Ìk›Æ\«ÀY¡Èk§Çi¡Ë`±¿d¦Çj¨ºmŸ¾f©¾m¤ºk¢Åf§¸Z©¼`¥¾T§¿V¨ÁY¨ÌP§ÁR¦ÄS›Í\šÉZžÖT‘×U’ÕTÙU…ÛZ’ÍYÖYŠçNƒÖ\ƒÕZ|ÕXvÜ[t×MÍ^~ÍN~ÈLzÁMv½PpºOxÂG{ÂLpÃ@p½E{¹@vª3uªBf¹Gj»Jo±=†¹F‚¹;†´7Œµ2ŒÀ:¿5~Á8„´3wÁ7².¹.v³2‡²J†´L³Mz¨J€©?x­Fz²P…´Z{ºP}¼Xu´OhºYj»lb»aeÊkfÍgsÒ[iÍ_`ÒkSÂjWÌcM¸`Q¹RF½]N²]O±`H¸bXº`Uµ]_³SY°PQ©TM©KR²ZE¶aV®cN°_;'2<"*135%1|hEwjK}i@ˆ`?‡]>‘_?ZE”]<™b>’n@ŽmLšrA¡t?«jE¥pA§z@¤;¡{<¤{Cšƒ8>­G°yM¯tR£|O¤„KˆQ™ŒP¡–U›‘W “b§‰ež_†\«‹X²“O­R¾‘SÁ‹DºŠM¸šOÁ™\¹‘a³•[´¡c¼œg²–\µ—X½ž`¹¦e»žd·’j¼—b´—`¼šW¿˜N±—M¸–S¶ `©œU¦¤X¤ ^¥¬eŸ·Y£µX®¼_¨¹X®¶aµ¼\¿¿_¸Áaµ¼W»²[¹²^²½W«¹S¥¼UªÈ`´Ç[³Ëa´Éf±Ð[±ÈN«ÏK¤ÅI¡ÄO˜ÊMšÀQ¡½Z˜³`’¶a–Ád‘ÀY–»U”¾Y•½VŸ¸T“³TŽ©O©W‹¸R’¹P‘¬W—´W—³cºp˜Äk¢¿^ªº[­Ç\¢ÎdªÂ\«ºb¨¹f¨·m¬Át©Ãpªºd®Á]ª¶\¤³\¯´Oª¸R£½Už¼M§¼O¢ÅP›ÊK£ÑNšÈTŒÏV„ÚX…ÚUˆÑKŒÑO„ÛV~ÚQ‚ÏK…ÍK†×UvÏNÉX{Ò[vÁ\{ÀQuÅHs¼Il¿NoÌBlÆLrÀGs²8}°7x®4r«?z¨9s±Du¬=ƒ¬@‡¯@…¾@¾Dˆ·6xÀ1uÁt¹9t½.{»4€±;†¯Hˆ·N†¶U²P„¤I‹¦TªT…µY{²Uv¶Q{°Xw¹ec¶hd²ijºmp»]mÊ]\ÈbWÅjUËeNÉaR·bJ¶SBµWE®dL³_Lª_U¬]b±WY²QY­UN«SR¬MH«UD²_HµYN­V8(/F)12'.:#103-11&229:8?.851'$?-&9B*@9"@="GG4G=?H>+OA-B@'DE9PM4PV/GM.TM3II5NU3IS/PH3RG(_O(fP(qR'eO5hW'uT/ph1jb)pb(kY'ya-{e2yZ@€d;{lE†j:„g8†n=`I‡fHˆu8h<sCŠl=‰lM‡fC†eRŽkNŽo?˜iE’tE•lFšrAj@¡nD vF¦sF§<–yF£{K …D­}R®~O¢x[¥ƒOž‰Xœ‹W X‘O¤œ`£œY«ŽXª–Z°„]§”O­\¯ŒS±ˆM·…<ÖHÇ—U×Y¸–V´ž_±¤b«¤f²žj­¥^«¡`²˜h±•a± `±˜a°žYµ’M»—I²œI«‘\²”^®ŸW­¢P§ªbš§gœ±W¢µY¢º^°»SµÀa·Àb¼º]±Å]·¿h¦¯[¯­`«¼d«»`¢ºS¯¿_³Ãg²Åe¸Éd©Åa³¾N¦¿TªÁG™ÂIš¼Pœ¸N•ÅMŸ¶Zš¾SšÇW˜ÃY™ÅU‘¾`šºQ޳R—´KµM‘¯XмN¶S¬Nˆ¬P»b¹]•ºi—Àa£Ä^žÈZ¥Í^¤Ëa°¼`¨Áe¬¿r£¼v«´n«¸`­·f¤±^®¶Y¤¶P¬­P¥²MŸ·R ¶O–»H¨ÈOœÔU¥ÄOžÔ\ŽÍXŠÙYÛS…ÙY„ÛZÛZÙJ‰ÎCyÄLrÐP‚ÌZsÑ_…É`†ÁOuÊWx½SvÉD}Á:t¿GzÃGy¸7´7€³:o¨Az¥Cn²Gv¨;°G‚ª=ƒ®Kµ8{¶CxÀ>pÀBpÀ9{º>}¹:t¾9·E¾G¶N´[„±S{¥Y~¯_{±W„¬Zw½Qy¸V{·Yf±hg³pd¯ajº_g½\cÃfWÇdY¼_LÉ\VÇ\F¾^GÂVC¼`D­dN±_R¡^\¦Zb±P`°X^¸]P§JM¯JU²ZN¬aS±ZS«bB%6>+7@+>:)5..92-+6-,576/103,%77%B5%<< G7'LD,R?7WF.O>,N@0JD(SH)UH.QF2LQ5RG+VM0RN2RM5YJ1\M+dR-jL0kM(hP1kS/sa,nf0t_&|^&s`5x_=ncGlj@xhE…n;ƒf?ƒh@‰l@‚jC„q9g:€k?}mL‰pN‡pHˆbQ†kMŽoQ‘vN™lKšiF jI¢mD¢lH§lDžsJžzN—…F–ƒM¥ŠV¢~Y£X™}UŸ„]–„cža§”S¦—Vž P£œW°•P®‹W¥“\¨U¸‚Q¶…Q³†S»DÆ”FÅOÆT¿œZß]¶›h¯p®£gªŸc§£j¦ i«”f¬`¬šS®œT¼O¶ŠN®N±’V±™Q°—O¥¥Q©©P ¢]œ¨[©°bªºb©¸\¬¼V¶½^µ¶c±º]¨¾ežºcœ»_Ÿ«bž¨\ª¶Yª»^ªÄb¶¿W´ÈZ¹¿S­ÂT¯¸J¦±Pœ«G—µM›¼FÀH™ÃM›ÈVœÅPšÀR”¾Uœ¶a›¼Z¹Q‰³T‹¹O‡·T¼Q‰¾RްQŒ¯VºUнb–³lž¿m¢Â`¥¾c¦Äa°¾b«Á_ž¸n¡ºn¯¼h«­l²¹o³µaµµW¯¶U¯²OŸ¯Wœ·Y½L–»O™½DÈP¦ÇVœÉ_ ÉY˜Ç\‡ÑT‰ØQ}ØQˆÖY…ÍW‡ÒI|ÍL{ÇMxÅOrÑV|Í^zÁYÃ]tÌ[rÇOxÄM|¾=º9ƒÂ=³:‚±2ƒ«.|¨;}ª;x²>¶8x¯=tª:€®Du¸Ez³D¶EvÆ:lÍ;rÆ=xÆ?qÉD€ÁR‚»Q‚¬O„­]y©f{¨]|±]ªa~»X{ºRy¹Vl¬edµdi±lp¶^n¼_o¸af¼f]¿bV¸WZ¾PLÄWIÅXMÀYQ²]I­fF­XQ¦Y_­Oa³TW²SV¶SZ¬UN¦TW¦ON£YIªcH®_585A%2968D52?:26<0=;+A2895+>-8;.(A0)I@.I76R@,R@2R@+TB6ZI)YD#L>1OD&ZK7XV:\X:XW9WR7NUx_C‚gP„mF…b@„eA…gGŠpGs@~w9‚iD{i|¤Dˆ¤8€¥@z±>|°L‰»>}ÀJn¿F{¼Bn¹HzÃIyË={¸Pм_©W­_ržU{£Q|by¤W³Yy¼Sk§ai¯Zm¢dp©wj²sn±ak¶_g½`_±fT³aYµWG¾LGµULÃXJµ\H³eS¬gL£^b¥XXµVVµZ^¸XV­VW [O«SH©\L¦TK¡W=399/.=0&G9)P>)HB,DB*=67816D9‹dIˆeM‰`T‘fXmY•qU—qW¡iZ§iKªtO¡|IŸN †P …T¡‚XžT¡tU˜tR}XžƒX”€^’c›‘^Ÿ S¬ S°Z®œS­—Wž‘TŸ•S¬‰P«J³˜Hª”F°—O±“\¾˜Y¬¡R« Z¨\®œg§’b®˜Z¥ ^§¦Pº U»–S°˜P°ŠY±‘b±“]ª˜V¬¤U¯£S¨œ`©™f™f¢ j dŸ ^š®c£²_§¯až¨hœ­a˜ªd£¬`§®T£±Y§¶\ ¬W¬·X©¹Xž¿^£¼Rœ·Z—±X•·\‘¶O³H›ªK›¼R–¾Z–¼^—ÇWŒÉS‘¾_œ¼a–Èf˜ËZ“ÈR‘ÇJˆÂL”ÈY’¾T“«U©^Ž®a­^™³]ž¶^¥²`¨³eªÁa£Çc¥Ãm¯Åo¨¸p­³q¨³r¯­h­¬f¶µY³¬T´´Q§¨Mª­T¤­S¥¾AœÁF¸Cž¸B”ÂN‘ÀE—ÃI‰ÊEƒÐLyÅYzÆY»M…¾E‡ÀD…ÇLxÉO|ÊP‡Å^‹Ë^¿_…¿S‚ºMzÁG{¾Q~ÂKˆÀI„´:‡§E…©>‡®C{§Cx±F}±HŒªD‰ ={¢>xªFƒª>‹¶G†²Hu¯Cw¬@t¸G{ÄG}ÂE{¼M„²^´do¥ZhžOn Tg£Sk¥Zu±Uy¬Xw¥[l§Wr¬iv¡rk¥lg­nh°n[°^V¾fXºgS»USµQNºZJ½UU°eO°eX¦cX¦VX©L\¬OS¦U[¬]Q©ZX¨UO®ZG´PW§YW¤P780A019@/F=&=K!EE)V11P38G<:NG4JL1P=4TL1WE/ZB8[A2]C3^F4`N8YJ@^S>YV:aS3oR3pWBvV:uG5sFEpPCnV?sXIoYJpP@bU9jd?sdJwdLr`Q‰`Pˆ]W‡bK†nV‡lVyeG{qV|rGw|L…tM{nC~eI€rKŒeQ‘_L™_KžsT“x_šyT–p`šuK›{T§€Pœ…R­€Tž„c¤za§‚e£o_€WŸU”zS˜†T™Y˜Q«—`°[ ™P«R¦˜Q›ŠP ‡W©‡Sµ—M¹¡N¼–R»¢I²–Nµ—_¹§Q«`¬¡Z¶šf´Ÿc²–Zµ V¬¬K´¢R¶”I©—Y­‘V¶›O±˜S©™S­ _¡™f¦’a“¡n›e˜—f”˜`”­^™°c”«b§¨fŸ¨aµb¡¥c ¥Rœ­S¨¶_£µO›©Y¦³Pª¯W¥¹T›°P—©Y¦^²[“¬YŽ£N‘§L¸Tˆ¶[”¿Y•½\†ÃOŠÃT“ÄV‘ÃgŽÇa’ÍR¿W…ÈKÂV‹¹Y’°c˜²c‘¸Vœ¯T–®\™µ[¨µ_¨¶^œ¿m¦Äa«Èl§Âi³²k²­q¯¬c¬«a©¼e»¿U±¸]µ¶K«¶T¦¬J²¼C§¹Fž»J¡ºJ˜¶F“¿T“ÊIнAÌAƒÂI‚ÊS‚ÈOŠÁL޵C}ºS~ÇGˆÂDŠÂG…¸PŽÄQƒ¼YÀJƒ·D|»JºE„¹O…«H‚ªD„´F³:‚°Cx¯I}¨KƒµHˆ£HŽª>«F…¥L«M“¬?„¹9„³Eu»;m²&DI,FG)=F+@N'II,GE3E?/J96U9?T:=H;:H>8R?/QA6SI;SGB\K;XS3_N:o[;m[4iT:gW8qV4o[;jPCtP~³=v±I†®J‡´KŒ²@ˆ¥=¡;‡§G‚¬@‹­>¬@‚¹:}´=v½?x±A~±Ay©Hs²X{§^x¦fm¡cl¤`i«ak£]e¢\p¦]{¨eu¡hz«gu£jo¡ad¦ef­f\§id«q`´j[¸iYº`c±[a³a]©`WªUXª_P©^V¯YU¤\SšUS RO§UV°ZW¦[V Q^¡JT¥R:591B&EE/DD)EI+E="EB%OA4L;6N;+X:1T@FY<7KE0RE3VP]^@cb@pa4vZ;zVo]Ay]Bf\MpU=mOCkVIbTBq]Jk`SqaQtdT}XQ{dTtb]‚me|f_|iV{hVslU{uQ~uPtQ|qU|iL„xQ‡rE”mQ–dL—aYkWŽdxVž€^›…c—zVš{X¦„gž‚b¢‚h¦xc¢nd•ƒZ’…X“}M“ˆT”ŒM˜F£šL©™[¢Œ\™–]¨™O¤¡Y«P© U²žP´›_­¢O¨œN©–W²šR¨œV§™]¶©`±Y§žc«žV±P­©Zº¤M«–L¯O»•\²Ÿ`¥›Yª”V¢^šŸ_˜œ_™ª\Œ£n‹¢a‹—eŠœ[™¥PžR’–Q–¨R¨d’²Rœ²V®W¢¬K”±X¥³Y¥¢Hœ±G¨§R¥²S‘®P“­LKŸV‘¨P‚¥`¶Z…ºS…²Oˆ¼O€·K‹¼S€ÇQƒ¿TƒÑ`‰Õ_ÐNÉL€¾Z~µX‰ºV’½b‘¿VÀg–²i¢ºi ´_™ºf›¾h¦Äq¢¼k›²`œ¼i ¬k¦½_¨²`¿R¡º\¥³P­¼R­ºN¯¹Lª¯H›µV¤­IŸ¶J–°Gˆ¼U‹ÀE¼F¼MŽÉT”ÉL†ÊUˆÄU„½O‰¼F޳K„»C±C‰»R„µZ‰¯Lо@…ºO‹±H}´K~¤F‚©L}©>€¥Is«Kz«J‚²Qƒ²?}©@¨G†¦E†C…¦K€§B…¯;‚¯B{¼D{ºB€ºBw´H|°Fp±Tm«Zo°[|©cv¤WqªXp£dl›esœgyªez¬fr¦`s°dk¯np£ii¥cXªmdžkZ©dW±fY¿`[±gb³]a°V^¨Ua±aT«XLŸdU¡XX¥fS£^S™YZ­OOªUV¨N\ W^©WO§`>;,7D*5BAE#>;+@=%KB-FD.OI4MF/IJ0TC>V=:U;5Z<3XN.YQ)NI1LD2XJ2TE1MH/T[)Y]0Xa7\X@meGmg>k_CuT6~[GuZKmZMiXAaMB`Q=ZR=daBg]LkbNieLpdMunZ|iZvkYyjYug`|tdrySpuLplSmnJslGhQ‚vY|vO‡vO”gO‘^]Ž`a”r^ŒzUŽxf–yeœy_“yW‹€\”ˆi˜‘gž‰k¡b qX„[“ŠX’ŽRœ„I“‘N›“LœV¥•P ŒQŸ’SªœZ§žQ¬V¡Y®šc¯£]ªšWª¢Q³£Z·–V´›Q²¢Sµ›]ª£c¨¢b²¬]¯ [° V°š^²œ]»”W·Z®—Zª—`¦•X¥ž[Ÿ¨T™¡Zœ­]­cƒ¬h…œ]“¤_—§W’›^–™S™¡^’¯]Œ¤]”¨\Ÿ«S›°O—«Tž¤S¥¬K£¥B©D¢¯F“¢?Š¢H‡ª@¤EެL‡¯V~´J~´L‹©HެT‡­J‰¶MŒ¼TÅR}ÐO…ÑS‹ÅIÂNƒÇ]„»a‹¿cŒ¶Z¿[”¼b™ºm¬°o¨±f¥µg­·t©»v ¹h›®_Ÿ¨b¥±g™²X—¹Z•¶S™¹Vœ¯]Ÿ¬\ž®N¦³M£µL˜¨Sš³R›·K’µJ†­I”¶@•¶B•¼JÀQ—ÅKŒÇQ€ÆSƒ»L€½HŒ³D‰¶K„·N­IŒ®S“¹U•¶E‰­E€«F±K‹°M‹¦IœG„Mu My¬D‚¶J„§C{¡;,:DH:"LE"B>0P?.X<3W@BTC4\=>UG/ZT1[P,XS%NV'SM0JH2TW-NQ.Rf6\d5YX?faCj_Ioa7u\=fY@xcKu\?jUAdKBfM;jV25691*‡·=‰­C{¡OuœQ}šHt£Hv¦M„ªFŽ£@’§DŒªGžG‹¦<ƒ£<†¶:„º<|µ?€¸@}µ>~¾’¡; «9˜¥:’¨>¨H…·A‰¯?«UŽªS•¯H‰®R…µH¿?ˆËC|Ç>~Á=ˆ½P˜ÀT˜»Z’·a‚ÀV‰»c•¾d“Æi“³r§²m¶d¡·q¬¯hž§q§«o³c¢µc’ºX§]•¦T“¥a—´f• `— bާU˜²`Š»P‘®K†»?‹²2†¥Aލ<‰¬G”°JŠ«@ ²E”·EŸ°A–µD«F•«;¨;Ž£Eœ§=¢¢B« =¢ªE—¢=¥B•´D–¬8‹¯K…¡D|¤Bs¦M†¤>§H‡ªI’ªM‹«@Ž­C‘œAž@†¤G‰¹Aƒ¶:„¾8ÂE„Â7¶Bt²Bn»El¸OyªZu¤\t«Qs¥Zz¥gq£ns«]n²[t¨\{¢j{¢`{«f~ªgo¦qx¨cq£kh¦ff±dU§nY«lW°rQ¨lL¥lPf^šaW¢[\“]O¡^J^NŸP\X^SXœHa¡MaªUe™QW™WA:;86:?<$A5:6!>H/:Q2;I)A@"O@([=8YHAPR6NO7PO8[O‹³4‰¬7¬:ж?’¯G’¨9œ§;¡«7™­@“¬A—¡; Ÿ8¦8˜¢6‘¤4¢¨9¨Ÿ9¥£:•ž7˜¥<’³;Œ®B‘¡Gˆ¤Nx«C©@†œE’¥;«>ˆ«C…¦H©J‘¨IŒ¥B„¨@‰·J¾D‡ÃAÁ9|¼=t¶=k¸Dn¯Mw®Xw§Ul²Zn°Zq²^{£o|¬st«er·`}±_uªXz­b‚±l¨kƒ§bu­it©ca§ee¥o[ s^¢rSžqM›iX¥cY™[TœcNaU•Y\“VQœVR¡QP¡UV£[U¡OR£H`¦MY›V_ŸY5;.54,:?":8EI$EG.>N1EM%DD&PK*GO;MN>\N:Z[2XU8]T0aX1eK3a\9dR?dV>\b2Wh?]f:ekDgY?pi>naCqg?nj9ugEyiLyiKxdHljFrfO{aTo^VrqTwnStwZyqV~p^za\vj`|tTomWrc`roitp_ycg|fdyglssdtogp|q}ossmy€f‡€uŠrdŽ‚g„€d‹za’Œb€ŒYƒ^„g‰ˆfƒŽ_ƒ€f‘ƒdމc™‹Y•\ \™—X¡V–ŽTœA§~N›„\£“^˜Vœ‘V•™V•aœX ”U§’^¥•\°˜U¶•`´›W§žU¢¨Y¬¬X¬ªU²¨[³©b°´`¢¡\œ®`­±a¡¤^¦§ZœžU–™Vœ˜fŠ¡n•“pˆq—•h”m’jk–“_™–^’¦f“©^¬U‘§WŒ®F‹°M‹§F™¢FŠ¥Kˆ©L‰¨G§A¦G;‡¡8–©7Ž£=‚µ@‰²9‹¨L‡¯D޵L‹´E{µR{µO|ÁD€ÂJ|¾J|³SºYƒ¶`ˆ®cƒ½UÁg¸]œ³o•·j¡Ák§ºn ©h§­l¦¡kª£c©¡[ §d•ªa“ W‘¡d˜œg›ža™ŸWŒ–Yš©[“°^‰³Lˆ¯D‘¦=µ;Œ±?§:•°8“©>˜±Gž;“­4ž¨8ž¤<—ŸEŸš1™®>¢ª=¦˜6œ8©ž5œœ<›@–­H—®:–Ÿ=—¨O‚ž@„¥K…¯Gƒ£P†¤@–¤?‚¥Iˆ²I®NŽ¢M°L­E²H|½G€³Cu¹FvµGq²Nh¹Pr«Tm²V}¬\s¯Tw­Y‚«dv¬et¯oz©qp«`„®[´hx­h«l¯py­kw³me d`£ti›p[žp\—zZŸmY£kYªbO¦l[¢nN–aV¢aU˜bT‘TN£]J¥ZI˜IT¥Q_£T`«K[¬OW£PG3)94(;9*@B'7H#:C#9@GK)GX&BT1GS6MY8TX4\^1WY,ZR1eU9^J@_TDgV<`XB[Z=X^8^j5gl:f]Ce]Eg^BdbGna;neBniIpjRunL}sDumKupE|gMzoTr_‚sZzi\zl_xpTxybtu`rhZvfYpagqfkkqkpmiore{trr}srxqrtizvmzzq€€uŠ|oˆoˆƒsŒ|i†‹k}Œ\€Œb‹^ˆ’W„‰Z†“ZŠŽZ”•YŒŒQ‹‡P˜“W •N¡ŒU«€N¤ƒK›‹R“…Q›‹T—‹ZœˆYžŠ] ’Z›‘Z–[¡˜`©›d®b¤c©¤h¬Ÿ_ª \Ÿ¨]¤¨Q°ª_¯®[¯§_ «\¢§[Ÿ¥Sž¥_ až—g™œd–›jŠ•kŠ“i‹hŒj‹ˆlŒd”–b¢›b¡•`¤—Vœ¥Y«X‘¨MЧKŽ¥F¡C–›H—žAަGˆ­@…¨DˆE9•¢/•Ÿ3‹£<Œ«>„«8|³?†¹A±Ly·G~ºM{ÄR~¿Lw´Ky±V‚¯W~µ^µ[ƒ±a€®hŽºeÀoœ¸j¨¸j¦·j«¬g¥©q«¢n¨§g¤£i  [›¢Wž˜W›¡b a•§eŽž]ˆžbŽ–c‘¤Y• Z–¤H¥CНBˆ«@–­A“²9”¬7›±=–¤7¢ 9™£4˜Ÿ9¥¤;¡=¨Ÿ2¤¨8°¨2«—5£š8žš7›¨@ ¨D§Bš§IŽ¡Q¡I‹¢D„¬H§I­O…¬N‹©IŒ³@‰­G„³Eƒ¬G~±=„ªD|¯>{³By¼Ev¶AwÀFu¹Nv°Wm®PoªVx¶R…·\‚¹V„°bz©frªcp­my«m{«d}¦[{¨_vªfsªlm§cj¨gd›xn—wk}f’v[”w]‘lW™aRžcX¡`YkOŸnO¡eU—aU’cV”UKœQM›JS¢O[¦Na§Zb­]^¢T;'&52$J9/D?0;I"HQ DG5RM6KT)RS2RT3VW;XS:\S.\N7RU2RT7VX-dZ7]T5fP7`YAXa:av.bm6b^CnSBmW9m_?lZAna7vuJod?ufG{jKilWstKzr\~iSŠlYyn^uwaƒsZ{uWmm^quhoeeqdTxdiqjuwotniunuxw}rrmr~mzykj{nx{‚rt‰u…„p‚ƒyŽo“|f‚}pvŒ_€Ž\€ƒi„‡e}ƒZ‹i‘‚_Žˆ`š‹]ž]¥ƒX¡[¤Ž\—M–‹D›‚M™ˆO›€T“YŸ†P”•W“‘[”ˆ]¢‰Q£–Y¡—`´£[µ˜`«b¦™^¯™Xª¥]¦Wªœ`°¯^ª W™¨]›£dŸQ¡¢_œ£j—•b›Œgˆ“cŠgƒ–a‘k”jŠ”\˜lŒa›™g¡eš¢g“¢Y“¥W…¨R†ŸM¦Q©H£K‹—>¤?ŽžF“©>‹§G…4Œ 6ޤ@Ь6„¡>…±@²Ju¹B|½Kw¹M…µD´IwµN†±G†®Sy¬VŠ´d€©Tв`„·fŽ¿^³bŸ´k£ºm¤¾oš±lœ©f©ªeŸ¤i¨©j¥”bš›S –UŸ›]ª`’¥X¡S‹œX“œZ‹šR‘œP‹žL‘§>ŠŸIªFŒ«A•­<‹³9“ª:¦- £2—¥;œ6“˜:—¦8œ¢.›¢8¡ž4¨—+«ž,§’:©—@ ¥O•K››?‘£L§EªN¦E§J˜›RŸDލ?ЬAލG†¥=„Ÿ:€¦>€¬>­H€£D©A{®Nx¹Rw»Tt´Ls¨Nu«Rv¹Y{´X€°dƒ´]u«aƒ¤mzµe­`t³dx«Zwdxžbz§hj§oq¯gj¡lj mg uhŽuWŠra•cT•d]œ^aŸkZ–t\kK‘cT“bU‘\V•XPœ^X§U_œL[šN^¢XhœSl ZJ/3B)/A**K6)BK2DP-KN-LT9JK1XH/QL8SJ9[D4TF/U>5SG0MP(T\*WO1^N.T\6WY9em6ep2i]?g[<^]7fZ=o`5n_=rj4lo„ D‹¡E‰›M‚¢Mw§Pw©R‚µaƒ´^²O~­O‡¥Vªcy°j}®d„²b¤_‰§i°lt­av©eq¢bx¡azŸku¦nm¨pt¨`h¤ek ra™kc“md—bV‹dP‹_[‘ccn^l^ŠcT‘^VŸ[X›_P¦_S eY›a`œQYWX\e–Oi˜R?*0=$7K18M60JA/QE6RU;NSA^V2^Z8WQ1JP:ML,WK-PG,^H5\N4\\#ZK&QK%SR*d\>b\:fl.m]:cb5oc9p`;q^>lbCwj;qvAoh?urBysMvu_wp]vkd~cZ„db„cnrklk`{niqhiifcgl[lmdkdhqcvhiqkZvzekolt€po‹dq}nu€|wz|uw„wx…ot{p…†|…‚q|Št~j}r{|oƒl‚wd}ƒgƒaŒ~f›Ž\¤~g§Z¡…\ †^•Œ[”ŠG—ŽR•‰?›‘Q¢T•‘P•‘Pœ–X“L•ŽQ •I¥‘L¬V´›X¤œT¦˜Y£œ[®V«™S§¨Yª¤[¥ aŸi“Ÿf•—]˜™gŠmŒŽh–‰h‰Œ^‘`Š“g‡ˆb‰‹b•VŽŒj˜‘bœ—j“aŽ”n•‹h•›i£[”ŸOŠ£U‘œGF•¬;™¢I¥G¢?€¬I£D‡¥Dˆ§J†¦F‚žO{¤K~«Mw­Q}°N‰µ?„¶KŠ­?¯J€ºK‡³R…®Zˆ±c…³P}¯X­SŒµ[•¼i¹dž¶e£­hš°aœªnž¯a¨iŸ©c˜\—šS¢—OŸ—P™¤T‘—Y”`‹RŽ”V—N˜P‡¡=ƒ¦:ƒ¯={«8|¤4Œ¤,ˆ©1˜4’¤7••,¢8•“0™š+“”*šž3 “1§•5¨ -£—:£‹9¤‰>¤–;™•M™•BŒŽN‰™FŽ¡>”žJœH† F—A‘ªG‰¨Nˆ£@~šG‚¨@ˆ N‘œLˆ¦I’™M†«X~¯b|®b}¶\‚´^¨Xy«^ˆ²^¥ht²b­f‚ªg±d‚§o} utœpx¥n~ mo¬mo§ek®cj¬je£_m¤_jŸmfŠkW—_Y…d`b`l[•jb‡haŽcQ”k[›k[˜bTœbd˜Zfš]d›T^]k˜\c˜JkŽN90gc7nc:heBhe”7‹Œ,‹•)‹˜+š. ‹)—•0Ÿ“4¥ž5¬’4¨•3¡Š0 >ˆ=IŽ‘F‹B––@–™Bˆ¤=‡¢DŠœKžK“O„•G‹’NƒžH‰¡J¨K“¦N’ [‰ª\ƒ¬f…¨g†¬`~¦i„£i~¤f…ªg®fzªb…³j±h€¶kw©o{uv›pz›szŸx{tp«lh£dm¢cežf][^›]`Žca–cZŽk_‘fg‡fa„leŒnc‰oT‹q\ˆkV’hcˆbg‹]c–am—Xu”NmKdSjOH68=49;?;>G7KBBU?DSTEaTBN]DVR+JQ*UH!VS.RQ"SP.VN1PR VZ&Y[1WN)`W:_[9`e>k\*_i=n`7le9cnCpmAuk“CƒKŠ—E”—C˜D€Ÿ<Œ¢H‰˜R‰›Q•›\šYkŽ¡m‹ j§a~œn}¡d…£b‚¨l{¥kƒ¦g{°s~³b}¯ls«o~šlq˜hw¢lr¢ju _j¡ie™[mœ__œ]^›aX]Zˆ``‘icdd‰^df\‡nY•pQŠsZi\‰\Z˜an™cl›^f›\p•[q‹XjSbQD44?<7<:2GI5OA3TD@]M?XRKRRCKW2QX(US)^V.YX&O\MV#MX)\a$S\/RX.__2[b:ja7gc/bb5i^5hlCchBf`Ey`Gxc@sa>mKhFy`H}_X€_S‡_Sd]ˆ]aiiuhm{ccy]\w]RnbYqV_gU\j``w^_lXgmZryelvhp‚fk‹sp~iu}otƒ~qy}}‡|uxzŒww‡~to€n}mjzkiˆrfˆuo}d‰u^‘„U–„Z“{e˜}a›}[˜†K™ŠW ˜U¡•H›ˆJ ”Qž™RŸN L–•E—¡A§Ÿ@¥–D¤–<šE¯¥C¯¦J®§U¬¦P¤ªO  Vœ˜ež¡hš¤^¢šbš™g—–h“…j‚o}s‘ˆh“Œ[ƒ†^€„i‡Žg}mŽgˆbŒ‰]Œˆf–b“ŽZ‡Œbƒd˜`›Q¤KœNš£P§C§Cˆ¦>Š¡;‹§G€«K}§Hx¦Ut£Lw¤Pr¬S|¥]¬Zƒ¡Y‰©W¯TyµI}³C‡§I‚¦[z£b€­_†®VŠªU¢P’£Tˆœ^‰¢]–iœ¤gž§iœ¤[š_–›`—¡Y¤žZ¢T¡™[–š`‡¡Z‚¦[~šW~œT‹¢O’£O“ªG•¤E«M‘¬<­<{¤:}¨<ƒœ9†’8~“@†6}’3„ˆ!”‡+›Š*˜Ž%”š%˜š1 ›3§,«2ª9™”?–ŽB‘‹>’”5š9”•8•?‹A†˜A“EˆŽTS’ŽA…ŽF€‘@‚Q’–[Œ^ˆ™c XŠŸ^©cˆ¢lŸq‡šeƒšd†¥l‹®pŠªo‚¢jƒ¤m€¬kz°b}¤`x›bpœ[t«\y¡fz _o›[g’^r–dm”bj™``ŽaeŠaeƒhX‹[Zƒ_Z‹hc`g‹e^’ne_g^c–Ueš\^•[hœNk•Od–]a—Wi†\>1FG;BFA>EBDRQFNGJ^NA\YCPLCHK3K]4SU5X](RW&M[ RT/[U4`c,P^6Te2X]8]cFan@ja:dd6q_=f]=mZCf\Fx^BoiA]@„fF‹gI[SŠYTŽWU‰Za„da‡]i†imr]mt_dq`[kZVhXcsYZkYWjOckYgzZnsTu}ahyhv‹uu‘wg~wh‚q‡x{Žq’x|‹†sŠ||†‰p‰ƒwr}prwnjƒys{mzdqb‡^ŽYŒ„_Š…]›‰VŸ‰S–‡N—›O¥‹IŸ’Q£™W¦ŸQ¤V¤A¡Gœ—C–“F¥G˜–D —O¡¦M§£Qµ§F²¤W¢œM¡¢U¤›X¦¨kž™l£¤hžœoŒa—ˆo›‚p—‰dŠnЇi…l‡Œc„†iŒˆ]‚Œb‰ˆd‰f…Žawaˆe†a„Z ^ФRЦQŒ¨Jš˜R—«OަA“­<§9¦B¦D}¤Q|³]x°Qw JzžW~­\ƒ§Y}›Uy§\}¹O‚ªTv°J„­R€¯U|¤UŒ´ZެV§Y£[†¤V‹˜\“¤V”¤b”£f‘—c”’Yœ–h˜e ’jšœiŸ[œ›_‘ªSžX¦]š[…¨MŽL†²O…´L‘²B©>†¥G†ªA‡¬=ˆ¤F–2„–+Ž9(€•$ˆ'…* ’!›*›š$˜œ'›'¤š6©‘0¨”3¤<•‰7ŸŽ>•ˆD™“@•ŒC›?‹ŠO‚‘O‰—JŽ‹K‹“G‹Nˆ—D‡”A’•K™]ƒWŠ›k’dƒ¢h’’g‹—qŽ™r‡–q…Ÿh‹žrƒ¢p† l§w…©j}¥nv­fu¡hz«Y£Y|°b}ž]}£byŸTq•Yl”^l–brŠ\dfZŒcb„mj€\jƒh^Ž[iŒf`‰bdn`˜_j–\b“ac”_b“SgšWpœMdšae›QjVM9?K:HM:IHJAGRMSOMNWDYUKPRCPPBSU@KZ=Le1Ub,M]1M[,P^6Xd:Zabg‰“+‚š0Šš+„.(‰0¢Ž(¢*¥˜+¢›&ª+¨‰%¦“+ —/Ÿ‹8™’<Ÿ‡2ž‰6”HŠQM‹‹K‰“V”‘MŽ‹O–“E‘•I–œM•C‹O‰X‘Yˆ’cˆŒ_Š•eˆ™n“n•y‰w‹‰y…”yˆœu‡ w‚§k}¥nq«er¥bp©Y{«`y«ey§av¤ewœ]p“bt™Xt‘OvVm˜_a]_ˆh_ŒafŽZi…ac‚kegk–iq‘\i•]m˜cp‘Wg‘Zo’^s”Qr’QfœTmMl’W9>B=CJKYc6Yf0Y]7]gB^bGZd:a]9k_:j_:q]2y]>ri0€fC…gD€gF‡dGŠiJ’_[‰\NŽ\`Œd^yaezkZ{Zc{aXhZhxa`nXXhOSsTVoO]uSep]hrihu]l„qi}mn‹{jŒ{i‚}iyƒnw‚vozx‚sz‰t†xƒ}v|y}~€mt~zˆ‚k‚rŠql‚zZŠ€Uˆ`ІY”SŒM›ŽX šHž”GœŽL¡“O›™S˜¡X¥—J¥šNŸ’MœžR”—M—•T•V®›U°œO®”J°ŸY±”K­ŽV®•T¨£Z¥›h© d›•b”e”j›…b~d‹c„]œŒk›€`•€k•„^W~’a€ˆds‡dvŽb~gy“p `‹P„™MŽ—M†œE—¢BŠ­P…°S…®E†£J~­G|¯Lp£I¦Sy¥X}©W}¦_rž\w¦Vƒ°[x¦TlºPy§Zx«L‚¢Lz®JxµR‡®Z°]‹±[y«[}©[…£V X…›X—˜Q—œW˜œ\š“c˜–jš›c•e U—¢RŸ[ޤN„¨\~£U‰®]‚¦IªU„¯G†²BŒ¦A‡¨=ƒªHŒ :‹9—2Œ–)Œ—.…Š(—”+š”2š*•‡/£•*±“-­•&¤”&«•3©“$ª‡7¤”4 1¢Ž0‹A‘ŽK‹‹GQˆ†XŒŠR†•K€‹@ˆE”G™B‘ƒI‹†SŽŽT\‹–cmˆ’kŒ‡gŽ’kˆm‡‰p…‹n|Žr€Ÿq¦mˆ˜mv¥x}™slŸew c|®jx fz£pz˜jUw”Tx”Qs™Vw‘`v‹baŒQ]†T]Œ]Yƒ_[ƒia^cŽihŒalff‰Ymš[l–`l“Yn‹awŒMt“Qg—Ud“agV@=T;AK=CF;?K;LCKPFUPD`RDTWCXUA[]CTZ;OT6IX?HZ0JM.NO-T_1XY5`Y/\Z=c`Gb^BZg=aoGogHsj>q`;€`8b‰›B†•?““3’›+‰7ŽŠ4’0ž‰*¡5˜„8Ÿ‰*®Œ*¡Ž0žŒ.ª‚2ªƒ%«Œ$¦‹41™‹9•C’Hƒ‡L‡†V“…Y’‹J“‰=ƒA’†B‰R•~J‘K“{H”†I‰ŽP‰a‡†mŠŒhŒnŒvƒ”v‚kz†s€†m‰Šs‚žq§z~žyz™qs˜s{¡tt¦mwŸo‚£m‚—f‡–\~™_r’Rt‹WxŽbr‹]i“QiŽP\V\„U[„eZyce|[i…_ab`bnŠbj[d‹_k“\n’Xn‡Wp‡dgˆ`gˆf5@K>GR=FS9HO>LCCLJVOEYG@RZ=MW=NOAPXAMNA=Z9HS6AJ:AQ4V]+[S0U\9`bGI5IO;[S:\N@bZLb\NbVLhQSv]Py^TvbKtbNycS{XY‰^PŒ[G…fH…rG„oIŠtDˆkJ€sN{oYtb_}bhvgm{Zc{a^}WizZeyi^na`sfhpltxsqsty}€v€wpy{xzxzl€{gzr{xvu{n~kxh~‡k‹Žn‡Œw|Žsˆo‡ˆnŒp…upƒhq{e€„`‡wc‡y]ŽV‡†^T“MŠˆP‘‹OŒ†QŠ‘b‰•ZŽV˜—X™_“™^§•P§™R¬’M¬–EªˆJ¥’L¬“W¦•X›˜b“f˜™`›“ci—“h˜še–•Y–“\’…Qž…V˜†bŸ‰h˜’k““l†f‚‹oˆh††fˆf‡„\}“\”^}•^|–`yPx’Nq•Mx¡\€ªWƒªV¦Z†¨]~¯Sx§Q‚¤V~›YWvž[z¦Ut§S}«Uv³[i²\m¨[q¥Ws©[n®Wh²SfºYi±Qh¥_h©\k­at¯[€«Vz¥ax¨ažS†›R‚PŒ˜S„•a–T‰™T…¡LŽ«NŒ­TªK•®H‰¤O‰ Ox©Vs­Tt­Qm¹Ju¶<‚¸9…­4†¯1£/›/””8‰?—ƒ<™1™ƒ2šŽ/œŒ9£’9¦‹7ª…7¨{(¦{ yž‡&¢‰1ž„3—‡>™@Œ†O˜‰M’O–MŒ“R„ˆSŒŠHˆŠG‡~D–~S•|Q”Š^ž†Z—€W™ˆT—bŠh’h–ŠmŒ†rŠu‹‚t…†l{’t}‘{x•}z yn›qœst”|wz{xz™iy”g‡›_ya|Xp•Zi‹aq†Vh‡Zg‚^[ƒWY€PdxVayaY|[_€Z[x`cil„dqZf|^bde‚ZiŒ`n`xlpj@EE@PDANHKRJLWRNTQJN[FMLQ>\V?VDCJL5DS7JR=CILNTACR;UOA[X6eSEZ^Ig[FXJWdUIm]GpdJqaO|_LƒYK†cO€]LƒgUfVeKŠhO~sZylS~sRmg`u_]zchZ[y^Z}U`yWl{ek€i^rij|gpwqpƒtppmƒ|q~€p||qymvoxxp€vp€…qz‚w|py}syj„x|€rz‡iqƒlˆŒr‰†k‹zmzlvˆeozgwƒk‰rg|}cІc’\ˆ‘V€ŠZW„ŒX’‘b““jŠX•X—–\ œUœ[¡˜S©›M°ŽO¨˜O©’U´™M§‘\Ÿd“YžVŠe—ˆ[£—_•–Y”–X™V’ˆZ‘Q¡†a‘˜h“m‘Œf†”o‡n…`‘ŒdŽŽT‡”]‘b~“_}™\‡’Sƒ–]o‘K|œJq›R¥R€£bˆ¬W‚¦\ˆ¬[}žP|œ\ˆ£_y—]p§^tcz¨Zs°]nµPt§_h©[g¢bk¨fq²\q®So¸Zq­Qn«Yp§cjªSr³b{«ct©kwª`ƒ[šM„ Lƒ[~š]–^†“W‡¥U­P¡OŽªL§O‚ QŠ¥Qy«F®Q}¯@~­Kz­Hz´@~¤1ƒ¦9ž6”ž9–Ž+—8˜“<•9›…1’„0Ž6 }3™…@ª},«ƒ0£v)©l"˜z" Œ/ƒ:“yA–€CšŠS‰ƒQ—’E•—K’RŒ…YƒN…ˆM~€JŠƒZŠsO–]¢}b•‡V•ƒ^‚a‹ƒ[Žhœƒ^št‘xŠo•|n…y|ƒv…•}~š~ržrtxw{w†~}ˆm{’i’c„iy“h~Œ^nˆ[c•`r]cƒ[\ƒZZ~`ZzTh[f|Q]€aX€Zg}_g€e^‚f\w]_xc`{\^ZfvdcŠlq…bo‹v=KN@KQ?=J9@TF9W:JRJIVIJUMANLLOWIQ\JLcEGKN5HS2OFCMTETIINJISOC\G7WX?aZIVUHaDRiKFnSQjSMn[R{cWpYSwdTˆ[O`PZW†_TŽa]}rZ€tawj]qg]zj]ol[|b[yrb\_at‚eazbe}hd|eguet}w{€xtŠthŠrf„|o€‚u†r|‡u‚w|}‚~y’~j~“{y‘t|’xt†kl™mo‹esŽks€puvvrqyrym~x{„oƒezc‚‹[z’Y~“a‚Ž[‡“cˆŽk–q•”a–Œf“`£–c¢›\®’X­‘Y±˜b°“Y¯ŽP¦†XšˆI¦‚Y«U©M«ˆH«ˆOª‘GŸŽU¡Ÿ^˜œS‘‹U“˜Vš’Y—™a•’fˆa›‘U‹P‘\“]… Tˆ‘N‘—VˆŠPŠŽX|“H™Fu—USo§Uw R|¤Vy UxŸSx O{Uu¥Xy bx«cl¥cp¥hq¡ht¥Vw¤^r©fr©le§sk£j^¡[m­Xj¯^q©bg·\o¤Wr©dl¡hn¨cqªarª\~š_‚—Z‚–c~ S‚¦ZyšS†¦I¢G…˜N„–N›DªCŒ£L}¥A}ªžƒ=’†?‘6¡ƒ0¡~+›v$¡j(¤{'”s%p.‡x2vDœ}E˜zG‰‚?”„P’„M‡ˆVˆ}_‚xR…yT‡}Tvcl^ŽiP™{Q—tZ”‚b„qeŽ{eY—‰eŒd•„q—xt’wl‹z|‹„~‚‰w~Œu…€p~v„|zŠy‹ƒr€ƒq‰‰qƒgkinjh‡ts•ii‹hf‹\d~[q~_hsWeuQa\cr]es^gpWVxdYn\euqaujXnoUox`usivuu‚mCDV7KQBGX>=YI9ZDENAFKOAOIGDNBDZHGYEASIFOO;UM8MNBLE;ZHAaA8VI@^IM\QHfSFaKMdPKiMWkXMj\ToSNmYU~\W‚gU}i_‚aW|e`‚c_‚sf€rf†ogzn_ty[lu[mr`oqcnih|enwfcwdf€_g„hxykp}xv{|sŠ{lpkƒvr†|s‚wxz{yu…‰{‚Œw‡ryzx“r{tvol’qk‹ok‚no†jtplƒutyx€w†x}„z€w‰g†g…l‰‡a†…l…‰iŒ‚q‹g’‘^“fš—qŸœk£œ]¤•_¡šd©`¥‹X¡‡MžˆDžŠJ¡ˆH¬„O¯‰D«‡E¯†Eª”J¢™H¡˜P™œH–˜MŒ“T’šYV“ŠdŒU’˜Q˜œK••Q“O™R›LŽ‘V…ŽK‰ŽKI‚›My˜Tw Pt¢YrSp—Pt—X‚™P~¤Vy§_o°\t°mr±nr°mk¥poŸjt¨do­bk¥^g ad©kc¨`\¥`h¬gh±fn®cm¬cj©dm¨h|£jy¥a€ªlw«hu°e€¤b}_| [€ŸP€¤KxŸNw™Fz˜G…›LŸA‰«Gƒ«={:x¡9y¤<}š2›/€™7z›4y=t–9sŽ4~‰1|•7’8ˆŽ8™Œ<™ŠC•„A›~<šƒ8•:œƒ/—s5¡p)™s$™v.˜z;‘t@–{C˜zE“{IC”yCM‚Y\z_|}[†x]„r]ŠwU‘mV“oV”v^•w]ŠtdŽ}]’aŒ~d‹j”xu—vr“xxŒ}o…|‹„xˆƒ}…†|Š€~ˆ€|ŒŒz€Žr|’|ƒ‹y{qrmjkkŠuj„le‹lc‹fl€amtdlu[es^k|]i€ek|[`^`q``vgZkranuYmsgo|djymqng|o?BV6DWDIW?FYO>UHFRCAQD>UQ>DMB>PCDUKJ[KKLREWGFJCKLTFWJGTHNYAKRPF]^Qd]UaXMZY[bUZmc]hfRvdVyY]uWV…bU‚Z\v\dv]eu_^wfn}hs}ngva_{gbuudyjmzqnvikycg~al}nrwgrzilurx}~xuxp~~iurztdw|n~‡s„ƒot|Œ€{—€‹yqt“p…—nrŽnz™`y‹nu‰cqˆk{†eokqv{}osƒ{y}yvŠzy~jŒd{^ya}‚mw†iƒc‹i•h†‘oššs™sŸ–n¡‡d¡ˆc ~h¤ŠS®‰[¦ƒS˜ƒC¦‡Q´‰L£‚P±ŒF„L¨‰I’TšŒX™—K–ŠM‘\˜“a…•_ƒ‘Z†‹S†‘L‡‹R‘Y’—\•]ˆQ‹X…“X‘’B„‹R€’G|ŽCv—It–Hp ]xžRpž`t¤Lx¥QRp©et£lt¯ht¬kpœrvŸcz±cp¬Xa®W`¬\]¦qa«`džjb°ep¨ti¬ok£hpª`h¤lt¡ipŸft¦cg¥d{«k}§hs˜Zy˜O‚¤Z}œU—Uw‘P}˜F{œK†ªE…¥K‰ªB}¤K¡=x¤FxœGy•;‡˜7„¡0zœ?{ ?r†2‡0ƒ„7„†B–“@œ‰>—“<ŒF—|=˜‰3œx0 +§v$¨t£q-q%žu/’q;y?’{6›x<Œ{D‹~;‹…C„‚Oyr[w]ˆrd…rTySnU‡rR”qYŽ{a‹zYŒ]”ƒl™vj’~gŽ{n‰ro|uŽst…h‘|n‹}Ž„–z‚ˆ‚€‹y|‡†~Š}Œ‰{‡ˆ{ƒ~q}~l{yq{†vi‚mfŒioŒok‹ih}[sx`dyghveqq`p{W_n^c€W_xn[epZhpbsklo{c|‚syriƒp=MYIQ>LE4VI;QQ=DY?H`GS^GP[FOWIKMLAJHCTHE]VRXUOXFIYKTY[NVe\\cXYZbb_]`h`ie]m]U€ZV„UV†\T‚b_yhhqjjw\ekcbn^nuemtdhuj`vlermm{gu{nmqoprjvthpyqisjmvsn}x}wxxm€rv{n|~ep}`t‰l{Œw}}qv{’xwš‚y …{¡y„“sz”b~•czdray{fr…c|‚k{ws|uzƒp{vwytz|x‰l}az„f}`z€i‹ƒnsŽq‡—k‹“s”l›‰oŠe |h¥{a¢V©zZxK ‡I­D¯O£’S§ŠW¤Mš€HšˆPŸƒXއS‡T‡’SŒ“]”f„‡]Ž\‰–V‚‹S‰‰XˆˆTއV—ƒV”Œd‰TŠ”J‹M|‰C|ˆL}’G~›Gv—XsŸ_x•Ws–\{¢O~ŸUxž`k¡ek›ij¢hg iq¦a~¨Ws®Th«]i§fa´g_¦rn§nv£un¦sx›rr¡or§ga§ci™Zh–`ošff£fug¥_¥Ru˜N~˜Xy“Yy•TPx’Ax¢=¡C‡¨?€©NƒªL|œDŸH€‘B‚‘H‚•Iœ8}“9w˜<„F€‚?ˆƒ5’„;™‹?‘Ž>•Š<‹;’ˆ5¢~9¨q5žp(Ÿm$žoœp&—l&žn)l8”t7{4Œu8’y6˜q6•zDˆsQ|oZ„nXŠwbs[†wYƒwa‡z^”qS’xW—{fŠe’}n˜wg‘tjŽu‡sprršvl˜„j—Žk’}š‰ƒ˜}‡~z„sq„zy’‡xŽˆ~ˆ€yzzxq~„xƒ„p}…jq~mwryŽgqdn„_nxbjtehmXdpV^pY`~WiwYcnljlt`zpd€wr}yowv‡kOKmŽ?|ƒB|ˆBƒ„?Šƒ8”€4‹‡AŽ“=‰ˆ0~2œu1§~/¢z,£o"¦kœo"©m. r5—o0’m5˜z-šy<™v.~FŽ}LŠyL~h_‚x\‚xXƒvW‘q]vVyf„`‰zV‹z\’wa‘sg˜vs•xf€r‹tlk—yk“‡nžˆv•Š~v˜x}™~n‡xum’‡q‰v|~~„}xwƒzvŽ€nvuƒ‚nƒˆbxetgs‡bm}gvpnjqWry`iwQcvTgu]ithr|ae…nkzo{…q€ˆ||„p=EiDBhQIiRSXVUUYONPM\WHYSLR\BYcJX[Ja]Mh]S^\W\ONLTIKdJNkZLeXS^]RaUYg_Ueg\scNqYNvTJw\TucZp\en[m|XdnS^p[^pXly_lrWrw_mrbxj`yrSypWsqWp€`s{ay‡bwŠhw{ht{h{yprtt|mqtxrkurplspr}gl|pv||{~~t‰ƒo†p„{€~ˆ q‰¥mŽ™ii‚†p…lˆnƒƒmz~utzm‚uq‚wsw‚{uˆ‚pŒˆo‡‹z‹‚z„ƒr€}jƒ…gzgƒ€q|…h†p‡—eˆ‘i‡dn”}h›t]œ|T¢sS¥~L›€Q—Pž‹Y£R ‹I“†I~M†O”}Q—‰Y’‹e‰^„c„Œ[ŠW’‹^ˆ†_€€V‰„]‡„[‰^Š™fš`‡a˜X‘™Lƒ‹MyŠP|‘G{–Ow–QvSr“Vl‘LtQuMlŠWp–`e–jk›he£^d¡ct¬Yo¨Xo¯dmµhj«^t®eu°[|±bs¨lu«ao¢cs“be“n_‹t]‹nj™ei˜^g–ei•\ray—Tx”Y|Z{—P~–O…–N‹‘N†–K‡žBƒ›B¡D¦Hx¢L€’?z:xŽ:vŒ„Œ?ˆ‹B‹…;™‹<•Š5“Š/¡|4¢y5«{.¯)ªs§k'«s4¤u/g5–i-–u/˜u96ŽyJŠ}PzO†qWŽrZ…t]‘maŒn\…{[†^‡z_‡}d‚{hŒv`€c“pŒucŽqgŒtn‹vmŽxp”{yx™‚|£‚›v}’wt”wm‘wj‡‚mˆ}nƒ}t€ys‰rŠzsƒt†{qƒ‹hzŽ\ŒY~}fzth}xgv~iov]k~^p{\q]r}ZzˆgrŠcvls‚Žs„z:EqMDlGQaWVV`VUZJ[[O`PQXMD_YM_SQ[cWc^NY]UU]QX\S\VRXb\P[X]g\XcfUeYTc_SfmdvicifS{\Y„\Nti`pelzf\‰\`€YfmV\uVdl[qkbun\}o^|rX{kUpv]s|cq„aoub|~c}€pk~pj|mrskktqompmjopvu|k€zhvv|yx€rz{uƒˆp‰q„œpŠž~ŒŸ{”o„•m“jˆ‘m‚dyixwtr~stˆyi€}hwvpq…wv‘{x‡|Ž’v‹Šp€{~v‹i‚‰r}„h~p€r€„s‡‹v|‚k„…q“~oŠth–zf•s[˜u[•y\–ƒV‘\˜c‰ƒY“E“~DŒuO„|QŠ…Mc‹‹k‚}Y’a„]]€Œ`ˆ‰]„^†P†…a‚†VŽŽV–“bŽQŽV‰O‡…HxŽCy˜@{™EvL{Lz‘Lx‡O€NwŒOu’Q_“dh^dšjf¡Yx©Wr°[{«b~©_u±Zo£bs°R}¥\n¤\{dp¡m{œhk›km“lhŒlg†bnhf—bb’Sm‰Os†Uv“IpŒJŽ\t–UŽP…ŒNŒRCŽœMˆ–Kƒ @uE”N~Jxƒ9|ˆAwBu…:}{/}‡=Š‚=‹…@†J…~?Œ‚8‘{C“y2Ÿv8¤j0 o.®p7ªl ´w¥d®g&­`(Ÿl3“g4Ÿt9›t1š…7›zJtMyR”nN‹nVzW‰~`ƒpSu]‹{W–€R“‚\‹ud•yX‰ri~c…xdƒonŽxg‹ml”soŸˆ{”†sŒqšz{¢{o’tw¤tj—tv‹qpssƒsp‚uxqqƒrt‚l†|mŒul~‚_ug}c|‡m|gƒ|govirwal…jxŠanzfuzdu‹`s‹^{}b}‹m|‡rކƒ‘Mt‹Mk†Oj•Te—QyœVu«Z‚¬Qƒ]}¦Zz¢ay¢Zn£\uœ\všgyap•ct¢Z{šf{Ÿov—iqbp–\v’gx”aw‹ZwŠ^pŒMuIq„RpStƒVƒ[zT…—Jz˜D|œ;q2n6uƒ>uEx…O~„I‚ƒ8‰„4x7{BŽpI”oFwG‡jJ‹w>Œ{>–r6™l9¦o(Ÿl4®e6­r/±a$¸d½g²m¨Y$¦[4–],¢iA—{B’xD’wF‘sB•pG›wS}MyT†€L”~J™RŠuMŽuTiVŽkXˆs^Œl_‡ua–tf‰}j•xk€u›†|Žp™‰qŸ„pˆq~m£sx˜‚o¢zt–nl™tgŠyf‡eŠxjˆ€fŽzj“…h€Š\…Šd‰Ž`Œz^|†b‰|c‚jwŒc}†efv‹js‹pu†mv‰r‡l~a€‰jzYH`XJgSVpWUjQ`bV[k_il^fuYpoZis_gvS[lRcbY]iT^rUZiXWqVen^rn`neotgpxaoz_~q`}gYzcV}hU}fa}d^†_bƒXfƒ^s~SvzXqtasob|ubzq]zsVxo\{rY‚we‚lZ{l`yy`{zio{mj}wmsznv‚mq‰iq€izŒir†rzˆup†ur‡‚t‚ƒt~ƒŒ|„ˆr‡•u’w…œ}}‰y}†~z~s‡…r„Šj„€`„€gupjyinpysv€rq{kz‚tsywˆ|Žˆ{„v„‚~}ˆ~ƒŠ‡yŠ€pŽ…x‰x{‹xv}zz~z‚p‚zk~‚^‘|f“x^Œx^…ka†iasSƒwWxpQttPvs]r^zx^}vSsuWxo_vt]wzh{ˆas_y‡[‚XWˆJ‰”LŒY„T‹‰IˆŽFƒŽD†?Ž—:‡‘FŒ‘<„–?}‰MzI‰CA†ŽP}ˆOtƒMf‹NlMr˜ZqŸZv¡YyVyšcs›hp§[u™W}”c€[x“azšZ{•d~˜_s–il“at’^}Š`z‹gz•k|is‚_{€WuT„Pw|Ms‚Z|Rw•NrœIy˜KoJu“9s…Au…’‚K”v:•x:”vAˆoJ…kEyB—v;›f6žm*¢h- k+£v,¥f&·g*°n"µi²h#¥`*Ÿd%¬\+¢\;g<št:r;ŽqIoD‘tAŸ}FšƒF‘‡I‹zIŠxK˜sY‘pW˜ggžs`“tq“wv‹rt‹nf›lŸwi›ƒzœ{qž|u¢ƒ|¢m¢‡u¢…o¢{~²~s°tl£|jšzh™‚pœešzj‚]“x[ž|`“^”Œ^ˆj‰uh…m~]’h’ˆi‡†l‹„k††n‡Œf€|j€‰lŒ`Œ‹k–‚h‹wTV~Q]wQ^uZfzekwafthd|_n„fcwdfoeUv^TtU^kVacQjdOhgbhrgmmloq_ske|`n|fjsqsknremtii‚rsƒxu~hi…dl‡_i‡Yn€V|yX|pSznSzt`~xgrhpwcovdvz[n]„pk{upvqqz|jv€p~„myˆr„Žn}lk“gj…ru‘lr‘uu‹}jŽsˆ‰o‚ˆsŽx|Œj…i‹qŒw†Šlˆ‹i…‚n‚k…‡pƒ€ozvp~vyuuuwywz|ƒ…v‡ƒ’}‡~ƒw„‹px„vx€x‡|y…}}xx€uv‚owŠorzz‚}|ukxp`um\‚kd}le‚~Zs|NqoOvoFs}M~nI|pPzsZr~Vrw]vmWwpRnyXwƒQy‚PwŒW€‰WƒƒT€‡Lr‰EuŒJqMm’RxŠPvRz|R†€K…’E‹“9y˜yŠA“DxŒGs†Fx‘Cm‰BrŒKmKr–Px‰UyŠ[wœdtŸ^u¡[y›T}¢St¢Ov•R{™Sy[€‹a”cƒo~Œg‚’p{ft‰j}`‡aˆ}h~nc‡|i„…b}‡^q‡Y}N€RxˆSrŠPz’Q|C~Eu?{x>yHy~T…ƒT‚S‚„Iƒ?‰r@„w?{J“rIŽzB˜y@™k:”x7”w&l*¨l¢s+¨i*¬e#¯`!®^#¯_1¤^9ªj2Ÿg8¢`A—d<œoA’vI™oF”|?—~H˜‚R‘†M”RtZ‘p\šr]›khnitv‘mtliŽso—qhyqœuvœxr—~|¢x¦ƒ|‹p©yq«xo¥qf­ue£pi¨qq¡tnš‚r„f¡xb£rd›zf¡†bœ„[“…_ˆ{i‘tcŒqf‹|hŽ…e’cˆo{p…~l~zl„c‘‚p’€nˆ|qŒˆrQIY[[a}Zc‰Zl~Zs€`ez`d^l\coZ^yi[nbfifcsQdhLkfSer_htkrvfylcwml|tqxlxko€xf|xgss„€}‡m|qpcu|aysRuxU„qT€nZxqVp[|}ZtoglsXt€a{wh†pwtm~lsttrry~tm~jjŽuu’t|wt†kxƒ~gˆtjwq’i‰{g‡ƒiy~d{…t„Šr‹kŠ„d‹mˆq€j‹‡m…cˆ}q{u|}t‚€w…w€~ƒ}r…{„‹}‚…€{…}…z}oz{py~ˆowƒzwyoxstˆw|xƒwƒ~ttm~v^|ocˆn^tsZtpX}~]ryLrrRwwHmvJ~mMutVj}UopUy|]wkYhxYz~Tt€Wv€OwIz‚Jz~Tv}DpŠDo„Ro‘\l‰Lt‹G}ˆEz{F‹€<„’@‡”A‚7rŒCx‹@wˆNw—Fp‡Pk“IsIrŽQv‘Ps‘PmSqƒ\jŽ`lŽUqPvŸU|žJu¢O‚”Jˆ•OŠ`~ˆc{e‹›i|˜r„iz_q…gyˆ[xƒi|pfŠpiŒvc†ƒl~ƒXt†Sz`‚ƒ\|YqŽTvŒY„Pƒ‚G†w=ˆw@…HyLƒ‚L{…U~O‹yPyN„vJ„T‹wOœDŸs=’n-Ÿz/šo*—j,ªt(Ÿi-¬f'¦k.¡j)°]1«c9ªn:°l6Ÿ^;£[H›jE—o;™eK“tK“nU¡zG H¢N‚LŽsM›r[‘pe”wo•mg˜mršqqžsj™{w›ut•vo£vŸ}z§†ƒ ž‹r¢‚yªƒp¤}w°tc¦€m¨qj§mq¡yk¡Œzª}q |k§wc¦€kž‚f•‚g”yeŠ|iŒwh‹re–yf_‰kŽˆk‘xg…}rŽ€sŒ~nwmŒ…hš…xŠo\X}eO„ja‡jh†lg~do„ao€\gƒ]]‚[Z}eaxdbsljwheqbmhXigZugZptfk|ksrtwuu~qrxu{ysynˆzlˆƒsƒ{y~x~tu€cwzawuV}pS„nS‰zX„x\{w_ux[poaup[v}d}|duws~sskltcpgkzkk†qj‹pvƒp}Šx~|w…xxŽpj’jd—vaŒ|]Œ{f€„^~†b‹b~j”‡dކh“‚l•‚h‹Šm‰ƒcˆ~k{nx||x‚ƒŠ…ƒ‚{Œ}…ƒ|€„y}‡‰†|…zvvysvtooq’wqˆx|…vq}yt†uy{zy„{vqk‡s\|mYnl^mq_wvasxUl|TsyHpqOupHojKsrVyy^oy\ezcio]sq^xtPxvRs}Gy{Mw{Pr„Vg€J^‰WfŠUo“YkŒLn†D~IŒ‡M‡ˆB‚ƒ8}>yCz•Iu—Rn”MfˆNlŒSoˆMj„Ot€Mu|Iw~Pm„PbWh‰SpŽKs•Tt¢YtžLv™S„•T}b~‘b‹–q‡™nˆ–c~g}‚`s€]ruXwaŠxfˆn]„kh‚sf€xj„Š\}^w‡_u‚]|d€†e…†\‹}SŠtE‹nN‰wS…N}‚Tz‹J†ŠM‚S‡OŠ}V”„O•‚S›zE p6–r0u)–t0‘o4œk)¥r%¦p"¨l$žp0žn.¨h0£fB¯mB§lB£aEža@_AŸbB›iPœoZœmT›oM¢zD¥‚CœxQ‘w^–|i›tlwr˜pnst™j~n”}sœ~}•‰‚šˆ˜‹¥Šƒ¢Žy¡„}£y§‰m¢ƒn§{g¨g¥xo¨‡n¨„v¤‡m¦€n¡m«ƒa¢‚kŸzg’wk–n`‘rX›q_¤v[›gž~l—}jœ„w~rwmsl‹s“{r„v—ƒv^T}kS…qU}qbz^a‹[j„dp†hk†ae…[\}cathrvohnfmkbnoghq]qkipwmvxjz}fyyry€y|ƒxv€y}~„}z~z}|wytoƒxe‚yd„{c…{\‚v\„{c‡}ayx[xpZmxkvya{b}oyznx~krlpqwqnm€nvss€wyx{”nvŽt{ws•eiŒgg†to‘xo„zf‡€e‹ƒjƒv_“‰^ˆ~c‰l‘ŒfƒŠn‘iˆƒcyb„yo{†t|xƒ‰}~Šy‹ˆ‚|u‡†{Ž{ƒ†z‰}pr{‹pyurvuˆm~ˆw}ztt€}qpi„|kzro‚dg~ijtoWgq_fpPp|WxyNn„Nq~LhyOihDooKukVjoXou\jn[j{Tq{IytFj|RnuLyvI|{Pr~EfuQ]ƒQZ‡Kf„Hl~To…N‰€Ay‚G€ˆMy†HpEx–Ip‰LxQm’Um“Om“Xb~IqHn†RrtHsRo„Qh„PvŽWo‘To˜MyŸKr‘Oz‘X‡ZbŠ”gŽžd‰’h€œmˆ’g…†d|v[ƒb…tetiƒ{f†miws`}ƒVƒ„Q„„]x‚j~fy‚\ˆ[‚„Z„L‡tD‰}R…s\{{M|yP†N†‰K†ˆO‘‚G†~RˆƒQ”}H F™oA‘y;l-Ÿu*—t&Ÿt&©h&±s)¤y%¢z'£v.«a6¡m4°aH¦m>œb<žeB•h9£nJ£kSšlOœrP›tDžtKœL–~P”~[—xi•€fŒpkŒ|fžrxi‘~o•o¥uŸƒ„”‹‡¤‡†­ˆ¢†‹«~‚£‚t£Œs«‡n£rf¡j™vi¢‚o¯|g©|p¬ƒ`¤‡`¥Š` uk§tpŸ{i¡h\–ih¨s[©{c¥wn¢xqzvwgŒ‡mŽ€r“tp“ƒh˜…xŽ}w“zvm`ƒl^Šj^gY`fƒclƒbk~ehˆf_Žce‚ee|qt{jl{mrkaxgdlpantkwx^xz`|aˆl„‡h‰pu}|~‡~„…u}ƒw†{x…‚qykk†tdƒ{b~toŠrkˆub~ld~s\z}Zrvftl‚xi€|rƒyivvyszyr{yykuzos}zzp}k„jsŒkn‘in”pjfm‘qm{uˆzk‡xwŠ|q†zjއaŠ…f^…m‚˜s’q…„i‰€i€{kq~j‚jr„{y{}}‚‚†|…Šwzxx€{z~}{s‚psnoƒpu~|n}{g{qexkmzwnsthkyidqhefsXe|QpuVu}UvƒNl‚JfySkmKkpKnp[ryVt{\rwNtvJo€Gh{Jj|OtnM}xFxtBkvNbwKhwN_†JiMiqWz{I‚w>t˜h?”fHŸeD˜q>œsIžtI¦pG›zNšzRœwb–d˜€Z“y`re“urv–†mŸ„pŸ€v˜x}˜|~¤Œ‹§ŒŽ¬†¦ˆ„©}€ž}w¢ƒz£zt¥‡{š…p¨ym§~b €j¨‚a«„[©dª|nsj x]£s[¤wY¤id¬wp¨tm¥lo˜ls“mq“g™~q’€pˆu˜ƒt•v~˜x|cS}g`~scjV‹mZŒkc~bd„lp„ld‚imwlonmvrss‚vd}piqspxr`‰~d…_‡Œ[€gƒ’j‹‚m{ˆq}€n‘‹m‰†q~|yrs}n}|f}soƒwn‰uguoƒlh„uj…tb„k_vyb|ui}xlzyftvm}tw}qlvfyyyy{sux|Šh‚fw‹uv’sm‡mo’rl‰lo–ym”s‘|p’zw•€c„\‰cŽŽb‰‹hƒ‘gˆ•uƒk{n€ƒcryo}w_~}iwwt€~wz~}{…‚{ˆ‚ƒŒ~t|{}~w€vr†ro†oo{vx~wevpgrtqephdimkgotfrvjixYdXrVq]e†Ll„OpRnvDlmKqv]uoSvyYxxOpyPq|VdqGpsKnkSo{Srv=ouA`rFgFgwWetLhiLloS|~A~~;q€Iu‹CoŒAo†CwCv†Cd”EkŒIrˆXp„Mk‚Ru{QtˆTz†Pv„J€~Mv~OƒSySˆV‘\„T‹SŒ^’Y‘Ž_”–b’†g†€cf…qe‘{jss€{b{nˆpdxukszWx~_uƒd{{d~}ezzb„t^…v\‡xUzrMˆoJxwM…V~rMtK‰xSxE”sMp@ŽmD–lHsCœ}Kœu@žwA¢t1¢x5±m(¶s-·i:¯g1§u4§q4§j:¢`?­hI§gF¤mB jCžfB›oAŸfE”qM¢tN›|F¨~P¢wU¡|W“xY”€c•€[•‚]†o–€w‘k„r™y’ƒszv–„s˜~‰¤‚Ÿ‚€¥†ƒ£ztª|}¦{v Œn˜ƒqš~c ƒ[ª‰Y¦ƒi¤}i©‰c¯tp¤ro®€^²€]®}]§ijni¡kk¤jn£nq•}mŸƒhž‚qŸwh ‡q—}w•‚–z‡lSƒmZ€oZ~oZ…kVƒm^‰ujˆri‚um‚yjzym€xrzn}|o€ul„rrƒ{n~|_‰}Yƒ}aŠŒjb”d‹Ži…‰b…loˆ~t…q‚tswvxywn}‚v|x~tw„np‰loˆmg„ndŠphƒjjƒl_|wc…sd|dysf}sh}psxmqo{xtsyh|†lƒ‰rv€„mx‰qq“tm“€p‚k–€l–xl–€h“ƒc‰_•ˆ^‘‘l‹l†‡rˆnƒ†g~h|hsˆbtfw…ps~~r}ƒv„ˆ……z“„xŒwv‰‚qƒ~z~}sƒ}iqc‡ti‚mtƒporeiyjcnsnjnrplwmgs_j~ej€^_‚Wc€\`ŠRi„Qj}Lt~KqzStzPk~LowVvq\ryTk}VasPeoYdwSguSe|Hf~E^vM_tM]pTkiQqpOmlRutFps<{x=}„AvŠG~“Eu’Ir‡?kˆBp‡F{N~…GxˆOu†Iu†SsˆW‚~I|€D…ˆC|Q‡P‚`Žb‘Œf‰ˆ`„dŽ]˜ˆeŠe}hŠxgŠye“toŠuvˆlrŒnjseyt_|niydxzbwyj‚|m{}e|qhuxfvp[th_€oR{rPymV€tP‚uQ|{T„vS•|T”uEžzE™n>’yG–vHsM•nC£o:£p8°n>±y6¬r>°p4¬u:¢h<©l8¤e2©c?«f<¥^E¦gD¬lD¤h;§p:™iD”mA–zJ ‚N›{K sRyX˜}XŒYa“‡c‘‚g–ˆt‘k‹lŒ‡l‘Šy‹ww’Š†š……’ƒ…™…„ª„}©€v…|›r•‘q l¨„aŸˆbš‡j…b¬…^ª„f¥}b©{j­xm³€j©vl©v`¡j[ n[šh[mh™|h¦}mªxqŸ}n§yj¥zt§z|ž}€lW‚gN…pTŒjctd€n_glgg‹kr‹xnˆlxvxsw{uzh…€k~‚a‰‚k†g‡Žq‘‰l†“j}˜b€†h~‘q…i‘w~€l‚xz…‚tvyswtm‡~xŠu~{kw|qu…nk{zcxmr‚mk„lnzfswmcidrsdzsq{{vvnrsoulpt{qs~n€i|}uu~qƒks†{{e•‡g‘…n‘|cš‡k‘h“ŒfŠ‹]Œƒb†‹w‚lˆŽrˆŠp|Œ_‡|clx‡iq…hƒtzuƒˆƒˆ~„•‚t—nt’vqzv{~o‡wj†yr|mdwdtylmbilbiteinjsnpr^fmeivai}S[x[`ˆSg~^_zNlqZi}KjP~qDk{Kp|^evRk{PdMbwPexOfqPgpJh|?^w@[qHcwR[oMbqMlnSnzNi~?o|CxzLnvExzRn‚DsEi‚Me}Mp€E|ŠIu…JvRvƒTp„Sr{TzG|‡N}J}O~‚Nˆ~T’{iŒ‹W…‚a’„Xˆƒ_”~g‹ˆl_‰}_“mrve“grjoŠnh}ro~{f}lbp_o{U{ob‹sj„sa~k]€s^zia‡s\‚eQ†uO~rJŒqImCŠsQ|lKsNšoF—kO p¦e7¬iC¨b:§iG£nEŸiB£kF˜@•{B¥qV£zN£~TštW”ˆW•‚_›|a †t‘q–€{„~˜ƒy•„Š…rˆvqšˆ‚š~{‘‡ƒ¦u¤ƒvŸ{€Ÿ‡m¢€i•ˆe¥Š^›€m£g¡‰a•{g§‚m¦€a¥vl­vq£ta¥|h³v[°}Yªq^¡qi¡ej¦ma™nc«yeŸqg£v˜rq™p}£{€v†kOeQ’oVje„sg}qhtf‚lr‰jthxˆhwnw{x€r†zuˆg†„i„f†ˆf‰ƒqˆˆrˆŽm{Žpx•p€Žs‘pˆ‹{~ty€t|‡x‰€Šwp‡o|ƒnv†mwxjmvtg~vn}vo~wnrj‹gujvƒeuvhzv{qyuk€xtvyltuqu}rxx„jw†gv|fxˆsz…uq…vwƒq˜|bšƒ^–Žk—Œo˜Žk—”aƒeŽi‡‚pŠ‘qˆ‘k‚ƒgŽ‹dˆˆqƒ‰pyo~Œn‚{mŒ}‚“„v™yz™s€tu“xz”|yƒ{o€km‰okwfeurmsrltlgk_npdkx^woivcqv\dwRaqWXR]‚V[tRaqV_s\krYiyUvvIzmUpqWmoVfwG]rJYyV`~Z`vPkt?ms?`z>]zF^hG_cKfgU^{XdwTjvHd~UozTzvQwyT€zVxƒOx}NpXm€Zx…O€yR|wNsyRtwVvMy„H}ˆB€ƒMqtKquM}…Sˆƒ`~S„ˆT„‹O‰‚U„wbthƒlo‰peŽjf‘il’j^‹u`‡na‡wm}nn{tazl^vrU…pX‚rZrnbsvc~w]€l^dW‹eTˆoHŠrG”xI‘uDˆoI…iJbP’jW“bMšfF˜kNšuIŸv@˜q;™c9œe?¬]/®d-®h4¶i=¾g4µo8°l9žh7®k;®a6£i7¡d6žk7fC—pCŸmM—mCŸtD¨mR eQ§lR§vZ¯pb¥u]¥~e™xb“|qƒz¦z{¤uƒžz‹z‚wv{w‹{€‚¡¤€s¥w£{}¢Šw›e¡‹cŸ€a©Šc¬…l}hœ~o˜woœzdªrl¯nj¦y^žxa±zf³w]§jlœlo¦qt¡okžtf¤hmjo¢tw qwt{’zŽ{}mXŽnY”fXifrh‡mo„ft†or„ft‹`zi~‰mozsyˆdwŒp‚}r„}j†„e‚}j}Šz€uuŽxrˆlt—t}œp“dˆŽry†hw~mu‚|‡xsˆqm~jvˆjq‚wxhstpjquexpuƒvoŒpw‰pzkq€m~{pqvurz}wsrr|{sly|jw}pyxlvƒrz€u~vvŒmˆvy‚†u–ˆi“~`‰hš“fš‘g—k™‹fœfŽ’oŒf–o„‚gˆgŒh‘uƒ‘|ƒƒ{~‡ƒ‘~{œƒqš€y—zxmn•pr‘l~Œml€nj~^fw`pqerzitl`ojktlf|z_xxiwjqck|gk‚\]~^f|WjƒVf[fuaryXm~Mx}UqxTf|QdoRYrE[yM_{NXuUk|DkxHtmH_uJhFelVigTZrPQ~KY‚Mj{LauPlVysRtItrWluVo€Ovx`r|MxƒS‚IzzU†xZ„|Xt[{…TvN~†RtpXyzX~rNw€Q|…VŠvZŠ}ZsbƒmZˆi]„rWyxU†uiŠoaŒri‡t]v[„nq„~l|l_}{^~^{rPˆ}R€pOzu]}kY{nP‰nW]O–cSŽeE‰vMŠsM”kDŒjIŠjLcWŸgR¥iO¢cH§l<£d9œf2©n4¬q9«b6­n7¯g7¸i<¶lAµo9²a4£c:¥_/¨]@¢a=¯[:¦b4eAŸbJ¢_K¨gN«nG£fJ¦fY«qV¯mN¨u`«h\¥kd¥p`ª~w¡w‚¢w‚tˆ£s€ ~zzš||’xx–y€žz‚ž}x£€ž„s Œ} Œi§i~`yl¥Šn¤ym¦xmšsdžmd©pe­mm£u]gb¤ig²xi«vj›lj§erŸlk¤rqœqz wq¨x›s|–w|—„wŒ€‚_c˜eaŸv`˜u]”gjœie˜usoxŠg‚d‰n}ˆlr‡aoŠfvŽh…oŒ†sŒƒk}gxƒr|…w}„tt‡n‚”q€šrt”ex‰h|…m€„k„ysy}o~‰px…vs‰pvƒxlrsoqll~ug{qm|po‹h{Šqxtszj{tm{wrnvnsxwrqyrr~pxwy{vq€{w|wvŠvrŠos‰|v‡ƒy˜l™‰a˜•^Œ^˜`”Œg•’\š‰[£‘c ”nœg–m”‘m†˜nˆy‡‡|Ž}‚‹x{™rœ„t |rŸwtšrv”f|Šks‰lq„gs|`w‚dn|mrwersljvequd}|czvpukmk`|]d†]`|]azYc„cjbmsfru[u€NqOgIgvQZzP[yIWoK[uMYwKdwBoxEjoKbpMcwVhrOakQ[oMTvK^yJ\Rk}TpsLtzK}qMruPowLfq\k{ZxvXz€T}wTyL‚~O‡}Y|ƒS‚yZz^~|Ty|PvoTulLrrMrmYuZh^k]vlb~nY„iPzqTŠtYˆla|kXj_„njzvcwxd~s\‡qWˆzZ‰~Nˆ{O†|M|tQ…oTiL†`G‘aKŽ_M”iBšdI”pG™eR•]U˜ZX’]X‘\Už[J¥[I¤g:¦f0©b-¢f,ªm5°j5°s7»v-µk4¶j9¬b:§_:¨Y0ªd>£e;­h4¯`2¯d;§Y8ŸYB§bI²bU±lT©mZ¬cO§iR²cS¨__¯j`µtg­po¦x~¢rœn„›z„£~„¡v|—}“}z–us’y{ž€vŸwy£‚r£„zªˆx®‚x¦‡q©ƒb ‚b¡o§uw¤os¦jd¤mf¢tf¦ll¦dc«e^´l`«re¬ri«`eªbb `mšoršnw›hr¤pvœ€}”~y|s€}gdŸr]¨mhšr\›q_š`j‹qo“hz†ip’ntmolo‡hu‚q{ˆu„x‡Ždˆm‡q€gŠ€m„}vŽuw”mšfƒ›l„‡aƒc~ynw…hy~nz{ts‚ou‚ssŠsq~nvvyq|nawnkzjk‘duŽqx€itycqubvxiwvxvwqqwwk{xqy|vxqyjx€o…ƒr‹opŠli‹qo“qšŠgމj”‹V’‹^š‰Y˜Š_™‰`^–aœ‘f™”k––h‹ŸsЧl…o“ˆ|ƒ‡{z™u”}–qsšz| h‘lpb€gx‡a}}hvynp~_wokzjemtgl€c}nnqhp}fk€nd€di‹kb€gd€Xn|gr|gjqbwz`t€Nh~KgxI_oJhpPYuUVzOasSWjN_u?jsMjqIhjJgkRYiQdvN]nHUvLYM]vJ_|ThmSmnJ}lHyxHmvJz~St|Y}~NƒzUsxN}vS{W„sV|tS‚rYwnY}t\yf]~v^ygUn]~ocxndzqf‚cdƒkc…iUxr[vqX{aalbgdm\‚{auvp|u^tja€zQˆrSŠ}S„|LŠxEmU‰jV€_Nƒ^T‹YQ]H•h@”m>qF•_H‹iJWUŽXP_FžTJŸ[B¥oF«e7 a1¦^5¬b-°c,¹d8³j0¬b-°Z7¨X+¤S'§_,ªU.«W9°[2¶Y1§`7°^0®]=œiCªeS¯bG¥eL¢eP¯bQ«nV²nU­l]£qa©diŸe{¤kt¢v}œo€ u€šu{˜y|t|•uƒ•w~—usžpx¥s{žw{›†{¤wiª…l¤„a sp©€p­vv­ez©nl©pi¢j`£de£bl®`e§pm®ah¯hp¥]l«\yždr™^~žcz§fz©ct–yvœ~}yt’v„ma­v`¡k_§oa£hnhndzot’ov—rtvl‘hrˆh‚‡s‚‰oŽˆrŒo„“h†”f‚—g‹‰hŠŽt•j…•j|a}“g–d|fx|j|_~„ixrrytwuuqq€nlztesliskmwmhŒnp‹`}…hƒdqlv€gr|nwx{~pnzrlo~rz€jvsm„rg„‚kˆw~qo‹{i’wr—{o“Ž]—Œ[˜‹c“Š^›‘^’•f”˜g••j ‘sŸšo’“mš¢s”¤zŽ“q“p•›xŒ™tŠ¡z~uœrv›kr–fwže}“`ƒg}…_ŠesŠft}dumtrpr}huyp}piyegxmp„jl|qc€gfvda}[bw]qnctndoYqt`kmVnmUfuIc{FbqP]oPbnI`iK[cH]hTmmTccOafG^mNZzJdtP^vNdUcyNa~IdsKyvP}xT}uP|}PuzOsUQ~SyYvySs|\wr^qo^{o^tmX|f`„d_€k`zie„me{bg€eg|f\_^‡k[„fbƒeicdjn|fkwkk|ujupnpwnwk`vi_}eQ~qR~S€}P‹uLŠjH‚_X„dZ‹iS‘_O‡]G‰fM‘jQeC_DŽeJˆZI[HœaO™^DšjD§iB¤n?¦c/ª_1£U+¯`2²^/®Z/²b(¹T(®Q,·X(¯_&§\*¥T'·V)ºU.·Z)®a1¨d> iE kP§cK°fL§eF§eG®nWµh^ªid®gi¦bi©kp¨nx«wƒ£q‚ sŸv¡sq–ls•hw•q…¢kx£qs¢zw•{v—‚syfŸ|k¢yfž~e¦rk®otªho¨bqžci¤`d¨\c°cn¦hr¢mc®ae¨hs¯`}´Z€¬X~­_}¡i¨`¬cv¥jx“p{”pw˜s€ie h^Ÿim¨io¤ukœm~“v€”yy{r™voŽum˜ar‰p}˜hu–v‚{Ž‘uŠ—oˆ_‡’b’”`•iŽo‘o}Ÿd€”cƒh€‚_uƒerˆ_{…^s|qw~ov|go~cnzgjqslyirzroƒqlŠ]}‹bv‡ao…joyju`x‚esum„jt†oƒ†`wwlvn‹‚ok…†{}yt‡x‘usŒ…n‹‡fƒW•†[ŸŠf¢Šb¡”f”bœŽi˜•r—‘yš‘m›˜z©y‘¥|Ž£p–•}…›}§s}œv{›wr—kžh‡›jŒ’m‚—[Š^€‰gy‚bw‡h€|mzxs}zjvyh{fb†lq~dsz`rzeqzcon\orfoifeuV`kdp~`en]ewakx\\rWcnWbdN]gJeeRhcNfcWicLefNgsWapSYkQUrIdySfqTexUkk]mtTdwKmnKnvLyzIk}MztHs‡T|~Kt‰RqŠQn‚Sx{_l{a|mR€pW}lZƒX`ˆha‚a[ylf…d_`av\avY_ƒcZ‰X`~Za{[h‡_fiarnfyugvlb~wjnnitq_|d\~m_xnU~sZ{QˆjF“tPlV‚kW‹fO—dQ—_V‹fQ˜bJcIŠ]Gœ]N”WT‘^Fž_EŸ`D–f@¨i;¦fA Z:­W5¨W4¨P'´Q*ªX$²Q/¶R*¬V °Q*¸\*¶]­V#¸V(»K2¾^6·d8³_;«]:§\?§`J¶kP·jD¨mZ©vR¥o[§ob¯jh¨boªdl¹ey²op¢k}£jy zu¡nr—tz›v~›zŠ˜s†§s}“ju˜sz wg¤xqœvežvqžqo¨hmžfh§el¥pf©`f¡Ye¨\l¯ho¢gl°ku¬dr©ar²a†°Y¤\‡¢f‚¦f~b„­bˆ¤h r~¡n€Ÿohh¯kbªwm¡rvŸz€£t†—p€”v‚“v„ wz›rv—ju’c}’mt›q~t~•rhŽaŒ‹d_‘a•‰o–”k“s‚‹mŽc{Œe{‰kval…dsyfqwmw}cr}dh{dmxlp‚ni„st}ht€]v†ax†bwƒayhr|bt|a|‚myƒb|ƒb†ŠdŠŒi†…fŒ‹q†rƒo…qzzv~jŽj‚fŽyd”~c§}]«k§…h—…m”Žl—’n¡Œuž—|–šs›£p‘Ÿu˜¢|‹¥r©n‰Ÿo‹¡oz¨nz¤rŠ£hˆ›iŽšj‹–h‹Œ`€Œb~d††g}~o|xwmmzkgƒokop}lgw`esdqpbot\on`ir_bkZilTbv_f€Z_yaho]_vTbeOYdX[dYggSalQkdTjiW]iT[tKdsPYnO^uVep\fyUqk[qj]zl\rqMpfIokMvmPkvQp{Vy€I~ŒUw‰Zo\o\i\qyT}lVwhX„bfƒZc|Y_‚`f„ikzfarf\xXdyQ[[`„Vdƒ_d†dc…_cubovgklnksserxfynjvm\vh_j[|nZ…kQ„jNeG“pP“oJcOŒjWaVšcPš`M—TK—YT›YQšSQ˜QS›]Kš[FœfO¤fM›[D¨bH§[>±N@¬P1´V7­J-¬V-±Q(½R,»R¸Q²Q$¶R!¹Y%¼U1·O1¹Q7¹X;¸^?®_5­i5´dC·kMµbM°gX©p]¯o_°oa·nb´jq¯iy¹hs³n{±cs®jmªrt¦yq£ru¦uˆŸrŠžmŠ›i{—wt–utxt ol•ni›skœgg™go¢nb¡oa i\¥bg¢Wa§[d©ae¨fh¥av±^w¯X‡¶V‡©X§ZŠ [€¨b€«k‹ fŠœhƒ¢v‚¦yƒ˜x„sg¤gl­vlœrq¨{t–pvnz–y~–nœv}p{–`q‘h}™o™wuŸuyœl˜m”˜h•h‘˜d™Ža†o‹šu–ŸsŽ™f{•jx‹qy‰ku‰lw‚itdl~anxdvƒcq~jstnwdikuxeyvjtfxybx†]}†ft‹]ugy‘fpu‚Œp‰“tŒŽq†p„ˆjŒŠo‰ˆpŒ‚d‰lŠ„f…„mf‡c”ˆh£}f¤’b ‹g¦‡q¥—f¥—w•r›ž|—›x§¨w ¢s˜›l™¤sЬo‹§s’§q‰Ÿg‚ªoˆa‡¥`‰˜_‹—^Ž–Z‰‰eŠˆl‡€k{†ksg{w_€ma…xZ„iaom\xi\wjdofaw_qzcfqmio`jsifthajmWwc]rajyTgoOl\Wb_TbsLfaUaeUYaXYePUf\YnQXiWSqUZlPamTpm`qf]ueYrfLiuLltPvkVuwKntMz{Ev‚QzOk†Sj|To]wwO}oU{eV‚X`|aczZ\ck…acxa[wae€c[€\WxNXƒ__^p†dbed[j{hnstnzxl„gb|igig{dZ…cc‚kRŠbVgIƒoM•n]ŽlY†lO`RŠ[Z’\T–aVŸcX™_TVX ]M§]W¤_T—fJžhM™gIŸ\C«XD§N>«X:ªG,«C1¡R)©T,§R&°O(¹K+ºS%±G½O ¬M'­N2µM2ºN5½T@°R=¬b2¬ZB³^<»ZG½fM±aY­mU°]f®ed±ik­ge²pjÀohºesµ]u¶_|¹s~¤dr¡l€švx¡jŠ›gŠmv•j{˜nvœoy¢oo¤gr¦mk©mtž]r­gq¯b`¦b\±Th§]l³\m°Uq±Vg©Vk®Yy©S€¥Z‚¨Q®X‰¢^‰¤YŠ˜k†i‹›sže€›{†¢pŠhg°ll¦rq§vz¥ww§tw˜uq”uziqˆiqkw¡gv¡my¤k|¤v{¡zk‡œd—cfœ”j“•iˆ˜h•¢ro„“o‚n|†lwŒl€‰kƒzfvƒdr}hoouwl}|h‚sgt|ipyaqvZw}fy…l}}r‚|j|}f‚Ž\y^x‘or’{x™u~—n…Šx—†uq–e…‘h‡Œg‰’f””i˜Œc”Œjž‹i €d¤ˆhªŒe®‹c­Žm°›m¦™l›œr›˜uš¢u¡§f“©c‘¤kŽžt‹¤rŽžo‘¨i•§m‡ p†§j jŽšY‰c”ˆcŒd†dˆcˆ„g~}i…~_‚~UƒyWynbuibnj_hkYnmaxrkwosrtlnnqiermkbvi_nehplmlbnm^nePpnXioRgfQaeVaa\UkQXkZZd\Vf^VfTYmRejYew_srWkrU`kObkUmkSsgMzjPtwQ~wQz{MrQvv[ryZysMtnOu]T]]rZ`sbQzgV^a~V]ƒZ\ˆaf‚]^zO\yP\[_~`k‡\e‹Y]‚\Ztghyrdlcy^h‚`\„a]xqa|dW‰aV’jYgN“mP‰h[pOgNVQŽU[Š^MŽbO•^O›d_¢Z_¡`W¥VK¦XKžZHžaH¡^G¬]DªW=¡QFªQ@¡C2¤C.¢R*«Q(®V#µN,²K0°C&¹D ±@)®I6ºG1¹D=®@E´HCªV:ªX9¶O8²OE·RC¹^P¹^J´YO»dW·^k·_g·lb¿inºji¼luÀ^|µaƒ·f~±]u¤d{¦c„¦q† a€˜b}•bx•o{“iz™ls¥kk¨qi¥og«`o¥Tf°WfµOb®Ua¸Sbµ[l¶[xªQv®Rs Qq¨Uv¤Xt©azµ^ˆ®^„žV‚›h‰–j‹˜fŽ£dˆ¤q‰¡yqe«is¦oh°~r²rxªst™wy–w…vqœwpšvp™kv›sƒªi‡ n€¡}ˆn†e‘m˜g’œe^‰Žk’”gŒ¢m„›d“^zf‚Œp€kx}at€`vis~s}ym{prhrl}w_‚€\|z\xj‹l|ylx…hyŠ`zŽ\{™dz‘s†”j’v‡‰{˜‹oˆy…p~›iŽ•i‘]Ž_’˜d’‘_”…eŸƒp­Œd¦ˆb³‰a¥Œ`¦ a­¢q §pžšhŸ­g©k£j¦d‹œx•¢qˆŸi”¢f”©mЍd‰š_‡–d‹SŠP„]Tƒƒf‚}X‡ƒ\|†`†€]€yS{yQwnWvg_bsUeoZjobjmfk{gwofizldhkshpmr_slcrhhvmpi`liTmjL^nO_eQc_TTdSY]Y`]^QlXOh[VgYbaUfpUacJsoVinH[ePneEelOmgH}gDreLrfXwrYwQl}R}z^rs]|vRvh^xkVu[PjaPyWW„T^ƒOaˆU]~T^ŒO`ŠR[‡Vc}ZhŒ\i…[b‰Na‚^hƒZqvZbx^hƒ^W‰j^~gXƒb`„i^€a]ŽkUn]gUŽlYm\_O›bT O\’RU—_[™^RiV™]Y¢iZ¢\K¦SC¥SN¥\P«eHªZH¥\H QP›JB¤FB R/¢L1¦V/´^"ªN%¬U(»J+µA/²K3°L<´L1·K@¾EG¸OC»T?®W<®J8²N>¶QG´UH²IU²R[²S[¿ah¾Zn·lcÁoaÃkfÂ]r·[ÁWyÂf…¶ct¦k‚®o}£fŠ£gz¥h„¨hƒj€¡qrœps¢gk oh®cl¹jn®ao­Zf²Qg³^p³_k¹^p°Wm¨Kv®I{©PwªVo¤_q§[u¬X} \„¥Sy¤f„•l…œb‰—_ƒ›h t‘ds¦mq©kq²ym­~o¥z}¦z…¨w‚ž}s©}t§~y¡ot¢h~›rˆ£n‡¬n£u‹¢j‰’a–‹]””\”Z“’]‘—h›h†Ž\‹]’bˆm‚“g}†bŠdt‚g}…qƒzh€tl‰zl‚uj…xb‚r]~{a†}_‰`‚‰dƒˆg^~—g†h|šo€g’’h—t””t”oˆ™u…¡n‹žfŸ[‹—^‡ˆ[’‰[ ~c ƒa¬‚i±^­—^©›_±œd¯¡i®¤]«ªhª«eŸ¬`¤¥d—žf’™j¤d’§k“¥\™¥\¥\”˜SŽšZ†•V‡‰MŠŠNƒ…S€[„‹N„R~ˆXƒ€Uz‚NwRorOjyRdpM`tM`yMi}XpxSk{^g{nlvponhqweqrmwtmrntn^qvZmkNcfS[_HWcNVdZ^^[[^\RgMTiTWfOXaPViRekUbkGlr¸RC±IG³M<§KD¬@D®=E³FM·HP¹Ja¾Pb½[e¾XjÇfoÑ\rÊ_jÉWrºRz¿Z~¿Z|¶`y®f|«b‚®g‡²dˆ³i}±_‡¤e€¢r€žmvml¥jn²fkµdnµak´Ov¿Tw¼]r¶Up¶^p¯]g­Vm®Qo£G{°H€¬Ux®S€°Q{¡]t ]|]‹›_‰”f€’`ƒœn†™r‹kq°cq²lk²pw¥npªvq­zsŸs{œo}©m¯wn dƒ§r¤rƒªnˆ¤q—kˆ¤l„Ÿ_Ž™aŠX“žT’cŒ“q¥b’œV‚˜`„›\z^}’jƒ“awƒZtjƒ}oˆ†^}uh€uiŒ†d€b|yW€Wx‡Q‚„b‘`ˆ‹az‹g‹‘^ƒš_‡hŒ¡d‡ mŽ•{‹™{ˆ”j…£iЧn› bŒ¡j‹‘e—c–ša ‘cœŒa¤”f¸l±’_ª•X·˜^¸¥]®¨`©¥aŸ¢_Ÿ°g¥Y¡­f”¤a–¨XŽ¢W’¨b„¬YŽžY‡ Y˜›]‘—_‰”[‡‡[ƒ‹Q‚„TˆŒR‡ŒRq‹ZsKoŒIjJomLlnUlvShrMgnYbu_j‚T^yYachygjjalm`mflsmkobll]qhVppXjlNgbPO]\VaVRcaLfU[sTWkRcgRVoXYeJanTecDafDlnMjiCmg@l^OgeTofYqeZkiXnbQsl]tkUniTrs[qkVxgXuXUvbR†]`ŒSd}V`uT[‚U`XqXmXq„U^‡\eŒUkUj‡Re‘Z\†\d…Xg~eTdF‡_S}YVˆWP‚R^ˆRb“X_”^_šbS‘\`—Y`¢`[šKcšYW£[R c\‹ZS•_VŸbJ§RG­OH®MI±ZF¤UB¶SJ®[F­GB­JM HB¬DC¸H5§H>¢O;§U1¶K4°O-¶N5¹@5¿H9¾IHÈJ=¼@C¾D=¹K=ÀB>½G<¸HD¯MA¹LG¯PQ®@[ÀPb¼]eºTfÏa`ÆXcÂ^k¹_rÇJpµY}¾S‚¸]v´Z{´g|´]Œ¹e€¼_~´[ˆ°lŒ°j…¢m} f}®Yz³[m±]x¹Xv´Mu­Vn²Ww¼Ws³Ws°Ss®Uy±UvM„ J…¸[‚¯S{¸O‚¥]w¬f}¤^Ž•^‡ Uƒ¡e~–hŽ«i“ju©fh±mtªf{¤lm©km©el¬m|¦s|¢uq«hy¢c‚ªi†¥eŠ«g“®m–¥jŽœh‡£`‡®U‘¨O“ŸW–gœ˜j—¤`Œª[ƒ¤dž]}Ÿ\‡—g‰‘`‚ŒZwb…ƒ_‚„W…y_„~[~ƒX|‡RƒŠ]z€W{…SŠ[~ŠY{”]}”b‰‰b‹Ž`’Y|c„£u„¢wŽ˜xŽ r“ j›¥a›¡fžžo›“p©˜l¦™p¤•b£—`¥”h­Že°˜`µ—T¹¢Y¶©b°¡e ¨d®Ÿb®¢d¢§U›ªO££X ¨Uš¢QŠ©_†¡`ˆ¢Y˜W‘“^‰ŒVŒU…ƒYƒ]ŠV‹•R†‰Kp„LpŽRp‡Qv…JoxQu~WjxSt|LoqSp}\_€Sg‡[_‚]Ypg^ohWpjajn_nmjco`[kdafkTifU^_VV[ZY\\Q\bZfVSmVVqV_jW^nUcgO`eTldJp`FbiSffIksFfoIk_Zn_biaXs]YtZ[ud[|mVkfKk^Qs`Tm\_tYW€\\€^Y…Pb„MfvJZuRa|Th„Hf„Mm‰Zg~YcxX`‚\iYcR\‡Xab]‡eT†_KWN‰^P‰U^ŠNZˆK]”XY˜]_—VZžWi \fŸM[£L`ŸX[¨ZT™dW–^SžWQ RSžLI¨IMªIQ¯IG°US°WP¯GI°FE£=EŸ>H­FAµA0«B2¥H8²U;±Q3ÀW@¿LA¼VC¼QI¼F;ÅA>Å=C»?B¸DF½>IÉJBÃGIÂAK¸GK·?]´F]»I\¼NiÈSlÆKaºMh¼YgÆZiÄQw¸L‚´Q}·VxÀX{®c«]ˆµ[†»W†À]†³c‡°b³ez®`u«W{®QªJv¦Jr®Co¬Gm«XxµX²Z~ºPx·Ry¯SužD¨Kz³T„½O¹J~³^ƒ­`† X‹›W•ŸR†ŸZ†¢]Œ¬b–et¨ev§_}¡\}©cxŸhj´ps¬nx£r{­s{³fy³c„¨\Œ¯g“¥d…¯k’ª`¯_°_“«U›¶O•¡U›­WŸ£k”œbŒœZ‡œc¨fФ[~n†‹XŒŽa…”a…‰]’‹\…†i‹ƒbˆ„^~Z…ŠTŠŒ_}‰[…ŽQŠXˆ•e‹g„Žc˜c‚œaŽ eŽŸm r¢k‘¡jž›`—©ežžkšm› m«¢o¤‘iª•j­”f¡’n§›e±–c´Ÿe¬¢\´²Vª¦Q³§\¨ W©©P¨©R¦®Uª­R¥°OœL¥QžUšWŽŸ\”’SŠ–Uƒ‹W~ˆZЉMZ…ŠN‚ŒSo’Sw’Sn‹ClŠPo€MdxYhtSpuR_~W_ƒf^‰W]‹be^_~mYqi^r_hwekitnhike^nbdbgn`]bcTacbV[XYk`^kcaeV\kSZ]_X`Y_]LggMmeIj_KjqRgoMbeIq_OjgWt\PnaXq^WtUYx[Uw[SocRpVOqPOsOSsZ\tZU}SY|T[†U[yISwP\TeuJlzFm|Gk‚SgyZg{a[\\„Zb‰Uai`…^TŠ]U‚`LŠOTƒU[ŽVb‹[X”S`–Q`¡JeªPb©Z_§I\®IX¢PVœYU¥RU˜QS§ZY£TO¬KF¨SU¨ES¶PI±WH¯QV¬KR²BC±DN¢C@©?;­J5©I7³A7©S8³O7ºJCÁK9¿K@ÃNGÃQD¹IB¸?F¶EBÆHR»;P¸GM½DBÇAB²AN¾AN¯K]¿CYÂE[ÌIkÑDf¼J`ÆOcÃUjÈUw½Wu¹Zm´NqÇSy´Q…²WŠ»[~¼a·\޾\ˆ¿f…µ_}ÂWx¾Uu¹V{§Ss¥Lr¨>i·Iz¯Lv©Lx±T|°L|²Tp§Kt¦Ls°N¬MtºJt¸Q|«M†³[ެaŽ›]”©aŽŸV‹¦^вY–q«oz¨o{§by¤iu¥dp®d{·kw®czµl|¶]z½\³\‰§W¬V”¦XŠ®]ަ\–­R”µY™´V ¸Y¡¬`“¨Z•¥b†¥`‡¢Y¡b‡¡\‰˜cg–_i‹ƒb‰\…ˆa‰ƒc‰Y‚ŠTˆˆW‰‰XŽ€U†„O‡TˆŒb„…dˆˆf“i‹™`Žšg‰˜e‰¥r™ o Ÿa§Ÿg¬˜c¤¢c¡¢m¨§n©¢n¯™n«a«ži­šd© f¤ªc©«_¤¤W®«N¬¥KµTµŸS©¤M­¢O§¢W¦¤Q¥¦Q“žX‘aŽ£X™Y‹]†ŒT‡V‚ˆQ|ˆV}ŽP‚’Q[‚“Vy˜In”KkMt‘EpƒGd„Si}Tgz__~\V„_Y†Xb€_`bdkbmhyaeznaijeildaakdfmdf`ckg[eca[djWlg]nWa`We_Q^`YY]V[bYhiXffQddSdgJjhHjhOf]OlbMp[Mr`Ys\Xh\Zm[WpYXgP]fSPbRXkMWhJYkK^uQ_{PbTc‚R]{DZ|F^wKU{K]ƒTXMbƒZhƒW]ƒb_Š\ZeR‹eR…hLˆ`R‰[LNO‰TL‹QZŒS^W[—OW¤L_¨F_¯NV«Cd­Ia¦EcžK_¢VV£OR¥NU¯QJ¸SH¯KM®J[¸NW±UO³LN¶HMµLIµIF®EC¹D;´L8´L9±I5­JD­FBµH@¸SAÄK>ÃPIÇTN¾FM½?U½CSÉFQÃ=Gºh‰Hh}Lf…N^ƒRf^\Š\S‚d_~c[zc^†i]†\\zc\id`fbjYhc`_ejeg\Zc^`ZVbdW^jWTjcTka`bUfcM^aQa^[icRa\PciZ\gVe^BefBmbHs\UnYRmfVv`_u^Sj^VuZ^l_Vga^jVTjU\AUvI[mAcoKV‡Zf|LaˆS\zGb|KY‡Ni‰HiˆUkMa‡L[ŽUT†^P‹iZ‡cPˆZZ…`]}[Z[LWPŒ\SˆK\ŠWQˆ]]VbžP\¢GUªUUžQV¬DZŸOg˜Lb–LQ¡RI©TH§KQ²LH®JF©@U«JI­ET²ILºGJ°GF¬?L±C<«K?­B8¥Q;±E0´K>³K8·D;¿T?ÅENÁCQÈRRºLL¼MGÆHUÇ@KÂDBÊDB¸AE·F>¼DNÁ:F½FT¾IW¼<^ÅHbÅGX¾T\ÀQg¶MfºIj³Mo¸Rs¸Nt¹Yv¼\r·S€¨\y³Z®[€²Sƒ¼Y‡Æ]¾Lt¶X|¶Wp¸So¼Lj²Cs±=zÁLt°Ds¹Rz¸S·GuµVªS}¬NzªSu¯T³N…²L‚©S„£Y˜[ˆ§dˆª^’§g•¢i•oz«s~£oƒ§b|¦cŸou¢t¤kŸeƒ¡iy¨h¨a~§]„¯R‰°Lˆ§G­L§Y˜¦V›¯]ަgœ©eŸ«oœ¥kž¯jš¨`•Ÿj”ši‚šg|¡YœS‚™^““]…“]‚•^…‘_‰g‰Že‰ƒ`‰S„•_‚—Z‚‡O‹N†˜P‚ŒSƒ‹_„ˆZ€‹[`šœe¡Ÿe˜`Ÿ›fžl¨œe¯Z®•_°œZ§žd¬§g¥ž`¨žh¬˜n¥Ÿh¨˜h©œ_¥§]²¢\«£_±¡T¢”U¢•QªQ¦•Z¢–Vž—N™ŸQ–—W—”U›–Y—“WžTˆa‰ŽX‹‹]Š[ƒ‘Uw‘[p†Ou‡Fs„Dy€>n~HiŠJ`ˆV^†QcŠMl†UiŒb[‚`f€`exb`}]Z}dZph_gbX_k]XedVX`daagYY^[NZeTQ[YL]mXYlWX_Tca\edS`cOkW[d^Vi`WgWQ]^J][BlZHlWLz_X~bbz]_qbZp[ThUTk`Pw]TvW_wVUFPsE^uB[xP^‚R\†SWˆJ^~SZ€Lc‚Ga‹KfVo‡QfZcŠRX„WUŠdTŠYVy]\xbTcTƒjR‚`TŠXRQOJ[ŠRXŒJ[ŸJX¡LZ•Xa˜ScžJcšGY˜L\O]•LO›OK¡CF¡DH§>J7L¢@J«HX¹MU²JGµ:@³C;§>D£F:ªH@ŸB8¢E8±D2±F7·O:¾FIÆLFÁBM½NR¼LI¹BIÂFLÈGOÄHDÂMM¾JI·PÈCXÃ=T¼JV¹GZ»J`±Q_ºGf±Jk¨En­Pv¶Pl´SoªTm­Y{®Ut­T}¬Ry²S}ÀV¿Y{ºMq³Qu¹Kq½LvµQn³In²G¸Bƒ¼F~ºM¬Nx­By´Qp­OsªHo¶Rv©Pu¥O¨MƒªZƒžX„›Y‰œT¤WŸT–©b•u‰±m‰¤k…¬`{«b¬msžb†£d„šp„¤f{¦]‚¦f{²V‚²V~±KЬA‹ªN©^•¥Y¥Yš°e«c¨¬j›¢nŸ«k›­]‘ b•¥fŠb“_‡“g…šaˆŽe„ˆm‡•k~—\„…]‹’^Ž’\‚™Rƒ”R‹ŽQ|LŽMˆ˜L•O€’Sˆ]Љ^—’i£Ÿi˜Ÿa¢šc¨¥]°¢d¬—b§—`´¥`±¦^¥¡Z ®hªd§—k¦št©“mž‘hª¡b±—`ª¡bµ¥X¤š^ž”c£—Qª–MŽK£‘M¤™W••X›™Z“Ÿ\’–V——X™™ZŠžiŠ‘Z‡…L„ŠH{‹L{’P„Sy€L€Gn|VvyWmzQb‚TZ~Nb‚JlˆNa`e|ahvS`yX\r\]v[Unlb_c\ejYV`Y]QZR_WSTPZRYS]NSeYXcdQZeQg`VagYflUlb[bUSc\_h_SiaG`WRiUTnULqXXpa[XTy\X~Q\t\W{^[va^nP[qT[~EW€NU‚?XI`zK`}G^|U^ŠTh„JYTkƒWaŽSj„HoŽFnŠKcMP]Z€cW[XaZX[€\Z~XS‚^a}P[„XYŒYR†P[™\UY[”MX“TcŸHd”Qj Q\’RP”MT‘TP•NIšML¨HJŸFGŸIH¡IN£=VµMR´=Hµ4R¨>G³7I¦:L¨>P ME¨DJ¨PF°R@»IL´KM´DQÂ@Q½AJ¶NUÄEBËFG¼HAÃPDÆKOÂLQ¸=QÇ@Jº:TÅJQÂHMÀT¼EYÁFV¿JYºR[³Hk®Dk¹Nj¶[t¬Ww­Ty¥Qz§_‚¯^~¨R…­T‚²N|·Kƒ½HzµL{¬H€²P†­[‹¶[„¸^~ÂR}ÄT}¼DÆF„¾DŒ¾Eˆ®;Š­<†°G{²At¯Lx´N„¬P€²Q|¯I¤X}¨WŸ^†¤g†¡dš¤ižcбp«`ˆ«p|¬n¬nˆ¨b†žhŒž_’ž[„¦cЬX†«R|¢[Š­Yƒ©M¥[‰ Q—”S”œQŽ«e› l•¬iŸ¥e›Ÿdš­g–¥dŠe„¢pyowšgƒV‚ay›f~–b‹a—h€Ž[†ž`’•[„ Y‚œXƒŽK€—]ŒŒR‡–Wz†Yƒ‡e„Ž`›XŸZ™‘U–žX¥§S©Ÿe¬ t¨ªb¬¢h¦[¥«b¤_¢©\§™h“h‘lŸ—i°V©”W´œTŸ]›šažš^¨™_ž›K›”Pš‰J””[ O››_œ k•g—b— b€¡`€‘T‡—T†’D{J~ŽPx|FƒNv„WqUm}`hxUf{`_Z\~Q`T]ƒV`|Ri{UfiR[fUedXUbQUbSTed[]b[^aLQQTQTJUOGK`OGd^Sc]S]ZU`iO]iTbfZ`gXhjLhWLrSEh^LcVVjTXaZTg_YrZXn`UxWTy[MrUSw\Xq]X|P_xEW{GS}TM€JL€HJ„GUS`„M`ŠTd’WkJ_ŒV`ŽChŒU^•U[’RSPPŒZVVY†cJyXH~YT}XO~]Z~P[€U]‰U^†__“dI•f]Šj_•_ZœRVšN\¢YY¡PR™MI›MM˜HS LT˜9M IE—BN§AN¨E±GS¹KP¼ES»QYºATÀAP¾HF¼PT½H[¶URºSWÃHbÂH\¹Pn°Hs­Hp¯Hj«JoªNu§Jw±S}°X† Mˆ¨S§Kˆ¯M‡¬O€¨C…®M}»M‡¯V‚¹Y¶L{Á[ÆI~¿E޵H‡¿F•°Gˆ°?ŠºA†³K|¬Pˆ±Sx¨Zµ`ƒ¯Q‰¬R±W‹·f‰µh‹¬h’±`šœo£eš¢h˜£a‰­eˆ¬hŠªm–£r”§g•¦[¡Wަ\¨Z|¬]z¨O…«[ŒžV†œ[ŒŸT—”R¡Y•¢]• q l¥dŸ¨rš¤t‰¤q} izžd€žjx›h€¡\ƒ¡d~”\}‘Sy–Z„›d’g‹“`•Y ^šS~˜S€•U’S’[‡‹X}c‚‘]„‘X‘›Z™šQ’˜V–œ]¢¥k§n£¬qœ b¢˜_•]¥¢a¡§Xª¡^¤–` •d¤e¯›V®•V¯ŽV®\£–Z¥S¢˜JœO™’T T Ž\ XŸš]Ÿ˜l–eš™[’•m‹—m{š_€˜Z€”PzC|ˆ>{…Hy{Vo€Zqz[l~_cz^T|aV‰PV{P_zT\vT_zSbqSfg`[o]alY`nNb_Q]cYYWaPWaJ\SGUUHMcOIbOO_SU`XVb_YZZPYfVWdKihToeMv]St[Hh^HfXPb`Yg\[vW_tcUn^QndQpdSsdMvlYoc[tbO„OO‚HS‚NO†VL‹YR”\R‹MRˆV[ŒNc„IhŒM^DY‰HY—VP–RV‘WSW\„VX…aS}VQ†[K„bI…_S}]N‚US†]`‹^cX`‹[Q’eRe`W[–VZ¢QWŸU[¥LT›FKšAHHI›GO£9OšFCœFB DHªAQ©9T¤6G£7O¢8M¤GI¤HP™KKžJF–RJ›LK›KU¬PS´CM¼?Q¾F]¹C^¶@T»MW·BP²>T¯CN­IN­MN´LU´DV¾DN»KFÄKJÄHQ½SZºU_¹Md·Ki¼Na½Aj­Ds¬?k´IhµKn¦R¬PލKŸK†G¨N¤Gˆ B~§Iƒ²K{·J}¶C‡¹I‚ÅY‚ÇZ{ÃPzÇR€¿V·J“¸E½Cƒ¹Pˆ¶MЏR‚³Q‚¯Y±d…¯b•¶W”Á]”»e‹ºj޶f§^¤d™^“mœl–­i®d•«qž¨l› c”¤k’­b›¬Q†°]ŠªMˆ°LˆªQƒ£Z‡£YŠ\—‘U›ž_‰•a‡Ÿp„dŽ¢d£˜ge¡c„§jm‚›oy©b¢kx§e{˜b€“Z†Y„ŸX†•ca{¢`†šU†¢Lvš^‡’X“X•‹T“~bˆa…•Y‰ZŽ”NŽšX‹_ž¢Z™¡[š jŸ¤a¦¦g¥”i¦ž]£¡S ža°šZ¨’d¨‘]¡•b°a©’U¯‡^«“d¦ŽS¡•X©ŽX¢•S¤’ZœƒV¥ŒVž‹\™™_–‹m•j‰‘h•–n†”nv\}™dr˜NuˆGn‡Th‹WtXe\oˆVn~Y[~]Uƒi[„TYJb}X[€S_pNghKfcV_kb]aRhaVeXT[bRLZ]OPZE\Z@KWJNfPO`KMcQPbOVgPSiSV]]K[eQ]fMt`Fs_Vs[WjZUcaQmUSn^XwhPg^Pk^SsgOlbRwaOp_KsaZycSwdN„]R…QJ„_F‘[RŠMQ‡GN‘NY–GX’T[“R\’L[…UOWW™VX™^N–bQ‰^PkOƒfZ…WQ|YKzeZ†eU|bT‰b_…^]Š]`—ZK”]V–^T˜VV‰P[“PU¥V^£NK£IJ•ND˜BM¡GJ¡4G¨@@¡HE£AL¤8WŸ@Q›>R£¡E‚­E‰³S‡±T~½U‰½M†ÃU‹ÉO‚ÅX{ÅNƒÆOаK½Q‚¼P€¸S…¶P‘ÁTŒ±d•·`‘²b‹ºfµg’Ã^—¼hµjšµh’±cœ±Z”]Ÿ™h¢n «pš©r—°h¡¯f—²p™§i”¡b˜¤Y”§S‹«[Š©W‘ K›¤N”˜P—V˜_‰–k‰p‚˜e†—r””q—™k•œb¡\Œ¨g|¦c„ c‚«^­iy gu£h~šc’a•]‰œV•_—Y‚£\|›U}•a†•\Œ‹R‰QŽ[ˆY‹‹^’ƒZ•Š[œŠY‘‘Y›S”™YŸ¨_«¦a¯©g©ž]©—]§–_°•]¬”U®V¤[´T²‹^¨„`¯Žf«Že«•a¨‘XªŽQ ’[ž‰^›~[£„a‰a¤‘aœ‰f“d‘‰e‰“_ŠŽg|ˆkz‡drŠ^w‚Ql…Zn‹baa^_iŽ`fcY’lT„gZ‡fT‡UY|MWrTTvNXySblZllVg\^b[]W[ZZ_VKX_NV[KTYQR^GOjFNeSQnOKeOMaNSiORhYH_[LkUSgZLqdRs\Vi^QjZVnSWrXXsgSkfNmgYucYogNniRjmStaRseUvjY~gV_QŠ`IUHIUJP’EQ–PT”X]“OZ‹Z]VR’VR•[T˜\TlQ‘nRjZ„]V]Q|_Qe[Š`b…jYŽa`…hb‘lV’aT]T“_VWMYOšTU™JS£IV¢DL¦FMžCH¥CDšT©6\«;g´>]¶9d²A^µGdº>c´CY¬CYµATµCP³?MºBKºHR¾MK½NQ»KS¯MR©SM©RX±KVµGb¬>a¬El£=g©Fl£Mm P}¥D}œI‰œF“G‚‘Ež@¬>Š«LНR€±L€½M¿S¿Y¾NŠ¿RÄN‰¶L·Jˆ¼VÁ[†»VÂ]‰ÂbŽºf˜±_•·f“³d¿j¼j™¾m˜µkœ¯d±b’¯a•b¡cš©mšªuš¯lš°n££wœ¦pªvŒ§`—Ÿe‘¨_Š¢[ˆ©P‘¤W˜˜C——[•”`£—Zoˆ’_Žk—™nžžq¤g•›b”§ežot›oƒ©r¢a{¨ds•lƒŸ`{a–b‚¦d‰¡Y¡_‚©Z‚¤Xˆ¦UwžX–W‚š^„ŽXŒ~_‰W‚“Vƒ’N˜—Y‘–P˜œ]™T’¥V¢œT¥¢d³œf²˜X¬“U¶žP§’T­‡X®T«N¢‘I¶V¯‚]´Žh©•]§R©–Y©‹U©ZŸ…b ‘d¨‚_§Z‘Œf’ˆ^ŒZ–f‚‹Y}_ƒ†ixdsUv†QqwT_„fWY^c^ƒeg``‡bPj`„aWˆYMu`]wV[mXapZ]i_\gZgUYbTTNSPU][IYQHOYTDaGOWGGZNJlQPbPVcSIdUJ_NSfNSbXOn_KkUQrdUsh[u]UgYVvRNnXV|[OpVS|aVx\_tXUq[Vm^WnaXvj[}jS‰[RƒfD†TT–HE“LI„MT•QO‰SL…ZR†ZR_UŽ`K’dKWL˜cY™cQŽganT’l]Œg\‹^S‰[]Š]d~h\{adŒqb[V„]O]T‹^]_]–^XXS•OUJQ“BLœKEšAF–=@’7N”6D—>D¢2W©?K¦DJ¨W1LŸ5P;UœCZŸEe˜Hb’=b¦IZª7T§9[¥K^´I\µ8i±D^­Ec³Bgº>^¹9S®EU¹GZ¯JP±CL·CS¾EYÃ>[¨BT«N]©E`©Nc²S^­HX©Q˜KJŸHO¨;U£3W™Z¤?b I\¤Cc¯EgµEm´Ge²F]¯9Y­Cb®@Zº=R¶KX¯>T¯@V¼?\·ŽªE“²S“¯Q‚«KŒ°K­JŒ­M‚­Oƒ»Q‚ÂL޼W‘°V޵Y~³XŒ»]ˆ¸]”²U˜±[¢¹bœ³n˜³h¶p—¯p‘­f¤µe¥¶h ¦i¢«^ ®\X¨žU c¦©e˜µa“«l“¥m—v’ j’¥l•c•ž_•¨\•¬`‘ªO’¢Pž^¤¤\©™c¦™b™›_¢–f¢›p¡™kœ¢rŒ™oަk‚£i€ o|–vsžg|šebt›aƒ“g‡¥n„ j†žkŽžg‚¢^ˆ«_…žY}¢X†”aˆ‘_œcŒˆi€–f†\ˆSˆ•R‰¡TœQ•›H›«Q­¬XµŸT¯–W±Rª”T±“N¯‰L¯—P´…A²‚H¥ŠJ¯’U¬“Y«“S¯‹`­•a¯•Q¦ŠWªŒ`¢„b©[¥c•Œeˆ[Œ‚f—’[•„[”‚_“R}“]vˆVo‰Qf†X`„Zf†\Y‰hS€iU†[T\^„_P‡iS‡eS{l_uXVlaSk[de\VkbYVSQQTRMZXHPOP^PSULTK[@VZN^OJaO?jHJgPL`WObWHoKJlZDuMJj]Ujb`vaXo`NoXUkWSr\[v\Rn`_€QZsUSMV~YUy[ZwRZ|_P‚YR†NK‡`C„^A‚ZIHUŒFTŒQKŠKO†OAˆ_I|YL^N‡mR‘_JšbEŸbU–cQ”pW‘fXˆaP‘m[ˆ[ZS^‹^Y{gaƒg[’jXŠcQ~aRTa•V]SRYM”MJ‹VFSM‹J?KIJE“JG‘HMW˜7[›:S 6V•9YŸG`=ZC]C_IV”EU˜HbœLX¤Jb¥Ae¦>aªD^«<`µXŽ@O’EVš>[™CW“Cc˜C]Œ>_šAe˜FY‘MX˜Qa’J`œI\©Kg¦y­Fy¦B|¨H}§J~šL˜B‹•<‚›?ˆ J•­P‘²L·SŒ¹^’®Y“ªX‹®K„¶Mƒ¶P‰°R¨]Š«WŠ¥[…§g‡ªa“¯f•´Yª]¢«`¥¦fœ£bœžZ™c©fª¥e¥¢c ¯d¤­`™¬P”X¤¢Vž«V™ž[š­a˜¬kš¦b£«p§±s ­p— m‘¥]™¯dŸe¡©cž¢^ žXž£W›•P¡R¡«V©¦]£š\¢šlŸ–q™m’žfƒ¢h}œuyœjt“g~“i†•cƒ–hx¨n†©l~ªq„›rz£l‰œg”eƒ›e‹§gˆ¥h’ hŒ˜\€ŽW€–i£d‡šN”™[’˜Rš“U˜V¡žP­—HµœL±›RµL¼ˆX°šX¯O¸ŠK®…C·…E´ˆJ ˜W£S¥^­‹N¨‘S¤†R¦†]ª_©€d£W¡~h–€^‹‚h”…Z—d’Z€\’[‚…X{…bzŽ]o‡\bƒTdˆ_f…`Z‚pUzhN‡eO}cR]V]^zgWybci]]qd]f\fRaZT\]U]UTjTP`WL\QMbSMZQO_QGQM=_PAhQI_RDhNU`YNmNSbPLlMNq[ZlOMvTOl]Tg\QrfWf`TbeOiQR|YH~MGŠUK}MUyKNƒVN{SG‚NN‡YMX@RK|ZR‰XIPN“FO‰U@PE“^B‚d?lG€kF‡cA“tPvP˜fM–gW‹iQ‹eUZO”]]ŽWX‡aXUX†eW™ZIŠVWŠTY’UR˜W_†XLQSZB†T>…]K„^HŠW>UCŠYCOF‰KE>QŠEGJPŒHYšCW˜>OžF_”F_žFWž·H²ˆE®“NºV¹ŒO±…W²‡N­ˆP¦‰C¤N§‘S«“I£ŽO«‹T­S²‹S·„a®c |Z }Xœ€^a”‰c”„]ƒ”Xƒ–\v–\t†ZkŽah’esˆWm}[j~]_‚kQwtQqmKoeQ|eVz]W€c[zcWmb`c_febcZnd\ic^^`X^`UjTTdVCeMBgP?hRBgIDVOCaNFeRL_JJcOT\QV`PW]Y[iTUkVNnLLrNYlSVxZQvcZvdZgYRlWKzXKˆ\C‰RGDG…GJwHFzVLŠSI‰_E„\@‰X@~OI‚PM†LH•HBG=”RA‘a?‘f?‰]@†a>gD”oF–jM“iSŒbaŠe`‘^T‡WR“`Yd]•[`Œ`V‹dU—WFŠSE†WRQQ‘WU]V\QˆSANB‚Y9‘X>—WKYJTJPAˆ?Gˆ>I‰?M—EU‹GUGYGVŸLd–Q^–L`–E_—GfŒG_…8i•6o“=lk™Fo =o¨8n¥Ch¬>^¯;e±FZ¢I]©8]¢4c§?dŸ;hª?t©Hq°DtªAr§>i¦3m¤>nŸCo§CsFl›;w¡8v“9z•@‡”>ŽŸ@Ž©L”±SލL“¥UŽ¡S‡¡P‹©M‘¤H•¨O‘¤X‚¤T£PŽ›R…X‹ŸYš­[—ª_’§jŽ `Œžb•§f•ªo¢«b™a——d¤ŸX®¤T¬¤V ¯^˜´W™d™¨d¤©i˜¢h”šg« n«°q¡®r «n £q¡ªh¡°d¥ªh£ [¡¥U¥¤a«ŸO™I¤ U¦šP©¥X¢£bšœe—™[Œ‘kˆšn’¢fƒ’nx’i{špx–js›mr£r…¦t{•o£wy›hƒ›e„¦c„žb£dª]|¨`|¤b…ž`‘d†Œ_ˆ‘a’¦U”—Zœ‘S˜˜E–‹R›‡A£˜D£–M¦Ž=¬Œ<½„I´ƒH·@º‚B¸‡K¸I­~K´ƒB­Œ@¥ŠS±ŽC¦…I·†F°’Q±ŒQ®†]·ŒY¨‡Wž‡g‘‰X˜Š\”b”d’_‡‘`‚…g|ˆdl”Ul–_rƒWf|[l_hxd\tsUufTslZ~oX\_th[ke[ggUnjkflbbhjYpZQbfTfdYdTWpRVoZNh[ClNH^PI_MF^LQhKPiRQcSPgLQdVZmU[h\XlVGvVKjWUjHZwPXveSj[YnQJqTDoXCzQKŽKK~LK‰PKƒKS}\I…QH‡g@SB‡\:~^M†MKTFRGŠV?P9˜P@[FŽfHŽi=‡a@‰hK™oJ’i\˜`^Ža\…c[‡SM‡dY†hZ‡^Z’WXSKžRG“QGŒXH‘OKŒ]R‰RP€TAˆZFˆO;‡S?T@‰[AŽTO‰VO’KH‡FEŽFMPU‘IUTU‰P\”GXšK`—EeR_DqŸAl“Dn‘=s”@iŒIg‡KyAp—Ai£Ic˜Dv›Ju¨LtœEc >^©5h¢=`Kb«Ah @rŸCk˜:gžKy¥=l©7x£?r2m¦/m›1s™CeœEu=v§9t›9s¦:|•9Œž7«=‹§A±O‘£P”­VŽŸU’œU’¢M‡¦JžW†¡T¡R‚¦WŽŸ`Œ \‘°[²kެd•¬l†¥j›¤h§ež¤iŸªršœp‘¡g¢¥T¬¥[­¡a¢©[¨´N©m’¥`™ªj˜®cŸ£g¯¢b­¨c®©m¨°pœ°pœ¬s˜©d£­]«¡^®¡W±š[ª U°—S±šQ­S¨£N¥¥X¢ W—¥c‘˜c–œfŠ›^‰že|˜]vžau’pœrx›wvt€t{¨qx¡rzk†g~¢_‡¤d‡™a„›eŠ d˜g{Ÿi€•h‚˜_‘œ`˜žU’ŽYŒ„P“ˆH›ˆBF¬‹H¬…B¶‹<¼…7´€B¹†D²€D¼€L»}Gµ„?¨D©ŠF«J«~P¨‰D±ŽQ·…Q¯ŒY¬‰V²‡^ª€d¦†aŸ‚_“…aeŽ^އg€…_€auat‘Xj–dgˆ`hˆngnhxw_xn^rgSkoRur]vkXqiXpvSml__rcUq_`ga[ifYoZRu]WkbWlgIs[KkNFiRKaLIdKFiUEaNNfGNiNQrPQlSKuZKrVQjaGpZNjVWqNZwZVxUMvOJuYP{ORrNFxE@LFŠDD…GC‹JF†STŒaK]D„`=ˆWC‰RKXE…OJ‡WA”W>“O@”V=ZF„Z=‰j@‚pG‹iDŒbR“gT˜[V[Z’^]‰UVŽ^_c]XP—XOOV”WN•SPˆ^A‹U>„TD…TJŽO@ŠM=…QEW8‘X<^ISH‹JQŽNK”HM–PD‘[LUW•R[‘OY’Dc–E\Ÿ@h™Gg’8m•:t›5p?n‰@kˆEs’;j’cJc¦Dg£LhžBoAz›Ew©Ao§AxŸ@¤2~§7|1qŸ,p”4h“1g™:o˜Ao¢m˜7hœ2mBx C‚¨@‚³It±H{¢O{ªJ~°GžG’§AŸPŽ•V…I€ªY¦U‡ªUŒœd‡œZ«eˆ³h­`—§c­d¦h“k§l”ªdš®h“§a ªY®§Z¯©eª³Z¨¨P¬o¨ªož©mœ¤t¦›q«¬g©¯m¥¨y§°k­­d£¯b–ªp˜¯q™´n¡°iª§c·ªa¸¥\´¦]®«cž°k±d‘¤a… o…™a…•Y…^•edzŸf~•fz^{›mw™j|¡c‡¤jƒ¬k†¯Z†¬eеe’¯d¨j‡¤a~šd•^ƒ—]ˆd£j˜dœ“dž—]•ˆY‘‰N”†L¢ŒR¬‰Gª†T¦‹R°T±„G¶xM¶C·ŠM¿|M¸|L¯„G¨ŒC¨B¤†;~Cš€@—†I£…R£Už†S“„_—Žl—g‘ŒX„ˆZˆ“X’cƒf}‘Zq‹Tk•Za’bkŽ[l[b†lX~qf„qb~o^{^WvcUknZeg`jkVlsPdsRcnMYePNcYPgYNtUJsUOqWSr^QkOChI?_ICVQBgONpERtCDuIEyFKlONmLKyZXmYKhPMoIPoNYxWZyUU|QTpSYl]Zw[IzNGƒPBŒS@P?”QQ‡VYŒSP‚K>ƒS>…`7€]F‡bEŠj>„c=‘W>“[@QB‚QF…VT‹gR„cOcD‚gRˆ[OŠaU‰eL„mV€hV‰`NŽcT’l`ŠhZ’eUŽaP†]QŠ^TƒaP{XBx];€`EƒV:€S;{IG€MR€FVŠMJSHƒHH€DTˆIRLQ€F[SS„PZ‰Ng˜EbšF_˜IdžLa™BbšNe—Mr“FqGs“OožHižDn‘>~…kGZA‰Z?Ž]@Šb;^?{OO{RSƒfX€aS]FƒYI‚iJ…ZEzfHŠfRˆnL…fRfKŒgYŽp_ŽgXŠe]ˆb]Œ\U|^JZIeCfN‡aL„\FO=~LK„SH{PKVKZP…RS…AI‚IQ‚HQƒO[PT€UV‡Sf•P^•Rl›FdŒG^šPkSo—Mz‘Km™Rg•Hr”ApŽ:„’E„¡E}™Lx˜Ks˜Np¢LmJo•Io‰Ru…LpœNo›Kz—Epœ0u3|•<}§:„(‚¨'†¦'š0x=t‘:{šE¡4w¥5{¡5|©;ƒ¤{AA{@G>Nƒ@QsIXkKToSQoLPuPYmPOxVPnGIxM>w]B„\K„_G|RA}TCƒMJŒGF}QG„R9|\A‚^=ƒd@Šd=Š\G’kK…hC†`G‰YIXOzcQv`SxZUx]E…ZR„gK†kD}`SwkMydK„nW‹zT‡|M{XvN‹u`‚c`‚d]…sK„kP{kO„cVeQ‘`F|RL}VAp\K`K}]Mˆ[_|YS…SW‚NM~[R…NY‰T[‹Ne‰Wj‘ah’T`ˆ`^„Xh’Xh”ZtNkŽTlŽUzš?|›HwžIxš9Š‹D{›@z¢Hp‘En›Ut–Sl‹[u“YuR’I€‘Ep–Cw˜B}Ž5v“B˜?¤>€9…¥/€›7„8{›8‚“=‰–C‹¤6Œ¡7‡ž;‰œ8ƒ§9ƒ :~§=›BާA—ªG‰¬LƒŸR‰¡Yƒ¢\‘«X¥a„¤`\†—bŠšX”¤X‘­Q™§]“«`¤\‡ªV•°]›«X•£_œ§^¤Ÿ\¸[§¦d¨n ¬d§©qª¤o§¥u ¬jª«r™žu˜¡w”¥mš°t¥«q¥¯j¬©j¥¤k·®a»·a«²f¬µb«°X›®eŸ²g–±e¨l‘›^ަZˆ¤`¨[…§]}¥S…›d†œdˆ™]ˆ™W‰œ]‹«ZŽ®Tˆ¨T“±]–¥[‘¤j‹¢h–£iž¥e˜¡W¡šTœ£V§Ÿ^¥ž[§¥UššU•‹R–O“M …Oœ„[§ŽX›€VžƒKœ‚Q¦P«zT¨{^¥‚Y­‰L¨I°@µD¨F©R›~Sš€DŒxP^™{\’ˆU]ˆŒh‚’kvŒg{do–hpŒh|ˆpzŽmk‹ni‰_a…[Ye_}b\ta`j]anb\xcgt\fm\k]S`e[U\[T\\SSbQWcUScLMlO9gG;nJ>gB:eDEhGFhK;qG;oI6yH2tA6zL2oG;yE;w=K9Tƒ=P„HWwKSvQWvORnQ]sQVvKKzJBN8}V<ƒWF…RF|QD{OD}NB†JH‹JH‚T;Š\F‡[D_<‰Y?„dKŠiKiKiD~^OŒ\R†WS\Q}aQyeN|kW|cO|bM€hO}dDƒdEuQ‰}^‚s\zwOtkL|kVyeRlV‡qW}xK}uO‰`V‹ZLˆ`P€]OrZKn_JpVNr^N|XWzXOzOQ~LX{QO{U]ˆJZ“X]Œ[e“`j\`‰de€^a~caYe’Ym–Xq•OuŸAv™HsœAš>{=‡’H‡œHw£IlšOo–[u‹Un’Zy–W}‘Mp™Lj–Dl•Iu?o’•£Aˆ£K‚¦Wˆ«TŽ©YŽ¢Z‘ŸTŒ¦T–œ_’Ÿ^–žV›¤S¢¯`œ´^˜­d‹§fŠªc”¨f•ž^”¤X§ªT¬žaµ›\¬gŸ­j­¤g¥¨k±°b©£c««o¡¥o—¬j¡£r ¬i«¤t¯¢m¥°e®¬a²¸]º®f¶¶g¯·c¦«ZŸ«^›¨n›«n”©n•£b‘¨N’±XާS|¯]‰¤Nˆ¥^‚ž]…”a™U£Q«^š©S˜¬S‘¨`޲`­`›¢p” _™œb¤žZ§ U§ªXžŸ_¯–`§œW¢•\”ŠV¢‚_œ‚U¨’^œ‹bš‘\—Š_š~M¦†K¢zS°‡W¬~Q³†a¦‰]©W²O£’PžŒG Ž\›~TšzN”tPU‰‚Xƒ‚QŽ‹]“hˆ‘iŽ[{Š^zŠ_j•gk†qvŠuilh„ob\_Šgg}c]ud^o[nrcpqVoxWerangVfWOQaUIXZSMWMHUIV]MAiFEoDa?=^I9lJ=lD1i?1m>1n=4l?8~B?v;M„:K|@PzDMyNMzRN|FEzHHwMZvTM€DJ{RJZ:†LC‚JMzH?ˆRE‡R;ƒJ?„U7ŠTF‡Y?ˆZC‚]Ag?ŠjFƒaH‡lG~gBŒiCdI€fI„`NzjNƒbV~dHkQz^V~mNxpJwhOzqO‚YtqMzqRlHxmJrfU€gXznK…~N~sQpV}iV‰jW{]Gz]GzYRtPFpVGxYTzMXnNV€[TsRYzX`K]†QZŽOaˆNe‘Rd‹]b~VeŠ\bƒ]oˆVo“Rz›Um£PvŸE|’RtšC|œ>„9|™KzJkFl—Ir™Zl•Pxš^vžXw›NiœGw‘Hv•Bs˜@}¤B|¨;‹¡A„˜9‚?zŸA‡§0‰Ÿ7”ž-ˆ“0˜>ˆ˜:† 8’œ<žBŽšE†ž@‡¨6€£7‡ D‹¢C‡©M…žL‹§X‘˜[•UŸ]”¢S‘ W•¢[•¤WŸ§`–³cŸ§_™­_ª^—¯Xœ¨\˜§T–®VªŸ\¡žc¨h°±j®«n³³e«ª`´¨i®£p«¬w¤¦x«¤j¡¬už¯qª£qª§d­´e·²c³³[¥¬Y¦°a¦­\™©X˜§e«\®a®X†¸O‹´Yƒ­R„¦Uƒ®T¦Uˆ X‚UŽ˜Q JŸT–©S“ U™¦Z”¢_›©^¡g˜›b¢›`§˜c«–[¡¥]¨ \­žg¨¤b¢œd¥—XŸŽZ¥‘b£Žjœ†a‚Xž|W˜Xœ€S¢ƒJ­€M¬†X¬Œ[¯[¶•T­ŠR©’Q¤ŽSŸ“W—‹M—zJ‹zUƒ~RƒV„„W…Z„ˆ\‡]v„`veq“du‘cj‰opkp}qn}womg~pi}cazd^}VixYb€VlxNovTgfRdbOQVYLLVLPTOVXMKiCKiJDpP9iM;iI5dF<^=>d@/l?5nE7gMAkK;nB;rB8|=;=D|BH„9OˆEQƒDKOE†HIwJTtNOuIKvFE}JH~QB~QD„NHH?†J9{K9W3‡Y8X?ˆcAˆ]@ˆfM‹jN“aK‰gJlF‰k=‚n>‡fE„kFkO`X^PyjU|jMrdRseNvmNuwI‚Jy|WouLvvHptCtkN|rHziP~jU†rW~rZwMwxU{jMqhPrYOpQTsVNwNLtTKpVIs\V|V_yXWxM`ƒR^„W_OjƒIn‡RbRd‚M^ŠYgƒXm‹Ru’Vx‹Ur•MvJs“QxžR{™A|‘;y=o=g“Kl¡LjMl–Xu•Ym bi›\hŽLs’Mx™Fw™Izž>z¡5‚¬;ˆ©B}¯7‹¨;Œ£8˜™/“”9ž—1›˜:’7Ž—C‹š>–ŸH”ŸA“™Gˆ¡; HƒEœA–§I‘¢PŠžT’¥L—žT‘Ÿ_˜£X—¤ZŽŸ`–Ÿc¢¨bœ¶Zœ²]™¬^–³\’«Q¢W•«[œªUŸ¥_£ f¡`®·m©°h§°`¤ªh§ªl¥¬jŸ¢u©v£¦g¨¢m¨¦r¬¨l¬²k³²k«ª]°¼` ¸Z˜­Vš¶S’®bŒ«dލaв]‹µPƒªT¢\ƒª_~¤O¤R|¨VŒŸX‚¦^‡£]’¯Rެ^‰¤T‘®\“œ\•­c•¬c™®\™šf ¥^Ÿ›]ª¦b£«c¡žf³¨c§—g£œd¡[žŒWªcœ“_¥ŒU£”R¥‰S¥]¥Z°ŽK¥‹S£ŒN°•_¹˜O³“O¨R«‰GŸ†X ‰L£ˆHš‚Q’tV‹wZ‚‰S‚~TŠ[}UƒX„‹cY~huŠpn–xf“sdˆch‡unsg|m_zdYr^[}[iuTjyOdvP^rXbi[X^X^QYLTbGQXNUh\PqHBnMvI/z<8uN:sEA„CFzADƒ@@‡1EŽ@IJ>‰IH„JH„CBvAKtEJm@4~S:vQX3gC…rIcFŒ_K‰nAŒ^DŒa={Z8€cI~iDƒmKƒbW{`IviOtfCzhSplB‚sKtM…†KtrHrvRvvIniXwoYtmN|xRzyNvTwmLtoNtlTodVvZNzZNv[Jy_XpVSzVKyaWrbQzW]wVcRgŠ]e€Id€Ln…Zq†Ka†P^…YrƒTpŠ]u„K{’Nr”J~“S|ŠH|’Ky˜E€’Gw?{ž?yKg˜Uq›Tu–YiŒUp‘Ql™Xh—Ow”KsJ•B}’E…–<†£A‰«HªA‹¡7’‘0‘%–’(Žž.—’7‹š8œ7ˆ™CŽ =”š;‰ 5‹>~›C¨>’¢@Œ¤E•œW”žS–O—¢[‘¨PަT™¢T’­X™©a•¥[§ŸUžªe—®c•º[™¤`®]–£`•§Xª V¡¦d¨]±Äd³Áj¬¾c¦¯m¢²o¨¦q¬Ÿ|¥©zž§t¥£|¦£{¦¥l©«b±®b¥´a¦³[¦ºe™·a—²X’²]—¶_Œ¬Vª^…¯W‡¯Vƒ Vž]‰£]… V‡™UŒ–Y…¤\”§W‘¬\†¤\ˆ¬Z‰žZŸb”°Y•±U¤¬R¡ [¦ž[ž ]œa¥ l¨ªe«¢j­›c¬–Z¢–[¢“Z ‘[¦S«‹S®”P¥Ž[£‡[­‡S¯ˆX´”Xª‘X¯‘[³•Q®”R¬‹W¥ˆLªQ ‹NŸˆH¡‚F’xVŽ{\Œ}V‚|_~ŒUyV}…TuŠ_~”]ƒˆ`zŒem‘pkjl‹df…cg‚oonlqr`arifu`crWVcTZdTYldcpa_aU]]cNfcP^bQ^iZVnMKxD@j<@mCDkO=jJ?qOAuH9K4yJ5w=;}>8}ME~KG{=F8F~5@…8B>8ŒC;‚76;;}E>A@x?7mH1rI4~JB{M?}LBƒP…hJ‹`LŠfQŒmLŠbO‡_C}X8wZ8|k@wdQylRsfF~^B}_Dy_J„tH€zE{{?€„D†uI}qOtnQpuQywNzj[w{Tv|N~{XzlSvtP|lL{qXufXqiWpaTm[PuXTwX\o_SmaexVe€Xg{]_y[[‚S\{S`xZs{Lm}Mm€Mr€WwTl‚Lo…LwLx‹LwCy–HzGz™D€™A|–8p™@pQuŽ\zŠZsŒ`t”Um—On—Ql˜Oy•E‚—Jƒ“P€˜G£M…£B†•6‘“9•’+’*”-‘—/-™0—š1Ž?‡’?œ@…•:zŸ:ž@~¬@ƒœE‰Iˆ›V“›S˜œI™ŸPˆ¦Gƒ J‹ªY‰©[’ ZŸS §X¥¡b¦«_š¯Wž¯a’¬fŽ¢^” Z£¬W ­d¨e§ºb®»k²²a«ºb³³q°²p·´y´¨t«¦z°®v«·{³¶m¦·[£®[§²X›¿`§¹dž²Y—±Sµb¸lŒ¦l±j„¥V‚¢V{U~¨\…§R¥P‰¥`€›Z’«bƒªb”°S† [Œ¢U‘§UŽšL‘¥^Ÿ¶[›®X¡¤V©¥T©¡X¯¥_©Zµ­a¶žY©¦\³¦c¢žZ¢–a¢‰Y –_¨”O±“Y­[ªRªƒW®ŒQ¥Ža§ŒX±’R²”^©’Q­ˆVžK£ˆK¥|R’‰H“€SzL†y[„‡^~‚Ztƒ]y‰Os…S}‚Uu•_~‹bwƒfvˆrnfkƒguynvqglmfhs[hdccbe`obhbWdf[iki`lcblbZc\b`_][fWTm[WjYOHK}N=qAN|L

AqJEw@>ƒI:z@=yM5‚B:}DE}A?ŠBN‚5A‹6HŒ99‰63>0‰<5}57??€<8qE/r9*tA-t?<{?AJD}?:lF+sM+~`-}W+€_4X-…d=„Z3‚l:‚gJ…eN`H}hEwgJvS>t]8~aC|eDtmKwlFx^H}`BndD€nK„w;ƒuFw…Dƒz=„|AlGvn[{o\{oV{x[p€Or~SzsJpjO|lWu^Tw]Zn^VuVRp_O|eSj^\hYWv]as`]|Y_t]_vY[nV^yKmuR|tYm|Uhs\oˆWz†Yv…Vy‡Mu“U†šSvIpJs™Ju‘:s•E‚‘>xŸ>y‘J}‹[s–`u•d{–Uj—Lq–Ns“PtŒK„˜FCv˜EˆŸHŒ§?C0›”-‘‘(•—+™‰'‡3•‹.ˆ‰8†ŽG’›<Š™C›8‰ž:§A©?~ŸAˆ¡PƒŸS‘¨I˜›N–¡P’¦R‘¬Q…­O„¨U…©SšœTš¢Tš¡_ª§U¡§Z¢¬_’¨l”¤i–¦f› f¨¨b¦r¶Âk¯Äa·¹h³¶r·²nº·pµ·‚¶±«·{«¹u¤»w®»p¨¸e£¿aŸ¼]ŸÂ\œÈS¢½R£»Z›¯e”¬hаe„£mƒ¡\‡¢[}¢]{ŸVˆœ\†§R‚¥X©]¨^•¦]‰ª^ªSœU””M˜šH˜žS©X§œO¡[ž£Y¨¤R¬¤U¶¦Z¸¡\´¨b¨®d¨¤Z¦¢ZžŽ]¤‡b§Šb²Y­™a«šW¨‰T³‘V³‰\§ƒ^¦Ž]¯ŒVª”R‹T¡Wž†Vž€XšuI“yK˜†P„P€\}†[t[z†av~Uo†OtXxŠfw‡fxƒkp„gqlpj|v`sjbtfWwh\kck^dk]bpaahhjiimcdjedfdffcldkeYnmJjcL{UCzSG†TOHKzFŒH=‘@;A6’<0Œ@6Š?6„62v9=~8:w:1r>7n>3xB8x:5pE2qD*tL,~U+wS'zO'\1„^7€brjCvf;qkDwpErnJr~>}|AwF|{BƒxJ}vBvQzrW„qZ|tNƒMzUm~HltLkhSphPqaVj\Lp_SuYV~UUva]sabrZcr`]qf_te`idad_`ePfdXonPwv[wnZp\z‚]x~dyˆa~‡e~‘Wƒ›UƒSr•Lz–Es•Au“=Œ@ƒ•H…™O€Ž[w’V{‘]r†Yr…Qm‡IqŠGz‘DuŠIw”Jƒ™F€“I…›B8‘2—)ž…'—„3šŒ-Ž)’Š.†‡5ƒ>ŒF–™B¡A”£:’›A†œ8„˜?¢J‹«V“©PŽŸL” I§L„§H†¯E†¦GˆªVŽœTš–P¡Y¤šZš§d–¨]—¥f”¢h™¨p›©p¢¬pžtµÅp¿Âj¼Çr´¶t»ºe¸»r¶¸|½|¶¹z«»°·{­Åe§Àiž»gŸÆi¿[ž½U¡¶Z‘°e“«^гf¬jŒ¨pˆ­e‰¨d‚˜Zˆœf†•]~¦]£\‹©a‰­e‹®^“«V‘ŸN™©J¡R—¡Jš©X˜¨W¤«]˜¡M¨¥`¤¢Y¤¨Qµ¥T±¤_¯žX«Ÿ`¨žX®h¡–g¤—h±”d¶—\´U±”P°P©ŽJ¬N©‘O®…X¤S¯‹Oª’W¡‚_¢‚]¢…O¡‡T›}U‰Š[„ˆaƒ…gwvbubs‡U{\qˆS|‹Oz~Sv„W‚bpslvƒeixkmf[wieocgqjdrdk\WiWUkd^Y_khg^ggahZbh^eqafrebsiRxcOq^KsWLtWGKFtCEyBNy7E}3E„6LA‚A;77‘;6“71…8}77s@07.rA-}B-{A5…C9‚<&x9*tF!‡M)ƒT zO'tZ-~V5…XA…XEˆcJ‡b=dI}gC€cA€l?{eD{gwpCzc7p]HvfJzgP{nDtjHqs>m}>rzH}wHxLywMvqJ~yX}U~Hv‚Lj~FnsHkwOgwTfrWdjIkgNhjZicZmhYf`Yb^Rf]]`jj]kga\ncip\qehcqdVkjZwnOsuNwnMu{aovcx|[~„_‡…]…ŠXƒ‡N…J†ŽJu‚@tŒIo…Dw€Gw€?„‚Fˆ‘K}T~as‡SwŒS„…WŽPŠƒJ’‡JŽˆTˆ‰Vƒ‹Q‰@–Œ?“•7›Ž/“’3Œ(–‰,‹•:Š–A‘FŽŽ<Œ™C‡œI§D¢8ž©=”¤<–¦@— L†¥NªKާK‹™J£Q…¨G‚¦SЦPŸK• SšXQ¢™T•£^–˜`—b—Ÿg¨o”°y®qtÊÄ¿ÂvÄÂo½Ïl½½v¾ÇvºÆp¼¿z½Á{ÀÁ}®Æm³Ìq¤Êm¨Ìc˜Ãcž¼rŸÂv—Äjž½cˆ³l´j‡®c‚¥b„¡l‹¡`Ѝh†˜o‡¡g’—k‡˜j‘¡^ˆ±V‚¦Tˆ¥S“›`œ¦R‘£Y–§S‘®\›©U—±dœª_¤bª°Uª©e«©Y¬«\®Ÿ`²›Z©˜W³ ]³œY¶’a²•T³’U±–H»šW»šK±P¥ŒU°‘S¬—N¯V«T¡…`œ‚X‰]¦€R”‰`‰€d|\—€^„„\ƒyVƒy`wx\xxV|sbt~S~wZ{uYmxctxbopendet]cqfjydcgbgkSjo^hhY^fbUacX^`T[^l\cl\gzZbz`e„e_}^U|_\€LX€ONuKF€PR{:V€9N„9E‚A?„>?}@A€83~5.|73Œ*-‹*-7*Ž,:ˆ47Š/.Ž25;=Š:*†85ŒB/„6*ˆ?1…59}068/v4,w@+zA€J/|H/vI#‚P2ƒ[:tZ>YB|S<‡g>‚^Bƒd:vm5sk@xp7tp6qlEyj@ql@‚j?wo:qvAy}@{|@r„@psNnwPwoTtNn€QoxPrƒKgqGl{E]}V[lW[v\kmRcpZki[jkTclZacU\_Xahg\hd\lhj[tipw\li\aha^fm_nkWomWxo[uxY|T|t\…‚Q‹_~b|‘RzˆO‡ˆJ|†Ay€@w€Jt„=wwD~ƒI‹J|‰[yŒTyƒK‰K‹…J‘€LŠˆJ…”VˆL’XކR”ŽF¡…@’˜?Ÿ—8¢;”“?Ž3˜ˆC™“@‹—@’L›P’G’—H ¦:—¢9˜©>”©Mˆ¥EŒ¢W†¤XˆŸFŠšCЍ?‚©H”¨S‘ U›©Y©N”šV£“V—Oœ[¤•\–™^—¡f¦q›o™¢tsȼzƽ}ÃÆxÂËpÊÅtÂÀp»Åx¿ÅxÅǼÄrÁÑu·Îw©Óz¤Ñq›ÍkžÇw¤ÉxŸÁ|šÄr¼k”­qŒªn‰¤aŒ©m’«g—©f™¨i‘Ÿm…™m…Ÿe‹œ]ŠªW†œS…ŸO’žX•ž^›–]žb¦Y«_¯e›§e™°_§®i«²b°©Z¯¥^­ž`¦¡\ªŸ\´š\¹’R´Y¶™P¯”O´žS¼L³Y³“[®‘V«X°”M²†P®‰P«Zœ‚W¤ƒSž†W wa‘yj˜ze”}^ŽzVŒ{Pƒ}[ƒtR{rW|r_vq^tudqxaet`cubiibnhgp]lj[lo^ja[_d\`ic`keSbdW_[b^_[a[^dYrV^pZ[v[btaa€_`a`|UW~\YxQK|IV?Sƒ:Jw9Lw=€=8}=,u<4}2/ˆ22‹0113Ž4)‘4/‰.&“5(71”2+‡=%†<"ƒ:*…+2z-2‚,,3,80x9$u9/zD(F)…F*ˆE.|N5‚N3|R9~b@ˆc9†g6‚a:ze:zp1wi1}sAu?wwB~tA{v@z€?|y?€wEFw„HqxEw‚Iv~NuzKlƒMdxEhvA`€EdyIfoK[pY`wUesWZpW`qVZfTcdUa`\ZkaUq\alajimbdsj`}blzcdnn^ppb|i\vrb„pbƒtc‰{V}R‡yR…ˆQ‰‰]’T„K~ŠUw‚N{IwˆCw~HuJs‚Km…TuZ}}R„{N†|I‰|P‰ƒOŽ’K‹QŠˆZŽŠR•‰S“„SœƒG¢G“OGŒ@œŠ=—„K–M–’H‘K’G™R•U¤žFš§Bš¢BŒœQ—¥O’™WŽœT‘›JŸH„£L‰ D”šJŽ T•¡U”£Rœ–Pœ’P›”O¤Œ_¢œ]—›hœe£aŸœ^¤£j—}ÁÍ{ÁÎy¾ÏxÈÂyƽuÃÄzÇÂmÉË{¿Êp¿ÈwÃÄnµÆx¶×s±ËhŸÌi­Ép­Ët¦ÊsšÅj›Ám“·h—ºd—¶gŽ·h—µf’®eŽ¥m“©e¤g†®mŒ«mŒ£e‚ _‹¥[Ž¥b˜™[’ Xˆ•c‡œX˜¤_š¡`’Ÿa¥§a¨£U°ªT­›V°š\§¨W£¤Y§š[º›^²žW½•a²¢U³•U¼“M¹•Z¸^¸’]¸‡c°—Y­‹S¯ŒG¨‘\¨‰Z›‡\©yX®X•{[ŠwhŠ{gš`”u_ƒx\Œwco\~lVzmWzv_wtYdm]jp\ht[^d\k_aigjoVusammdiu\ji[Xo^[p^^nOakUUfKjYOzXUw[YuV^|`drb[q`Ur`QrVWsPVyBMx@TsJKrB=xBAyDAƒ;2z;->14>‰4:‡75…9#‹7)†>#Œ94Ž1+‘B*?*ƒ9+€9"Š71…69y5;€+9=,sC5B's=.xD!}O.|G$zT.{R>~N5y[>†Z.†f<Že>~_-‚g4„s3€y9rs"ƒ44ŒB+ŒD/<3…7)…;3‹?3Š=8{35y27‚99€E6vC*zE!sHvJ vN&xT1yT;|]=„[2€U+…Z3ƒZ3‡j0p5n6tq@ws>v|Dpu?soDmkFvj8zh8€n9ufHmr@op;ksK_kL[vL]{NexN]rEb{HYyH[}J[|QcrVhvRdoMaxTkr[gjTbiVYcYUlfUjiYmp\`gQafUcvbjwddobSmdRviWxt\zq[v{_€{Y†~[ƒzP…vKvsIwUu‚P€|R€G…|I}|J{zMy€LyvQ„xR~qcvtc„…R…X…{M…ƒG‚P’ˆX˜‰NŠN}LŸˆAŸƒCŸ†?˜ƒG–€=“~=x;–~;˜zDŠƒIŠ~<‹†>’H”’D¡‘P˜ŸQ“šT¤J–O™•V™NS›[ˆ–T‰žP™Zˆ¦P”¡H–¤I•šP ›Q¤X—£Z”•`šZ™Z—©jœ§mv½ÊuÈÁxÇʆÅÈ…ËÐ|ÄÏmпuËÈkÂÊvÇÆh¹ÅqµÆo²Íg²Ôi¥Îr³Êm¨Óf«Ìf¤»f›¸u¡Ål–¹u•µv¥·u¤®q£°q–±i›·mš¬bŠ´s‡ªlªwªqˆ£jˆ§mˆ£_Ž™`‹œa‘›]•Ÿfš™Z¡‘fšši¦¢_­ W¯™f¯¦a²X¶˜\¸–X¾’d®^»™^ª”R°–ZØT²Vº’g²\·…b¸€Y³T³J£{V |Z¡sV«zT²zX¡ue“rY˜wTwe…om{dgŽqfiZ‚gczndulOok[ql[maZf^big[`fdhc`gai|\jkcptSmqT_g^\rVaeTd`IYeIaYQwfFhdKng_uYPhVMn`ThZJhSUjSSlKEsXIrICqE*‡I*‡G)Š>+ƒC3‰9!ƒD+ƒ=1}E4‚7.w;6Š@=‚42u>2yD#oMvR/vO5ƒP-{\CzT8z`AyY6zXAzh/…k8xq3€rB{n=rz>px=i{Gqr;rv@tbCpg;yhLnlAmm:kg9on?jhA[t?U|FduH[zR^|FcqE\{UTtPXySgvTg}W^tXpm^aqVkk\^\Zde_Sad^`ldSgQZqZ`|aVufZwa`re\sgb€u]xwc|px\}p\~pYtrH‚vGulUsvW„tM€rRoH|tP„zH…|Qƒ|XŒlSvvinz[yƒS‚‚W€{Z~HŽ~R†L‹‰R‡ˆL€F›v@”}D˜{@¢wD™‡A=ˆ}<”yBƒJ•„C•u8•‚3•D˜Œ8šœ@”IšU‘¤T˜¡SˆšV…’N…‘L~NƒX‡˜N~—_“S• Kž O £T©¥O  ^šŸUœ—b£^Œš[œk“§a …ÃÈzÈÄ|ÑĆÍÏyÖÙqÑÒtÚÆqÑÆmÇËxÁÆyµÂqºÅp¹Çu­Êg°Ôe®Óo±Óh­Ðq¥Ái¨¼m­¸s£ÂpœÇx¤»u¥¹z¦³v˜³m™¶b—®f˜´sµo’®j‹ŸvŽœn“Ÿm‡žk…¤b‰˜]‘ e“šhŽ™n™Œe¡‡f§“d¢gªša¨–[´ f¿ž_ºX³‘^µ•W¶ŒV±^®Y¸‘]Á“X½ŠX„aµ~^²{W¬X²S«|M¨rX¬q[µwT¯sU§uc•sX›j^jbˆbf…_j„ah…i\†^_~d^uiSgfWh`Mh\QhbWh^_c`_iYfxdiv_doXilTrsQilR`oMafP^^KcYKpdLoeIimSmdTf^QoZJr^AqdIcYBf]Ki[AnZ>~M<|N9sD0zI4{L;ƒ=:‡:4zE=zE>|N/…D$€K)vF"zN#zF1~D1ŠK'ŠD&€D.‚D0ƒG.€;4x@094wB7}>+‚K1vQ)tS2vZ2†T9‰[:}U@{\?ydB{bA}l<|o6yr9}i>vsAmoDpsAoz=}w9|sAtpHufDmc>skHrqIpf—€DuD’tEy7š?¦‹<¢“E™˜N•”Yˆ–RŒžQ‡•Zƒ’]„ˆU€ŽX‡–J•F†”S…N“™V›šR—¤M£¯UŸ©\¢£S•›Y’˜\Š cžZ˜ž`¢„ÏÕ€ÎÕ…Í×{ÌÔqÓÔrÈËvÊÏzÑÇiÃÉm·Ív·ÉpÃÂ}¿Êw´Ôm³Ùb­ÝkªÍ`ªÔm Îq¢Íw­º{¡¿w®Ç}¥Ã…¦¿w™­u“®i˜½h’¿o˜¹h޹l˜«sªoˆšsŒ˜y‚˜fŠ•jŽ[Œ\›šdš”h™˜_¦˜jªn¤˜o¥Ÿc¥šb«œe°˜hº¡f­’q¬—f®l°‡Y¶’^ª”_¶•fµŒ]·}kµ€`­†X±„Yµ…W«uP«pV¯uM®hV¥zYªvb r_šeYc^‘dl‡h^ŒfdŠndxp\bcjj[k__lYVcdbhaThZXlZZpbde`mkUom__tNcuZcsOkiNgeZb]DjbCc_DjcKu[JqjMrfGlkCf`OgeOpcEj]QmXzP:N>zO7sF.pM1}H;yF5vRBtQ6V4„O1‚L)~T+}G!€Q2|C9yA6|N,‚D4‡;,ŒA-ŽG4~B:x3-t4+s3.‚J$P.€V3€^'„T5Ša3|g6€Z;wm?t`>wgAqg1ƒkBuqGlxKekNiwAp7pzGt{;pgCllGshEddEon9sb0lk1jy:XsFO|QRtST€L`lUijPcyJZoZfyTex_jve[l\`hUseXjlUddUf]`iVcgSi`]gcUhg[yaau`[nSso`|t^€uh{zfzplknnrnZ|hWvwGymRxqPƒvN{}K„kG~qLyMŠ|P|Y’‚Z}uV|rXvƒU…ƒQ†…a‰]‡YL’†M•F’€P‰P–qI“€AvJš{Jw6w-Št<Žq>—yHœq=œr<‘„@‘~7—|;‡F”‰L—”UŽ“ZŠ‘OŠ_‡…X„…Wy’UšTŒ’\~’Syš[‹[”™L£ŸT— SšªV¡ªV›¢RœYš©[‹¢\ ¢i©…ÇÕ‡Ê×}ÉÐ}ÑÒ€ÔÇsÍÈl×ÊqÑÃoÏÑn¾ÍÁÎ~ÂÂpµÐq²Îq®Õ`¯Ý\¨Ùh¥ÕmªËw£Ïq­Ìv©¿~±Ç¨ÂŠ˜·„–±z ¾uš¼m—Âs’·{•±u‘¬kžoŽ¡l„ªt‹£l“•b˜‘\^œiš™g˜k——a¥˜f¡—j§šg£m©–a«™c·”rµ—r±Šy»pµ…l¯d«’g´•c®‹`´€l½wfµ{Pº‚JÀ~I¼{G¯mS²kS°nQ¬tW¬sU¤nZ‘bYg[‰rhwe…e‡we|bdx^fm[`_eek^cn\fj``gfff[be[kjaid\\tR`rXZjU_oXZcYc\S_cAca>pbKmYSeaNk`GrhHnmGkjOabI_SRkTIyTDwU;qJDuB=yO2nK*uH.kN:jNHqPFkQ1tU-tU.€J/vM0{N-€Q2ƒL6‡H2zH7zJ2‚”s2Œp1n;•kDŸhG›r;‘@‘x@–w;~E’€OŒˆU„‹aƒ‹`‰}S‹[~ŠY|”[z^…–YyŽ_~—ZˆžU™¨V£«L›¢Uš¡\–¦^’¨P˜°Q™¦V¥Vš›b¥‰É݇ÈÞÆÖÑÑyÕÈzÑÊtËÌpÉÃyÀÁsÀÍ‚½¿}»ÄmºÃl©Ëb«Ïj¢Ún±Ðl®Þw¨ÎwÊ|¥Óz¦Á}¨Ã¬Ãƒ ¿€›®…•¶³v“¯qŠ©€‡Ÿs„«oƒœl•˜h¤s…•eŽŸaŸb¢šW •fœžiª™d®šY¨Œh¦œm©Œl£’l©Žm¨’b±“q­ƒx¬Šq±u´Œn·€c´Žg¦†c±€aºƒc¹‚[»y[Ã}TµsN¾xS¸wQ°uU¯|Q¯qN±tZ tX•gW–if™rb˜{`‚}f‰tc|qfhehehglZej^gc^nn_ok`nahja[afZcbWrfZe\[e]^`^`^ShYU\`KdfI_hHeiYqiKfhHi\DkgN_^>`aFaZ;q]@eWFtT?wK8lC5wL)qA/sG+zL2tM5wKJnO=vP7wZ7‡U8{L3zV9~G+€O+‹L+L2…D-‹::‚72ŠI1xB+x:7=)z3.=&€D)…E-„U+~_;`0}f?ƒfEˆq?ƒe7}rCkB€p>xnMth>hl>tzGfnDck;heEjl9fe=kj@bd5Z`>jd5^o9]h;anNSyKRyFZsL[mN[uLbjXNiZbr_jybjnXXhUcbdm`bahg\U]ie[gVjback^fp_rp\{_^sXhzbYufPwpc}yevv_r}fym`qnayx]€qWzrW‚eO’lY†vLŠjPyR‘tU†ƒ_މdˆ{`~ycˆe}†UˆV|’^…Ža…ŽU”…R™N“‚DŠ‚BŽwL†q?†p=ƒxG…€;Žl4‘r,‰n2‘g>›r=iMœrO“}Lw?˜rDš{>’mTŒqP‡yeˆƒV~y[„‡\‰€Z€ŠX†Yƒe„Yˆ–S•–[—˜S—ªQ“«NœœW”¡^”¯Z”¬Zš§S™¥c”œ]¢‡×܇ÏÔÐ׃ËÜ‚ÃÍyÉÊyÍÄzÑÆ…ÊÄ~ÄÆuËÌ|ÀÈq°ÈjªÓq¤Õm¦Öo¦Øh«Ûi¥ßsžÔƒžÏŸÇžÄƒ¤Á†©¹†œ»€“Á‚·ƒ˜­{’£‚Š–zƒšm€i”aˆ“h˜a™b˜‘Xœ_Ÿš`œ”cª—^µ[®‘Y²•_«Žg©•p§’m«rª€r±Šx·ƒq·|s´…q±}p¯‚v°|r±ƒk¹e³d³~U¼vX»nP¹qS³}Q¸wK¼tS±wa«v_©w[¡pb“pZœl`“ra‰xjƒrk…k_}nbzcagadhagelbokbrf]robii[mkXfk\`f^imako[`d_Zffe^chUahFbbGjjNplJiaIgZMcZJ`hK`g@`_:iU5nN7lJ;rD4lB+iC1iD0xR6wS0uP:yU<[2}Y4xM4‚N=~S;€T;ŽQ;K/”G/I+’D9‡;7}G:}A7xB2ƒ<,†8.='„@1‡H3J>ŠX7‰\;}e;‚j:ƒk@e5~l7ti3zj;ycIukGue>npBruAlp?sb:l^@hW7d_9]]:bd;fd=_d;d_AY`GcmN]mJcnF`vBcwQ\lO`m[TrbVve^rbfl^feamgkicnjXjj^hi_jmdfxjru`ln\mmWvbZq`^nd\}fX{dR…rZ€qlwwpz|kwqdwwa{qW…qX†gZ‹dO„mOŒtQ‰sZ’xW’†c‡Šd†aƒ‡]zˆ_‚‡aƒ’_Š–_ˆ‰W†ˆRŒP”•F’ˆ<‘ˆ9Žy>Œ{J’vD‡u9Œu5ˆk1ˆl7•k>”i>’cDšlDžoE“oM—tAœsEšhL—iJŽoP‹s\xVwX„~Rƒ~[‰w_ˆ}cŒ€W’‹W‰ŠW‹SšŸX—¡R—¥Yž ^˜¤\¯V’¦_¤[–¢^ª_—ŠÛâÙΉÐÏ|ÓÜ{ÎÌpÊÌzÆÑsÎЂÊÄvÏÍ|ÏÈ…ËÓv»Ös´Øx³ÜnªÛt®Ôl¯×y£Ú}šÏ„ªÓ‚žÁž¿‚§¿„•¸“”º‡šª—¬€‘¯Š‹¤¨†›rˆ nŒx•i‹”j•Œq˜…d ›li¤—b©šk¬l®Žh¦Œb ƒl¡‰w®“t²u¯ƒm¯ˆo­ˆpª}o©{q¶|o´€s­q¨um®pl­qd´|c¹|X¯v[®nO»sU°}S»rV¸|c¦yb¥yf—sdŒoi–od—ej‚pfƒkd„d`~ekochnfadc\kmbge[sfgpiad`\igW`dbfnW^pUjf_bddbciiS]gJ`nDadNclJ]_OddN\YBX`BZ_JanH`^>kWFbZCpF8mD2uR;f?6fK+jP)~K8qO3vP9zK0‚X,zR3ƒU7†I?L.ƒO%L(B2ŒI/Š=/;447}39ŠD/Š9(ƒ@ yJ%|P$ƒL3‰O5X(ˆV*„`9u[?~_9ƒd1ƒu.{p=zl?wp@moHloEoe9uj;snImt6_d5fh4]h5ca5[`6\_1a`9YlBVe?ZcOSsEbjM^vC]pHakYckQ[h^[kWloWorXkg_chggeflineffrZjcdieimz[rm_nk]~qU{sYurUti]xqcnW|mexvmyoet~^smi…he‰o_‹jYŒm\ŠtQ†lR†i]“xW…‰f‡…V}vdŠ}W‚Ža„TŒ‰^‚M‹ŽYE‰ˆAˆA‰A‰}@ŒƒF‚w?†qDzsC‰q:†f7–o,’k4œkoS9jB2rA#vM0uR.uO)|O1†U.€Q+zP.yP=‚U6}N'|M-ŠG&‹D'ˆ=2‹E;‰?6ˆ4)ƒ6-B.?+‹C,|K$vL$|R)yZ€S!P-~\2}Z-v`+€c+yl2}pcd5mh6rj=ntAbo?`l;Y`.Y`0\f1[].[X0b`4cf9_iG`fOZoJ_nFckJmsMfqUci]gd_ieUrk\ig_pqdpummggkgtlessgphadkgjmenw]qtZ~xZ}uWynW{kX€tUzr`xii|mf‡ymƒ{bzp]Œlfs]i^q]zqL…nWƒpPƒ{Z„|Y}UxU„wU…T‹\|R‚€P†…K‰‹@‡‡B|‚8€‰8}‡>…„F‚vB~uH|u;xj0ƒd0‹i'—j;”hA”r=u;™y@˜t@ŽvE†p@ŽuNŒxOŠt\“xZŒxS“€Pš‚F¢}M™ŒL’\˜’Q‘ŽV“‹Mš—M”U”‘Pš’T–£N ¨SšŸ`—¡Z›§Z ¤^¢™\¤†ÒÙ…ØØ‚ÖÒzËÕsÍÒpÒÎqÎË{ØÏ€ÒÎy×à‚Ò߈ÍÎzÊÙ|ÉÏo³Ëx¬Éx¬×o±ÆzµÆx±É~¨ÌŒ¨¹€¨¾‡™³¢¸Ž²ˆ”¨~”¥€‰¤ƒ~®¡‰¥€‘•€˜–|‹v‘•v—–y‡s“Žr¤Œzª•o±–w¯‚i«Œt…}£‚s¨ˆx®‹y°h»…r³ˆf¢k¯ƒtªvj¬tq¤vlªjp›rt§hg©onªke©jc«mZªhY¤jkŸq_¡hl³y_ f`˜gj“pgŽkh„m]ƒhfŠds‚gpzdqvceyfb{a^u]Sg]S]PYh\a[]\e^cdml_sXjgbpahhabs\asYXoJXsGXfNVfN`lPZh=U`GTeEZcET\CSh=]g<]X@^\GfYHoM?j[=qW4vD(lB/rI1rP$~Q3sL6L)R6|R=xO1|R.ŠE(C'„N/‹@*’84ˆ=2~C+‚:5Œ:,F1ŒG ƒW#‰L#~U|Y*‚U[+ƒ]0Z#{a/sd-ps9vk5s}3cu5``0nl*ln.pk-`s9]p>er=bd5ba([m.dd,gk+hf:arXrKZiO_oHbnLduDooLmr]ig]xbcnqalhiqnjn]ivdfqcstmnv]nj`hgWjee{q\vuMvRuave[|qgoa}vboiˆik„qhƒqgykjygƒm\’ejˆoY‚mVcMoLkP…}_‚Q‰yPXƒ~Yˆ†^uW†€U„‚GƒBzwAƒˆI‚ƒAuz?yxEr?yqJ‡n:{t+{j(„s#™b2–k;‰f>“w5’zCˆzH‘pI“tH‡jSŠs[ŒyL–qZ~M–uN”zZ“|F¡‹L¤†[ŸŽK™~H›‹Oš’D¢ŒJœ‹T™”J¤˜DžY£V”£^˜šX¥™^™c¤€ÏÜ€×Ò‚Í×yÓÔyÕÖzÜÕwÖÚtÕÞtÛÕyÑÜtÎЀÍÔ{ÊÓoÈÊo¹Òs´Ìp³Õt½Î|½Òƒ¶É¹Á‹¬±ˆ§«‹®~Ÿ®~—³|Š­‰©~‘ †Œ¤ˆŒŒ‹¡‡†˜~‘œ{™zšˆ“Œƒ•“‡œ›|£‘s¢‰vªŒm¤„m¢€p†w¦‹xª‘y­Šn­t±„i¤b§„eªtp©qp«ijžjr˜roŸoo¦to¦ps˜cjš`m¡be¢^l¥ae›`d¨op¤tf¦k`œcim`‹gbŠb^ˆgl‚hh€kpydf|g`|bbrg[a^X^UZbU\]VdY__Yjgbtd^oifgendim]aobed^YgO`cQUkM[eDUlCRdGS`ET[IQXGWZNQbLJgIT]*‡>&?/‚@,€D.‡N*‹I‹UŽJ…MuL&tS)w`&v_$qi'pf*zj0rj/fk.ku)`s,dm)jr,br#bl1_u1hp3_g5`k1[g,\d1\q$]k-cp/hv<`m=[oGfoFdqLngJtqGioIlhKukX|oSrn^qbg~^ruapv_sv^uzhwvfoubwsb…lXƒtW‚tPvY{i^vdhwgjw`brjewmfŠkqŒqzŽosjdŒuc‡qh“hf‘h]ˆdVŠbV‚bVƒeW„saypexWˆ„a€ZŠve…|^ŠvX†wSƒrG‹sKv@~€Cu~=|z?…~:Œs=ƒo7ˆq0ƒk0m+”n:Žh;Šc=†o=Œo:“pH‹mOrHŒgR‹mV“oLœnR—zOž{Z—x\œ…O¢…Iª{M¢IŸK•ŠPžJ•ŒF K›‡Oœ‹Iœ’T–W›—YŸ•b¡›c¢[ž‰Ð؆âÞ{ÐÙÒÒ}ÏÚzÛàsÍäzÍçvÎä{ÏßyÏÑ~ÒÙzÍÎvÌÅoÄÎxµÖs³ÊxÁÐ~­Â“­¾Š¶´‰¨·€£«…¦­|˜¨„–¯†‰¯|Ÿ…œ}‡©Œ”œ‹™‰š{Šœ‚ކsž}ƒ™ƒ}›†œ„Ÿ‘tž”}°’q¦ˆr¨ƒk¥‰oª‹k¬Šu±…i°†o²‚i¤‹c¦ƒjŸqs£rq›oh“og£ja˜kk˜qy¤oc¡hb¡i[£ZhšY^¦cdgnžqgžoo¡uf—lcˆh^„ec~gcŒ^e‰jr‰ik†mkuqjmeelnXod\`NPhUPXRZbYU`lYal^lmbjfbncXbeWn^`jQYgQ\vHKnQQnJPh>Xq?JiSQeO[aCVdHVkHT\GPe>`[CZ`CiX@mb1gY,l[#oV"sV"iHzGqN0vV-qK)uU3uQ6†P*‡P)‰V/K%†Q!‡B!‡=*?/‹I)C&†P+†P"ŽQQ‡R†K'~Y-uW)xa$qa+ej"l_+qm8od)me1ip-_r&_k"cq0[m,]m-Vh2dh>Vl&[]0Rf'Qd&Zl+dv4cp@]jDek:fhGadCfnJjfL\rJsjUll_liYyha{do}mh{e}u`up[xrdn}curczzUlPˆxU…}K{wW†g_€neufspeg~okwok‚ju‰cmskfi€tcƒpbŽpkŒcYŒ`Rb\ˆdOlXƒo_xjUˆpT{V‰†ZŠ|X„xZuM…lL‚}QxxMwsBss?|vC~tE~rEtC„p|l?ys>um?~l@}p2xm(ƒt2€sAŽuE…nNŠtH‰zK†|K‰zJ‚B}G›xK˜ƒY•„[–uY›xTž|S©yJ£xLŸ‚L˜‡V˜„NžŽM¤„Q†U›U ‰V¨’b©‘\§–_¬‰S¢–K•£S™€Þá~Öæ{Ðß~ÒÌxÊÖ†ÖØ€ËêxÚê}ÔçÈÙ‰ÐÍ€ÒÎ|ÇLjÆÇzÇÐwÄØ·Ì‰³Ò‡²Â†¯¾Œ©µ¬ºŒ±­|¦¥©«—›z£x‹–’„†‘„”ŠŒ–‰‹‰”™ˆ˜ˆ…š„„”…š†w Ž„¤‹ƒ˜†u›‚t ƒt x¤ˆy—yn§„x¬ƒu™u–„u¢twž|lžpe–nf›ii”mnbkak™i`ªad¥`d¨`^›Yg§bc¢[k§pv›fo˜er”mn’oh…pi~pxpzvus}kxzu{~qo{bjqfkec\maas]W`aJ[UPa]VidYh`XfaV`^VbY^jV\laTdXPp]LvFFsKF~IRrCYyLUvPUq=^_8TlAS]CN]IWhGM^4_c;Ma0Sb9X`&f[*m^*n\&iS'jLsUoVyQ)vX"X „`{^"zd/z\*ŠSˆG(ˆK#†I+–R#’L(ŽU%ƒZ)‰N(}U'‰R‡P#wTU|ZpW+fZ&`j0]l)X[$U`)Um.ed2_c[i>Uf2Uh/Qd.Yg-`\)h^&bf&Zf*Vh5]c@XfETn;SsARgFUl;bo=hfJhb]_kaXk^b^drWmtasuc€sj|hi~kWtiTrXrSƒwPwwV{z\}{\|s^yjevqf€zg‰rkŒth“ljˆdcƒ^iec‚bh†kl„jaƒeT}fWd[…[Q€_I‚`P…pYwp]yme}s`~lV{qO{|PmuPlwTltOrfNy`YrXYm_NghMri=qb3tc3qg2h7s?‰pJsPŽvKŽtG•oE•tRŠ}QˆzH˜€H˜}N‘„O›L™N ƒQ¤v\£v`©wZzPˆN’E¢‹F«ŒF®…N­ˆU¥ƒP£M£ˆO¡“H¤˜J¡ŸOž˜V§€éÝxàè…Ü×}ÜÞxÙÞ}Öã€Ôà|Ðà{×܃ÑßÞÑ~ÒÇØÔˆÑÓ}ÓÓ}Ñ̾ń¼¿„®È”§À‰¨¹ƒ««x«ž~¤¤}¦¥†ž£|žš‹›ƒ––‡’ƒ•†„„Œ‚“}†Œ†ˆŠ–~™€“{}™ƒ€™€v–|˜‚{ ƒs‘zt™uu¡€w¢€l‘pq”sy•po‘|o vdŸdg˜_i•_ežhs—Zbš_e˜fjšf`¢\h—_e˜Ve£hj dr•Zv™[z˜aq…gs„cqznpxnxrukztx}rhymkmVllVjj[Zh_a`\Xla]g_Rq[VqaRfa_c`[lZ^oNOjPZ`KYaNVsCWrELxNQtNE}@PyEbn:]c|`|gDysIvBjI‹yN‘~Y“yWžwM™‚V€N‰J‡ŽTŒŒ\—~_¡|`¢ƒh¤Šg¢†[¦„]˜|Y˜zS›€[ ‰K¡K°€R­PžU£ŠV¬Œ\¤…S¨‰L¨ŽV›„Þ釿ìƒÚí„Ùâ†Ùè€åââãqÙãvÛÓ„Ñ×uÓÓ‚ÚÏÐÇŽÓÍ{ØÌoÈÍwÂÐ}¿¹°¶¯ºŽ³±ŽŸ­y«©³™z«§zŸ¢šœƒ‹™ŒŠšŠ—‹‘’Š“†„Œ…”†‚˜|“‚™|Š|€˜uˆ†‰¥z›}ˆŸ~¡ƒ~Ÿ€‹p…£z|£lv¡rlŽxs’hz¡pl™``žXh¥Xo£bo¡_u˜Uh•dgšYfQm•Rc˜Rf§Pg˜Rm¡Ji•TyavS€€Vkvct|auyjtpjjp\u~Vkrbjlgke`mk]paer[ZbcVhhOZeNczVapZWlN\wKgkRYpCcgJVpLZj?]q=OzAWnGL}CUg@W_8bg;Sf@\]CXX?He=Qe;Kh3Vl1Z[+aU&eV&_d_X\_cWbYqSzOW^yS}P‡SuX-z\…K%zO…C"ƒR&|Z yN~W'oT&uRfY"fglcx]iSlZhehgWc+Jg)Oe9`Y1eb2Zd?a`=jjC_s7amFZh8cm;^m3k|3Yv4]|0Xn7VrIYmLcfB\pDad:TlM_^CZhG]cS_dYgfPgf^]kmalrhxzuwo{xvxttqm}pf„xc„wfxvV|x\xyaƒpgŠwdˆyd‚€W‰k“ljˆci’kg‹eo€btin\jh_–db“cQˆdDˆbP‹fH|eR†gKzmS~p]ŒxcŠg`ˆkXr[Œt[€sX†mR~mWzncthYud_waRvkGrgA~nJxm=†m;ˆm7‚mCˆtC„gO‡mIoPŽtV›sL’€Wœ{K“‡]š‚XŽ‚S‡Š[„[˜†`¥…^©‰a«Z©z^¢‰`™„T ƒT WªF­ŒR¢€P¤‹V¯‰X±‰ZŸŠZŠZŸY–ŽëìŽâî–êäççŠëÞ†åÛ‚ÜÚxÝÝtàÚ|×ÍzÓÓ„ÙÇ‹ÓÐÐʆÚÇyÒΆÇÁ†ÈÂ…ÇÅŒ¸¿ƒ¸Á‰©±…ª§z©¤ƒ ¯ƒ’­‰‰§Œ¢Š–ª“”¢–Šš‡ˆŽ†ŠŒ‘€’x… }{¢{‚œ|‡¤ˆ£}¬~ƒª{¢Ž£{†ªnˆ­p{«w~£vƒ˜f|˜fs—_lŸdk£`c [k™cf [l˜OpŸSt™NmŠSu“Ln”Mp˜Lg¡P^˜Cf›GvRxŠS|†W|„Svt\uobnsawpckqcfvUilSombti]uidokes`_he_ihMllKdsSfq^]sYh|NdsM`hM_f?baAbeJcuKZwD\nBRrBRp:Wa>Ue;V]9IY=MV:HSBN_>VYdcD]e=Z`AYkLagGmtJoqQkpgksmluoi|wftutuurtzqvƒvm„xg|c|c}sg‰qc„{j‹ye…{k‰|a{`‹mg•bc“akŠdg’iknq•al“fa“a^š_\‘kNbS†hN†tM‡rS†wZx[‹|_•pg‘nm‡ya~_uT‚tZunbwxf‚q^€lR|iU~qK‚lR{qJxuH~v8€k9‰r>iJŒrP†jQŒpLˆvQ’{V{S˜…TŸ}\™xd„Z’z_~g”vj¡}ežƒa›‚a¥|bª…\Œ\«…OªŒM£‹Qª…Qª~Vª…T±„_§Œc¥…[Ÿˆ[¥†QŸêóêî…çàŠÜâˆåçŠåÝ‹çå{âÙ‚ÔÛzÒψÎÊˆÔÆ‰ÓÓ}ÐÐtÙÏzÑÀwÇÆyËλLjµµŒ­¶‰µ®‚«°r«®ƒ¦°•¤‚›£}‡Š¥Œ˜›Ž“›ƒ“ŽŒ“‘œ‡˜†Š¤Ž–…ޤy„¤‚Ф„Š¥€€£x…¨qŒž|¨p€ž~z™zu¢ws–pr—qx—b¢ei—hr XlRt¤ThžR{¤W{œQpNfNlšGb—Vm¡MfŸLcŒPb“Si…KkxJt{RnsUiuYtwMhz]tnZby\tzWjwYvgXq_eze_tmWzhOftGivMk~WXnU[{K`kSWpC]q9__?__I[dCWpMYm9Sr;Qo?[a@Q\:Pc@TV8O]6YN1H[8Ld:S]1Sc.OX(P[*SU%fZfZnbrTsNnYzRZy] sSZuMxQ~Y*qO)K!VOvO|Sl]sVcVnYeQ"jV)hd*YVdU+dX*gc%Rb'[`.\b2]a2Xb7cj7]l5Zw=_gEfhHeo@lmI`m9bs9c€BVI^z9Uv<]aGe`Nc`A\bFbeJY]JbhHcgRaaSmeTuoXpspo|pn|fn|itwppuxpntrw‚h„wmt|cv|[…pf‡nd‚tb{yqpsŠ~m‰vfŽgdimŒmq“bl™ir“Ynœ[]Ž_[ j[yTrLgQƒj]mSŽp_w[”mb”tiu_ŽxU…zQzwW{sS€je€h\ˆmaƒgV}hJxcMxoR{pR†tEiK{vElH€tO‚pKmW‡tQ–nO“yV”}asXŸYŸ…O›{Oœ…axk“{dŸ‹]œ}i „i›}m¤„eŸf¢[­^žˆT©€`¡ƒ^žU«‰S¢{\¨‚S¥‚\¢ƒR˜Ýñ~ãí{äìƒáÚŽß߉ëÝ…ßÛ„×áÜÓ‚ØÏƒÕÈ‚ÔÒ‰ÏÌ„ÌÏ„ÖÆtÕÃÇÃyÂÈ~ÈÀ„½³|±±|²¸v²·{¨±„›®€›¥ˆ’«~Œ£‡š|Œ•…•‘ƒ‘Ž–’œ’ˆ ’†ŸŒ† œ{Œ›v£yœwŠ¥p‡Ÿnƒ”z‡š~| }Ÿvy˜ry›wvškƒŸa„”cƒž]r¢^kžYq¨Sw WxLp”Tt’OfˆFbNj‘Um”UlŠOhŽQeƒPcReqEvtEvpAmnJdsKisIgzZo{Zqt[poSxadw_cxc_wvTz{SrqEp}J`xQ[vTZzGSuGReFWj9Te4Qh?UgIchG`k?\oGWp=X`6U^3Vd4J[3OV7SP0OW2MY5RX(Ph#J]-Ma%]W!fWob k[lRqUlY paxfv\{Q pQqV!xW |J(sN'xQ&V rNlJnIpUm[hYc[dQ!\N#Q\"]\)]Q'`Z&Z\-P\.Rb3Xd/Ob+Qb6Th9Tm=[q:co5ag>mfKglGgt9Zs:bxG]{Cb{IZt>\o9_eEUe@YlGgiNciLdfJedPn]Sid`piiutdsomlvfxpbrsgyoisqlyfkey„nvzirx^€s\‚s`xi{uj‡usŒzgxiŒkt˜`n’\q“hr“`j^jš^kžmZ”oN‘vJ…p[‡w[†s[uT“vRŽnYŒudˆx]‘vR…T‚|M†Sxayn]l]ˆuY‰gL}cNxkJkPƒqT…mP„iFxoI}pG„rV‡kUŠf[‹qS”qQ‘q^šs]’}TzQ€K•€O„\žy^˜ƒ^¡ˆf ‰f~k•{t™{k¢h ‚_¡€X_Ÿ–\œ‹]¡‚Z§€X yY§{W¨‹IJ¢’å߇èé‚èäîã‡íÛ€àßÚÒ~ÙÒäÕ‚ØÎâÕ€ÙÎ…ÙÊ…ÒÐvØÃsÑÍÇÃ~ÉÂ…¾À{º¹z¸Á~µ¿¶°~Ÿ·{ž®„—ª‡—Ÿ„§x•¤‰•–|‰…‰“‘Š–†š†•’•“‡œ—‡˜§w¥sªl‡žx„š|€œs„—o„œu…—z}—xˆ–j{l‹Ÿcœ^†œZ{¡bz©cu Z| Tv—LoU|šXlŒMl‡Sl’Kj‘Rjˆ[`ˆTixW`pMgnBlvIuy?sqDszL|nBztT|vZwxWolStmZva]ziLtiTpxIlwJe{QdyIe~NVs?_mEWlCPp>Ik7MeELkDWl9ao9``6O^Tqan6gl=dnDhg=fsEWy@Y?f…IiKbwI]jLatL\nA`fLakGZdP[]Hd`Njd\gdeoebsj[pgelqkiwiordnulvilljux_qqdx{hmlesvhv~kvslqin|{l…yi‰gu‹al™anhg–hl™Yi¡l_iY‰iS•vU‡rS‡waŽqb‹}[•~Z’w^oW”rc~]”zRŽ}Zˆ~M‰|SxvR{nVymV†mV}kKƒbSaKŒmK_W…rV‚oK}jP€v[f_m_‰uV‡vI‘oY”p[o\™~W”}V¢†X–{a•ygœj‘aŒk“yr yc£„n§†oœƒh§hš`¢‰_Ÿi—…f˜ˆZšvVžrQ©„PžIœ”âÜ“äÞ娅ïà‰ìå†á؇æÛˆäÔ‡ãÈxçÊtÙÆvÙÉwÎÈxÑÐ}ÙÃ}ÒÅqÔ¾uÒ¼€Ï€ȼ~»Æ†µ¾‚¨µƒ§¶†ž±‹˜®Š’ ’œœ†™—‰‘’ŽŽ‡Œ”ŠŒ‘”‹†–šˆ‘œˆš—ƒ “¢w‰¦r¤p€žr‚šr†›jŽœnˆœxˆ¡xœsŠ–gƒœe‰ža^†£_xšVxXySv‘]wŒ_xOqHs„Ld‹Se‡Y[ƒT\†V`{HcqHfxGgsBjoHotArvG}zBsuFxnPwlGxiHllFqhRssNplHsmVjyRj~RbwCUs=XzE\@YzJQlIKk=I^CN_7Wh3Uf@[^[o@WlCYl;^vo€M{mLynUqoEpnDpcI|nKucMirKk|Cc€MlxEeyDRpDSw=SnHUl=TqHMg5Vi>Ii9Yl?UfEPo9F_7Hi+Dh0Kd3Bh*Ng5F]2GU0DP*QTBbUY PP\RYO ]JbSiIgQ cK_FbX uYdMlL#gGrR$kLjL!`N%gJ%^O^N&fCRD WN!]I+VQ(PI#TP!SB/GH7QL-[D/MA/OS&OP#SU&\b6bV5\a.[l;`i3f`BaiBYn=Zm>QsCXpBil:esIjgBcl>kgB_r;ggC`l?\iHSeTVh\WbXY\Zgfnol[ykexpjxue}sqrqovmbqodenft[ml^xdbzw^xt_‰op~}hwvw†tr…orzehhv‡hm—ad m^’l]ž_^—e^‹nhl[•ja‹mV}V‘qWœc’sežv\‘vf—uc‰~Z‰uZŽ~R†yPzRƒvOypR†xVƒyS€jF‚iT‚[E{gO‹mP€nXŒq[’jT€eT‰hctWˆr^—z[’}PzQ’wSyV•w^Ž|W˜‡Y›b™…l•i™†r–}u–€u–„u™ˆe¡‰h˜c›ŠTd‘†Tž|ašxU“{S—~S˜R£‡R§Šóðˆõëƒý߉öãŽðØ‹ôÙ„ëàƒè܃åã‚ðØ…è͂쿂äʼnâІßËŽÏ¿‡Ì¼~ÃÄ|ʾ}Æ´uǽz¾Âˆ¸¼„«³ƒ©­‚ž±‚¢§~ž¥}—œ‡— ›•ˆ™„™Œ†¢–¥Š˜™~•—‚Ž y¤u‡¦{Žªx¤s‡s„–o|œf„”h†‘m“™u˜r“‘c”j•™aˆc|œat—Wz[p›WrHwšKmSt”Rs‰NoƒTb‹bkŒcl}UpzKe€QlXguQvzCsv>j{Lg{Mt|HqqKgp?ej>uc8{f;rsHiqNbwHlzBh}AbwEPq?Kz3Mz>Oj=Rp9\h:On@Nh9Om6Vo8Jk;Cm3Mc#J_"TX,Na(Mc7Kc9NU)QV)PS%DWITPMNVZMUW `RcIgL^FZE_NnWoL_M#nTkW$k]#cS gJ dP ^P#`>%`B(YG^IRS%TI1NE+SE(GS)SN+WJ6]B2QJ,WS%T\+bb4`Y4QT-SW+[c4Wn4`m6_j>[sDVsAPpbd;fb@f`DbiC\`TTgSWlQUh_Qmb]jfac[ui^trctneuqcukxmfjffe\rqamlh|jk{jg€n\oaxp†wu€x}€gz|`iƒef•djša_œmcšm_Ÿda–daŒqbo]–h]’a^j^˜oZšxa™t[“oaxb‰vZq`—sUŽu_‡|Z€sV|iL€uY‚vW‡uQytMyfKbHƒeM‰nQ…{SŒvW’sV“j\‰ob†t]ŠwT“pV’tO‚X‰ŠSUŒ€][˜e™ˆg‘”e”qŠnŽ~o˜xk—~s’ƒq›Šh—†g™‘XœL›~Q›€U‘€PŒƒ\~Yž…Z¬Œ[¨‹õð€ðíõè‹óæ‰òå‘ôâ…úÙíæ‰îá…ìÒ…çÄðÅ‹ßÁ~ÚÊ‹ÚÖÑȃž~¾Ç½Ä|ɺ{¿µ~ƽ€´ÄŒ°¿¦²…ª®«©Žœ£ƒ˜œ‹”’‡””œ †ž›{¨Ž§}›~‘œp†¡tŠšv†œ}‚Ÿv’ªo“¤tŽ™fˆ™p‹ŸhŒ”v“”q˜q•f™c“ži•U€‘T‹‰X‰L„•Tv•TzšIu“Uf‰Lu…Ze‡[g’]kŒ_i{Zly[mxPbwUjQw~LxuIlrJf~@pnEliDnv8noFyp7vl8np=elFoj:l{3as:fz=Yo/Pn7Nn6Xg0Ug>^h3No1NfAJn.Hk,Gh/Ri7Pb/SZ%T^([d$UZ-O[4Pf4R[$W_$IXIMLZ VJNMXUVKgQdR`N]M gW mYfQbG$`R"eW#dQZ\&^R(_Dg@#b>,\;[;YD&TL&]QGR,KT"HR4HV8]L9SN+^W`]:iaHUeM`n\SjV_ifced_pb]pkmolseXxr`{gk€f_~ljto`gijghpa`liiymg„hctb‘ogŒsoŽkzŒtuz`z`oˆfl˜gnŽmeždežhY”i[–h[m`‰qb‹ef˜h_‹mT‘r\‹tZˆmW”qX…rQ‘}W–kX˜kZ—tex^„n\ˆhGƒiJ‚h[‡qO|fD‚iE{hP€nKrL‹w]–ySŽq`hg‹ob•}g†yZ‰„a†[‡x`‚†_‡`•~YŒ‡_šŒc}c‘Žg““i„zŠs‘k”ƒw—zj—…\—U“ŒU–†Y ‡MGއN™ƒWž‹Vš†Jª‘W©îæ‰ïæ€öí…ðå†ñè‡ûÞƒ÷â…÷â€üà€ð×÷χíÄßÉÕÌ„ÏÓŒÐÎỀľ…õÁ¼}¿¸{ÀÂ~¼Àƒº½‡Á·Š¸¹‰©©¨¤“«“–¢“Š ‰¤•~¥Œ}«Ž‚§†«zŒ›|—q‹žmƒ˜p„œgƒ¢c†žd—Ÿh’œe˜šk’Œk‹ŽmŠ…t—‡r›‡m‘cšˆV”‹MŒ„NŒ‹K„’S}šVršMq–Qk›^fŽ]cŒRe‡XbˆQ_‚Vc‡Pg|Tn}Oq{Gz}KuuMmzAmrBon7co:frDpk%aDg>#hBaQ^YPT#SP3QR1WS/QF0YP8\]:Tg5V`6^T2bS1eN.]Z,a_3]f.fi9`f=VmF[gEYgKQlD]h8_b:^h@]h;gc;ah>YjGXfVWea`ea_jbgfb`iajtjqpeno^skYyf_pk^xj_tqnkik_ajafm\kral…lh‚v`km—hq‘^r…dv…\y‡_l[m•al‘c]žl\œuZ›m`“f]’fT’rR›l]’fU…qS‚yR‚t[†pUˆuS‹{Y–tZŸkY¢pb™th‰sbxZŒvO‡kGkO†gS‹fL‡oQ}tJ‚xJƒzTŽuS‰l[’sjmgta˜`„_š‡^–…iš}bŒ‡_…Z”W—…U•†_œkœ‹e•‘p•–r‹v‰†q”‚l‘ˆi™~[š~TœŠ\O•”N”’M”ŒL•M•‰F£ŽFŸ…R xùãˆêã†çÛ€èæ}úÝóØ{úàƒôÔŠóã…ðÛ„ñÊ“åÍáÍàÆ‚ÑÇ•ØÙÕÀ‹Ì½ŠÁµ‹Å¼…ľ†¼´ƒ´¸|°»Œ²·‰µª¼§Ž©˜‰ªš¯•ލ‘”«˜†°ˆ§Š¬|ˆ§y‡¨ƒŒžsŒ˜oŽžp¥qŒ¦oŽ h”™b‘¢m— g™h‰“h•‡a‹“e’–m“[Š•S›…P–ˆS‘J‹‡[‹NQqœXdMdƒNcŒRk…Lf†Wa…[m~JtyVpzPguItpIyvMszCim8rwEck6ie6jh@dp=lh0so4sh;mm7bk6fq-Wp!Rq&LkVe)Zi \y-X‚9Ro.Ok,Ic,Hq(Wd'PZ-R^*J_NiY_,WkgkZjOc#Q\N^ XV _XORRMUUOO _JaT[UhZ _N_FeOVXUU"]SUKcL+bG&g@`@e5%^9&h>!fIbEQWF[OO#HL%TJ2M>-ZQ)\Z*d^,Yf;dY4dP5XU9Ma8V_ZsLNn>Si8Yb9dj9dd;[_G`lNa_N`qW\aYap_\fbXnb_j]kzgcvhoz\rnkuwbofmtkgpbpmog`jl[iebjqfg€oowa˜gb‘dvŽ_t‡ov†jnˆ\w‡cl‹[e_dšqc—uh mk¡tb›gf“m\Žuhn`…d\†d`Žic‹md‰w]‘pQ”lWžxU—sY tg’|nŒmYŒoX‡kNgN†hK‹sPŒoFˆxP‡yQ€zLŠxN’yd‡uXvfŽ€UŠ}Y†‰\‰b†…iІ^†ƒi…vWƒU“ŠX“Šd‘\ž‰p‘r—ŽeŠ—f‰q†…f‘|c‘uk¢‰_˜‘ažˆU›‹P¥”Y‘V‰G™•Tœ„R ^©sóävìã~éåîßxíÖvíÜzðÒúÖˆñáŒíÛ•æÕ“äјîÄ’çĈàÈŒØÔ†ÙÉŒÎÅȺŒ¿ºƒÆ½ƒ¾¶²¶‚´°Œ°¨ˆ½¨†Â¦†·—Џ‘–²•©Š¯Ž“¨Š‹¥„‡¦Šƒ¤ˆ~Чˆ¢xŒ—t„£iƒ¥n‹žc˜hžd™ži•g“‹a•‰\Œ“hŽ“iŠ[—Š[–]Žc‘ŒXŠWŒP}To”\h–Yn†Gb…Nf…LcyXm}Up}LwxKjvRlkLuoGzqNrs>jv9ug;nd?ot5ar9av2co2pu3qq6ev5iu.Zu(Vp#SvWjcs_t&]|-S{&Ju$Jg+Qs1Sp-Pf$[h'QcOhKjWjcpcf!Wf$McKfP] YZXGYE]OYJ\O`J^U ZTePjQbHZR$a[]P#[V[P$_N ]E]9\Ad9b6Y="YK"[JJLGQOFKH'GB!NETP_L'ZY0\a2Xb.[\2Yg8Nc=JaANc?Z[7W]9akHamFVrGYqGXmI^a;_]Aih;]`CVfOXnN]jW]fLcoMfiaZse`k^endol\nvcwv`qvmuvhkkknktnfmrldedhemmplzmn‹ja‘blˆfp†mk’moŽdi”bret‘_ngr‡msŽrv’tr op¢hj’jstoŠf`ƒf`‹keŠddˆsX”p]”rb’rX•nX–qYye—viŽqb†v_fX“eO†sSpL†rJuK‰lOŠpJmQŠt[‰uYxX“€X…T‹ƒV’‚g‡‹o‡†iƒ‚]ˆxa†y[†YY‰ŒY“‡_”Žp’c“a“‚^d|_‘|i¢„`©‰[§ŒSŸT¥‘S¡“V–›Y—’R›•`ª^©uöõ~ïã÷äîãrîéwõå{ùØ„òÖ…ëÓŒîÔ˜íÕãÏ’çÔ˜äÌŠÙÁ“×ËÖÌË‹Èǔø°·½}²°…¸¬~²¨…Á¦‹´ªƒ¼”Ž®’—¶‰Œ°‰¦‡’§…Žž„€Ÿ„ˆ¯‹‹ª…‹¤w¥rŒ–u‘¢{‡›tŽšvš‘n”“n›”qœ—]•ŠZ™“[—•]•aŽ—_‡„bš“_—‹T–ŒQ’‹QŽyZy‡RtŒSw„PwwI|yGl‚Bl‰HuuMr€GpoNpsPjmIvsQvgDwn=jo1et?gm5ao/dc4cc,Zh%ds*ko"kg&eg#jh+`d"cpYlXs\i$`h*Rn$XgYi!Yp*KoMt!TjRk[m```hXleaYa^ZSV UWYP XG_DYM XMVVVS[R^T f`YPfN\JZUZSRM`TTNUDW7W9]B a@_8XKYHJRNQEGKG$OG#^K]F^R2]T%_^6_`:be3Lc5O[>Rk@Um8Uk8ObEShgf9a^6e`(bl$_o%_q'knbq$df!`ddbig^f_c`h$YoVl]f\i]k OlHgKjRfYqUo`_Vh[b ```W^PUNTQSI QK `QX[T^U\ [W aXW_P^ZXVR^N UU XL[MSM _B]AV= XG XN ^C]=TBSNQITLQOWJ\G[D)`N0aP2Z^.^b,W^:V_?Qa begin match sel#filename with | Some name -> callback name | _ -> () end | `DELETE_EVENT | `CANCEL -> () end ; sel#destroy () let w = GWindow.window ~title:"Okaimono" () let vb = GPack.vbox ~packing:w#add () let menubar = GMenu.menu_bar ~packing:vb#pack () let factory = new GMenu.factory menubar let file_menu = factory#add_submenu "File" let edit_menu = factory#add_submenu "Edit" let sw = GBin.scrolled_window ~height:200 ~packing:vb#add ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC () let vp = GBin.viewport ~width:340 ~shadow_type:`NONE ~packing:sw#add () let table = GPack.table ~columns:4 ~rows:256 ~packing:vp#add () let _ = table#focus#set_vadjustment (Some vp#vadjustment) let top = ref 0 and left = ref 0 let add_to_table w = table#attach ~left:!left ~top:!top ~expand:`X w; incr left; if !left >= 4 then (incr top; left := 0) let entry_list = ref [] let add_entry () = let entry = List.map [40;200;40;60] ~f:(fun width -> GEdit.entry ~packing:add_to_table ~width ()) in entry_list := entry :: !entry_list let _ = List.iter2 ["Number";"Name";"Count";"Price"] [40;200;40;60] ~f: begin fun label width -> let b = GButton.button ~label ~packing:add_to_table () in b#misc#set_size_request ~width () end; for i = 1 to 9 do add_entry () done let split ~sep s = let len = String.length s in let rec loop pos = let next = try String.index_from s pos sep with Not_found -> len in let sub = String.sub s ~pos ~len:(next-pos) in if next = len then [sub] else sub::loop (next+1) in loop 0 let load name = try let ic = open_in name in List.iter !entry_list ~f:(fun l -> List.iter l ~f:(fun e -> e#set_text "")); let entries = Stack.create () in List.iter !entry_list ~f:(fun x -> Stack.push x entries); try while true do let line = input_line ic in let fields = split ~sep:'\t' line in let entry = try Stack.pop entries with Stack.Empty -> add_entry (); List.hd !entry_list in List.fold_left fields ~init:entry ~f: begin fun acc field -> (List.hd acc)#set_text field; List.tl acc end done with End_of_file -> close_in ic with Sys_error _ -> () let save name = try let oc = open_out name in List.iter (List.rev !entry_list) ~f: begin fun entry -> let l = List.map entry ~f:(fun e -> e#text) in if List.exists l ~f:((<>) "") then let rec loop = function [] -> () | [x] -> fprintf oc "%s\n" x | x::l -> fprintf oc "%s\t" x; loop l in loop l end; close_out oc with Sys_error _ -> () open GdkKeysyms let _ = w#connect#destroy ~callback:GMain.quit; w#event#connect#key_press ~callback: begin fun ev -> let key = GdkEvent.Key.keyval ev and adj = vp#vadjustment in if key = _Page_Up then adj#set_value (adj#value -. adj#page_increment) else if key = _Page_Down then adj#set_value (min (adj#value +. adj#page_increment) (adj#upper -. adj#page_size)); false end; w#add_accel_group factory#accel_group; let ff = new GMenu.factory file_menu ~accel_group:factory#accel_group in ff#add_item ~key:_O "Open..." ~callback:(file_dialog ~title:"Open data file" ~callback:load); ff#add_item ~key:_S "Save..." ~callback:(file_dialog ~title:"Save data" ~callback:save); ff#add_separator (); ff#add_item ~key:_Q "Quit" ~callback:w#destroy; let ef = new GMenu.factory edit_menu ~accel_group:factory#accel_group in ef#add_item ~key:_A "Add line" ~callback:add_entry; w#show (); GMain.main () lablgtk-3.1.2/examples/label.ml0000644000650106067230000000317514161276610015235 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* Embedding xpm data into an ML file *) let openfile = [| (* width height num_colors chars_per_pixel *) " 20 19 5 1"; (* colors *) ". c None"; "# c #000000"; "i c #ffffff"; "s c #7f7f00"; "y c #ffff00"; (* pixels *) "...................."; "...................."; "...................."; "...........###......"; "..........#...#.#..."; "...............##..."; "...###........###..."; "..#yiy#######......."; "..#iyiyiyiyi#......."; "..#yiyiyiyiy#......."; "..#iyiy###########.."; "..#yiy#sssssssss#..."; "..#iy#sssssssss#...."; "..#y#sssssssss#....."; "..##sssssssss#......"; "..###########......."; "...................."; "...................."; "...................." |] let main () = GMain.init (); let w = GWindow.window ~border_width:2 () in w#misc#realize (); let hbox = GPack.hbox ~spacing:10 ~packing:w#add () in let pm = GDraw.pixmap_from_xpm_d ~data:openfile ~window:w () in GMisc.pixmap pm ~packing:hbox#add (); GMisc.label ~text:"Embedded xpm" ~packing:hbox#add (); w#show (); w#connect#destroy ~callback:GMain.quit; GMain.main () let () = main () lablgtk-3.1.2/examples/link_button.ml0000644000650106067230000000211314161276610016475 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let main () = GMain.init (); let window = GWindow.window ~title: "Link button" ~border_width: 0 () in let box = GPack.vbox ~packing: window#add () in let button = GButton.link_button "http://HELLO.ORG" ~label:"BYE" ~packing:box#add () in button#set_uri "GHHHHH"; Format.printf "Got:%a@." GUtil.print_widget button; button#connect#activate_link (fun () -> Format.printf "Got url '%s'@." button#uri; button#set_uri "AGAIN"); window#connect#destroy GMain.quit; window#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/lissajous.ml0000644000650106067230000000426214161276610016170 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* Lissajous $B?^7A(B *) let main () = let window = GWindow.window ~border_width: 10 () in window#event#connect#delete ~callback:(fun _ -> prerr_endline "Delete event occured"; true); window#connect#destroy ~callback:GMain.quit; let vbx = GPack.vbox ~packing:window#add () in let quit = GButton.button ~label:"Quit" ~packing:vbx#add () in quit#connect#clicked ~callback:window#destroy; let area = GMisc.drawing_area ~width:200 ~height:200 ~packing:vbx#add () in let drawing = area#misc#realize (); new GDraw.drawable (area#misc#window) in let m_pi = acos (-1.) in let c = ref 0. in let expose_event _ = drawing#set_foreground `WHITE; drawing#rectangle ~filled:true ~x:0 ~y:0 ~width:200 ~height:200 (); drawing#set_foreground `BLACK; (* drawing#line x:0 y:0 x:150 y:150; drawing#polygon filled:true [10,100; 35,35; 100,10; 10, 100]; *) let n = 200 in let r = 100. in let a = 3 in let b = 5 in for i=0 to n do let theta0 = 2.*.m_pi*.(float (i-1))/. (float n) in let x0 = 100 + (truncate (r*.sin ((float a)*.theta0))) in let y0 = 100 - (truncate (r*.cos ((float b)*.(theta0+. !c)))) in let theta1 = 2.*.m_pi*.(float i)/.(float n) in let x1 = 100 + (truncate (r*.sin((float a)*.theta1))) in let y1 = 100 - (truncate (r*.cos((float b)*.(theta1+. !c)))) in drawing#line ~x:x0 ~y:y0 ~x:x1 ~y:y1 done; false in area#event#connect#expose ~callback:expose_event; let timeout _ = c := !c +. 0.01*.m_pi; expose_event (); true in Timeout.add ~ms:500 ~callback:timeout; window#show (); GMain.main () let _ = Printexc.print main() lablgtk-3.1.2/examples/nd.ml0000644000650106067230000001736314161276610014563 0ustar glondused(* This examples combines Cairo and Pango to implement a renderer for natural deduction trees. Author: Claudio Sacerdoti Coen *) type nd_tree = { conclusion: string ; rule : string ; premises: nd_tree list option } let test = { conclusion = "(A ∨ D ⇒ B) ⇒ (A ⇒ C) ⇒ A ⇒ B ∧ C" ; rule = "⇒i" ; premises = Some [ { conclusion = "(A ⇒ C) ⇒ A ⇒ B ∧ C" ; rule = "⇒i" ; premises = Some [ { conclusion = "A ⇒ B ∧ C" ; rule = "⇒i" ; premises = Some [ { conclusion = "B ∧ C" ; rule = "∧i" ; premises = Some [ { conclusion = "B" ; rule = "⇒e" ; premises = Some [ { conclusion = "[A ∨ D ⇒ B]" ; rule = "" ; premises = None } ; { conclusion = "A ∨ D" ; rule = "∨il" ; premises = Some [ { conclusion = "[A]" ; rule = "" ; premises = None } ] } ] } ; { conclusion = "C" ; rule = "⇒e" ; premises = Some [ { conclusion = "[A ⇒ C]" ; rule = "" ; premises = None } ; { conclusion = "[A]" ; rule = "" ; premises = None } ] } ] } ] } ] } ] } type sized_layout = { layout : GPango.layout ; width : float ; height : float } type nd_tree_layout = { ndl_conclusion : sized_layout ; ndl_rule : sized_layout ; ndl_premises : nd_tree_layout list option ; ndl_padding : float ; ndl_width : float (* total width of tree *) ; ndl_height : float (* total height of tree *) } let map_opt f = function None -> None | Some x -> Some (f x) let map_opt_d d f = function None -> d | Some x -> f x let rec last = function [] -> assert false | [x] -> x | _::tl -> last tl (* where the conclusions are printed *) type area = { x : float ; y : float ; w : float ; h : float } let font_size = ref 100 let highlighted = ref None let pressed = ref false (* the pad must leave enough space for rule names *) let pad () = float !font_size *. 3. /. 10. (* the minipad is put between the inference rule and the rule name *) let minipad () = pad () /. 70. let resize a d () = font_size := int_of_float a#value ; highlighted := None ; pressed := false ; d#misc#queue_draw () let leave d _ = highlighted := None ; pressed := false ; d#misc#queue_draw () ; true let layout_text cr ?(percent=100) text = let layout = new GPango.layout (Cairo_pango.create_layout cr) in let pango_context = layout#get_context in let fd = pango_context#font_description in fd#modify ~size:(fd#size * !font_size * percent / 10000) () ; pango_context#set_font_description fd ; layout#set_markup text ; let width,height = layout#get_pixel_size in { layout; width = float width ; height = float height } (* turn a nd_tree into a nd_tree_layout by recursively computing all relevant sizes and by engraving strings into Pango layouts *) let rec layout_nd_tree cr t = let ndl_premises = map_opt (List.map (layout_nd_tree cr)) t.premises in let {layout;width;height} = layout_text cr t.conclusion in let ndl_rule = layout_text cr ~percent:75 t.rule in let padding = float (max 0 (map_opt_d 0 List.length ndl_premises - 1)) *. pad () in let premises_width = map_opt_d 0. (List.fold_left (fun acc x -> acc +. x.ndl_width) 0.) ndl_premises +. padding in let ndl_width = max width premises_width in let ndl_height = height +. (map_opt_d 0. (List.fold_left (fun x p -> max x p.ndl_height) 0.) ndl_premises) in let ndl_padding = max 0. (width -. premises_width) in { ndl_conclusion = { layout ; width ; height } ; ndl_rule ; ndl_premises ; ndl_padding ; ndl_width ; ndl_height } (* If centered=true then (x,y) is the middle-point below the conclusion; otherwise it is the lowermost-leftmost point of the bounded box of the tree. It returns a list of areas. *) let rec draw_nd_tree_layout ?(map = []) ?(centered = true) cr x y t = let cw = t.ndl_conclusion.width in let ch = t.ndl_conclusion.height in let pw = t.ndl_width in (* redefine (x,y) to be middle-point above the conclusion *) let x = if centered then x else x +. pw /. 2. in let y = y -. ch in Cairo.move_to cr (x -. cw /. 2.) y ; Cairo_pango.show_layout cr t.ndl_conclusion.layout#as_layout ; let map = {x = x -. cw /. 2. ; y ; w=cw ; h=ch}::map in match t.ndl_premises with None -> map | Some l -> if l <> [] && let fst = List.hd l in let lst = last l in 2. *. pw -. fst.ndl_width -. lst.ndl_width +. fst.ndl_conclusion.width +. lst.ndl_conclusion.width >= 2. *. cw then begin let fst = List.hd l in let lst = last l in Cairo.move_to cr (x -. (pw -. fst.ndl_width +. fst.ndl_conclusion.width) /. 2.) y ; Cairo.line_to cr (x +. (pw -. lst.ndl_width +. lst.ndl_conclusion.width) /. 2.) y ; end else begin Cairo.move_to cr (x -. cw /. 2.) y ; Cairo.line_to cr (x +. cw /. 2.) y ; end ; Cairo.rel_move_to cr (minipad ()) (-. t.ndl_rule.height /. 2.) ; Cairo_pango.show_layout cr t.ndl_rule.layout#as_layout ; Cairo.stroke cr ; draw_premises ~map cr (x -. pw /. 2. +. t.ndl_padding /. 2.) y l and draw_premises ~map cr x y tl = fst ( List.fold_left (fun (map,x) t -> let map = draw_nd_tree_layout ~map cr ~centered:false x y t in map,x +. t.ndl_width +. pad ()) (map,x) tl) let areas = ref [] let inside x b w = b <= x && x <= b+.w let look_for_area x y = List.find_opt (fun area -> inside x area.x area.w && inside y area.y area.h) !areas let draw (drawing_area : #GMisc.drawing_area) cr = let l = layout_nd_tree cr test in drawing_area#misc#set_size_request ~width:(int_of_float l.ndl_width) ~height:(int_of_float l.ndl_height) (); let allocation = drawing_area#misc#allocation in let w = float allocation.Gtk.width in let h = float allocation.Gtk.height in Cairo.set_source_rgba cr 1. 1. 1. 1.; Cairo.rectangle cr 0. 0. w h ; Cairo.fill cr ; Cairo.set_source_rgba cr 0. 0. 0. 1.; areas := draw_nd_tree_layout cr (w /. 2.) h l ; (match !highlighted with None -> () | Some {x;y;w;h} -> if !pressed then Cairo.set_source_rgba cr 0. 1. 0. 0.5 else Cairo.set_source_rgba cr 1. 0. 0. 0.5; Cairo.rectangle cr x y ~w ~h; Cairo.fill cr; Cairo.set_source_rgba cr 0. 0. 0. 1. ); true let button_press d b = let x = GdkEvent.Button.x b in let y = GdkEvent.Button.y b in highlighted := look_for_area x y; pressed := true; d#misc#queue_draw (); true let motion_notify d b = let x = GdkEvent.Motion.x b in let y = GdkEvent.Motion.y b in highlighted := look_for_area x y; pressed := false; d#misc#queue_draw (); true let () = let _ = GMain.init () in let w = GWindow.window ~title:"Natural deduction demo" () in w#set_default_size ~width:400 ~height:(Gdk.Screen.height () * 3 / 4); ignore(w#connect#destroy ~callback:GMain.quit); let b = GPack.box `VERTICAL ~packing:w#add () in let a = GData.adjustment ~lower:50. ~value:100. ~upper:210. () in let f = GRange.scale `HORIZONTAL ~draw_value:false ~adjustment:a ~digits:0 ~packing:b#pack () in let s = GBin.scrolled_window ~packing:b#add () in let d = GMisc.drawing_area ~packing:s#add () in ignore(d#misc#connect#draw ~callback:(draw d)); ignore(d#event#connect#button_press ~callback:(button_press d)); ignore(d#event#connect#motion_notify ~callback:(motion_notify d)); ignore(f#connect#value_changed ~callback:(resize a d)); ignore(d#event#connect#leave_notify ~callback:(leave d)); d#set_events [`BUTTON_PRESS ; `POINTER_MOTION ; `LEAVE_NOTIFY ]; w#show(); GMain.main() lablgtk-3.1.2/examples/nihongo.ml0000644000650106067230000000242714161276610015616 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* ã“れを実行ã™ã‚‹å‰ã«LC_ALL=ja_JP.EUCãªã©ã¨æŒ‡å®šã—ãªã‘れã°ãªã‚‰ãªã„ *) let _ = GMain.init () let window = GWindow.window () let box = GPack.vbox ~packing: window#add () let text = GText.view ~packing: box#add () let button = GButton.button ~label: "終了" ~packing: box#add () let label = GMisc.label ~text:"ã“れã«ã¯å½±éŸ¿ã—ãªã„" ~packing: box#add () let _ = window#connect#destroy ~callback:GMain.quit; text#buffer#insert "ã“ã‚“ã«ã¡ã¯"; text#misc#set_size_chars ~width:20 ~height:5 (); let style = button#misc#style#copy in button#misc#set_style style; style#set_bg [`NORMAL,`NAME "green"; `PRELIGHT,`NAME "red"]; button#connect#clicked ~callback:GMain.quit let _ = window#show (); GMain.main () lablgtk-3.1.2/examples/notebook.ml0000644000650106067230000000300614161276610015767 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let main () = GMain.init (); let window = GWindow.window ~title:"Notebook" ~border_width:10 () in window#connect#destroy ~callback:GMain.quit; let notebook = GPack.notebook ~packing:window#add () in let button = GButton.button ~label:"Page 1" ~packing:(fun w -> ignore (notebook#append_page w)) () in button#connect#clicked ~callback: (fun () -> prerr_endline "Hello again - cool button 1 was pressed"); let button = GButton.button ~label:"Page 2" ~packing:(fun w -> ignore (notebook#append_page w)) () in button#connect#clicked ~callback: (fun () -> prerr_endline "Hello again - cool button 2 was pressed"); notebook#connect#switch_page ~callback:(fun i -> prerr_endline ("Page switch to " ^ string_of_int i)); button#connect#clicked ~callback: (fun () -> prerr_endline "Coucou"); window#show (); GMain.main () let _ = main () (* Local Variables: *) (* compile-command: "ocamlc -I ../src -w s lablgtk.cma notebook.ml" *) (* End: *) lablgtk-3.1.2/examples/panel/0000755000650106067230000000000014161276610014715 5ustar glondusedlablgtk-3.1.2/examples/panel/README0000644000650106067230000000343014161276610015575 0ustar glondused This short program shows how to write an applet for the GNOME2 panel. Applets are Bonobo components (the component system used in GNOME). However, pretty much all of this component stuff is wrapped by the panel-applet library. So, when programming the applet we deal with a regular GTK+ widget (a subclass of GtkEventBox). This PanelApplet widget has a few new signals so that the applet can be notified of changes in its environment (mainly size and orientation of the panel). The GConf-related functions are not wrapped for a lack of GConf/ocaml bindings. The .server file contains information for the activation server so that it can launch the applet executable. Make sure that : - the .server file is installed in a place the activation server can find : - $prefix/lib/bonobo/servers - some directory mentioned in $prefix/etc/bonobo-activation/bonobo-activation-config.xml - some directory in the BONOBO_ACTIVATION_PATH env variable. - the executable is at the place mentioned in the .server file - the activation server can fork a working caml program (so you may have difficulties with CAML_LD_LIBRARY_PATH ; it's probably easier to use an executable compiled with ocamlopt). If your applet use an external XML file for the UI, it must be installed in the right place ($prefix/share/gnome-2.0/ui should work). To test the applet, launch the executable in a terminal window, then right after that, add the applet to the panel using the panel menu. The panel should be using the executable you launched and you should see whatever messages your applet send to stdout/stderr. The gnome-panel package has a panel-test-applets executable that you can find useful for testing how your applet reacts to the signals sent by the panel (size, orientation, etc.). lablgtk-3.1.2/examples/panel/applet.ml0000644000650106067230000001100714161276610016533 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (** The XML UI description for the popup menu. Here it is a strig in the program, it could also be a .xml file in $prefix/share/gnome-2.0/ui *) let xml_descr = String.concat "\n" [ "" ; " " ; " " ; "" ; ] (** The callback executed when the appropriate entry in the pop menu is selected. *) let popup_callback vrb = prerr_endline ("popup callback with verb " ^ vrb) ; let d = GWindow.message_dialog ~message:"LablGTK:\nblahblahblah\npatatipatata" ~message_type:`INFO ~buttons:GWindow.Buttons.close ~title:"About LablGTK" ~show:true () in d#connect#response (function `CLOSE | `DELETE_EVENT -> d#destroy ()) ; () (** A (regular) callback activated on GtkButton::clicked *) let popup_dialog () = let d = GWindow.message_dialog ~message:"Yeah ! \\o/\nA GNOME panel applet writen in Caml !\nAin't it cool ?" ~message_type:`INFO ~buttons:GWindow.Buttons.close ~title:"applet in caml" ~show:true () in d#connect#response (function `CLOSE | `DELETE_EVENT -> d#destroy ()) ; () (** A trick so that a 3rd mouse button click on our button widget is ignored by the button and received by the applet widget. The latter will then display the popup menu. *) let do_not_eat_button_press ev = if GdkEvent.Button.button ev <> 1 then GtkSignal.stop_emit () ; false (** Some dumb callbacks to test things a bit. *) let background_info = function | `NO_BACKGROUND -> Format.eprintf "No background@." | `COLOR_BACKGROUND c -> Format.eprintf "Color backgound (%x, %x, %x)@." (Gdk.Color.red c) (Gdk.Color.blue c) (Gdk.Color.green c) | `PIXMAP_BACKGROUND p -> Format.eprintf "Pixmap background@." let size_info s = Format.eprintf "Size change: %d@." s let orient_info d = Format.eprintf "Orientation change: %s@." (match d with | `UP -> "up" | `DOWN -> "down" | `LEFT -> "left" | `RIGHT -> "right") (** Our main `factory' callback. We are given a Panel.applet object that we have to fill with widgets. *) let fill_applet (applet : Panel.applet) = applet#set_flags [ `HAS_HANDLE ; `EXPAND_MINOR ] ; let box = GPack.hbox ~packing:applet#add () in GMisc.image ~stock:(`STOCK "gnome-stock-about") ~packing:box#pack () ; let button = GButton.button ~label:"LablGTK Applet" ~relief:`NONE ~packing:box#pack () in button#event#connect#button_press ~callback:do_not_eat_button_press ; button#connect#clicked popup_dialog ; let tips = GData.tooltips () in tips#set_tip ~text:"A sample applet written in Objective Caml" applet#coerce ; (* connecting this signal induces bonobo leaks, don't know why. *) (* applet#connect#change_background background_info ; *) applet#connect#change_size size_info ; applet#connect#change_orient orient_info ; applet#setup_menu ~xml:xml_descr [ "Verb_LablGTK", popup_callback ; "Verb_background", (fun _ -> background_info applet#get_background) ] ; applet#misc#show () ; prerr_endline "filled applet" (** Just make sure the panel do not think we're somebody else and call our applet-filling function *) let factory applet ~iid = prerr_endline "factory called" ; if iid <> "OAFIID:LablGTK_TestApplet" then false else (try fill_applet applet ; true with _ -> false) (** The `main' of our executable is entirely handled by the library. A return value of [false] either indicate that the factory could not register itself with the activation server, or that the shutdown process detected some resources leaks. Either way, there's hardly anything to do about it. *) let _ = let res = Panel.factory_main ~iid:"OAFIID:LablGTK_TestApplet_Factory" factory in Printf.eprintf "applet registration/shutdown : %b\n" res lablgtk-3.1.2/examples/panel/lablgtk_applet.server0000644000650106067230000000211214161276610021126 0ustar glondused lablgtk-3.1.2/examples/pango1.ml0000644000650106067230000000472514161276610015345 0ustar glondused(* File: pango1.ml Originally part of library ocaml-pango by Christophe Troestler under name pango_demo.ml Ported to lablgtk3 and changed to create output on GtkWindow by Claudio Sacerdoti Coen Copyright (C) 2009 Christophe Troestler WWW: http://math.umh.ac.be/an/software/ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 or later as published by the Free Software Foundation, with the special exception on linking described in the file LICENSE. This library 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 file LICENSE for more details. *) open Cairo let two_pi = 2. *. acos(-1.) (* Based on the example given at https://developer.gnome.org/pango/stable/pango-Cairo-Rendering.html *) let draw_text radius (cr: context) = let n_words = 10 in let font = "Sans Bold 26" in Cairo.translate cr radius radius; let layout = new GPango.layout (Cairo_pango.create_layout cr) in layout#set_text "Text"; let desc = GPango.font_description_from_string font in layout#set_font_description desc; (* Draw the layout [n_words] times in a circle. *) for i = 1 to n_words do let angle = two_pi *. float i /. float n_words in Cairo.save cr; let red = (1. +. cos(angle -. two_pi /. 6.)) /. 2. in Cairo.set_source_rgb cr red 0. (1. -. red); Cairo.rotate cr angle; (* Inform Pango to re-layout the text with the new transformation. *) Cairo_pango.update_layout cr layout#as_layout; let width, _height = layout#get_size in Cairo.move_to cr (-. (float width /. float Pango.scale) /. 2.) (-. radius); Cairo_pango.show_layout cr layout#as_layout; Cairo.restore cr; done let expose drawing_area cr = let allocation = drawing_area#misc#allocation in let width = float allocation.Gtk.width in let height = float allocation.Gtk.height in let radius = min width height /. 2. in Cairo.set_source_rgb cr 1. 1. 1.; Cairo.paint cr; draw_text radius cr; true let () = let _ = GMain.init () in let w = GWindow.window ~title:"Pango demo1" ~width:500 ~height:400 () in ignore(w#connect#destroy ~callback:GMain.quit); let d = GMisc.drawing_area ~packing:w#add () in ignore(d#misc#connect#draw ~callback:(expose d)); w#show(); GMain.main() lablgtk-3.1.2/examples/pango2.ml0000644000650106067230000000406214161276610015340 0ustar glondused(* File: pango2.ml Originally part of library ocaml-pango by Christophe Troestler under name rendering.ml Ported to lablgtk3 and changed to create output on GtkWindow by Claudio Sacerdoti Coen Copyright (C) 2009 Christophe Troestler WWW: http://math.umh.ac.be/an/software/ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 or later as published by the Free Software Foundation, with the special exception on linking described in the file LICENSE. This library 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 file LICENSE for more details. *) (* Based on https://cairographics.org/cookbook/pycairo_pango/ *) let expose drawing_area cr = let allocation = drawing_area#misc#allocation in let width = float allocation.Gtk.width in let height = float allocation.Gtk.height in (* Draw a background rectangle: *) Cairo.rectangle cr 0. 0. ~w:width ~h:height; Cairo.set_source_rgb cr 1. 1. 1.; Cairo.fill cr; (* Get font families: *) let font_map = Cairo_pango.Font_map.get_default() in Cairo.translate cr 50. 25.; let pc = Cairo_pango.Font_map.create_context font_map in let layout = Pango.Layout.create pc in let fontname = if Array.length Sys.argv >= 2 then Sys.argv.(1) else "Sans" in let font = Pango.Font.from_string fontname in Pango.Layout.set_font_description layout font; Pango.Layout.set_text layout "Hello world ã“ã‚“ã«ã¡ã¯ä¸–界"; Cairo.set_source_rgb cr 0. 0. 0.; Cairo_pango.update_layout cr layout; Cairo_pango.show_layout cr layout; true let () = let _ = GMain.init () in let w = GWindow.window ~title:"Pango demo2" ~width:500 ~height:400 () in ignore(w#connect#destroy ~callback:GMain.quit); let d = GMisc.drawing_area ~packing:w#add () in ignore(d#misc#connect#draw ~callback:(expose d)); w#show(); GMain.main() lablgtk-3.1.2/examples/pixview.ml0000644000650106067230000000262714161276610015652 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* An image viewer, supporting all formats allowed by GdkPixbuf *) let pb = if Array.length Sys.argv < 2 then begin Printf.eprintf "usage : %s \n" Sys.argv.(0); exit 2; end; try GdkPixbuf.from_file Sys.argv.(1) with GdkPixbuf.GdkPixbufError(_,msg) as exn -> let d = GWindow.message_dialog ~message:msg ~message_type:`ERROR ~buttons:GWindow.Buttons.close ~show:true () in d#run (); raise exn let pm, _ = GdkPixbuf.create_pixmap pb let width = GdkPixbuf.get_width pb let height = GdkPixbuf.get_height pb let w = GWindow.window ~width ~height ~title:Sys.argv.(1) () let da = GMisc.drawing_area ~packing:w#add () let dw = da#misc#realize (); new GDraw.drawable da#misc#window let () = GMain.init (); da#event#connect#expose (fun _ -> dw#put_pixmap ~x:0 ~y:0 pm; true); w#connect#destroy GMain.quit; w#show (); GMain.main () lablgtk-3.1.2/examples/pousse.ml0000644000650106067230000001352514161276610015474 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open StdLabels (* The game logic *) type color = [`none|`white|`black] module type BoardSpec = sig type t val size : int val get : t -> x:int -> y:int -> color val set : t -> x:int -> y:int -> color:color -> unit end module Board (Spec : BoardSpec) = struct open Spec let size = size let on_board x y = x >= 0 && x < size && y >= 0 && y < size let rec string board ~x ~y ~dx ~dy ~color l = let x = x+dx and y = y+dy in if on_board x y then let col = get board ~x ~y in if col = (color : [`white|`black] :> color) then l else if col = `none then [] else string board ~x ~y ~dx ~dy ~color ((x,y)::l) else [] let find_swaps board ~x ~y ~color = if get board ~x ~y <> `none then [] else List.fold_left [-1,-1; -1,0; -1,1; 0,-1; 0,1; 1,-1; 1,0; 1,1] ~init:[] ~f:(fun acc (dx,dy) -> string board ~x ~y ~dx ~dy ~color [] @ acc) let action board ~x ~y ~color = let swaps = find_swaps board ~x ~y ~color in if swaps = [] then false else begin List.iter ((x,y)::swaps) ~f:(fun (x,y) -> set board ~x ~y ~color:(color :> color)); true end let check_impossible board ~color = try for x = 0 to size - 1 do for y = 0 to size - 1 do if find_swaps board ~x ~y ~color <> [] then raise Exit done done; true with Exit -> false let count_cells board = let w = ref 0 and b = ref 0 in for x = 0 to size - 1 do for y = 0 to size - 1 do match get board ~x ~y with `white -> incr w | `black -> incr b | `none -> () done done; (!w,!b) end (* GUI *) let _ = GMain.init () (* Toplevel window *) let window = GWindow.window ~title:"pousse" () (* Create pixmaps *) let pixdraw = GDraw.pixmap ~window ~width:40 ~height:40 ~mask:true () let pixdraw1 = GDraw.pixmap ~window ~width:40 ~height:40 ~mask:true () let pixdraw2 = GDraw.pixmap ~window ~width:40 ~height:40 ~mask:true () let _ = pixdraw1#set_foreground `BLACK; pixdraw1#arc ~x:3 ~y:3 ~width:34 ~height:34 ~filled:true (); pixdraw2#set_foreground `WHITE; pixdraw2#arc ~x:3 ~y:3 ~width:34 ~height:34 ~filled:true (); pixdraw2#set_foreground `BLACK; pixdraw2#arc ~x:3 ~y:3 ~width:34 ~height:34 () (* The cell class: a button with a pixmap on it *) class cell ?packing ?show () = let button = GButton.button ?packing ?show () in object (self) inherit GObj.widget button#as_widget method connect = button#connect val mutable color : color = `none val pm = GMisc.pixmap pixdraw ~packing:button#add () method color = color method set_color col = if col <> color then begin color <- col; pm#set_pixmap (match col with `none -> pixdraw | `black -> pixdraw1 | `white -> pixdraw2) end end module RealBoard = Board ( struct type t = cell array array let size = 8 let get (board : t) ~x ~y = board.(x).(y)#color let set (board : t) ~x ~y ~color = board.(x).(y)#set_color color end ) (* Conducting a game *) open RealBoard class game ~(frame : #GContainer.container) ~(label : #GMisc.label) ~(statusbar : #GMisc.statusbar) = let table = GPack.table ~columns:size ~rows:size ~packing:frame#add () in object (self) val cells = Array.init size ~f:(fun i -> Array.init size ~f:(fun j -> new cell ~packing:(table#attach ~top:i ~left:j) ())) val label = label val turn = statusbar#new_context ~name:"turn" val messages = statusbar#new_context ~name:"messages" val mutable current_color = `black method board = cells method table = table method player = current_color method swap_players () = current_color <- match current_color with `white -> turn#pop (); turn#push "Player is black"; `black | `black -> turn#pop (); turn#push "Player is white"; `white method finish () = turn#pop (); let w, b = count_cells cells in turn#push (if w > b then "White wins" else if w < b then "Black wins" else "Game is a draw"); () method update_label () = let w, b = count_cells cells in label#set_text (Printf.sprintf "White: %d Black: %d " w b) method play x y = if action cells ~x ~y ~color:current_color then begin self#update_label (); self#swap_players (); if check_impossible cells ~color:current_color then begin self#swap_players (); if check_impossible cells ~color:current_color then self#finish () end end else messages#flash "You cannot play there" initializer for i = 0 to size-1 do for j = 0 to size-1 do let cell = cells.(i).(j) in cell#connect#enter ~callback:cell#misc#grab_focus; cell#connect#clicked ~callback:(fun () -> self#play i j) done done; List.iter ~f:(fun (x,y,col) -> cells.(x).(y)#set_color col) [ 3,3,`black; 4,4,`black; 3,4,`white; 4,3,`white ]; self#update_label (); turn#push "Player is black"; () end (* Graphical elements *) let vbox = GPack.vbox ~packing:window#add () let frame = GBin.frame ~shadow_type:`IN ~packing:vbox#add () let hbox = GPack.hbox ~packing:vbox#pack () let bar = GMisc.statusbar ~packing:hbox#add () let frame2 = GBin.frame ~shadow_type:`IN ~packing:hbox#pack () let label = GMisc.label ~justify:`LEFT ~xpad:5 ~xalign:0.0 ~packing:frame2#add () let game = new game ~frame ~label ~statusbar:bar (* Start *) let _ = window#connect#destroy ~callback:GMain.quit; window#show (); GMain.main () lablgtk-3.1.2/examples/progressbar.ml0000644000650106067230000000311714161276610016503 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let main () = GMain.init (); let window = GWindow.window ~border_width: 10 () in window#connect#destroy ~callback:GMain.quit; let table = GPack.table ~rows:3 ~columns:2 ~packing: window#add () in GMisc.label ~text:"Progress Bar Example" () ~packing:(table#attach ~left:0 ~right:2 ~top:0 ~expand:`X ~shrink:`BOTH); let pbar = GRange.progress_bar ~pulse_step:0.01 () ~packing:(table#attach ~left:0 ~right:2 ~top:1 ~expand:`BOTH ~fill:`X ~shrink:`BOTH) in let ptimer = GMain.Timeout.add ~ms:50 ~callback:(fun () -> pbar#pulse(); true) in let button = GButton.button ~label:"Reset" () ~packing:(table#attach ~left:0 ~top:2 ~expand:`NONE ~fill:`X ~shrink:`BOTH) in button#connect#clicked ~callback:(fun () -> pbar#set_fraction 0.); let button = GButton.button ~label:"Cancel" () ~packing:(table#attach ~left:1 ~top:2 ~expand:`NONE ~fill:`X ~shrink:`BOTH) in button#connect#clicked ~callback:GMain.quit; window#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/radiobuttons.ml0000644000650106067230000000330114161276610016662 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let main () = GMain.init (); let window = GWindow.window ~title: "radio buttons" ~border_width: 0 () in window#connect#destroy ~callback:GMain.quit; let box1 = GPack.vbox ~packing: window#add () in let box2 = GPack.vbox ~spacing:10 ~border_width: 10 ~packing: box1#add () in let button1 = GButton.radio_button ~label:"button1" ~packing: box2#add () in button1#connect#clicked ~callback:(fun () -> prerr_endline "button1"); let button2 = GButton.radio_button ~group:button1#group ~label:"button2" ~active:true ~packing: box2#add () in button2#connect#clicked ~callback:(fun () -> prerr_endline "button2"); let button3 = GButton.radio_button ~group:button1#group ~label:"button3" ~packing: box2#add () in button3#connect#clicked ~callback:(fun () -> prerr_endline "button3"); let separator = GMisc.separator `HORIZONTAL ~packing: box1#pack () in let box3 = GPack.vbox ~spacing: 10 ~border_width: 10 ~packing: box1#pack () in let button = GButton.button ~label: "close" ~packing: box3#add () in button#connect#clicked ~callback:GMain.quit; button#grab_default (); window#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/rpn.ml0000644000650106067230000001040414161276610014746 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* reverse polish calculator *) open StdLabels let _ = GMain.init () let wow _ = prerr_endline "Wow!"; () let main () = let stack = Stack.create () in (* toplevel window *) let window = GWindow.window ~border_width: 10 ~title:"Reverse Polish Calculator" () in window#connect#destroy ~callback:GMain.quit; (* vbox *) let vbx = GPack.vbox ~packing:window#add () in (* entry *) let entry = GEdit.entry ~text:"0" ~editable:false ~max_length: 20 ~packing: vbx#add () in (* BackSpace, Clear, All Clear, Quit *) let table0 = GPack.table ~rows:1 ~columns:4 ~packing:vbx#add () in let bs_clicked _ = begin let txt = entry#text in let len = String.length txt in if len <= 1 then entry#set_text "0" else entry#set_text (String.sub txt ~pos:0 ~len:(len-1)) end in let c_clicked _ = entry#set_text("0") in let ac_clicked _ = Stack.clear stack; entry#set_text("0") in let labels0 = [("BS", bs_clicked) ; ("C", c_clicked); ("AC", ac_clicked); ("Quit", window#destroy)] in let rec loop0 labels n = match labels with [] -> () | (lbl, cb) :: t -> let button = GButton.button ~label:lbl ~packing:(table0#attach ~left:n ~top:1 ~expand:`BOTH) () in button#connect#clicked ~callback:cb; loop0 t (n+1) in loop0 labels0 1; (* Numerals *) let table1 = GPack.table ~rows:4 ~columns:5 ~packing:vbx#add () in let labels1 = ["7"; "8"; "9"; "4"; "5"; "6"; "1"; "2"; "3"; "0"] in let numClicked n _ = let txt = entry#text in if (txt = "0") then entry#set_text n else begin entry#set_text (entry#text ^ n) (* entry#append_text n *) end in let rec loop1 labels n = match labels with [] -> () | lbl :: lbls -> let button = GButton.button ~label:(" "^lbl^" ") ~packing:(table1#attach ~left:(n mod 3) ~top:(n/3) ~expand:`BOTH) () in button#connect#clicked ~callback:(numClicked lbl); loop1 lbls (n+1) in loop1 labels1 0; (* Period *) let periodClicked _ = let txt = entry#text in if not (String.contains txt '.') then entry#set_text (entry#text ^ ".") (* entry#append_text "." *) in (GButton.button ~label:" . " ~packing:(table1#attach ~left:1 ~top:3 ~expand:`BOTH) ()) #connect#clicked ~callback:periodClicked; (* Enter (Push) *) let enterClicked _ = let txt = entry#text in let n = float_of_string txt in begin Stack.push n stack; entry#set_text "0" end in (GButton.button ~label:"Ent" ~packing:(table1#attach ~left:2 ~top:3 ~expand:`BOTH) ()) #connect#clicked ~callback:enterClicked; (* Operators *) let op2Clicked op _ = let n1 = float_of_string (entry#text) in let n2 = Stack.pop stack in entry#set_text (string_of_float (op n2 n1)) in let op1Clicked op _ = let n1 = float_of_string (entry#text) in entry#set_text (string_of_float (op n1)) in let modClicked _ = let n1 = int_of_string (entry#text) in let n2 = truncate (Stack.pop stack) in entry#set_text (string_of_int (n2 mod n1)) in let labels2 = [(" / ", op2Clicked (/.)); (" * ", op2Clicked ( *. )); (" - ", op2Clicked (-.)); (" + ", op2Clicked (+.)); ("mod", modClicked); (" ^ ", op2Clicked ( ** )); ("+/-", op1Clicked (~-.)); ("1/x", op1Clicked (fun x -> 1.0/.x))] in let rec loop2 labels n = match labels with [] -> () | (lbl, cb) :: t -> let button = GButton.button ~label:lbl ~packing:(table1#attach ~left:(3 + n/4) ~top: (n mod 4) ~expand:`BOTH) () in button#connect#clicked ~callback:cb; loop2 t (n+1) in loop2 labels2 0; (* show all and enter event loop *) window#show (); GMain.main () let _ = Printexc.print main() lablgtk-3.1.2/examples/rsvg/0000755000650106067230000000000014161276610014577 5ustar glondusedlablgtk-3.1.2/examples/rsvg/floppy.svg0000644000650106067230000000621114161276610016631 0ustar glondused ]> lablgtk-3.1.2/examples/rsvg/test_rsvg.ml0000644000650106067230000000267214161276610017160 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let zoom = ref None let dpi = ref None let fname = ref "" let _ = let cli_args = [ ( "-zoom", Arg.Float (fun v -> zoom := Some v), "zoom factor" ) ; ( "-dpi" , Arg.Float (fun v -> dpi := Some v), "") ] in let usg_msg = Printf.sprintf "usage: %s [options] \n" (Filename.basename Sys.executable_name) in Arg.parse cli_args ((:=) fname) usg_msg ; if not (Sys.file_exists !fname) then begin Arg.usage cli_args usg_msg ; exit 2 end let pb = let gz = Filename.check_suffix !fname ".svgz" || Filename.check_suffix !fname ".svg.gz" in let size_cb = match !zoom with | None -> None | Some z -> Some (Rsvg.at_zoom z z) in Rsvg.render_from_file ~gz ?dpi:!dpi ?size_cb !fname let w = GWindow.window ~allow_grow:false ~title:!fname () let i = GMisc.image ~packing:w#add () let () = i#set_pixbuf pb ; w#connect#destroy GMain.quit; w#show (); GMain.main () lablgtk-3.1.2/examples/runthread.ml0000644000650106067230000000212614161276610016145 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let start = GButton.button ~label:"Start" ~packing:vbox#pack () let stop = GButton.button ~label:"Stop" ~packing:vbox#pack () let text = GEdit.entry ~packing:vbox#pack () let cont = ref true let n = ref 0 let body () = prerr_endline "started"; while !cont do incr n; async text#set_text (string_of_int !n); Thread.delay 1. done let () = GMain.init (); start#connect#clicked (fun () -> cont:= true; ignore (Thread.create body ())); stop#connect#clicked (fun () -> cont := false); w#connect#destroy GMain.quit; w#show (); GMain.main () lablgtk-3.1.2/examples/scrolledwin.ml0000644000650106067230000000264114161276610016500 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let main () = GMain.init (); let window = GWindow.dialog ~title: "dialog" ~border_width: 10 ~width: 300 ~height: 300 () in window#connect#destroy ~callback:GMain.quit; let scrolled_window = GBin.scrolled_window ~border_width: 10 ~hpolicy: `AUTOMATIC ~packing: window#vbox#add () in let table = GPack.table ~rows:10 ~columns:10 ~row_spacings: 10 ~col_spacings: 10 ~packing: scrolled_window#add_with_viewport () in for i = 0 to 9 do for j = 0 to 9 do let label = Printf.sprintf "button (%d,%d)\n" i j in GButton.toggle_button ~label ~packing:(table#attach ~left: i ~top: j ~expand: `BOTH) () done done; let button = GButton.button ~label: "close" ~packing: window#action_area#add () in button#connect#clicked ~callback: GMain.quit; button#grab_default (); window#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/seppala.ml0000644000650106067230000000205414161276610015576 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) open Gtk let destroy () = GMain.quit () let main () = GMain.init (); let main_window = GWindow.window () in let accel_group = GtkData.AccelGroup.create () in main_window#add_accel_group accel_group; let quit_button = GButton.button ~label:"Quit" ~packing:main_window#add () in quit_button#misc#add_accelerator ~sgn:GtkButtonProps.Button.S.activate ~group:accel_group ~modi:[`CONTROL] GdkKeysyms._q; ignore (quit_button#connect#clicked ~callback:destroy); main_window#show (); GMain.main () let () = main () lablgtk-3.1.2/examples/signal_override.ml0000644000650106067230000000330014161276610017320 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) module C = Gobject.Closure let add_closure argv = Printf.eprintf "invoking overridden ::add closure, %d args, " argv.C.nargs ; let typ = C.get_type argv 1 in Printf.eprintf "widget %s\n" (Gobject.Type.name typ) ; flush stderr ; GtkSignal.chain_from_overridden argv let derived_frame_name = "GtkFrameCaml" let derived_frame_gtype = lazy begin let parent = Gobject.Type.from_name "GtkFrame" in let t = Gobject.Type.register_static ~parent ~name:derived_frame_name in GtkSignal.override_class_closure GtkContainers.Container.S.add t (C.create add_closure) ; t end let create_derived_frame = GtkBin.Frame.make_params [] ~cont:(fun pl -> GContainer.pack_container pl ~create:(fun pl -> ignore (Lazy.force derived_frame_gtype) ; new GBin.frame (GtkObject.make derived_frame_name pl : Gtk.frame Gtk.obj))) let main = GMain.init (); let w = GWindow.window ~title:"Overriding signals demo" () in w#connect#destroy GMain.quit ; let f = create_derived_frame ~label:"Talking frame" ~packing:w#add () in let l = GMisc.label ~markup:"This is the GtkFrame's content" ~packing:f#add () in w#show () ; GMain.main () lablgtk-3.1.2/examples/slide_show.ml0000644000650106067230000000441414161276610016313 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* let get_pixbuf ~file = try GdkPixbuf.from_file file with GdkPixbuf.GdkPixbufError(_,msg) as exn -> let d = GWindow.message_dialog ~message:msg ~message_type:`ERROR ~buttons:GWindow.Buttons.close ~show:true () in d#run (); raise exn *) class directory ~path = object (self) val d = Unix.opendir path method read = path ^"/"^ Unix.readdir d method rewind = Unix.rewinddir d method close = Unix.closedir d method read_file = let f = self#read in if (Unix.stat f).Unix.st_kind = Unix.S_REG then f else self#read_file method next_file = try self#read_file with End_of_file -> self#rewind; self#read_file method read_pix = let f = self#read_file in try GdkPixbuf.from_file f with GdkPixbuf.GdkPixbufError _ -> self#read_pix end let () = GMain.init (); let w = GWindow.window () in let da = GMisc.drawing_area ~packing:w#add () in da#misc#realize (); let dw = new GDraw.drawable da#misc#window in let dir = new directory "." in let pm = ref None in let set_pm pxm = Gaux.may (fun pm -> Gdk.Pixmap.destroy pm) !pm; pm := Some pxm; dw#put_pixmap ~x:0 ~y:0 pxm in let set_pix pix = let pxm, _ = GdkPixbuf.create_pixmap pix and width = GdkPixbuf.get_width pix and height = GdkPixbuf.get_height pix in w#set_default_size ~width ~height; set_pm pxm in let pix = dir#read_pix in set_pix pix; da#event#connect#expose ~callback: (fun _ -> Gaux.may (dw#put_pixmap ~x:0 ~y:0) !pm; true); GMain.Timeout.add ~ms:2000 ~callback: (fun () -> try let pix = try dir#read_pix with End_of_file -> dir#rewind; dir#read_pix in set_pix pix; true with _ -> false); w#connect#destroy GMain.quit; w#show (); GMain.main () lablgtk-3.1.2/examples/socket.ml0000644000650106067230000000174414161276610015446 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let main () = GMain.init (); let w = GWindow.window ~title:"Socket example" () in w#connect#destroy ~callback:GMain.quit; let vbox = GPack.vbox ~packing:w#add () in let label = GMisc.label ~packing:vbox#pack () in w#show (); let socket = GWindow.socket ~packing:vbox#add ~height:40 () in label#set_text ("XID to plug into this socket: 0x" ^ Int32.format "%x" socket#xwindow); GMain.main () let _ = main () lablgtk-3.1.2/examples/sourceview/0000755000650106067230000000000014161276610016011 5ustar glondusedlablgtk-3.1.2/examples/sourceview/dune0000644000650106067230000000030614161276610016666 0ustar glondused(executables (names test3 sourceview3 example3) (modules test3 sourceview3 example3) (flags :standard -w -3-6-7-10-24-26-27-33-35 -no-strict-sequence) (libraries lablgtk3 lablgtk3-sourceview3)) lablgtk-3.1.2/examples/sourceview/example3.ml0000644000650106067230000000764714161276610020077 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* Compile with dune build test2.exe Run with ../../_build/default/examples/sourceview/test2.exe *) open Printf let locale = GtkMain.Main.init () let lang_mime_type = "text/x-ocaml" let lang_name = "ocaml" let use_mime_type = true let font_name = "Monospace 10" let print_lang lang = prerr_endline (sprintf "language: %s" lang#name) let print_lang_ids language_manager = let i = ref 0 in prerr_endline "language_ids:"; List.iter (fun id -> incr i; match language_manager#language id with | Some lang -> let name = lang#name in let section = lang#section in prerr_endline (sprintf "%d: %s %s (%s)" !i id name section) | None -> ()) language_manager#language_ids let print_style_schemes mgr = let i = ref 0 in prerr_endline "style schemes:"; List.iter (fun id -> incr i; match mgr#style_scheme id with | Some scm -> prerr_endline (sprintf "%d: %s %s" !i id scm#description) | None -> ()) mgr#style_scheme_ids let () = let win = GWindow.window ~title:"LablGtkSourceView test" () in let scrolled_win = GBin.scrolled_window ~hpolicy: `AUTOMATIC ~vpolicy: `AUTOMATIC ~packing:win#add () in let source_view = GSourceView3.source_view ~auto_indent:true ~insert_spaces_instead_of_tabs:true ~tab_width:2 ~show_line_numbers:true ~right_margin_position:80 ~show_right_margin:true (* ~smart_home_end:true *) ~packing:scrolled_win#add ~height:500 ~width:650 () in let language_manager = GSourceView3.source_language_manager ~default:true in let lang = if use_mime_type then (match language_manager#guess_language ~content_type:lang_mime_type () with | Some x -> x | None -> failwith (sprintf "no language for %s" lang_mime_type)) else (match language_manager#language lang_name with | Some x -> x | None -> failwith (sprintf "can't load %s" lang_name)) in print_lang_ids language_manager; print_lang lang; let style_scheme_manager = GSourceView3.source_style_scheme_manager ~default:true in print_style_schemes style_scheme_manager; let text = let ic = open_in "example3.ml" in let size = in_channel_length ic in let buf = String.create size in really_input ic buf 0 size; close_in ic; buf in source_view#misc#modify_font_by_name font_name; source_view#source_buffer#set_highlight_matching_brackets true; source_view#source_buffer#set_language (Some lang); source_view#source_buffer#set_highlight_syntax true; source_view#set_smart_home_end `AFTER; if source_view#smart_home_end <> `AFTER then failwith "regret"; source_view#set_draw_spaces [`SPACE; `NEWLINE]; List.iter (function | `SPACE -> print_string " space" | `TAB -> print_string " tab" | `NEWLINE -> print_string " newline" | `NBSP -> print_string " nbsp" | `LEADING -> print_string "leading" | `TEXT -> print_string "text" | `TRAILING -> print_string "trailing") source_view#draw_spaces; print_newline (); ignore (win#connect#destroy (fun _ -> GMain.quit ())); ignore (source_view#connect#undo (fun _ -> prerr_endline "undo")); source_view#source_buffer#begin_not_undoable_action (); source_view#source_buffer#set_text (Bytes.to_string text); source_view#source_buffer#end_not_undoable_action (); win#show (); GMain.Main.main () lablgtk-3.1.2/examples/sourceview/ocaml.lang0000644000650106067230000000753414161276610017760 0ustar glondused \ \(\* \*\) \b[-]?[0-9][0-9_]*[lL]?\b \b[-]?0[xX][0-9A-Fa-f][0-9A-Fa-f_]*[lL]?\b \b[-]?0[oO][0-7][0-7_]*[lL]?\b \b[-]?0[bB][01][01_]*[lL]?\b \b[-]?[0-9][0-9_]*(\.[0-9_]*)?([Ee][+-]?[0-9][0-9_]*)? ' ' " " true false \b[A-Z][A-Za-z0-9_']* [~?][a-z][A-Za-z0-9_']* and class constraint exception external let fun function functor in include inherit initializer method module mutable of open private rec type val virtual asr do else for if while as assert begin do done downto else end for if land lazy lor lsl lsr lxor match mod new object or sig struct then to try when while with # (\||->) int string list array float char unit lablgtk-3.1.2/examples/sourceview/sourceview3.ml0000644000650106067230000000571414161276610020630 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* Incompletely ported from the lablgtk2 example; it compiles but the completion provider does not work. Compile with dune build sourceview2.exe Run with ../../_build/default/examples/sourceview/sourceview2.exe *) let locale = GtkMain.Main.init () let make_provider () = let open GSourceView3 in let provider_ref = ref None in let provided_list = ["toto"; "titi"; "tata"] in let do_provider () = match !provider_ref with None -> assert false | Some x -> x in let populate ctx = let item s = source_completion_item ~label:s ~text:s () in let proposal s = (item s :> source_completion_proposal) in let proposals = List.map proposal provided_list in ctx#add_proposals (do_provider ()) proposals true in let info_widget provider = let label = GMisc.label ~text:"toto" () in (* This does not compile, complaining that * Type Gtk.widget Gobject.obj is not compatible with type GObj.widget Some (label#coerce#as_widget) *) None in let provider = let custom_provider : custom_completion_provider = object (self) method name = "default" method icon = Some (GdkPixbuf.create 60 60 ()) method populate = populate method activation = [] method matched = (fun _ -> true) method info_widget = info_widget method update_info = (fun _ _ -> ()) method start_iter = (fun _ _ _ -> false) method activate_proposal = (fun _ _ -> false) method interactive_delay = 0 method priority = 0 end in GSourceView3.source_completion_provider custom_provider in provider_ref := (Some provider); provider let () = let window = GWindow.window ~width:400 ~height:400 () in let box = GPack.vbox ~packing:window#add () in let button = GButton.button ~label:"Click" ~packing:(box#pack) () in let v = GSourceView3.source_view ~packing:(box#pack ~expand:true) () in let provider = make_provider () in let cpl = v#completion in let _ = cpl#add_provider provider in let cb () = let itr = v#buffer#start_iter in let ctx = cpl#create_context itr in ignore (cpl#show [provider] ctx) in let _ = button#connect#clicked cb in (* let _ = cpl#add_provider provider *) (* let _ = Glib.Timeout.add 1000 (fun _ -> cpl#show [provider] ctx) *) (* let _ = completion#add_provider provider in *) ignore (window#connect#destroy (fun _ -> GMain.quit ())); window#show (); GMain.Main.main () lablgtk-3.1.2/examples/sourceview/test.ml0000644000650106067230000000743314161276610017331 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* Compile with ocamlc -o viewer -I ../../src/ lablgtk.cma lablgtksourceview.cma gtkInit.cmo test.ml Run with CAML_LD_LIBRARY_PATH=../../src ./viewer *) open Printf let lang_mime_type = "text/x-ocaml" let lang_file = "ocaml.lang" let use_mime_type = false let font_name = "Monospace 10" let print_lang lang = prerr_endline (sprintf "language: %s" lang#get_name) let print_lang_dirs languages_manager = let i = ref 0 in prerr_endline "lang_dirs:"; List.iter (fun dir -> incr i; prerr_endline (sprintf "%d: %s" !i dir)) languages_manager#lang_files_dirs let win = GWindow.window ~title:"LablGtkSourceView test" () let vbox = GPack.vbox ~packing:win#add () let hbox = GPack.hbox ~packing:(vbox#pack ~expand: false) () let bracket_button = GButton.button ~label:"( ... )" ~packing:hbox#add () let scrolled_win = GBin.scrolled_window ~hpolicy: `AUTOMATIC ~vpolicy: `AUTOMATIC ~packing:vbox#add () let source_view = GSourceView.source_view ~auto_indent:true ~insert_spaces_instead_of_tabs:true ~tabs_width:2 ~show_line_numbers:true ~margin:80 ~show_margin:true ~smart_home_end:true ~packing:scrolled_win#add ~height:500 ~width:650 () (* let languages_manager = GSourceView.source_languages_manager ~lang_files_dirs:["/etc"] () *) let languages_manager = GSourceView.source_languages_manager () let lang = if use_mime_type then match languages_manager#get_language_from_mime_type lang_mime_type with | None -> failwith (sprintf "no language for %s" lang_mime_type) | Some lang -> lang else match GSourceView.source_language_from_file ~languages_manager lang_file with | None -> failwith (sprintf "can't load %s" lang_file) | Some lang -> lang let matching_bracket () = let iter = source_view#source_buffer#get_iter_at_mark `INSERT in match GSourceView.find_matching_bracket iter with | None -> prerr_endline "no matching bracket" | Some iter -> source_view#source_buffer#place_cursor iter; source_view#misc#grab_focus () let _ = let text = let ic = open_in "test.ml" in let size = in_channel_length ic in let buf = String.create size in really_input ic buf 0 size; close_in ic; buf in win#set_allow_shrink true; source_view#misc#modify_font_by_name font_name; print_lang_dirs languages_manager; print_lang lang; (* set red as foreground color for definition keywords *) let id = "Definition@32@keyword" in let st = lang#get_tag_style id in st#set_foreground_by_name "red"; lang#set_tag_style id st; (* set a style for bracket matching *) source_view#source_buffer#set_check_brackets true; let _ = let st = GSourceView.source_tag_style ~background_by_name:"green" ~foreground_by_name:"yellow" ~bold: true () in source_view#source_buffer#set_bracket_match_style st in source_view#source_buffer#set_language lang; source_view#source_buffer#set_highlight true; source_view#source_buffer#set_text text; ignore (win#connect#destroy (fun _ -> GMain.quit ())); ignore (bracket_button#connect#clicked matching_bracket); (* ignore (source_view#connect#move_cursor (fun _ _ ~extend -> prerr_endline "move_cursor")); ignore (source_view#connect#undo (fun _ -> prerr_endline "undo")); *) win#show (); GMain.Main.main () lablgtk-3.1.2/examples/sourceview/test3.ml0000644000650106067230000001057014161276610017410 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* Compile with ocamlc -o viewer -I ../../src/ lablgtk.cma lablgtksourceview3.cma test2.ml Run with CAML_LD_LIBRARY_PATH=../../src ./viewer OR Compile with dune build test2.exe Run with ../../_build/default/examples/sourceview/test2.exe *) open Printf let locale = GtkMain.Main.init () let lang_mime_type = "text/x-ocaml" let use_mime_type = false let font_name = "Monospace 10" let print_lang lang = prerr_endline (sprintf "language: %s" lang#name) let print_lang_dirs (language_manager:GSourceView3.source_language_manager) = let i = ref 0 in prerr_endline "lang_dirs:"; List.iter (fun dir -> incr i; prerr_endline (sprintf "%d: %s" !i dir)) language_manager#search_path let () = let win = GWindow.window ~title:"LablGtkSourceView 3 test" () in let vbox = GPack.vbox ~packing:win#add () in let hbox = GPack.hbox ~packing:(vbox#pack ~expand: false) () in let bracket_button = GButton.button ~label:"( ... )" ~packing:hbox#add () in let scrolled_win = GBin.scrolled_window ~hpolicy: `AUTOMATIC ~vpolicy: `AUTOMATIC ~packing:vbox#add () in let source_view = GSourceView3.source_view ~auto_indent:true ~insert_spaces_instead_of_tabs:true ~tab_width:2 ~show_line_numbers:true ~right_margin_position:30 ~show_right_margin:true ~smart_home_end:`ALWAYS ~packing:scrolled_win#add ~height:500 ~width:900 () in let language_manager = GSourceView3.source_language_manager ~default:true in let lang = match language_manager#guess_language ~content_type:lang_mime_type () with | None -> failwith (sprintf "no language for %s" lang_mime_type) | Some lang -> lang in let text = let ic = open_in "test.ml" in let size = in_channel_length ic in let buf = Bytes.create size in really_input ic buf 0 size; close_in ic; Bytes.to_string buf in source_view#misc#modify_font_by_name font_name; print_lang_dirs language_manager; print_lang lang; (* set a style for bracket matching *) source_view#source_buffer#set_highlight_matching_brackets true; source_view#set_show_line_marks true; source_view#source_buffer#set_language (Some lang); source_view#source_buffer#set_highlight_syntax true; source_view#source_buffer#set_text text; ignore (win#connect#destroy (fun _ -> GMain.quit ())); let category = "current" in let attributes = GSourceView3.source_mark_attributes () in let pixbuf = source_view#misc#render_icon ~size:`DIALOG `DIALOG_INFO in attributes#set_pixbuf pixbuf; source_view#set_mark_attributes ~category attributes 10; let current_line_bookmark = source_view#source_buffer#create_source_mark ~category (source_view#source_buffer#get_iter `START) in ignore (source_view#source_buffer#connect#mark_set (fun where mark -> if GtkText.Mark.get_name mark = Some "insert" then begin let prio = source_view#get_mark_priority ~category in Printf.eprintf "priority is %d\n%!" prio; (match source_view#get_mark_attributes ~category with | Some _ -> prerr_endline "has attributes" | None -> prerr_endline "no attribute"); (match source_view#get_mark_attributes ~category:"nonexistent" with | Some _ -> prerr_endline "shouldn't have attributes" | None -> prerr_endline "no attribute as expected"); let where = where#set_line_offset 0 in source_view#source_buffer#move_mark current_line_bookmark#coerce ~where; end)); ignore (source_view#connect#undo (fun _ -> prerr_endline "undo")); win#show (); GMain.Main.main () (* Local Variables: compile-command: "ocamlc -o viewer -I ../../src/ lablgtk.cma lablgtksourceview3.cma test2.ml" End: *) lablgtk-3.1.2/examples/spell.ml0000644000650106067230000000547014161276610015275 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let languages = [ "fr_FR"; "en_US"; "de_DE"; "ja_JP" ] let report_error view msg = let message = "GtkSpell error:\n" ^ (Glib.Markup.escape_text msg) in let dlg = GWindow.message_dialog ~message ~use_markup:true ~message_type:`ERROR ~buttons:GWindow.Buttons.close ?parent:(GWindow.toplevel view) ~destroy_with_parent:true () in ignore (dlg#run ()) ; dlg#destroy () let set_lang_cb view lang = prerr_endline "GtkSpell.set_language" ; try GtkSpell.set_language view lang ; true with GtkSpell.Error (_, msg) -> report_error view msg ; false type button_state = { mutable lang_id : int ; mutable error : bool } let build_language_list view packing = let (combo, _) as c = GEdit.combo_box_text ~strings:languages ~packing () in let state = { lang_id = -1 ; error = false } in ignore (combo#connect#changed (fun () -> if state.error then state.error <- false else if set_lang_cb view (GEdit.text_combo_get_active c) then state.lang_id <- combo#active else begin state.error <- true ; combo#set_active state.lang_id end)) ; c let attach_cb button view lang_list () = try if button#active then begin prerr_endline "GtkSpell.attach" ; GtkSpell.attach ?lang:(GEdit.text_combo_get_active lang_list) view end else begin prerr_endline "GtkSpell.detach" ; GtkSpell.detach view end with GtkSpell.Error (_, msg) -> button#set_active false ; report_error view msg let setup packing = let box = GPack.vbox ~spacing:5 ~packing () in let scroll = GBin.scrolled_window ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC ~shadow_type:`IN ~packing:(box#pack ~expand:true) () in let view = GText.view ~wrap_mode:`WORD ~packing:scroll#add () in let hbox = GPack.hbox ~spacing:5 ~packing:box#pack () in let attached = GButton.toggle_button ~label:"Attached" ~packing:hbox#pack () in let lang_list = build_language_list view (hbox#pack ~from:`END) in ignore (attached#connect#toggled (attach_cb attached view lang_list)) ; () let main = GMain.init (); let w = GWindow.window ~title:"GtkSpell demo" ~border_width:10 ~width:400 ~height:300 () in ignore (w#connect#destroy GMain.quit) ; setup w#add ; w#show () ; GMain.main () lablgtk-3.1.2/examples/spin.ml0000644000650106067230000000231014161276610015115 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let run () = GMain.init (); let w = GWindow.dialog ~title:"Go to page" ~modal:true ~position:`CENTER () in ignore (GMisc.label ~text:"Page: " ~packing:w#vbox#add ()); let sb = GEdit.spin_button ~packing:w#vbox#add ~digits:0 ~numeric:true ~wrap:true () in sb#adjustment#set_bounds ~lower:0. ~upper:50.0 ~step_incr:1. (); sb#set_value 22.; sb#connect#wrapped (fun () -> prerr_endline "Wrapped!"); w#add_button_stock `OK `OK; w#add_button_stock `CANCEL `CANCEL; w#set_default_response `OK; let on_ok () = Format.printf "Ok...@." ; w#destroy () in match w#run () with | `DELETE_EVENT | `CANCEL -> w#destroy () | `OK -> on_ok () let () = run () lablgtk-3.1.2/examples/stackcontainer.ml0000644000650106067230000000306414161276610017163 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let main () = ignore (GMain.init ()); let window = GWindow.window ~border_width:10 ~width:300 ~height:200 () in ignore (window#connect#destroy ~callback:GMain.quit); let stack = GPack.stack ~packing:window#add () in stack#set_transition_type `SLIDE_UP; (* default transition *) let button = GButton.button ~label:"Button 1" ~packing:(fun w -> stack#add_named w "button") () in let layout = GPack.vbox ~spacing:10 ~packing:(fun w -> stack#add_named w "button2") () in let button2 = GButton.button ~label:"Button 2" ~packing:layout#add () in let info_label = GMisc.label ~text:"This is the second pane" ~packing:layout#add () in ignore (button#connect#clicked ~callback:(fun () -> stack#set_visible_child_full "button2" `SLIDE_LEFT; stack#set_transition_duration 1000; (* set to 1 second after first click *))); ignore (button2#connect#clicked ~callback:(fun () -> stack#set_visible_child (button :> GObj.widget))); window#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/stackswitcher.ml0000644000650106067230000000363614161276610017036 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) let main () = ignore (GMain.init ()); let window = GWindow.window ~border_width:10 ~width:300 ~height:200 () in ignore (window#connect#destroy ~callback:GMain.quit); let root_layout = GPack.box `VERTICAL ~spacing:10 ~homogeneous:false ~packing:window#add () in let switcher = GPack.stack_switcher () in let stack = GPack.stack ~transition_type:`SLIDE_LEFT_RIGHT () in switcher#set_stack stack#as_stack; let transition_choice_button = GButton.check_button ~label:"Change transition type" () in root_layout#pack ~expand:false ~fill:false transition_choice_button#coerce; root_layout#pack ~expand:false ~fill:false switcher#coerce; root_layout#pack ~expand:true ~fill:true stack#coerce; switcher#set_halign `CENTER; let checkbox = GButton.check_button ~label:"Item" ~packing:(fun w -> stack#add_titled w "frame1" "Check button") () in let label = GMisc.label ~text:"A label" ~packing:(fun w -> stack#add_titled w "frame2" "Label") () in let entry = GEdit.entry ~placeholder_text:"Type here" ~packing:(fun w -> stack#add_titled w "frame3" "Form") () in ignore (transition_choice_button#connect#toggled ~callback:(fun () -> match transition_choice_button#active with | true -> stack#set_transition_type `OVER_UP_DOWN | false -> stack#set_transition_type `SLIDE_LEFT_RIGHT)); window#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/test.xpm0000644000650106067230000000376714161276610015340 0ustar glondused/* XPM */ static char *openfile[] = { /* width height num_colors chars_per_pixel */ " 20 19 66 2", /* colors */ ".. c None", ".# c #000000", ".a c #dfdfdf", ".b c #7f7f7f", ".c c #006f6f", ".d c #00efef", ".e c #009f9f", ".f c #004040", ".g c #00bfbf", ".h c #ff0000", ".i c #ffffff", ".j c #7f0000", ".k c #007070", ".l c #00ffff", ".m c #00a0a0", ".n c #004f4f", ".o c #00cfcf", ".p c #8f8f8f", ".q c #6f6f6f", ".r c #a0a0a0", ".s c #7f7f00", ".t c #007f7f", ".u c #5f5f5f", ".v c #707070", ".w c #00f0f0", ".x c #009090", ".y c #ffff00", ".z c #0000ff", ".A c #00afaf", ".B c #00d0d0", ".C c #00dfdf", ".D c #005f5f", ".E c #00b0b0", ".F c #001010", ".G c #00c0c0", ".H c #000f0f", ".I c #00007f", ".J c #005050", ".K c #002f2f", ".L c #dfcfcf", ".M c #dfd0d0", ".N c #006060", ".O c #00e0e0", ".P c #00ff00", ".Q c #002020", ".R c #dfc0c0", ".S c #008080", ".T c #001f1f", ".U c #003f3f", ".V c #007f00", ".W c #00000f", ".X c #000010", ".Y c #00001f", ".Z c #000020", ".0 c #00002f", ".1 c #000030", ".2 c #00003f", ".3 c #000040", ".4 c #00004f", ".5 c #000050", ".6 c #00005f", ".7 c #000060", ".8 c #00006f", ".9 c #000070", "#. c #7f7f80", "## c #9f9f9f", /* pixels */ "........................................", "........................................", "........................................", ".......................#.#.#............", ".....................#.......#...#......", "...............................#.#......", ".......#.#.#.................#.#.#......", ".....#.y.i.y.#.#.#.#.#.#.#..............", ".....#.i.y.i.y.i.y.i.y.i.#..............", ".....#.y.i.y.i.y.i.y.i.y.#..............", ".....#.i.y.i.y.#.#.#.#.#.#.#.#.#.#.#....", ".....#.y.i.y.#.s.s.s.s.s.s.s.s.s.#......", ".....#.i.y.#.s.s.s.s.s.s.s.s.s.#........", ".....#.y.#.s.s.s.s.s.s.s.s.s.#..........", ".....#.#.s.s.s.s.s.s.s.s.s.#............", ".....#.#.#.#.#.#.#.#.#.#.#..............", "........................................", "........................................", "........................................" }; lablgtk-3.1.2/examples/testdnd.ml0000644000650106067230000005213114161276610015617 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* this is a translation in Caml of the gtk+ example testdnd.c *) open Gaux open Gtk open GObj (* GtkThread.start() *) let _ = GMain.init () let drag_icon_xpm = [| "36 48 9 1"; " c None"; ". c #020204"; "+ c #8F8F90"; "@ c #D3D3D2"; "# c #AEAEAC"; "$ c #ECECEC"; "% c #A2A2A4"; "& c #FEFEFC"; "* c #BEBEBC"; " ....................."; " ..&&&&&&&&&&&&&&&&&&&."; " ...&&&&&&&&&&&&&&&&&&&."; " ..&.&&&&&&&&&&&&&&&&&&&."; " ..&&.&&&&&&&&&&&&&&&&&&&."; " ..&&&.&&&&&&&&&&&&&&&&&&&."; " ..&&&&.&&&&&&&&&&&&&&&&&&&."; " ..&&&&&.&&&@&&&&&&&&&&&&&&&."; " ..&&&&&&.*$%$+$&&&&&&&&&&&&&."; " ..&&&&&&&.%$%$+&&&&&&&&&&&&&&."; " ..&&&&&&&&.#&#@$&&&&&&&&&&&&&&."; " ..&&&&&&&&&.#$**#$&&&&&&&&&&&&&."; " ..&&&&&&&&&&.&@%&%$&&&&&&&&&&&&&."; " ..&&&&&&&&&&&.&&&&&&&&&&&&&&&&&&&."; " ..&&&&&&&&&&&&.&&&&&&&&&&&&&&&&&&&."; "................&$@&&&@&&&&&&&&&&&&."; ".&&&&&&&+&&#@%#+@#@*$%$+$&&&&&&&&&&."; ".&&&&&&&+&&#@#@&&@*%$%$+&&&&&&&&&&&."; ".&&&&&&&+&$%&#@&#@@#&#@$&&&&&&&&&&&."; ".&&&&&&@#@@$&*@&@#@#$**#$&&&&&&&&&&."; ".&&&&&&&&&&&&&&&&&&&@%&%$&&&&&&&&&&."; ".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&."; ".&&&&&&&&$#@@$&&&&&&&&&&&&&&&&&&&&&."; ".&&&&&&&&&+&$+&$&@&$@&&$@&&&&&&&&&&."; ".&&&&&&&&&+&&#@%#+@#@*$%&+$&&&&&&&&."; ".&&&&&&&&&+&&#@#@&&@*%$%$+&&&&&&&&&."; ".&&&&&&&&&+&$%&#@&#@@#&#@$&&&&&&&&&."; ".&&&&&&&&@#@@$&*@&@#@#$#*#$&&&&&&&&."; ".&&&&&&&&&&&&&&&&&&&&&$%&%$&&&&&&&&."; ".&&&&&&&&&&$#@@$&&&&&&&&&&&&&&&&&&&."; ".&&&&&&&&&&&+&$%&$$@&$@&&$@&&&&&&&&."; ".&&&&&&&&&&&+&&#@%#+@#@*$%$+$&&&&&&."; ".&&&&&&&&&&&+&&#@#@&&@*#$%$+&&&&&&&."; ".&&&&&&&&&&&+&$+&*@&#@@#&#@$&&&&&&&."; ".&&&&&&&&&&$%@@&&*@&@#@#$#*#&&&&&&&."; ".&&&&&&&&&&&&&&&&&&&&&&&$%&%$&&&&&&."; ".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&."; ".&&&&&&&&&&&&&&$#@@$&&&&&&&&&&&&&&&."; ".&&&&&&&&&&&&&&&+&$%&$$@&$@&&$@&&&&."; ".&&&&&&&&&&&&&&&+&&#@%#+@#@*$%$+$&&."; ".&&&&&&&&&&&&&&&+&&#@#@&&@*#$%$+&&&."; ".&&&&&&&&&&&&&&&+&$+&*@&#@@#&#@$&&&."; ".&&&&&&&&&&&&&&$%@@&&*@&@#@#$#*#&&&."; ".&&&&&&&&&&&&&&&&&&&&&&&&&&&$%&%$&&."; ".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&."; ".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&."; ".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&."; "...................................." |] let trashcan_closed_xpm = [| "64 80 17 1"; " c None"; ". c #030304"; "+ c #5A5A5C"; "@ c #323231"; "# c #888888"; "$ c #1E1E1F"; "% c #767677"; "& c #494949"; "* c #9E9E9C"; "= c #111111"; "- c #3C3C3D"; "; c #6B6B6B"; "> c #949494"; ", c #282828"; "' c #808080"; ") c #545454"; "! c #AEAEAC"; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " "; " ==......=$$...=== "; " ..$------)+++++++++++++@$$... "; " ..=@@-------&+++++++++++++++++++-.... "; " =.$$@@@-&&)++++)-,$$$$=@@&+++++++++++++,..$ "; " .$$$$@@&+++++++&$$$@@@@-&,$,-++++++++++;;;&.. "; " $$$$,@--&++++++&$$)++++++++-,$&++++++;%%'%%;;$@ "; " .-@@-@-&++++++++-@++++++++++++,-++++++;''%;;;%*-$ "; " +------++++++++++++++++++++++++++++++;;%%%;;##*!. "; " =+----+++++++++++++++++++++++;;;;;;;;;;;;%'>>). "; " .=)&+++++++++++++++++;;;;;;;;;;;;;;%''>>#>#@. "; " =..=&++++++++++++;;;;;;;;;;;;;%###>>###+%== "; " .&....=-+++++%;;####''''''''''##'%%%)..#. "; " .+-++@....=,+%#####'%%%%%%%%%;@$-@-@*++!. "; " .+-++-+++-&-@$$=$=......$,,,@;&)+!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " =+-++-+++-+++++++++!++++!++++!+++!++!+++= "; " $.++-+++-+++++++++!++++!++++!+++!++!+.$ "; " =.++++++++++++++!++++!++++!+++!++.= "; " $..+++++++++++++++!++++++...$ "; " $$=.............=$$ "; " "; " "; " "; " "; " "; " "; " "; " "; " " |] let trashcan_open_xpm = [| "64 80 17 1"; " c None"; ". c #030304"; "+ c #5A5A5C"; "@ c #323231"; "# c #888888"; "$ c #1E1E1F"; "% c #767677"; "& c #494949"; "* c #9E9E9C"; "= c #111111"; "- c #3C3C3D"; "; c #6B6B6B"; "> c #949494"; ", c #282828"; "' c #808080"; ") c #545454"; "! c #AEAEAC"; " "; " "; " "; " "; " "; " "; " .=.==.,@ "; " ==.,@-&&&)-= "; " .$@,&++;;;%>*- "; " $,-+)+++%%;;'#+. "; " =---+++++;%%%;%##@. "; " @)++++++++;%%%%'#%$ "; " $&++++++++++;%%;%##@= "; " ,-++++)+++++++;;;'#%) "; " @+++&&--&)++++;;%'#'-. "; " ,&++-@@,,,,-)++;;;'>'+, "; " =-++&@$@&&&&-&+;;;%##%+@ "; " =,)+)-,@@&+++++;;;;%##%&@ "; " @--&&,,@&)++++++;;;;'#)@ "; " ---&)-,@)+++++++;;;%''+, "; " $--&)+&$-+++++++;;;%%'';- "; " .,-&+++-$&++++++;;;%''%&= "; " $,-&)++)-@++++++;;%''%), "; " =,@&)++++&&+++++;%'''+$@&++++++ "; " .$@-++++++++++++;'#';,........=$@&++++ "; " =$@@&)+++++++++++'##-.................=&++ "; " .$$@-&)+++++++++;%#+$.....................=)+ "; " $$,@-)+++++++++;%;@=........................,+ "; " .$$@@-++++++++)-)@=............................ "; " $,@---)++++&)@===............................,. "; " $-@---&)))-$$=..............................=)!. "; " --&-&&,,$=,==...........................=&+++!. "; " =,=$..=$+)+++++&@$=.............=$@&+++++!++!. "; " .)-++-+++++++++++++++++++++++++++!++!++!. "; " .+-++-+++++++++++++++++++++++!+++!++!++!. "; " .+-++-+++-+++++++++!+++!!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " .+-++-+++-+++++++++!++++!++++!+++!++!++!. "; " =+-++-+++-+++++++++!++++!++++!+++!++!+++= "; " $.++-+++-+++++++++!++++!++++!+++!++!+.$ "; " =.++++++++++++++!++++!++++!+++!++.= "; " $..+++++++++++++++!++++++...$ "; " $$==...........==$$ "; " "; " "; " "; " "; " "; " "; " "; " "; " " |] let window = GWindow.window ~title:"DnD Test" () let _ = window#misc#realize () let drag_icon = GDraw.pixmap_from_xpm_d ~data:drag_icon_xpm ~window () let trashcan_open = GDraw.pixmap_from_xpm_d ~data:trashcan_open_xpm ~window () let trashcan_closed = GDraw.pixmap_from_xpm_d ~data:trashcan_closed_xpm ~window () let targets = [ { target = "STRING"; flags = []; info = 0}; { target = "text/plain"; flags = []; info = 0}; { target = "text/uri-list"; flags = []; info = 2}; { target = "application/x-rootwin-drop"; flags = []; info = 1} ] class drag_handler = object method private beginning (_ : drag_context) = () method private data_delete (_ : drag_context) = () method private data_get (_ : drag_context) (_ : selection_context) ~(info : int) ~(time : int32) = () method private data_received (_ : drag_context) ~(x : int) ~(y : int) (_ : selection_data) ~(info : int) ~(time : int32) = () method private drop (_ : drag_context) ~(x : int) ~(y : int) ~(time : int32) = false method private ending (_ : drag_context) = () method private leave (_ : drag_context) ~(time : int32) = () method private motion (_ : drag_context) ~(x : int) ~(y : int) ~(time : int32) = false end class target_drag ?packing ?show () = let pixmap = GMisc.pixmap trashcan_closed ?packing ?show () in object (self) inherit widget pixmap#as_widget inherit drag_handler val mutable have_drag = false method leave _ ~time = print_endline "leave"; flush stdout; have_drag <- false; pixmap#set_pixmap trashcan_closed method motion context ~x ~y ~time = if not have_drag then begin have_drag <- true; pixmap#set_pixmap trashcan_open end; let source_typename = try context#source_widget#misc#get_type with Gpointer.Null -> "unknown" in Printf.printf "motion, source %s\n" source_typename; flush stdout; context#status (Some context#suggested_action) ~time; true method drop context ~x ~y ~time = prerr_endline "drop"; flush stdout; have_drag <- false; pixmap#set_pixmap trashcan_closed; match context#targets with | [] -> false | d :: _ -> pixmap#drag#get_data ~target:d ~time context; true method data_received context ~x ~y data ~info ~time = if data#format = 8 then begin Printf.printf "Received \"%s\" in trashcan\n" data#data; flush stdout; context#finish ~success:true ~del:false ~time end else context#finish ~success:false ~del:false ~time initializer pixmap#drag#dest_set targets ~actions:[`COPY;`MOVE]; pixmap#drag#connect#leave ~callback:self#leave; pixmap#drag#connect#motion ~callback:self#motion; pixmap#drag#connect#drop ~callback:self#drop; pixmap#drag#connect#data_received ~callback:self#data_received; () end class label_drag ?packing ?show () = let label = GMisc.label ~text:"Drop Here\n" ?packing ?show () in object (self) inherit widget label#as_widget inherit drag_handler method data_received context ~x ~y data ~info ~time = if data#format = 8 then begin Printf.printf "Received \"%s\" in label\n" data#data; flush stdout; context#finish ~success:true ~del:false ~time end else context#finish ~success:false ~del:false ~time initializer label#drag#dest_set targets ~actions:[`COPY; `MOVE ]; label#drag#connect#data_received ~callback:self#data_received; () end class source_drag ?packing ?show () = let button = GButton.button ~label:"Drag Here\n" ?packing ?show () in object (self) inherit widget button#as_widget inherit drag_handler method data_get _ sel ~info ~time = if info = 1 then begin print_endline "I was dropped on the rootwin"; flush stdout end else if info = 2 then sel#return "file:///home/otaylor/images/weave.png" else sel#return "I'm Data!" method data_delete _ = print_endline "Delete the data!"; flush stdout initializer button#drag#source_set targets ~modi:[`BUTTON1; `BUTTON3 ] ~actions:[`COPY; `MOVE ]; button#drag#source_set_icon drag_icon; button#drag#connect#data_get ~callback:self#data_get; button#drag#connect#data_delete ~callback:self#data_delete; () end class popup () = object (self) inherit drag_handler val mutable popup_window = (None : #GWindow.window option) val mutable popped_up = false val mutable in_popup = false val mutable popdown_timer = None val mutable popup_timer = None method timer = popup_timer method remove_timer () = may popup_timer ~f:(fun pdt -> Timeout.remove pdt; popup_timer <- None) method add_timer time ~callback = popup_timer <- Some (Timeout.add ~ms:time ~callback) method popdown () = popdown_timer <- None; may popup_window ~f:(fun w -> w#misc#hide ()); popped_up <- false; false method motion (_ : drag_context) ~x ~y ~time = if not in_popup then begin in_popup <- true; may popdown_timer ~f: begin fun pdt -> print_endline "removed popdown"; flush stdout; Timeout.remove pdt; popdown_timer <- None end end; true method leave (_ : drag_context) ~time = if in_popup then begin in_popup <- false; if popdown_timer = None then begin print_endline "added popdown"; flush stdout; popdown_timer <- Some (Timeout.add ~ms:500 ~callback:self#popdown) end end method popup () = if not popped_up then begin if popup_window = None then begin let w = GWindow.window ~kind:`POPUP ~position:`MOUSE () in popup_window <- Some w; let table = GPack.table ~rows:3 ~columns:3 ~packing:w#add () in for i = 0 to 2 do for j = 0 to 2 do let button = GButton.button ~label:(string_of_int i ^ "," ^ string_of_int j) ~packing:(table#attach ~left:i ~top:j ~expand:`BOTH) () in button#drag#dest_set targets ~actions:[`COPY; `MOVE ]; button#drag#connect#motion ~callback:self#motion; button#drag#connect#leave ~callback:self#leave; done done end; may popup_window ~f:(fun w -> w#show ()); popped_up <- true end; popdown_timer <- Some (Timeout.add ~ms:500 ~callback:self#popdown); print_endline "added popdown"; flush stdout; self#remove_timer (); false end class popsite ?packing ?show () = let label = GMisc.label ~text:"Popup\n" ?packing ?show () and popup = new popup () in object (self) inherit widget label#as_widget inherit drag_handler method motion _ ~x ~y ~time = if popup#timer = None then begin print_endline "added popdown"; flush stdout; popup#add_timer 500 ~callback:popup#popup end; true method leave _ ~time = popup#remove_timer () initializer label#drag#dest_set targets ~actions:[`COPY; `MOVE ]; label#drag#connect#motion ~callback:self#motion; label#drag#connect#leave ~callback:self#leave; () end let main () = window#connect#destroy ~callback: GMain.quit; let table = GPack.table ~rows:2 ~columns:2 ~packing:window#add () in let attach = table#attach ~expand:`BOTH in new label_drag ~packing:(attach ~left:0 ~top:0) (); new target_drag ~packing:(attach ~left:1 ~top:0) (); new source_drag ~packing:(attach ~left:0 ~top:1) (); new popsite ~packing:(attach ~left:1 ~top:1) (); window#show (); GMain.main () let _ = main () lablgtk-3.1.2/examples/testgtk.ml0000644000650106067230000010577314161276610015652 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open StdLabels open GdkKeysyms open GObj let create_bbox direction title spacing child_w child_h layout = let frame = GBin.frame ~label: title () in let bbox = GPack.button_box direction ~border_width: 5 ~packing: frame#add ~layout: layout ~child_height: child_h ~child_width: child_w ~spacing: spacing () in GButton.button ~label: "OK" ~packing: bbox#add (); GButton.button ~label: "Cancel" ~packing: bbox#add (); GButton.button ~label: "Help" ~packing: bbox#add (); frame#coerce let create_button_box = let rw = ref None in let aux () = match !rw with | None -> let window = GWindow.window ~title: "Button Boxes" ~border_width: 0 () in rw := Some window; window #connect#destroy ~callback:(fun _ -> rw := None); let main_vbox = GPack.vbox ~packing: (window#add) () in let frame_horz = GBin.frame ~label: "Horizontal Button Boxes" ~packing:(main_vbox#pack ~expand:true ~fill:true ~padding:10) () in let vbox = GPack.vbox ~border_width: 10 ~packing: frame_horz#add () in vbox#add (create_bbox `HORIZONTAL "Spread" 40 85 20 `SPREAD); vbox#pack (create_bbox `HORIZONTAL "Edge" 40 85 20 `EDGE) ~expand: true ~fill: true ~padding: 5; vbox#pack (create_bbox `HORIZONTAL "Start" 40 85 20 `START) ~expand: true ~fill: true ~padding: 5; vbox#pack (create_bbox `HORIZONTAL "End" 40 85 20 `END) ~expand: true ~fill: true ~padding: 5; let frame_vert = GBin.frame ~label: "Vertical Button Boxes" ~packing:(main_vbox#pack ~expand:true ~fill:true ~padding:10) () in let hbox = GPack.hbox ~border_width: 10 ~packing: frame_vert#add () in hbox#add (create_bbox `VERTICAL "Spread" 30 85 20 `SPREAD); hbox#pack (create_bbox `VERTICAL "Edge" 30 85 20 `EDGE) ~expand: true ~fill: true ~padding: 5; hbox#pack (create_bbox `VERTICAL "Start" 30 85 20 `START) ~expand: true ~fill: true ~padding: 5; hbox#pack (create_bbox `VERTICAL "End" 30 85 20 `END) ~expand: true ~fill: true ~padding: 5; window #show () | Some window -> window #destroy () in aux let button_window button _ = if button #misc#visible then button #misc#hide () else button #misc#show () let create_buttons = let rw = ref None in let aux () = match !rw with | None -> let window = GWindow.window ~title: "GtkButton" ~border_width: 0 () in rw := Some window; window #connect#destroy ~callback:(fun _ -> rw := None); let box1 = GPack.vbox ~packing:window#add () in let table = GPack.table ~rows:3 ~columns:3 ~homogeneous:false ~row_spacings:3 ~col_spacings:3 ~border_width:10 ~packing:box1#add () in let button = Array.make 9 (GButton.button ~label:"button1" ()) in for i = 2 to 9 do button.(i-1) <- GButton.button ~label:("button" ^ string_of_int i) (); done; let f i l r t b = button.(i) #connect#clicked ~callback:(button_window button.(i+1)); table #attach button.(i)#coerce ~left:l ~right:r ~top:t ~bottom:b ~xpadding:0 ~ypadding:0 ~expand:`BOTH in f 0 0 1 0 1; f 1 1 2 1 2; f 2 2 3 2 3; f 3 0 1 2 3; f 4 2 3 0 1; f 5 1 2 2 3; f 6 1 2 0 1; f 7 2 3 1 2; button.(8) #connect#clicked ~callback:(button_window button.(0)); table #attach button.(8)#coerce ~left:0 ~right:1 ~top:1 ~bottom:2 ~xpadding:0 ~ypadding:0 ~expand:`BOTH; GMisc.separator `HORIZONTAL ~packing:box1#pack (); let box2 = GPack.vbox ~spacing: 10 ~border_width: 10 ~packing: box1#pack () in let button = GButton.button ~label: "close" ~packing: box2#add () in button #connect#clicked ~callback: window#destroy; button #grab_default (); window #show () | Some window -> window #destroy () in aux let create_check_buttons = let rw = ref None in let aux () = match !rw with | None -> let window = GWindow.window ~title: "GtkCheckButton" ~border_width: 0 () in rw := Some window; window #connect#destroy ~callback:(fun _ -> rw := None); let box1 = GPack.vbox ~packing:window#add () in let box2 = GPack.vbox ~spacing: 10 ~border_width: 10 ~packing: box1#pack () in for i = 1 to 3 do GButton.check_button ~label:("button" ^ (string_of_int i)) ~packing: box2#add (); done; GMisc.separator `HORIZONTAL ~packing: box1#pack (); let box2 = GPack.vbox ~spacing:10 ~border_width:10 ~packing: box1#pack () in let button = GButton.button ~label: "close" ~packing:box2#add () in button #connect#clicked ~callback: window#destroy; button #grab_default (); window #show () | Some window -> window #destroy () in aux let create_radio_buttons = let rw = ref None in let aux () = match !rw with | None -> let window = GWindow.window ~title: "radio buttons" ~border_width: 0 () in rw := Some window; window #connect#destroy ~callback:(fun _ -> rw := None); let box1 = GPack.vbox ~packing:window#add () in let box2 = GPack.vbox ~spacing:10 ~border_width:10 ~packing: box1#pack () in let button = GButton.radio_button ~label:"button1" ~packing: box2#add () in let button = GButton.radio_button ~label:"button2" ~group:button#group ~packing: box2#add ~active:true () in let button = GButton.radio_button ~label:"button3" ~group:button#group ~packing: box2#add () in GMisc.separator `HORIZONTAL ~packing: box1#pack (); let box2 = GPack.vbox ~spacing:10 ~border_width:10 ~packing: box1#pack () in let button = GButton.button ~label: "close" ~packing: box2#add () in button #connect#clicked ~callback: window #destroy; button #grab_default (); window #show () | Some window -> window #destroy () in aux let create_toggle_buttons = let rw = ref None in let aux () = match !rw with | None -> let window = GWindow.window ~title: "GtkToggleButton" ~border_width: 0 () in rw := Some window; window #connect#destroy ~callback:(fun _ -> rw := None); let box1 = GPack.vbox ~packing: window#add () in let box2 = GPack.vbox ~spacing: 10 ~border_width: 10 ~packing: box1#pack () in for i = 1 to 3 do GButton.toggle_button ~label:("button" ^ (string_of_int i)) ~packing: box2#add () done; GMisc.separator `HORIZONTAL ~packing: box1#pack (); let box2 = GPack.vbox ~spacing: 10 ~border_width: 10 ~packing: box1#pack () in let button = GButton.button ~label: "close" ~packing:box2#add () in button #connect#clicked ~callback: window#destroy; button #grab_default (); window #show () | Some window -> window #destroy () in aux (* Menus *) let create_menu depth tearoff = let rec aux depth tearoff = let menu = GMenu.menu () and group = ref None in if tearoff then ignore (GMenu.tearoff_item ~packing: menu#append ()); for i = 0 to 4 do let menuitem = GMenu.radio_menu_item ?group:!group ~label:("item " ^ string_of_int depth ^ " - " ^ string_of_int (i+1)) ~packing:menu#append ~show_toggle:(depth mod 2 <> 0) () in group := Some (menuitem #group); if i = 3 then menuitem #misc#set_sensitive false; if depth > 1 then menuitem #set_submenu (aux (depth-1) true) done; menu in aux depth tearoff let create_menus = let rw = ref None in fun () -> match !rw with | None -> let window = GWindow.window ~title: "menus" ~border_width: 0 () in rw := Some window; window #connect#destroy ~callback:(fun _ -> rw := None); window #event#connect#delete ~callback:(fun _ -> true); let accel_group = GtkData.AccelGroup.create () in window #add_accel_group accel_group ; let box1 = GPack.vbox ~packing:window#add () in let menubar = GMenu.menu_bar ~packing: box1#pack () in let menuitem = GMenu.menu_item ~label:"test\nline2" ~packing: menubar#append () in menuitem #set_submenu (create_menu 2 true); let menuitem = GMenu.menu_item ~label:"foo" ~right_justified:true ~packing: menubar#append () in menuitem #set_submenu (create_menu 3 true); let box2 = GPack.vbox ~spacing: 10 ~packing: box1#add ~border_width: 10 () in let menu = create_menu 1 false in menu #set_accel_group accel_group; let menuitem = GMenu.check_menu_item ~label:"Accelerate Me" ~packing:menu#append () in menuitem #add_accelerator ~group:accel_group _M ~flags:[`VISIBLE]; let menuitem = GMenu.check_menu_item ~label:"Accelerator Locked" ~packing:menu#append () in menuitem #add_accelerator ~group:accel_group _L ~flags:[`VISIBLE; `LOCKED]; let menuitem = GMenu.check_menu_item ~label:"Accelerators Frozen" ~packing:menu#append () in menuitem #add_accelerator ~group:accel_group _F ~flags:[`VISIBLE]; let menuitem = GMenu.image_menu_item ~stock:`OPEN ~packing:menu#append () in let path = "/Open" in GtkMenu.MenuItem.set_accel_path menuitem#as_item path; let stock = GtkStock.Item.lookup `OPEN in GtkData.AccelMap.add_entry ~key:stock.GtkStock.keyval ~modi:stock.GtkStock.modifier path; let optionmenu = GMenu.option_menu ~packing: box2#add () in optionmenu #set_menu menu; optionmenu #set_history 3; GMisc.separator `HORIZONTAL ~packing: box1#pack (); let box2 = GPack.vbox ~spacing:10 ~border_width:10 ~packing: box1#pack () in let button = GButton.button ~label: "close" ~packing: box2#add () in button #connect#clicked ~callback: window#destroy; button #grab_default (); window #show () | Some window -> window #destroy () (* Modal windows *) let cmw_destroy_cb _ = GMain.quit () let cmw_color parent _ = let csd = GWindow.color_selection_dialog ~modal:true ~title:"This is a modal color selection dialog" () in csd # set_transient_for parent#as_window; csd # connect#destroy ~callback:cmw_destroy_cb; csd # ok_button # connect#clicked ~callback:csd#destroy; csd # cancel_button # connect#clicked ~callback:csd#destroy; csd # show (); GMain.main () let cmw_file parent _ = let fs = GWindow.file_selection ~modal:true ~title:"This is a modal file selection dialog" () in fs # set_transient_for parent#as_window; fs # connect#destroy ~callback:cmw_destroy_cb; fs # ok_button # connect#clicked ~callback:fs#destroy; fs # cancel_button # connect#clicked ~callback:fs#destroy; fs # show (); GMain.main () let create_modal_window () = let window = GWindow.window ~modal:true ~title:"This window is modal" () in let box1 = GPack.vbox ~spacing:5 ~border_width:3 ~packing:window#add () in let frame1 = GBin.frame ~label:"Standard dialogs in modal form" ~packing:(box1#pack ~expand:true ~padding:4) () in let box2 = GPack.vbox ~homogeneous:true ~spacing:5 ~packing:frame1#add () in let btnColor = GButton.button ~label:"Color" ~packing:(box2#pack ~padding:4) () and btnFile = GButton.button ~label:"File selection" ~packing:(box2#pack ~padding:4) () and btnClose = GButton.button ~label:"Close" ~packing:(box2#pack ~padding:4) () in GMisc.separator `HORIZONTAL ~packing:(box1#pack ~padding:4) (); btnClose #connect#clicked ~callback:(fun _ -> window #destroy ()); window #connect#destroy ~callback:cmw_destroy_cb; btnColor #connect#clicked ~callback: (cmw_color window); btnFile #connect#clicked ~callback: (cmw_file window); window # show (); GMain.main () (* corrected bug in testgtk.c *) let scrolled_windows_remove, scrolled_windows_clean = let parent = ref None and float_parent = ref None in let remove (scrollwin : GBin.scrolled_window) () = match !parent with | None -> parent := scrollwin#misc#parent; let f = GWindow.window ~title:"new parent" () in float_parent := Some f#coerce; f #set_default_size ~width:200 ~height:200; scrollwin #misc#reparent f#coerce; f #show () | Some p -> scrollwin #misc#reparent p; match !float_parent with | None -> () | Some f -> f #destroy (); float_parent := None; parent := None and clean () = match !float_parent with | None -> () | Some p -> p #destroy (); parent := None; float_parent := None in remove, clean (* scrolled windows *) let create_scrolled_windows = let rw = ref None in let aux () = match !rw with | None -> let window = GWindow.dialog ~title:"dialog" ~border_width:0 () in rw := Some window; window #connect#destroy ~callback:(fun _ -> rw := None); window #connect#destroy ~callback:scrolled_windows_clean; let scrolled_window = GBin.scrolled_window ~border_width:10 ~hpolicy: `AUTOMATIC ~vpolicy:`AUTOMATIC ~packing: window#vbox#add () in let table = GPack.table ~rows:20 ~columns:20 ~row_spacings:10 ~col_spacings:10 ~packing:scrolled_window#add_with_viewport () in table #focus#set_hadjustment (Some scrolled_window # hadjustment); table #focus#set_vadjustment (Some scrolled_window # vadjustment); for i = 0 to 19 do for j=0 to 19 do GButton.toggle_button ~label:("button ("^ string_of_int i ^","^ string_of_int j ^")\n") ~packing:(table #attach ~left:i ~top:j ~expand:`BOTH) () done done; let button = GButton.button ~label:"close" ~packing:window#action_area#add () in button #connect#clicked ~callback:(window #destroy); button #grab_default (); let button = GButton.button ~label:"remove" ~packing:window#action_area#add () in button #connect#clicked ~callback:(scrolled_windows_remove scrolled_window); button #grab_default (); window #set_default_size ~width:300 ~height:300; window #show () | Some window -> window #destroy () in aux (* Toolbar *) let make_toolbar (toolbar : GButton.toolbar) window = let icon = let pb = GdkPixbuf.from_file "test.xpm" in fun () -> (GMisc.image ~pixbuf:pb ())#coerce in toolbar #insert_button ~text:"Horizontal" ~tooltip:"Horizontal toolbar layout" ~tooltip_private:"Toolbar/Horizontal" ~icon:(icon ()) ~callback:(fun _ -> toolbar #set_orientation `HORIZONTAL) (); toolbar #insert_button ~text:"Vertical" ~tooltip:"Vertical toolbar layout" ~tooltip_private:"Toolbar/Vertical" ~icon:(icon ()) ~callback:(fun _ -> toolbar #set_orientation `VERTICAL) (); toolbar #insert_space (); toolbar #insert_button ~text:"Icons" ~tooltip: "Only show toolbar icons" ~tooltip_private:"Toolbar/IconsOnly" ~icon:(icon ()) ~callback:(fun _ -> toolbar #set_style `ICONS) (); toolbar #insert_button ~text:"Text" ~tooltip: "Only show toolbar text" ~tooltip_private:"Toolbar/TextOnly" ~icon:(icon ()) ~callback:(fun _ -> toolbar #set_style `TEXT) (); toolbar #insert_button ~text:"Both" ~tooltip: "Show toolbar icons and text" ~tooltip_private:"Toolbar/Both" ~icon:(icon ()) ~callback:(fun _ -> toolbar #set_style `BOTH) (); toolbar #insert_space (); GEdit.entry ~packing:(toolbar #insert_widget ~tooltip:"This is an unusable GtkEntry" ~tooltip_private: "Hey don't click me!!!") (); toolbar #insert_space (); toolbar #insert_button ~text:"Enable" ~tooltip:"Enable tooltips" ~icon:(icon ()) ~callback:(fun _ -> toolbar #set_tooltips true) (); toolbar #insert_button ~text:"Disable" ~tooltip:"Disable tooltips" ~icon:(icon ()) ~callback:(fun _ -> toolbar #set_tooltips false) (); () let create_toolbar = let rw = ref None in let aux () = match !rw with | None -> let window = GWindow.window ~title: "Toolbar test" ~border_width: 0 ~allow_shrink: false ~allow_grow: true () in rw := Some window; window #connect#destroy ~callback:(fun _ -> rw := None); window #misc #realize (); let toolbar = GButton.toolbar ~packing: window#add () in make_toolbar toolbar window; window #show () | Some window -> window #destroy () in aux (* Handlebox *) let handle_box_child_signal action (hb : GBin.handle_box) child = Printf.printf "%s: child <%s> %s\n" hb#misc#get_type child#misc#get_type action; flush stdout let create_handle_box = let rw = ref None in let aux () = match !rw with | None -> let window = GWindow.window ~title: "Handle box test" ~border_width: 20 ~allow_shrink: false ~allow_grow: true () in rw := Some window; window #connect#destroy ~callback:(fun _ -> rw := None); window #misc #realize (); let vbox = GPack.vbox ~packing:window#add () in GMisc.label ~text:"Above" ~packing:vbox#add (); GMisc.separator `HORIZONTAL ~packing:vbox#add (); let hbox = GPack.hbox ~spacing:10 ~packing:vbox#add () in GMisc.separator `HORIZONTAL ~packing:vbox#add (); GMisc.label ~text:"Below" ~packing:vbox#add (); let handle_box = GBin.handle_box ~packing:hbox#pack () in handle_box #connect#child_attached ~callback:(handle_box_child_signal "attached" handle_box); handle_box #connect#child_detached ~callback:(handle_box_child_signal "detached" handle_box); let toolbar = GButton.toolbar ~packing:handle_box#add () in make_toolbar toolbar window; let handle_box = GBin.handle_box ~packing:hbox#pack () in handle_box #connect#child_attached ~callback:(handle_box_child_signal "attached" handle_box); handle_box #connect#child_detached ~callback:(handle_box_child_signal "detached" handle_box); let handle_box2 = GBin.handle_box ~packing:handle_box#add () in handle_box2 #connect#child_attached ~callback:(handle_box_child_signal "attached" handle_box); handle_box2 #connect#child_detached ~callback:(handle_box_child_signal "detached" handle_box); GMisc.label ~text:"Fooo!" ~packing:handle_box2#add (); window #show () | Some window -> window #destroy () in aux (* Tree *) class tree_and_buttons () = object val tree = GBroken.tree () val add_button = GButton.button ~label: "Add Item" () val remove_button = GButton.button ~label:"Remove Item(s)" () val subtree_button = GButton.button ~label:"Remove Subtree" () val mutable nb_item_add = 0 method tree = tree method add_button = add_button method remove_button = remove_button method subtree_button = subtree_button method nb_item_add = nb_item_add method incr_nb_item_add = nb_item_add <- nb_item_add + 1 end let cb_tree_destroy_event w = () let cb_add_new_item (treeb : tree_and_buttons) _ = let subtree = match treeb#tree#selection with | [] -> treeb#tree | selected_item :: _ -> match selected_item#subtree with Some t -> t | None -> let t = GBroken.tree () in selected_item#set_subtree t; t in let item_new = GBroken.tree_item ~packing:(subtree#insert ~pos:0) ~label:("item add " ^ string_of_int treeb # nb_item_add) () in treeb #incr_nb_item_add let cb_remove_item (treeb : tree_and_buttons) _ = let tree = treeb#tree in match tree #selection with | [] -> () | selected -> tree #remove_items selected let cb_remove_subtree (treeb : tree_and_buttons) _ = match treeb#tree #selection with | [] -> () | selected_item :: _ -> try selected_item#subtree; selected_item#remove_subtree () with Not_found -> () let cb_tree_changed (treeb : tree_and_buttons) _ = let tree = treeb#tree in let nb_selected = List.length (tree#selection) in if nb_selected = 0 then begin treeb # remove_button #misc#set_sensitive false; treeb # subtree_button #misc#set_sensitive false; end else begin treeb # remove_button #misc#set_sensitive true; treeb # subtree_button #misc#set_sensitive (nb_selected = 1); treeb # add_button #misc#set_sensitive (nb_selected = 1); end let rec create_subtree (item : GBroken.tree_item) level nb_item_max recursion_level_max = if level = recursion_level_max then () else begin let item_subtree = GBroken.tree () in for nb_item = 1 to nb_item_max do let item_new = GBroken.tree_item ~packing:(item_subtree#insert ~pos:0) () in let ali = GBin.alignment ~xalign:0. ~xscale:0. ~packing:item_new#add () in let label = GMisc.label ~packing:ali#add ~text:("item" ^ string_of_int level ^ "-" ^ string_of_int nb_item) () in if nb_item = 2 then begin ali#remove label#coerce; let evbox = GBin.event_box ~packing:ali#add () in evbox#add label#coerce; evbox#misc#modify_bg [`NORMAL, `NAME "green"] end; create_subtree item_new (level + 1) nb_item_max recursion_level_max; done; item # set_subtree item_subtree end let create_tree_sample selection_mode draw_line view_line no_root_item nb_item_max recursion_level_max = let window = GWindow.window ~title:"Tree Sample" () in let box1 = GPack.vbox ~packing:window#add () in let box2 = GPack.vbox ~packing:box1#add ~border_width:5 () in let scrolled_win = GBin.scrolled_window ~packing:box2#add ~hpolicy: `AUTOMATIC ~vpolicy:`AUTOMATIC ~width:200 ~height:200 () in let root_treeb = new tree_and_buttons () in let root_tree = root_treeb#tree in root_tree #connect#selection_changed ~callback:(cb_tree_changed root_treeb); scrolled_win #add_with_viewport root_tree#coerce; root_tree #set_selection_mode selection_mode; root_tree #set_view_lines draw_line; root_tree #set_view_mode (match view_line with `LINE -> `ITEM | `ITEM -> `LINE); if no_root_item then for nb_item = 1 to nb_item_max do let item_new = GBroken.tree_item ~label:("item0-" ^ string_of_int nb_item) ~packing:(root_tree#insert ~pos:0) () in create_subtree item_new 1 nb_item_max recursion_level_max; done else begin let root_item = GBroken.tree_item ~label:"root item" ~packing:(root_tree #insert ~pos:0) () in create_subtree root_item 0 nb_item_max recursion_level_max end; let box2 = GPack.vbox ~border_width:5 ~packing:box1#pack () in let button = root_treeb #add_button in button #misc#set_sensitive false; button #connect#clicked ~callback:(cb_add_new_item root_treeb); box2 #add button#coerce; let button = root_treeb #remove_button in button #misc#set_sensitive false; button #connect#clicked ~callback:(cb_remove_item root_treeb); box2 #add button#coerce; let button = root_treeb #subtree_button in button #misc#set_sensitive false; button #connect#clicked ~callback:(cb_remove_subtree root_treeb); box2 #add button#coerce; GMisc.separator `HORIZONTAL ~packing:box1#pack (); let button = GButton.button ~label:"Close" ~packing:box2#add () in button #connect#clicked ~callback:window#destroy; window #show () let create_tree_mode_window = let rw = ref None in let aux () = let default_number_of_item = 3.0 in let default_recursion_level = 3.0 in let single_button = GButton.radio_button ~label:"SINGLE" () in let browse_button = GButton.radio_button ~group:single_button#group ~label:"BROWSE" () in let multiple_button = GButton.radio_button ~group:browse_button#group ~label:"MULTIPLE" () in let draw_line_button = GButton.check_button ~label:"Draw line" () in let view_line_button = GButton.check_button ~label:"View line mode" () in let no_root_item_button = GButton.check_button ~label:"Without Root item" () in let nb_item_spinner = GEdit.spin_button ~adjustment:(GData.adjustment ~value:default_number_of_item ~lower:1.0 ~upper:255.0 ~step_incr:1.0 ~page_incr:5.0 ~page_size:0.0 ()) ~rate:0. ~digits:0 () in let recursion_spinner = GEdit.spin_button ~adjustment:(GData.adjustment ~value:default_recursion_level ~lower:0.0 ~upper:255.0 ~step_incr:1.0 ~page_incr:5.0 ~page_size:0.0 ()) ~rate:0. ~digits:0 () in let cb_create_tree _ = let selection_mode = if single_button #active then `SINGLE else if browse_button #active then `BROWSE else `MULTIPLE in let nb_item = nb_item_spinner#value_as_int in let recursion_level = recursion_spinner#value_as_int in create_tree_sample selection_mode (draw_line_button #active) (if (view_line_button #active) then `ITEM else `LINE) (no_root_item_button #active) nb_item recursion_level in match !rw with | None -> let window = GWindow.window ~title:"Set Tree Parameters" () in rw := Some window; window #connect#destroy ~callback:(fun _ -> rw := None); let box1 = GPack.vbox ~packing:window#add () in let box2 = GPack.vbox ~spacing:5 ~packing:box1#add ~border_width:5 () in let box3 = GPack.hbox ~spacing:5 ~packing:box2#add () in let frame = GBin.frame ~label:"Selection Mode" ~packing:box3#add () in let box4 = GPack.vbox ~packing:frame#add ~border_width:5 () in box4 #add single_button#coerce; box4 #add browse_button#coerce; box4 #add multiple_button#coerce; let frame = GBin.frame ~label:"Options" ~packing:box3#add () in let box4 = GPack.vbox ~packing:frame#add ~border_width:5 () in box4 #add draw_line_button#coerce; draw_line_button #set_active true; box4 #add view_line_button#coerce; view_line_button #set_active true; box4 #add no_root_item_button#coerce; let frame = GBin.frame ~label:"Size Parameters" ~packing:box2#add () in let box4 = GPack.hbox ~spacing:5 ~packing:frame#add ~border_width:5 () in let box5 = GPack.hbox ~spacing:5 ~packing:box4#add () in let label = GMisc.label ~text:"Number of items : " ~xalign:0. ~yalign:0.5 ~packing:box5#pack () in box5 #pack nb_item_spinner#coerce; let label = GMisc.label ~text:"Depth : " ~xalign:0. ~yalign:0.5 ~packing:box5#pack () in box5 #pack recursion_spinner#coerce; GMisc.separator `HORIZONTAL ~packing:box1#pack (); let box2 = GPack.hbox ~homogeneous:true ~spacing:10 ~border_width:5 ~packing:box1#pack () in let button = GButton.button ~label:"Create Tree" ~packing:box2#add () in button #connect#clicked ~callback:cb_create_tree; let button = GButton.button ~label: "close" ~packing:box2#add () in button #connect#clicked ~callback: window#destroy; button #grab_default (); window #show () | Some window -> window #destroy () in aux (* Tooltips *) let tips_query_widget_entered (toggle : GButton.toggle_button) (tq : GMisc.tips_query) _ ~text ~privat:_ = if toggle #active then begin tq #set_text (if text = "" then "There is no tip!" else "There is a tip!"); GtkSignal.stop_emit () end let tips_query_widget_selected (w : #widget option) ~text ~privat:tp _ = (match w with | None -> () | Some w -> Printf.printf "Help \"%s\" requested for <%s>\n" (if tp = "" then "None" else tp) (w #misc#get_type)); true let create_tooltips = let rw = ref None in let aux () = match !rw with | None -> let window = GWindow.window ~title:"Tooltips" ~border_width:0 ~allow_shrink:false ~allow_grow:false () in rw := Some window; let tooltips = GData.tooltips () in window #connect#destroy ~callback:(fun _ -> tooltips #destroy (); rw := None); let box1 = GPack.vbox ~packing:window#add () in let box2 = GPack.vbox ~spacing:10 ~border_width:10 ~packing:box1#add () in let button = GButton.toggle_button ~label:"button1" ~packing:box2#add () in tooltips #set_tip button#coerce ~text:"This is button1" ~privat:"ContextHelp/buttons/1"; let button = GButton.toggle_button ~label:"button2" ~packing:box2#add () in tooltips #set_tip button#coerce ~text:"This is button 2. This is also a really long tooltip which probably won't fit on a single line and will therefore need to be wrapped. Hopefully the wrapping will work correctly." ~privat:"ContextHelp/buttons/2_long"; let toggle = GButton.toggle_button ~label:"Override TipsQuery Label" ~packing:box2#add () in tooltips #set_tip toggle#coerce ~text:"Toggle TipsQuery view." ~privat:"Hi msw! ;)"; let box3 = GPack.vbox ~spacing:5 ~border_width:5 () in let button = GButton.button ~label:"[?]" ~packing:box3#pack () in let tips_query = GMisc.tips_query ~packing:box3#add () in button #connect#clicked ~callback:(tips_query #start); tooltips #set_tip button#coerce ~text:"Start the Tooltips Inspector" ~privat:"ContextHelp/buttons/?"; tips_query #set_caller (Some button#coerce); tips_query #connect#widget_entered ~callback:(tips_query_widget_entered toggle tips_query); tips_query #connect#widget_selected ~callback:tips_query_widget_selected; let frame = GBin.frame ~label:"Tooltips Inspector" ~border_width:0 ~packing:(box2#pack ~expand:true ~padding:10) ~label_xalign:0.5 ~label_yalign:0.0 () in frame #add box3#coerce; GMisc.separator `HORIZONTAL ~packing:box1#pack (); let box2 = GPack.vbox ~spacing: 10 ~border_width: 10 ~packing: box1#pack () in let button = GButton.button ~label: "close" ~packing: box2#add () in button #connect#clicked ~callback: window#destroy; button #grab_default (); tooltips #set_tip button#coerce ~text:"Push this button to close window" ~privat:"ContextHelp/buttons/Close"; window #show (); | Some window -> window #destroy () in aux (* Labels *) let create_labels = let rw = ref None in let aux () = match !rw with | None -> let window = GWindow.window ~title:"Labels" ~border_width:5 () in rw := Some window; window #connect#destroy ~callback:(fun _ -> rw := None); let hbox = GPack.hbox ~spacing:5 ~packing:window#add () in let vbox = GPack.vbox ~spacing:5 ~packing:hbox#add () in let frame = GBin.frame ~label:"Normal Label" ~packing:vbox#pack () in GMisc.label ~text:"This is a normal label" ~packing:frame#add (); let frame = GBin.frame ~label:"Multi_line Label" ~packing:vbox#pack () in GMisc.label ~packing:frame#add ~text:"This is a multi-line label.\nSecond line\nThird line" (); let frame = GBin.frame ~label:"Left Justified Label" ~packing:vbox#pack () in GMisc.label ~packing:frame#add ~justify:`LEFT ~text:"This is a left justified\nmulti_line label\nThird line" (); let frame = GBin.frame ~label:"Right Justified Label" ~packing:vbox#pack () in GMisc.label ~packing:frame#add ~justify:`RIGHT ~text:"This is a right justified\nmulti_line label\nThird line" (); let vbox = GPack.vbox ~spacing:5 ~packing:hbox#add () in let frame = GBin.frame ~label:"Line wrapped Label" ~packing:vbox#pack () in GMisc.label ~packing:frame#add ~line_wrap:true ~text:"This is an example of a line-wrapped label. It should not be taking up the entire width allocated to it, but automatically wraps the words to fit. The time has come, for all good men, to come to the aid of their party. The sixth sheik's six sheep's sick.\n It supports multiple paragraphs correctly, and correctly adds many extra spaces. " (); let frame = GBin.frame ~label:"Underlined Label" ~packing:vbox#pack () in GMisc.label ~text:"This label is underlined!\nThis one is underlined in a quite a funky fashion" ~packing:frame#add ~justify:`LEFT ~pattern:"_________________________ _ _________ _ _____ _ __ __ ___ ____ _____" (); window #show (); | Some window -> window #destroy () in aux (* reparent *) let set_parent child old_parent = let name_opt = function | None -> "(NULL)" | Some w -> w#misc#get_type in Printf.printf "set parent for \"%s\": new parent: \"%s\", old parent: \"%s\"\n" child#misc#get_type (name_opt child#misc#parent) (name_opt old_parent); flush stdout let reparent_label (label : GMisc.label) new_parent _ = label #misc#reparent new_parent let create_reparent = let rw = ref None in let aux () = match !rw with | None -> let window = GWindow.window ~title:"Reparent" ~border_width:5 () in rw := Some window; window #connect#destroy ~callback:(fun _ -> rw := None); let vbox = GPack.vbox ~packing:window#add () in let hbox = GPack.hbox ~spacing:5 ~border_width:10 ~packing:vbox#add () in let frame = GBin.frame ~label:"Frame1" ~packing:hbox#add () in let vbox2 = GPack.vbox ~spacing:5 ~border_width:5 ~packing:frame#add () in let label = GMisc.label ~text:"Hello world" ~packing:vbox2#pack () in label #misc#connect#parent_set ~callback:(set_parent label); let button = GButton.button ~label:"switch" ~packing:vbox2#pack () in button #connect#clicked ~callback:(reparent_label label vbox2#coerce); let frame = GBin.frame ~label:"Frame2" ~packing:hbox#add () in let vbox2 = GPack.vbox ~spacing:5 ~packing:frame#add ~border_width:5 () in let button = GButton.button ~label:"switch" ~packing:vbox2#pack () in button #connect#clicked ~callback:(reparent_label label vbox2#coerce); GMisc.separator `HORIZONTAL ~packing:vbox#pack (); let vbox = GPack.vbox ~spacing:10 ~border_width:10 ~packing:vbox#pack () in let button = GButton.button ~label: "close" ~packing:vbox#add () in button #connect#clicked ~callback: window#destroy; button #grab_default (); window #show (); | Some window -> window #destroy () in aux let create_main_window () = let buttons = [ "button box", Some create_button_box; "buttons", Some create_buttons; "check buttons", Some create_check_buttons; "clist", None; "color selection", None; "ctree", None; "cursors", None; "dialog", None; "entry", None; "event watcher", None; "file selection", None; "font selection", None; "gamma curve", None; "handle box", Some create_handle_box; "item factory", None; "labels", Some create_labels; "layout", None; "list", None; "menus", Some create_menus; "modal windows", Some create_modal_window; "notebooks", None; "panes", None; "pixmap", None; "preview color", None; "preview gray", None; "progress bar", None; "radio buttons", Some create_radio_buttons; "range controls", None; "rc file", None; "reparent", Some create_reparent; "rulers", None; "saved position", None; "scrolled windows", Some create_scrolled_windows; "shapes", None; "spinbutton", None; "statusbar", None; "test idle", None; "test mainloop", None; "test scrolling", None; "test selection", None; "test timeout", None; "text", None; "toggle buttons", Some create_toggle_buttons; "toolbar", Some create_toolbar; "tooltips", Some create_tooltips; "tree", Some create_tree_mode_window; "WM hints", None ] in let window = GWindow.window ~title:"main window" ~width:200 ~height:400 () in window#move ~x:20 ~y:20; window #connect#destroy ~callback: GMain.quit; let box1 = GPack.vbox ~packing: window#add () in GMisc.label ~text: "Gtk+ v2.x" ~packing:box1#pack (); let scrolled_window = GBin.scrolled_window ~border_width: 10 ~hpolicy: `AUTOMATIC ~vpolicy: `AUTOMATIC ~packing:box1#add () in let box2 = GPack.vbox ~border_width: 10 ~packing:scrolled_window#add_with_viewport () in box2 #focus#set_vadjustment (Some scrolled_window#vadjustment); let rec aux = function | [] -> () | (_, None) :: tl -> aux tl | (label, Some func) :: tl -> let button = GButton.button ~label: label ~packing: box2#add () in button #connect#clicked ~callback: func; aux tl in aux buttons; GMisc.separator `HORIZONTAL ~packing: box1#pack (); let box2 = GPack.vbox ~spacing: 10 ~border_width: 10 ~packing: box1#pack () in let button = GButton.button ~label: "close" ~packing: box2#add () in button #connect#clicked ~callback: window#destroy; button #grab_default (); window #show (); let tray_icon = GMisc.status_icon_from_file "gnome-fs-directory.png" in ignore(tray_icon#connect#activate (fun () -> GToolbox.message_box "testgtk" "Tray icon activated!")); GMain.main () let _ = create_main_window () lablgtk-3.1.2/examples/testthread.ml0000644000650106067230000000103314161276610016314 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) lablgtk-3.1.2/examples/text/0000755000650106067230000000000014161276610014602 5ustar glondusedlablgtk-3.1.2/examples/text/Makefile0000644000650106067230000000060314161276610016241 0ustar glondusedall: unicode_table unicode_viewer unicode_table: unicode_table.ml ocamlfind ocamlc -package lablgtk2 -linkpkg -o unicode_table $< unicode_table.opt: unicode_table.ml ocamlfind ocamlopt -package lablgtk2 -linkpkg -o unicode_table $< unicode_viewer: unicode_viewer.ml ocamlfind ocamlc -package lablgtk2 -linkpkg -o unicode_viewer $< clean: rm *.cm* *.o unicode_viewer unicode_table lablgtk-3.1.2/examples/text/floppybuddy.gif0000644000650106067230000001214014161276610017630 0ustar glondusedGIF89aPF÷€  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ãã‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦ÿ¨¨¨ÿÿ=v{ÿ«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿¸ÂÙÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ÿ NETSCAPE2.0è!ù €,L>ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²dA(Sª\Ér¥É…NjI“æÌ— cÊ JÏž@ƒöü©ó¦H ‹þŠ2hJ§2rD)@*0£.µšª©O®[µvDÙ•@ª³Xsjjõé×¶lÅ6$æÙ«wÓÒ5¨”mW¯)»ÆÝ9- ½Í¢Í{ø,ÒEgúu8ìÎÇ Ó5|’®b¼‹Œ¼ô­S¯C£J%ˆx3è«|C¿f ™´ÐÛ¸Ic¨¹qhº»q}vmÛB—N­•êÀÏÐóþ-½8çª(U/g»ysêûÖ_þ9¼qáÙµã^?¸9yó³ßï‹>²döëí§¾|pÞó§_Mª6Ó~ÏÁ‡ÖÏ•‡vé(á„Þ„`‚.ä}õ W!*IøØ…¾õçІ£9gßNÀ´èâ‹ÀðÇúAÈškhq¨áƒ®8SŒ)ÁãŒ5ÚHg¡f>$JBÊH£L:×àƒmÜh:‰QIeŠô!I‘–6 $˜0JY$dH¢X‘™'u¹¦“mŠ©Ah긑š*…9åž|j’šB¾è昉aéÑ€x&Úbˆ„âÄåe1aJ„Yzi… véiŠš–J¢§¦¦:*©”©¸êA*=äÒ«°žª­´ç®¹ê𔕽ò,B¼k$±ÃKªO9Ūl}<ëWL%‹*QÉMËÖi¯.WÚ~H¡†šS•;R¸Âáçìvç‘®»Õ¶;îm_2xn~)Á.÷ïµÉåkn¼2zk0Áõê À.9,oÄ[.ºÏf¬ñÆwìñÇ#!ù €,L>ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²dA(Sª\Ér¥É…NjI“æÌ— cÊ JÏž@ƒöü©ó&΃EE4eS™Fž„ª@ªTL}ZÅ 4©TƒI»bÍš’ëPª vèX¢(ÍúDËÀÕµj7)Ö©V«U©¨{×nªµ÷*ýÛ4ëYºóR{÷êáœ5Á*ʹ³âÁ ãµ,šh‚q ¶|PJ¨|…’]üx'ÊФsW¾Z÷êË_Sí¬•øÞ™­'[Ö}˜uä«[[Eì%ìØÄ_Où|9s¬ûÏ¥.PøðìÚasÇí½¹sƒ†ÛSW¹½¦ýú¼Æo8yèý’•gÞuhà`ë ´ŸwÔ%¤V€"h röY·]„ìÉ—Öƒ¨ñvÜNÀ„(âˆÀðÇÇ–àd”‘Ö`]&øáL%¦Db‰'¦\~ rуx™vڌԈÒ&¢x!†ÿAjµFd("™ã’6èãDP¾8%JU’˜¤Ž¨q¤E[¢V`‘`)æ•êÁ×eH_Úø¦’qÊy&[kÞx'™¥éQŠGú)"}y~åš`1Uh!…;)ZÞ„”NèNŽfê’¤šv*i„Ú÷éI+¤Ҩšñhꥄ¨–Š«¨Vk‡³Žêjª±*t뎵¶Ê¬›æ*+Od!UÜ_½’D–lÆvÕ§²5†`u]Ñ6”kØŽ4­µ²¡è-·M¡œ²Ôf—Ò·Žyfb²«’¸¢˜nWâJ5ï¹Ó¢æвµù•cøÂ$¯Kì~͵n›­° 7ìðÃG,±T!þ’This GIF file was assembled by CDavis with GIF Construction Set from: Alchemy Mindworks Inc. P.O. Box 500 Beeton, Ontario L0G 1A0 CANADA. !ù €,L>ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²dA(Sª\Ér¥É…NjI“æÌ— cÊ JÏž@ƒöü©ó¦H ‹þŠ2hJ§2rD)@*0£.µšª©O®[µvDÙ•@ª³Xsjjõé×¶lÅ6$æÙ«wÓÒ5¨”mW¯)»ÆÝ9- ½Í¢Í{ø,ÒEgúu8ìÎÇ Ó5|’®b¼‹Œ¼ô­S¯C£J%ˆx3è«|C¿f ™´ÐÛ¸Ic¨¹qhº»q}vmÛB—N­•êÀÏÐóþ-½8çª(U/g»ysêûÖ_þ9¼qáÙµã^?¸9yó³ßï‹>²döëí§¾|pÞó§_Mª6Ó~ÏÁ‡ÖÏ•‡vé(á„Þ„`‚.ä}õ W!*IøØ…¾õçІ£9gßNÀ´èâ‹ÀðÇúAÈškhq¨áƒ®8SŒ)ÁãŒ5ÚHg¡f>$JBÊH£L:×àƒmÜh:‰QIeŠô!I‘–6 $˜0JY$dH¢X‘™'u¹¦“mŠ©Ah긑š*…9åž|j’šB¾è昉aéÑ€x&Úbˆ„âÄåe1aJ„Yzi… véiŠš–J¢§¦¦:*©”©¸êA*=äÒ«°žª­´ç®¹ê𔕽ò,B¼k$±ÃKªO9Ūl}<ëWL%‹*QÉMËÖi¯.WÚ~H¡†šS•;R¸Âáçìvç‘®»Õ¶;îm_2xn~)Á.÷ïµÉåkn¼2zk0Áõê À.9,oÄ[.ºÏf¬ñÆwìñÇ#!ù €,L>ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²dA(Sª\Ér¥É…NjI“æÌ— cÊ JÏž@ƒöü©ó&΃EE4eS™Fž„ª@ªTL}ZÅ 4©TƒI»bÍš’ëPª vèX¢(ÍúDËÀÕµj7)Ö©V«U©¨{×nªµ÷*ýÛ4ëYºóR{÷êáœ5Á*ʹ³âÁ ãµ,šh‚q ¶|PJ¨|…’]üx'ÊФsW¾Z÷êË_Sí¬•øÞ™­'[Ö}˜uä«[[Eì%ìØÄ_Où|9s¬ûÏ¥.PøðìÚasÇí½¹sƒ†ÛSW¹½¦ýú¼Æo8yèý’•gÞuhà`ë ´ŸwÔ%¤V€"h röY·]„ìÉ—Öƒ¨ñvÜNÀ„(âˆÀðÇÇ–àd”‘Ö`]&øáL%¦Db‰'¦\~ rуx™vڌԈÒ&¢x!†ÿAjµFd("™ã’6èãDP¾8%JU’˜¤Ž¨q¤E[¢V`‘`)æ•êÁ×eH_Úø¦’qÊy&[kÞx'™¥éQŠGú)"}y~åš`1Uh!…;)ZÞ„”NèNŽfê’¤šv*i„Ú÷éI+¤Ҩšñhꥄ¨–Š«¨Vk‡³Žêjª±*t뎵¶Ê¬›æ*+Od!UÜ_½’D–lÆvÕ§²5†`u]Ñ6”kØŽ4­µ²¡è-·M¡œ²Ôf—Ò·Žyfb²«’¸¢˜nWâJ5ï¹Ó¢æвµù•cøÂ$¯Kì~͵n›­° 7ìðÃG,±T!þThis space for rent...!ù €,L>ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²dA(Sª\Ér¥É…NjI“æÌ— cÊ JÏž@ƒöü©ó¦H ‹þŠ2hJ§2rD)@*0£.µšª©O®[µvDÙ•@ª³Xsjjõé×¶lÅ6$æÙ«wÓÒ5¨”mW¯)»ÆÝ9- ½Í¢Í{ø,ÒEgúu8ìÎÇ Ó5|’®b¼‹Œ¼ô­S¯C£J%ˆx3è«|C¿f ™´ÐÛ¸Ic¨¹qhº»q}vmÛB—N­•êÀÏÐóþ-½8çª(U/g»ysêûÖ_þ9¼qáÙµã^?¸9yó³ßï‹>²döëí§¾|pÞó§_Mª6Ó~ÏÁ‡ÖÏ•‡vé(á„Þ„`‚.ä}õ W!*IøØ…¾õçІ£9gßNÀ´èâ‹ÀðÇúAÈškhq¨áƒ®8SŒ)ÁãŒ5ÚHg¡f>$JBÊH£L:×àƒmÜh:‰QIeŠô!I‘–6 $˜0JY$dH¢X‘™'u¹¦“mŠ©Ah긑š*…9åž|j’šB¾è昉aéÑ€x&Úbˆ„âÄåe1aJ„Yzi… véiŠš–J¢§¦¦:*©”©¸êA*=äÒ«°žª­´ç®¹ê𔕽ò,B¼k$±ÃKªO9Ūl}<ëWL%‹*QÉMËÖi¯.WÚ~H¡†šS•;R¸Âáçìvç‘®»Õ¶;îm_2xn~)Á.÷ïµÉåkn¼2zk0Áõê À.9,oÄ[.ºÏf¬ñÆwìñÇ#!ù €,L>ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²dA(Sª\Ér¥É…NjI“æÌ— cÊ JÏž@ƒöü©ó&΃EE4eS™Fž„ª@ªTL}ZÅ 4©TƒI»bÍš’ëPª vèX¢(ÍúDËÀÕµj7)Ö©V«U©¨{×nªµ÷*ýÛ4ëYºóR{÷êáœ5Á*ʹ³âÁ ãµ,šh‚q ¶|PJ¨|…’]üx'ÊФsW¾Z÷êË_Sí¬•øÞ™­'[Ö}˜uä«[[Eì%ìØÄ_Où|9s¬ûÏ¥.PøðìÚasÇí½¹sƒ†ÛSW¹½¦ýú¼Æo8yèý’•gÞuhà`ë ´ŸwÔ%¤V€"h röY·]„ìÉ—Öƒ¨ñvÜNÀ„(âˆÀðÇÇ–àd”‘Ö`]&øáL%¦Db‰'¦\~ rуx™vڌԈÒ&¢x!†ÿAjµFd("™ã’6èãDP¾8%JU’˜¤Ž¨q¤E[¢V`‘`)æ•êÁ×eH_Úø¦’qÊy&[kÞx'™¥éQŠGú)"}y~åš`1Uh!…;)ZÞ„”NèNŽfê’¤šv*i„Ú÷éI+¤Ҩšñhꥄ¨–Š«¨Vk‡³Žêjª±*t뎵¶Ê¬›æ*+Od!UÜ_½’D–lÆvÕ§²5†`u]Ñ6”kØŽ4­µ²¡è-·M¡œ²Ôf—Ò·Žyfb²«’¸¢˜nWâJ5ï¹Ó¢æвµù•cøÂ$¯Kì~͵n›­° 7ìðÃG,±T!þïThis GIF file was assembled with GIF Construction Set from: Alchemy Mindworks Inc. P.O. Box 500 Beeton, Ontario L0G 1A0 CANADA. This comment block will not appear in files created with a registered version of GIF Construction Set;lablgtk-3.1.2/examples/text/gtk-logo-rgb.gif0000644000650106067230000001443314161276610017571 0ustar glondusedGIF89akŒçÿÿÿïûõïô󪫹ÔÄèÔÜÔ˜¸­Æ¹ÅÄ/L”\lÀu’x 4# "7èÕï„x¤:Z¬5d Y$]'+4 ."dª¢Ü»Ò¼-E76Z7nNdlG7]9$7L 5(4…=`Ûëà-LE*48  ; &M–=rá2fÆpˆz$L-M¸>vâ!C‚ÌåÚ %<’/e®o{,D´9MG 'Þõç=WW +T›,[Ÿ’ª¬43\Ç,  7gÓOkw1U» Ã¸DVr¦” ‚¤Œ=!2kFZûîú&Rl #4Td\ھس˜JmÍ ,š~¬ÕÌâ($;DL&p,X%I 5'iU!¤):ÉFA9GDjÓÔÖÕe²)<9 H ØFE‚,)7 ëIKj)%6#&¨89;4P 4E&¶@4˜âÞ•pA àYhPJ,A‡~(Ût,0ñC&Η"ŠCÎwÅa¥…†Œ9ñŽˆÝ Û” @¡ƒƒ¼5¤ÚqGZp¤X@QHñ"\Ö6eS´d–¦Xä–:¼b¥˜R\T¥Ž 2AdvP0CMà  àp%‘õ ‰ƒ„¥ÝpÊRBY±D‡ÞMwÙlBL‘å h6¥l5„¢zP §þÜ10abK%qE‹9JY‚@+ÀªõÂ,Ø6儳æGÁ‚[j7°•¢2YЀët»Vaâ-œ:®ù…›#š,4!*}Ù51‚¬¥a° ü™ë¡šÈ"¶ùmÆB¥Nh[¿•V0…vCú0A ¸†TIZ´p&š:º *ƒLˆ(®¸³"›,¸h: ­‰¼1ÑBùÅ’[àŠ˜?8„[û;B: ¬ÃLÖ­;n|ÃpΗƒ¢$#F*`EÉÂuY ‚>¨C·ãF9âÀB«èCÝJÕ7Ô ôƒC#‰æ(ª¨–áÞ0BB¸ºÂGÉ@­fÍàþœCd6t·uCÞsù®yNDWAš†[ÖÍzv'»%Ô ­ŠÍÖ7\]¼ð凇‰€îœsSѹQTýaÜ[É`hRš"€Œ.ÙYúðÅe-d¦,Ù Ë÷BÓ¡¬âJAÂçqA´v`0@i,ÂUAì½<¶ñ@¿™Ø\b‰â'×^ÊcDÆQÖP†«pò6"˜Áù †ù›zkÖ|¸U)<ŠKô)\ *ÅŠõaI ÀO¿6S³Ø¹ê~EÌJšEêM˜ÃNþU»e-RrÊÁïJÓŠ…(!'€AÐT6 ¬{ZÚŽun7®”è„þ*ªÙ£æÄ›{ÉæC.H`ÐR¸%­Ì¯èŠ@œ0ƒ<1RÀ€ ä¶DMM-NCS| '·4áY?`ÂØ„ðUˆ&Ü[‘ìW4¸ÀBèŠf ƒ#\àjà€âÖ½ïõîY`€Ø‡(@¸½¡h°MØ\0„ïOwK$]œb!‹Ö•`!Ã,† °¡ nxCà ¼qP€_íz'‰Ìn#ãXHG ‰7´€B,j±† Ø!Vàc Ô9ÌlÈbtðAAn Tdî FFüÆjì© ÷¸HF&îm :¸.fÄ |ÈBìðÁ”wþÀCÌt€@ ,\Ц€|u°š½¹Ÿø@׃’±xDœ#o¨°† HF»èD x ìá4àCü€<üpá¢Æ»¬1!Œp] ‹4©ªmljôC別ˆÆ‚ hÀÒP2ôÂ6¸À/:º…#Ðà€DIñ 3¹èÓ4Ÿ§p;Žý€GºØ"Õòƒ–q>è¤ÅL ¤áÀ†\…A‚ #(yÌ B ˆ©â!„‚‹.PƒB”¯§>0\ ƒ&™ön`CøÁ¦bv™`òƒ½ó->`Èà k0ˆA aÜ@ Å@H‘†#ð!ª~Åþ"øY>¨ ôÓRWÛ‚&ÍQ>ÞT™ÝzGÂéJWXÁ†(c´¤%-%JP âÐäxjb[R? áE|@¬$@:·‹\c÷ô‡± @A—åÕÃVpOXÄ€n~I{Œ°i€"NÐ Œ”»xðÃ"PúÇ#`€ X«oü6Á(ÁnKÀ ®¤I¹êVG¸ÁÝç7н@2ˆðA¤REp ñÇI! .X£‰˜ ·`+c,øAC‡Æ?qQàr¯”O~€‹ÖÀ% ÆØotõ«ŒDªAyiÄBÚ‡Ë ^æN ½úŒ@’®ëØþˆ$®$à°¿ÔÁ"ó¥,C¿¤….t™ŸR$$Š Š`¿ dƒÔÀ‡4”á€(Š‚tš&ÖvÒæë Œ°„ Ôµk‰ñ]f¬vÄ^Ć©>¢Ðx ÃS£ùâ#À¡Uõ Í<Ô1±Þ`"7{“N#È SÎ5±‰ñ쌷\pˆÞA•Ð ‡{ÝH$Ћ$ÐKGZáPPÖ I$Ó‡qàyÝå¬8hùáw±um– ÜàW‚Ї~èÐCà ÇP‹K° ·§ƒËVZo!A @ŽæHW¦l˜{À!q` [s –Àâr|ðÜE¸ŒÝµ ‹F·”à øÑ‹K@o2¨}ѵrˆpqö #—<Ƹ÷´ t@~EAM)^ˆÁo`un "ems þ H†œ`а Ýpޤ¥ y|–ŽpÊðqÊЀ~¦0°ø’Û[ßà’€$x_—Hˆ~4à¤7Uƒ` 6Ðr¥ “¨ƒÁ  Ù`6P”r—_#W àtúÕ < ‘3@2›€É7UtPcA”}‚x° !¥„0Uß6Œ¸``†`à §gáW `Ž¥æÇdŒO@2Ü@}YR‘Pc€t&¢ˆj 16„°`|pxð ‹`Oƒž¹ ½È)• l9já 2$ mIZað°0°o± ß@|~… ¬Øš•öG~þ· „p àP×ø ƒ@A€‘æÈ $0oë°“£¶{ê Ëà™ÑUœpñlJ/À nÀ†  X•.²Lmà~ð€à߇¸QrÙ`Yðä™ ÂrÄ  ìUQ™qŽ.Òƒ‘ú)ÎøŸ±õ8˜ÙiJâ@Rt âÙ‹A€™¶G Ý`6P¡%Îð; ]Ê€‚áR ¹ˆbô lÏRÜ  j0ÕmÀ—o€ùväð~â飊@jÊ`‡H¦`à †€ %F‘ùAÈ _hbU†wÉФå› ¥{Xm„ kjt¦Ôr’Pþtʦ ÚAY`žÄ l†b)Z!7¦pqeŒq¬ã"›° µY|‚ ¥ýÈù4Un``pˆ`p¨j™Ž6à fðÌ` ÌÀ ÂU–•ÊC¡`r ¡'ä/ùyH [èW5 O w̉·óh*¤Ê°<„$°ù¨oq‹À«Qð"}PUTJ¬(•F÷”S% `¡ŽZŸdZ¦%œ0޵.Apg2 ÃÍ®OðG›–`›.§ ¢Zl°m÷Ø®K€6¯¤e¿Ù!7° °Î`‘ú£»ð“GWÎÖ¤N:Щ–pþ®.7Á^üX‹v{ZRnpl¦&f²ˆAËp Yà Šͺ­(†ô€²dò",+Å÷ á¢åš®®Ù•Œù®fÙ_Ú!ÎÀ cˆ+äÉ›¹Ø“`ЭõÀI°œŠ° [m3$Š+~@séz]êW‘ðÞ—£¶™BëP™!KàžÉ ¿yÚ€²€&Xäð‹·°VJ ^PkmöW[ìZi ÚZbG‰+4`>š2ð\ô©lëà!GP (+`µEp[hXWR·¥7+[€ÀŠ"y›’f™o 2 !‹¡…g] ¡€²Q þDÛ`Ÿ–|€µ G^Éf7à}Ê ¢ˆ1™Ë›¾ÃÙ–£u¾>š” !•0h}ðj`¹¹km»ËšÉZ|tp­% ¸ù•o¢žŸœ‚&¾Ð…ÑU¤„j a½æu›[m~ /˾Õö ,§ (V$P¦©{`wºº% Á Q 7``ç€ k°»¥qšÌC6pgxv“•¦7Ù‹©[f0²Ê¶ f2%`)Á‚ŇŸ7òb`Å÷Wt A$0Ÿ£f¤â¢·c¦ YYà“&æ `H7p‰ !`&PܲŸçä w…æ êÉŽÂùþØP­ ù›#\)Ç`Æ¤å ¨¢ °vƒÆç ÇêçWTL·3[ûkU˜Pþ lbzˆ•Ðˋ؈÷êT7œ £M…Ð’o å!¾ ÁΜM¡Ç° DMÝrI 7¸¥îà× £ Âç¹Z^h‚%ì “‰× êÀ;º\Xæ;°î°L3íãÙ¬ -ÒËë¡^m¾ k6)ÅÆ!F@ ï GçéíãEè4ÞÇt — 1999-08-20 The ASCII compatible UTF-8 encoding of ISO 10646 and Unicode plain-text files is defined in RFC 2279 and in ISO 10646-1 Annex R. Using Unicode/UTF-8, you can write in emails and source code things such as Mathematics and Sciences: ∮ Eâ‹…da = Q, n → ∞, ∑ f(i) = ∠g(i), ∀x∈â„: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), â„• ⊆ â„•â‚€ ⊂ ℤ ⊂ ℚ ⊂ ℠⊂ â„‚, ⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (A ⇔ B), 2Hâ‚‚ + Oâ‚‚ ⇌ 2Hâ‚‚O, R = 4.7 kΩ, ⌀ 200 mm Linguistics and dictionaries: ði ıntəˈnæʃənÉ™l fəˈnÉ›tık É™soÊŠsiˈeıʃn Y [ˈÊpsilÉ”n], Yen [jÉ›n], Yoga [ˈjoËgÉ‘] APL: ((Vâ³V)=â³â´V)/Vâ†,V ⌷â†â³â†’â´âˆ†âˆ‡âŠƒâ€¾âŽâ•⌈ Nicer typography in plain text files: â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•— â•‘ â•‘ â•‘ • ‘single’ and “double†quotes â•‘ â•‘ â•‘ â•‘ • Curly apostrophes: “We’ve been here†║ â•‘ â•‘ â•‘ • Latin-1 apostrophe and accents: '´` â•‘ â•‘ â•‘ â•‘ • ‚deutsche‘ „Anführungszeichen“ â•‘ â•‘ â•‘ â•‘ • †, ‡, ‰, •, 3–4, —, −5/+5, â„¢, … â•‘ â•‘ â•‘ â•‘ • ASCII safety test: 1lI|, 0OD, 8B â•‘ â•‘ ╭─────────╮ â•‘ â•‘ • the euro symbol: │ 14.95 € │ â•‘ â•‘ ╰─────────╯ â•‘ ╚â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• Combining characters: STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑ Greek (in Polytonic): The Greek anthem: Σὲ γνωÏίζω ἀπὸ τὴν κόψη τοῦ σπαθιοῦ τὴν Ï„ÏομεÏá½µ, σὲ γνωÏίζω ἀπὸ τὴν ὄψη ποὺ μὲ βία μετÏάει τὴ γῆ. ᾿Απ᾿ τὰ κόκκαλα βγαλμένη τῶν ῾Ελλήνων τὰ ἱεÏá½± καὶ σὰν Ï€Ïῶτα ἀνδÏειωμένη χαῖÏε, ὦ χαῖÏε, ᾿ΕλευθεÏιά! From a speech of Demosthenes in the 4th century BC: Οá½Ï‡á½¶ ταá½Ï„á½° παÏίσταταί μοι γιγνώσκειν, ὦ ἄνδÏες ᾿Αθηναῖοι, ὅταν τ᾿ εἰς τὰ Ï€Ïάγματα ἀποβλέψω καὶ ὅταν Ï€Ïὸς τοὺς λόγους οὓς ἀκούω· τοὺς μὲν Î³á½°Ï Î»á½¹Î³Î¿Ï…Ï‚ πεÏá½¶ τοῦ τιμωÏήσασθαι Φίλιππον á½Ïá¿¶ γιγνομένους, τὰ δὲ Ï€Ïάγματ᾿ εἰς τοῦτο Ï€Ïοήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αá½Ï„οὶ Ï€ÏότεÏον κακῶς σκέψασθαι δέον. οá½Î´á½³Î½ οὖν ἄλλο μοι δοκοῦσιν οἱ τὰ τοιαῦτα λέγοντες á¼¢ τὴν ὑπόθεσιν, πεÏá½¶ á¼§Ï‚ βουλεύεσθαι, οá½Ï‡á½¶ τὴν οὖσαν παÏιστάντες ὑμῖν á¼Î¼Î±Ïτάνειν. á¼Î³á½¼ δέ, ὅτι μέν ποτ᾿ á¼Î¾á¿†Î½ τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον τιμωÏήσασθαι, καὶ μάλ᾿ ἀκÏιβῶς οἶδα· á¼Ï€á¾¿ á¼Î¼Î¿á¿¦ γάÏ, οὠπάλαι γέγονεν ταῦτ᾿ ἀμφότεÏα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν Ï€Ïολαβεῖν ἡμῖν εἶναι τὴν Ï€Ïώτην, ὅπως τοὺς συμμάχους σώσομεν. á¼á½°Î½ Î³á½°Ï Ï„Î¿á¿¦Ï„Î¿ βεβαίως ὑπάÏξῃ, τότε καὶ πεÏá½¶ τοῦ τίνα τιμωÏήσεταί τις καὶ ὃν Ï„Ïόπον á¼Î¾á½³ÏƒÏ„αι σκοπεῖν· Ï€Ïὶν δὲ τὴν á¼€Ïχὴν á½€Ïθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι πεÏá½¶ τῆς τελευτῆς á½Î½Ï„ινοῦν ποιεῖσθαι λόγον. Δημοσθένους, Γ´ ᾿Ολυνθιακὸς Georgian: From a Unicode conference invitation: გთხáƒáƒ•თ áƒáƒ®áƒšáƒáƒ•ე გáƒáƒ˜áƒáƒ áƒáƒ— რეგისტრáƒáƒªáƒ˜áƒ Unicode-ის მეáƒáƒ—ე სáƒáƒ”რთáƒáƒ¨áƒáƒ áƒ˜áƒ¡áƒ კáƒáƒœáƒ¤áƒ”რენციáƒáƒ–ე დáƒáƒ¡áƒáƒ¡áƒ¬áƒ áƒ”ბáƒáƒ“, რáƒáƒ›áƒ”ლიც გáƒáƒ˜áƒ›áƒáƒ áƒ—ებრ10-12 მáƒáƒ áƒ¢áƒ¡, ქ. მáƒáƒ˜áƒœáƒªáƒ¨áƒ˜, გერმáƒáƒœáƒ˜áƒáƒ¨áƒ˜. კáƒáƒœáƒ¤áƒ”რენცირშეჰკრებს ერთáƒáƒ“ მსáƒáƒ¤áƒšáƒ˜áƒáƒ¡ ექსპერტებს ისეთ დáƒáƒ áƒ’ებში რáƒáƒ’áƒáƒ áƒ˜áƒªáƒáƒ ინტერნეტი დრUnicode-ი, ინტერნáƒáƒªáƒ˜áƒáƒœáƒáƒšáƒ˜áƒ–áƒáƒªáƒ˜áƒ დრლáƒáƒ™áƒáƒšáƒ˜áƒ–áƒáƒªáƒ˜áƒ, Unicode-ის გáƒáƒ›áƒáƒ§áƒ”ნებრáƒáƒžáƒ”რáƒáƒªáƒ˜áƒ£áƒš სისტემებსáƒ, დრგáƒáƒ›áƒáƒ§áƒ”ნებით პრáƒáƒ’რáƒáƒ›áƒ”ბში, შრიფტებში, ტექსტების დáƒáƒ›áƒ£áƒ¨áƒáƒ•ებáƒáƒ¡áƒ დრმრáƒáƒ•áƒáƒšáƒ”ნáƒáƒ•áƒáƒœ კáƒáƒ›áƒžáƒ˜áƒ£áƒ¢áƒ”რულ სისტემებში. Russian: From a Unicode conference invitation: ЗарегиÑтрируйтеÑÑŒ ÑÐµÐ¹Ñ‡Ð°Ñ Ð½Ð° ДеÑÑтую Международную Конференцию по Unicode, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑоÑтоитÑÑ 10-12 марта 1997 года в Майнце в Германии. ÐšÐ¾Ð½Ñ„ÐµÑ€ÐµÐ½Ñ†Ð¸Ñ Ñоберет широкий круг ÑкÑпертов по вопроÑам глобального Интернета и Unicode, локализации и интернационализации, воплощению и применению Unicode в различных операционных ÑиÑтемах и программных приложениÑÑ…, шрифтах, верÑтке и многоÑзычных компьютерных ÑиÑтемах. Thai (UCS Level 2): Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese classic 'San Gua'): [----------------------------|------------------------] ๠à¹à¸œà¹ˆà¸™à¸”ินฮั่นเสื่อมโทรมà¹à¸ªà¸™à¸ªà¸±à¸‡à¹€à¸§à¸Š พระปà¸à¹€à¸à¸¨à¸à¸­à¸‡à¸šà¸¹à¹Šà¸à¸¹à¹‰à¸‚ึ้นใหม่ สิบสองà¸à¸©à¸±à¸•ริย์à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¹à¸¥à¸–ัดไป สององค์ไซร้โง่เขลาเบาปัà¸à¸à¸² ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนัà¸à¸«à¸™à¸² โฮจิ๋นเรียà¸à¸—ัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัภเหมือนขับไสไล่เสือจาà¸à¹€à¸„หา รับหมาป่าเข้ามาเลยอาสัภà¸à¹ˆà¸²à¸¢à¸­à¹‰à¸­à¸‡à¸­à¸¸à¹‰à¸™à¸¢à¸¸à¹à¸¢à¸à¹ƒà¸«à¹‰à¹à¸•à¸à¸à¸±à¸™ ใช้สาวนั้นเป็นชนวนชื่นชวนใจ พลันลิฉุยà¸à¸¸à¸¢à¸à¸µà¸à¸¥à¸±à¸šà¸à¹ˆà¸­à¹€à¸«à¸•ุ ช่างอาเพศจริงหนาฟ้าร้องไห้ ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูà¸à¸¹à¹‰à¸šà¸£à¸£à¸¥à¸±à¸‡à¸à¹Œ ฯ (The above is a two-column text. If combining characters are handled correctly, the lines of the second column should be aligned with the | character above.) Ethiopian: Proverbs in the Amharic language: ሰማይ አይታረስ ንጉሥ አይከሰስᢠብላ ካለአእንደአባቴ በቆመጠáŠá¢ ጌጥ ያለቤቱ á‰áˆáŒ¥áŠ“ áŠá‹á¢ ደሀ በሕáˆáˆ™ ቅቤ ባይጠጣ ንጣት በገደለá‹á¢ የአá ወለáˆá‰³ በቅቤ አይታሽáˆá¢ አይጥ በበላ ዳዋ ተመታᢠሲተረጉሙ ይደረáŒáˆ™á¢ ቀስ በቀስᥠዕንá‰áˆ‹áˆ በእáŒáˆ© ይሄዳáˆá¢ ድር ቢያብር አንበሳ ያስርᢠሰዠእንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርáˆá¢ እáŒá‹œáˆ­ የከáˆá‰°á‹áŠ• ጉሮሮ ሳይዘጋዠአይድርáˆá¢ የጎረቤት ሌባᥠቢያዩት ይስቅ ባያዩት ያጠáˆá‰…ᢠሥራ ከመáታት áˆáŒ„ን ላá‹á‰³á‰µá¢ ዓባይ ማደሪያ የለá‹á¥ áŒáŠ•á‹µ ይዞ ይዞራáˆá¢ የእስላሠአገሩ መካ የአሞራ አገሩ ዋርካᢠተንጋሎ ቢተበተመáˆáˆ¶ ባá‰á¢ ወዳጅህ ማር ቢሆን ጨርስህ አትላሰá‹á¢ እáŒáˆ­áˆ…ን በáራሽህ áˆáŠ­ ዘርጋᢠRunes: ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛠᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ áš¹á›áš¦ ᚦᚪ ᚹᛖᛥᚫ (Old English, which transcribed into Latin reads 'He cwaeth that he bude thaem lande northweardum with tha Westsae.' and means 'He said that he lived in the northern land near the Western Sea.') Braille: ⡌â â §â ‘ â ¼â â ’ â¡â œâ ‡â ‘⠹⠰⠎ ⡣⠕⠌ â¡â œâ ‡â ‘â ¹ â ºâ â Ž ⠙⠑â â ™â ’ â žâ • ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ â Šâ Ž â â • ⠙⠳⠃⠞ â ±â â žâ ‘â §â » â â ƒâ ³â ž â ¹â â žâ ² ⡹⠑ ⠗⠑⠛⠊⠌⠻ â •â ‹ ⠙⠊⠎ ⠃⠥⠗⠊â â ‡ â ºâ â Ž â Žâ Šâ ›â â « ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹â â â â ‚ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ â ¥â â ™â »â žâ â …⠻⠂ â â â ™ ⠹⠑ â ¡â Šâ ‘â ‹ â â ³â —â â »â ² ⡎⠊⠗⠕⠕⠛⠑ â Žâ Šâ ›â â « â Šâ žâ ² â¡â â ™ ⡎⠊⠗⠕⠕⠛⠑⠰⠎ â â â â ‘ â ºâ â Ž ⠛⠕⠕⠙ â ¥â â •â  â °â¡¡â â â ›â ‘â ‚ â ‹â •â — â â â ¹â ¹â ”â › ⠙⠑ â ¡â •â Žâ ‘ â žâ • â â ¥â ž ⠙⠊⠎ â ™â â â ™ â žâ •â ² ⡕⠇⠙ â¡â œâ ‡â ‘â ¹ â ºâ â Ž â â Ž ⠙⠑â â ™ â â Ž â  â ™â •â •â —â ¤â â â Šâ ‡â ² â¡â ”⠙⠖ ⡊ ⠙⠕â â °â ž â â ‘â â  â žâ • â Žâ â ¹ â ¹â â ž ⡊ â …â â ªâ ‚ â •â ‹ â â ¹ â ªâ  â …â â ªâ ‡â «â ›â ‘â ‚ â ±â â ž ⠹⠻⠑ â Šâ Ž â â œâ žâ Šâ Šâ ¥â ‡â œâ ‡â ¹ ⠙⠑â â ™ â â ƒâ ³â ž â  â ™â •â •â —â ¤â â â Šâ ‡â ² ⡊ â â Šâ £â ž â ™â â §â ‘ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ â â ¹â Žâ ‘⠇⠋⠂ â žâ • ⠗⠑⠛⠜⠙ â  â Šâ •â ‹â ‹â ”â ¤â â â Šâ ‡ â â Ž ⠹⠑ ⠙⠑â â ™â ‘â Œ â â Šâ ‘â Šâ ‘ â •â ‹ â Šâ —â •â â â •â â ›â »â ¹ â ” ⠹⠑ â žâ —â â ™â ‘â ² ⡃⠥⠞ ⠹⠑ â ºâ Šâ Žâ ™â •â  â •â ‹ ⠳⠗ â â â Šâ ‘⠌⠕⠗⠎ â Šâ Ž â ” ⠹⠑ â Žâ Šâ â Šâ ‡â ‘â † â â â ™ â â ¹ â ¥â â ™â â ‡â ‡â ªâ « â ™â â â ™â Ž â ©â â ‡â ‡ â â •â ž ⠙⠊⠌⠥⠗⠃ â Šâ žâ ‚ â •â — ⠹⠑ ⡊⠳â â žâ —⠹⠰⠎ ⠙⠕â â ‘ â ‹â •â —â ² ⡹⠳ ⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ â â »â â Šâ ž â â ‘ â žâ • â —â ‘â â ‘â â žâ ‚ â ‘â â â ™â â žâ Šâ Šâ â ‡â ‡â ¹â ‚ â ¹â â ž â¡â œâ ‡â ‘â ¹ â ºâ â Ž â â Ž ⠙⠑â â ™ â â Ž â  â ™â •â •â —â ¤â â â Šâ ‡â ² (The first couple of paragraphs of "A Christmas Carol" by Dickens) Compact font selection example text: ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789 abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ –—‘“â€â€žâ€ â€¢â€¦â€°â„¢Å“ŠŸž€ ΑΒΓΔΩαβγδω ÐБВГДабвгд ∀∂∈â„∧∪≡∞ ↑↗↨↻⇣ â”┼╔╘░►☺♀ ï¬ï¿½â‘€â‚‚ἠḂӥẄÉËâŽ×ԱრGreetings in various languages: Hello world, ΚαλημέÏα κόσμε, コンニãƒãƒ Box drawing alignment tests: â–ˆ â–‰ â•”â•â•╦â•â•â•— ┌──┬──┠╭──┬──╮ ╭──┬──╮ â”â”â”┳â”â”┓ ┎┒â”┑ â•· â•» â”┯┓ ┌┰┠▊ ╱╲╱╲╳╳╳ ║┌─╨─â”â•‘ │╔â•â•§â•╗│ │╒â•╪â•╕│ │╓─â•─╖│ ┃┌─╂─â”┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ â”╋┥ â–‹ ╲╱╲╱╳╳╳ ║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ â•¿ │┃ â”╅╆┓ ╵ ╹ â”—â”·â”› └┸┘ â–Œ ╱╲╱╲╳╳╳ â• â•¡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┠╎ â”┅┅┓ ┋ ■╲╱╲╱╳╳╳ ║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╠┇ ┋ â–Ž ║└─╥─┘║ │╚â•╤â•â•│ │╘â•╪â•╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╠┇ ┋ ■╚â•â•â•©â•â•╠└──┴──┘ ╰──┴──╯ ╰──┴──╯ â”—â”â”â”»â”â”â”› └╌╌┘ ╎ â”—â•â•â”› ┋ â–▂▃▄▅▆▇█ lablgtk-3.1.2/examples/text/test_text.ml0000644000650106067230000001220514161276610017157 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) open StdLabels;; (* GtkMain.Main.init ();; *) class input_buffer n = object val mutable s = String.create n val mutable pos = 0 method clear = pos <- 0 method input f = if String.length s < pos + n then begin let s' = String.create (String.length s * 2) in String.blit ~src:s ~dst:s' ~src_pos:0 ~dst_pos:0 ~len:pos; s <- s' end; let len = f s pos (String.length s - pos) in pos <- pos + len; len method get = String.sub s ~pos:0 ~len:pos end let f_to_string n = let ic = open_in_bin n in let ib = new input_buffer 1024 in begin try while ib#input (input ic) > 0 do () done; with _ -> () end; close_in ic; ib#get let t_1 () = let w = GWindow.window ~title:"1)view" () in let t = GText.view ~packing:(w#add) () in w#show ();; let t_2 () = let w = GWindow.window ~width:640 ~height:480 ~title:"2)view_with_buffer" () in let sw = GBin.scrolled_window ~packing:(w#add) () in let b = GText.buffer () in let s = f_to_string "test.txt" in b#set_text s; GText.view ~buffer:b ~packing:(sw#add) (); w#connect#destroy GMain.quit; w#show ();; let t_3 () = let w = GWindow.window ~title:"3)view_with_buffer" () in let b = GText.buffer () in b#set_text "Bout de mon texte"; GText.view ~buffer:b ~packing:(w#add) (); w#show ();; let t_4 () = let w = GWindow.window ~title:"4)set_buffer" () in let b = GText.buffer () in b#set_text "Un buffer a priori"; let tv = GText.view ~packing:(w#add) () in tv#set_buffer b; w#show ();; let t_5 () = let w = GWindow.window ~title:"5)get_buffer" () in let tv = GText.view ~packing:(w#add) () in tv#buffer#set_text "Un nouveau texte"; w#show ();; let t_6 () = let w = GWindow.window ~title:"6)tagtable" () in let tt = GText.tag_table () in let tb = GText.buffer ~tag_table:tt ~text:"un certain exemple...." () in let tv = GText.view ~buffer:tb ~packing:(w#add) () in Printf.printf "Size = %d \n" tt#size; flush stdout; w#show ();; let t_7 () = let w = GWindow.window ~title:"7)tag" () in let tt = GText.tag ~name:"mon tag one" () in Printf.printf "Priority = %d \n" tt#priority; (* Not able to set it because not in a tagtable: this is normal tt#set_priority 10; Printf.printf "Priority = %d \n" (tt#get_priority ()); *) flush stdout; w#show ();; let t_8 () = let w = GWindow.window ~title:"8)tags" () in let t = GText.view ~packing:(w#add) () in let tb = t#buffer in let _ = tb#connect#apply_tag ~callback:(fun tag ~start ~stop -> Printf.printf "Apply_tag has :\"%s\"\n" (tb#get_text ~start ~stop ()); flush stdout ) in let _ = tb#connect#delete_range ~callback:(fun ~start ~stop -> Printf.printf "delete_range_tag has :\"%s\"\n" (tb#get_text ~start ~stop ()); flush stdout ) in let _ = tb#connect#insert_child_anchor ~callback: (fun ti tca -> Printf.printf "insert_child_anchor is there :\"%c\"\n" (Char.chr ti#char); flush stdout) in let _ = tb#connect#insert_text ~callback: (fun ti s -> Printf.printf "insert_text is there :'%c' \"%s\"\n" (Char.chr ti#char) s; flush stdout) in tb#set_text "Un nouveau texte"; let tt = tb#create_tag [`BACKGROUND "red"; `FOREGROUND "blue"; `EDITABLE false] in Printf.printf "Je vois :\"%s\"\n" (tb#get_text ()); flush stdout; w#show ();; let t_9 () = let w = GWindow.window ~title:"8)tags" () in let t = GText.view ~packing:(w#add) () in let tb = t#buffer in tb#set_text "Un nouveau texte"; let start = tb#start_iter in tb#insert ~iter:start "1en plus1"; tb#insert ~iter:start "2en plus2" ; tb#insert ~iter:tb#end_iter "3en plus3"; Printf.printf "Je vois :\"%s\"\n" (tb#get_text ()); flush stdout; w#show ();; let t_10 () = let w = GWindow.window ~title:"10)Buffer signals" () in let t = GText.view ~packing:(w#add) () in let tb = t#buffer in tb#set_text "Un nouveau texte"; let start = tb#start_iter in tb#insert ~iter:start "1en plus1"; tb#insert ~iter:start "2en plus2"; tb#insert ~iter:tb#end_iter "3en plus3"; tb#connect#begin_user_action ~callback: begin fun () -> Printf.printf "Dans cette action je vois :\"%s\"\n" (tb#get_text ()); flush stdout end; tb#begin_user_action (); tb#end_user_action (); tb#begin_user_action (); tb#end_user_action (); tb#begin_user_action (); tb#end_user_action (); tb#begin_user_action (); tb#end_user_action (); w#show ();; (* t_1();t_2 ();t_3();t_4();t_5();t_6();t_7();t_8;t_9;t_10 ();; *) t_2 () ;; GMain.Main.main ();; lablgtk-3.1.2/examples/text/text-demo.ml0000644000650106067230000003152314161276610017046 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let create_tags (buffer:GText.buffer) = buffer#create_tag ~name:"heading" [`WEIGHT `BOLD; `SIZE (15*Pango.scale)]; buffer#create_tag ~name:"italic" [`STYLE `ITALIC]; buffer#create_tag ~name:"bold" [`WEIGHT `BOLD]; buffer#create_tag ~name:"big" [`SIZE 20]; buffer#create_tag ~name:"xx-small" [`SCALE `XX_SMALL]; buffer#create_tag ~name:"x-large" [`SCALE `X_LARGE]; buffer#create_tag ~name:"monospace" [`FAMILY "monospace"]; buffer#create_tag ~name:"blue_foreground" [`FOREGROUND "blue"]; buffer#create_tag ~name:"red_background" [`BACKGROUND "red"]; let stipple = Gdk.Bitmap.create_from_data 2 2 "\002\001" in buffer#create_tag ~name:"background_stipple" [`BACKGROUND_STIPPLE stipple]; buffer#create_tag ~name:"foreground_stipple" [`FOREGROUND_STIPPLE stipple]; buffer#create_tag ~name:"big_gap_before_line" [`PIXELS_ABOVE_LINES 30]; buffer#create_tag ~name:"big_gap_after_line" [`PIXELS_BELOW_LINES 30]; buffer#create_tag ~name:"double_spaced_line" [`PIXELS_INSIDE_WRAP 10]; buffer#create_tag ~name:"not_editable" [`EDITABLE false]; buffer#create_tag ~name:"word_wrap" [`WRAP_MODE `WORD]; buffer#create_tag ~name:"char_wrap" [`WRAP_MODE `CHAR]; buffer#create_tag ~name:"no_wrap" [`WRAP_MODE `NONE]; buffer#create_tag ~name:"center" [`JUSTIFICATION `CENTER]; buffer#create_tag ~name:"right_justify" [`JUSTIFICATION `RIGHT]; buffer#create_tag ~name:"wide_margins" [`LEFT_MARGIN 50; `RIGHT_MARGIN 50]; buffer#create_tag ~name:"strikethrough" [`STRIKETHROUGH true]; buffer#create_tag ~name:"underline" [`UNDERLINE `SINGLE]; buffer#create_tag ~name:"double_underline" [`UNDERLINE `DOUBLE]; buffer#create_tag ~name:"superscript" [`RISE (10*Pango.scale); `SIZE (8*Pango.scale)]; buffer#create_tag ~name:"subscript" [`RISE (-10*Pango.scale); `SIZE (8*Pango.scale)]; buffer#create_tag ~name:"rtl_quote" [`WRAP_MODE `WORD; `DIRECTION `RTL; `INDENT 30; `LEFT_MARGIN 20; `RIGHT_MARGIN 20]; () let insert_text (buffer:GText.buffer) = let pixbuf = GdkPixbuf.from_file "gtk-logo-rgb.gif" in let scaled = GdkPixbuf.create ~has_alpha:true ~width:32 ~height:32 () in GdkPixbuf.scale ~dest:scaled ~width:32 ~height:32 ~interp:`BILINEAR pixbuf; let pixbuf = scaled in let iter = buffer#get_iter_at_char 0 in buffer#insert ~iter "The text widget can display text with all kinds of nifty attributes. It also supports multiple views of the same buffer; this demo is showing the same buffer in two places.\n\n"; buffer#insert ~iter ~tag_names:["heading"] "Font styles. "; buffer#insert ~iter "For example, you can have "; buffer#insert ~iter ~tag_names:["italic"] "italic"; buffer#insert ~iter ", "; buffer#insert ~iter ~tag_names:["bold"] "bold"; buffer#insert ~iter ", or "; buffer#insert ~iter ~tag_names:["monospace"] "monospace(typewriter)"; buffer#insert ~iter ", or "; buffer#insert ~iter ~tag_names:["big"] "big"; buffer#insert ~iter " text. "; buffer#insert ~iter "It's best not to hardcode specific text sizes; you can use relative sizes as with CSS, such as "; buffer#insert ~iter ~tag_names:["xx-small"] "xx-small"; buffer#insert ~iter ", or "; buffer#insert ~iter ~tag_names:["x-large"] "x-large"; buffer#insert ~iter " to ensure that your program properly adapts if the user changes the default font size.\n\n"; buffer#insert ~iter ~tag_names:["heading"] "Colors. "; buffer#insert ~iter "Colors such as "; buffer#insert ~iter ~tag_names:["blue_foreground"] "a blue foreground"; buffer#insert ~iter ", or "; buffer#insert ~iter ~tag_names:["red_background"] "a red background"; buffer#insert ~iter ", or even "; buffer#insert ~iter ~tag_names:["red_background";"background_stipple"] "a stippled red background"; buffer#insert ~iter " or "; buffer#insert ~iter ~tag_names:["blue_foreground"; "red_background"; "foreground_stipple"] "a stippled blue foreground on solid red background"; buffer#insert ~iter " (select that to read it) can be used.\n\n"; buffer#insert ~iter ~tag_names:["heading"] "Underline, strikethrough, and rise. "; buffer#insert ~iter ~tag_names:["strikethrough"] "Strikethrough"; buffer#insert ~iter ", "; buffer#insert ~iter ~tag_names:["underline"] "underline"; buffer#insert ~iter ", "; buffer#insert ~iter ~tag_names:["double_underline"] "double underline"; buffer#insert ~iter ", "; buffer#insert ~iter ~tag_names:["superscript"] "superscript"; buffer#insert ~iter ", "; buffer#insert ~iter ~tag_names:["subscript"] "subscript"; buffer#insert ~iter " are all supported.\n\n"; buffer#insert ~iter ~tag_names:["heading"] "Images"; buffer#insert ~iter "The buffer can have images in it: "; buffer#insert_pixbuf ~iter ~pixbuf; buffer#insert_pixbuf ~iter ~pixbuf; buffer#insert_pixbuf ~iter ~pixbuf; buffer#insert ~iter " for example.\n\n"; buffer#insert ~iter ~tag_names:["heading"] "Spacing"; buffer#insert ~iter "You can adjust the amount of space before each line.\n"; buffer#insert ~iter ~tag_names:["big_gap_before_line";"wide_margins"] "This line has a whole lot of space before it.\n"; buffer#insert ~iter ~tag_names:["big_gap_after_line";"wide_margins"] "You can also adjust the amount of space after each line; this line has a whole lot of space after it.\n"; buffer#insert ~iter ~tag_names:["double_spaced_line";"wide_margins"] "You can also adjust the amount of space between wrapped lines; this line has extra space between each wrapped line in the same paragraph. To show off wrapping, some filler text: the quick brown fox jumped over the lazy dog. Blah blah blah blah blah blah blah blah blah.\n"; buffer#insert ~iter "Also note that those lines have extra-wide margins.\n\n"; buffer#insert ~iter ~tag_names:["heading"] "Editability"; buffer#insert ~iter ~tag_names:["not_editable"] "This line is 'locked down' and can't be edited by the user - just try it! You can't delete this line.\n\n"; buffer#insert ~iter ~tag_names:["heading"] "Wrapping"; buffer#insert ~iter ~tag_names:["char_wrap"] "This line has character-based wrapping, and can wrap between any two character glyphs. Let's make this a long paragraph to demonstrate: blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah\n\n" ; buffer#insert ~iter ~tag_names:["no_wrap"] "This line has all wrapping turned off, so it makes the horizontal scrollbar appear.\n\n\n"; buffer#insert ~iter ~tag_names:["heading"] "Justification"; buffer#insert ~iter ~tag_names:["center"] "\nThis line has center justification.\n"; buffer#insert ~iter ~tag_names:["right_justify"] "\nThis line has right justification.\n"; buffer#insert ~iter ~tag_names:["wide_margins"] "\nThis line has big wide margins. Text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text.\n"; buffer#insert ~iter ~tag_names:["heading"] "Internationalization"; buffer#insert ~iter "You can put all sorts of Unicode text in the buffer.\n\nGerman (Deutsch Süd) Grüß Gott\nGreek (Ελληνικά) Γειά σας\nHebrew שלו×\nJapanese (日本語)\n\nThe widget properly handles bidirectional text, word wrapping, DOS/UNIX/Unicode paragraph separators, grapheme boundaries, and so on using the Pango internationalization framework.\n"; buffer#insert ~iter "Here's a word-wrapped quote in a right-to-left language:\n"; buffer#insert ~iter ~tag_names:["rtl_quote"] "وقد بدأ ثلاث من أكثر المؤسسات تقدما ÙÙŠ شبكة اكسيون برامجها كمنظمات لا تسعى للربح، ثم تحولت ÙÙŠ السنوات الخمس الماضية إلى مؤسسات مالية منظمة، وباتت جزءا من النظام المالي ÙÙŠ بلدانها، ولكنها تتخصص ÙÙŠ خدمة قطاع المشروعات الصغيرة. وأحد أكثر هذه المؤسسات نجاحا هو »بانكوسول« ÙÙŠ بوليÙيا.\n\n"; buffer#insert ~iter "You can put widgets in the buffer: Here's a button: "; buffer#create_child_anchor iter; buffer#insert ~iter " and a menu : "; buffer#create_child_anchor iter; buffer#insert ~iter " and a scale : "; buffer#create_child_anchor iter; buffer#insert ~iter " and an animation : "; buffer#create_child_anchor iter; buffer#insert ~iter " finally a text entry : "; buffer#create_child_anchor iter; buffer#insert ~iter ".\n"; buffer#insert ~iter "\n\nThis demo doesn't demonstrate all the GtkTextBuffer features; it leaves out, for example: invisible/hidden text (doesn't work in GTK 2, but planned), tab stops, application-drawn areas on the sides of the widget for displaying breakpoints and such..."; let start,stop = buffer#bounds in buffer#apply_tag_by_name "word_wrap" ~start ~stop ; () let rec find_anchor (iter : GText.iter) = if iter#is_end then false else match iter#nocopy#forward_char ; iter#contents with `CHILD _ -> true | _ -> find_anchor iter let rec recursive_attach_view depth (view:GText.view) anchor = if depth <= 4 then begin let child_view = GText.view ~buffer:(view#buffer) () in let event_box = GBin.event_box () in let color = `NAME "black" in event_box#misc#modify_bg [`NORMAL,color]; let align = GBin.alignment () in align#set_border_width 1; event_box#add align#coerce; align#add child_view#coerce; view#add_child_at_anchor event_box#coerce anchor; recursive_attach_view (depth+1) child_view anchor end let easter_egg_callback = let window = ref None in fun () -> match !window with Some w -> w#present () | None -> let buffer = GText.buffer () in let iter = buffer#start_iter in buffer#insert ~iter "This buffer is shared by a set of nested text views.\n Nested view:\n"; let anchor = buffer#create_child_anchor iter in buffer#insert ~iter "\nDon't do this in real applications, please.\n"; let view = GText.view ~buffer () in recursive_attach_view 0 view anchor; let w' = GWindow.window ~kind:`TOPLEVEL () in w'#connect#destroy ~callback:(fun () -> window:=None); window := Some w'; let sw = GBin.scrolled_window () in sw#set_hpolicy `AUTOMATIC; sw#set_vpolicy `AUTOMATIC; w'#add sw#coerce; sw#add view#coerce; w'#set_default_size ~width:300 ~height:400; w'#misc#show_all () let attach_widgets (text_view:GText.view) = let buffer = text_view#buffer in let iter = buffer#start_iter in let i = ref 0 in while find_anchor iter do let anchor = match iter#contents with | `CHILD c -> c | _ -> assert false in let widget = match !i with | 0 -> let b = GButton.button ~label:"Click me!" () in b#connect#clicked ~callback:easter_egg_callback; b#coerce | 1 -> let menu = GMenu.menu () in let widget = GMenu.option_menu () in let menu_item = GMenu.menu_item ~label:"Option 1" () in menu#append menu_item; let menu_item = GMenu.menu_item ~label:"Option 2" () in menu#append menu_item; let menu_item = GMenu.menu_item ~label:"Option 3" () in menu#append menu_item; widget#set_menu menu; widget#coerce | 2 -> let widget = GRange.scale `HORIZONTAL () in widget#adjustment#set_bounds ~lower:0. ~upper:100. (); widget#misc#set_size_request ~height:(-1) ~width:70 (); widget#coerce | 3 -> let image = GMisc.image () in image#set_file "floppybuddy.gif"; image#coerce | 4 -> (GEdit.entry ())#coerce | _ -> assert false in text_view#add_child_at_anchor widget anchor; incr i done let main () = let window = GWindow.window ~width:450 ~height:450 ~title:"TextView" ~border_width:0 () in window#connect#destroy ~callback:(fun _ -> exit 0); let vpaned = GPack.paned `VERTICAL ~border_width:5 ~packing:window#add () in let view1 = GText.view () in let buffer = view1#buffer in let view2 = GText.view ~buffer () in let sw = GBin.scrolled_window ~packing:vpaned#add1 ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC () in sw#add view1#coerce; let sw = GBin.scrolled_window ~packing:vpaned#add2 ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC () in sw#add view2#coerce; create_tags buffer; insert_text buffer; attach_widgets view1; attach_widgets view2; window#show (); () let _ = GtkMain.Main.init (); main () ; GMain.Main.main ();; lablgtk-3.1.2/examples/text/unicode_table.ml0000644000650106067230000000276314161276610017741 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let start = try int_of_string Sys.argv.(1) with _ -> prerr_endline "Usage : unicode_table "; exit 1 ;; let stop = try int_of_string Sys.argv.(2) with _ -> prerr_endline "Usage : unicode_table "; exit 1 ;; GtkMain.Main.init ();; let main () = let w = GWindow.window ~width:640 ~height:480 ~title:"2)view_with_buffer" () in let sw = GBin.scrolled_window ~packing:(w#add) () in let b = GText.buffer () in b#set_text (Printf.sprintf "Unicode characters from %d to %d Click to continue\n" start stop); let font = Pango.Font.from_string "Sans 15" in let tv = GText.view ~buffer:b ~packing:(sw#add) () in let _ = tv#misc#modify_font font in ignore (tv#event#connect#button_release ~callback: (fun _ -> for i=start to stop do let c = Printf.sprintf "%d:%s:\n" i (Glib.Utf8.from_unichar i) in b#insert c done;false)); w#show ();; main () ;; GMain.Main.main ();; lablgtk-3.1.2/examples/text/unicode_viewer.ml0000644000650106067230000000231414161276610020143 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let file_name = try Sys.argv.(1) with _ -> prerr_endline "Usage : unicode_viewer "; exit 1 ;; GtkMain.Main.init ();; let f_to_string n = let ic = open_in_bin n in let s = ref "" in try while true do s:= !s ^ (input_line ic) ^ "\n" done; !s with End_of_file -> close_in ic ; !s let main () = let w = GWindow.window ~width:640 ~height:480 ~title:"Unicode Viewer" () in let sw = GBin.scrolled_window ~packing:(w#add) () in let b = GText.buffer () in let s = f_to_string file_name in b#set_text s; let tv = GText.view ~buffer:b ~packing:(sw#add) () in w#show ();; main () ;; GMain.Main.main ();; lablgtk-3.1.2/examples/timer.ml0000644000650106067230000001333614161276610015276 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open StdLabels let check_cache ~cond ~create ~destroy = function Some pm -> if cond pm then pm else begin destroy pm; create () end | None -> create () class timer ?packing ?show () = let da = GMisc.drawing_area (*~width:200 ~height:200*) ?packing ?show () in let context = da#misc#create_pango_context in object (self) inherit GObj.widget_full da#as_widget val mutable talk = 25 * 60 val mutable buffer = 5 * 60 val mutable questions = 5 * 60 val mutable start = 0. val mutable stop = 0. val mutable timer = None val mutable size = 0, 0 val mutable pixmap = None method set_talk x = talk <- x * 60 method set_buffer x = buffer <- x * 60 method set_questions x = questions <- x * 60 method private to_angle t = let total = float (talk + buffer + questions) in float t /. total *. 360. method draw = let current = if start = 0. then 0 else truncate (Unix.time () -. start) in let {Gtk.x=x0; y=y0; width=width; height=height} = da#misc#allocation in let size = (min width height) * 49 / 50 in let x = (width - size) / 2 and y = (height - size) / 2 in let dr = check_cache pixmap ~cond:(fun pm -> pm#size = (width, height)) ~destroy:(fun pm -> Gdk.Pixmap.destroy pm#pixmap) ~create: (fun () -> context#set_font_by_name ("sans " ^ string_of_int (size*2/13)); GDraw.pixmap ~width ~height ~window:da ()) in pixmap <- Some dr; dr#set_foreground `WHITE; dr#rectangle ~x:0 ~y:0 ~width ~height ~filled:true (); let draw_arc ~color ~start ~stop = dr#set_foreground (`NAME color); dr#arc ~x ~y ~width:size ~height:size ~filled:true ~start:(450. -. self#to_angle stop) ~angle:(self#to_angle (stop - start) +. 1.) () in draw_arc ~color:"blue" ~start:(-60) ~stop:(min current (talk+buffer+questions)); if current < talk then draw_arc ~color:"green" ~start:current ~stop:talk; if current < talk + buffer then draw_arc ~color:"yellow" ~start:(max talk current) ~stop:(talk+buffer); if current < talk + buffer + questions then draw_arc ~color:"red" ~start:(max (talk+buffer) current) ~stop:(talk+buffer+questions); dr#set_foreground `WHITE; let size' = size * 3 / 5 in dr#arc ~x:((width - size') / 2) ~y:((height - size') / 2) ~width:size' ~height:size' ~filled:true (); let layout = context#create_layout in Pango.Layout.set_text layout (Printf.sprintf "%02d:%02d" (current/60) (current mod 60)); let (w,h) = Pango.Layout.get_pixel_size layout in dr#put_layout ~x:((width-w)/2) ~y:((height-h)/2) ~fore:`BLACK layout; (new GDraw.drawable da#misc#window)#put_pixmap ~x:0 ~y:0 dr#pixmap method start = self#stop; if start = 0. then start <- Unix.time () else start <- start +. Unix.time () -. stop; stop <- 0.; timer <- Some(GMain.Timeout.add ~ms:1000 ~callback:(fun () -> self#draw; true)); self#draw method stop = if stop = 0. then stop <- Unix.time (); match timer with None -> () | Some id -> GMain.Timeout.remove id; timer <- None method reset = self#stop; start <- 0.; stop <- 0.; self#draw initializer da#event#connect#expose ~callback:(fun _ -> self#draw; true); () end let () = GMain.init (); let w = GWindow.window () in w#connect#destroy ~callback:GMain.quit; let hbox = GPack.hbox ~packing:w#add () in let fr = GBin.frame ~border_width:3 ~shadow_type:`IN ~packing:hbox#add () in let timer = new timer ~packing:fr#add () in let vbox = GPack.vbox ~border_width:3 ~spacing:4 ~packing:hbox#pack () in let make_spin ~label ~value ~callback = GMisc.label ~text:label ~xalign:0. ~packing:vbox#pack (); let x = GEdit.spin_button ~digits:0 ~packing:vbox#pack () in x#adjustment#set_bounds ~lower:0. ~upper:999. ~step_incr:1. (); x#adjustment#set_value (float value); x#connect#value_changed ~callback: (fun () -> callback x#value_as_int; timer#draw); x in let talk = make_spin ~label:"Talk" ~value:25 ~callback:timer#set_talk and buffer = make_spin ~label:"Buffer" ~value:5 ~callback:timer#set_buffer and questions = make_spin ~label:"Questions" ~value:5 ~callback:timer#set_questions in let total = make_spin ~label:"Total" ~value:35 ~callback: (fun v -> talk#set_value (float (v - buffer#value_as_int - questions#value_as_int))) in let set_total () = total#set_value (talk#value +. buffer#value +. questions#value) in List.iter [talk;buffer;questions] ~f: (fun (x:GEdit.spin_button) -> ignore(x#connect#value_changed ~callback:set_total)); let start = GButton.button ~label:"Start" ~packing:vbox#pack () in let stop = GButton.button ~label:"Stop" ~packing:vbox#pack () in let reset = GButton.button ~label:"Reset" ~packing:vbox#pack () in start#connect#clicked ~callback:(fun () -> timer#start); stop#connect#clicked ~callback:(fun () -> timer#stop); reset#connect#clicked ~callback:(fun () -> timer#reset); w#show (); GMain.main () lablgtk-3.1.2/examples/toolbar.ml0000644000650106067230000002321214161276610015612 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) let _ = GMain.init () let change_orientation button (table : #GPack.table) toolbar () = let toolbar_w = (toolbar :> GObj.widget) in let orientation = if button#active then `VERTICAL else `HORIZONTAL in table#remove toolbar_w ; toolbar#set_orientation orientation ; match orientation with | `HORIZONTAL -> table#attach ~left:0 ~right:2 ~top:0 ~bottom:1 ~expand:`X ~fill:`BOTH toolbar_w | `VERTICAL -> table#attach ~left:0 ~right:1 ~top:0 ~bottom:6 ~expand:`Y ~fill:`BOTH toolbar_w let change_toolbar_style combo toolbar () = toolbar#set_style (List.assoc combo#active [ 0, `ICONS; 1, `TEXT; 2, `BOTH; 3, `BOTH_HORIZ ]) let set_toolbar_style_toggled button combo toolbar () = if button#active then change_toolbar_style combo toolbar () else toolbar#unset_style () ; combo#misc#set_sensitive button#active let change_icon_size combo toolbar () = toolbar#set_icon_size (List.assoc combo#active [ 0, `SMALL_TOOLBAR; 1, `LARGE_TOOLBAR ]) let set_icon_size_toggled button combo toolbar () = if button#active then change_icon_size combo toolbar () else toolbar#unset_icon_size () ; combo#misc#set_sensitive button#active let create_item_list packing = let cols = new GTree.column_list in let item_col : Gtk.tool_item Gtk.obj GTree.column = cols#add Gobject.Data.gobject in let name_col = cols#add Gobject.Data.string in let store = GTree.list_store cols in let tree_view = GTree.view ~model:store ~packing () in tree_view#append_column (GTree.view_column ~title:"Tool Item" ~renderer:(GTree.cell_renderer_text [], [ "text", name_col ]) ()) ; let item_property_column ~title ~setter ~getter = let cell = GTree.cell_renderer_toggle [] in cell#connect#toggled (fun path -> let item = new GButton.tool_item (store#get ~row:(store#get_iter path) ~column:item_col) in setter item (not (getter item))) ; let view_column = GTree.view_column ~title () in view_column#pack cell ; view_column#set_cell_data_func cell (fun model row -> let item = new GButton.tool_item (model#get ~row ~column:item_col) in cell#set_properties [ `ACTIVE (getter item) ]) ; tree_view#append_column view_column in item_property_column ~title:"Visible (horizontal)" ~setter:(fun item -> item#set_visible_horizontal) ~getter:(fun item -> item#visible_horizontal) ; item_property_column ~title:"Visible (vertical)" ~setter:(fun item -> item#set_visible_vertical) ~getter:(fun item -> item#visible_vertical) ; item_property_column ~title:"Expand" ~setter:(fun item -> item#set_expand) ~getter:(fun item -> item#get_expand) ; item_property_column ~title:"Homogeneous" ~setter:(fun item -> item#set_homogeneous) ~getter:(fun item -> item#get_homogeneous) ; item_property_column ~title:"Important" ~setter:(fun item -> item#set_is_important) ~getter:(fun item -> item#is_important) ; (store, name_col, item_col, tree_view) let context_menu_cb toolbar x y button = let menu = GMenu.menu () in for i = 1 to 5 do let label = Printf.sprintf "Item _%d" i in GMenu.menu_item ~label ~use_mnemonic:true ~packing:menu#append () done ; menu#popup ~button:0 ~time:(GMain.get_current_event_time ()) ; true let targets = [ { Gtk.target = "application/x-toolbar-item" ; Gtk.flags = [] ; Gtk.info = 0 } ] (* this doesn't seem to work :( *) let drag_item = ref None let toolbar_drag_motion_cb (toolbar : #GButton.toolbar) (ctx : GObj.drag_context) ~x ~y ~time = let item = match !drag_item with | None -> let it = GButton.tool_button ~label:"A quite long button" () in drag_item := Some it ; it | Some it -> it in ctx#status ~time (Some `MOVE) ; let index = toolbar#get_drop_index x y in toolbar#set_drop_highlight_item (Some (item, index)) ; true let toolbar_drag_leave_cb (toolbar : #GButton.toolbar) ctx ~time = drag_item := None ; toolbar#set_drop_highlight_item None let toolbar_drag_drop_cb toolbar label ctx ~x ~y ~time = let l = string_of_int (toolbar#get_drop_index x y) in label#set_label l ; true let main = let w = GWindow.window ~title:"Toolbar demo" () in w#connect#destroy GMain.quit ; let table = GPack.table ~rows:5 ~columns:2 ~packing:w#add () in let toolbar = GButton.toolbar ~packing:(table#attach ~left:0 ~top:0 ~right:2 ~expand:`X ~fill:`BOTH) () in toolbar#connect#popup_context_menu (context_menu_cb toolbar) ; begin let hbox1 = GPack.hbox ~spacing:3 ~border_width:5 ~packing:(table#attach ~left:1 ~top:1 ~expand:`X ~fill:`BOTH) () in begin let checkbox = GButton.check_button ~label:"_Vertical" ~use_mnemonic:true ~packing:hbox1#pack () in checkbox#connect#toggled (change_orientation checkbox table toolbar) end ; begin let checkbox = GButton.check_button ~label:"_Show Arrow" ~use_mnemonic:true ~packing:hbox1#pack () in checkbox#connect#toggled (fun () -> toolbar#set_show_arrow checkbox#active) ; end ; end ; begin let hbox2 = GPack.hbox ~spacing:3 ~border_width:5 ~packing:(table#attach ~left:1 ~top:2 ~expand:`X ~fill:`BOTH) () in let checkbox = GButton.check_button ~label:"Set _Toolbar Style" ~use_mnemonic:true ~packing:hbox2#pack () in let (combo, _) = GEdit.combo_box_text ~strings:[ "icons"; "text"; "both (vertical)"; "both (horizontal)" ] ~packing:hbox2#pack () in combo#misc#set_sensitive false ; combo#set_active (List.assoc toolbar#style [ `ICONS, 0; `TEXT, 1; `BOTH, 2; `BOTH_HORIZ, 3 ]) ; combo#connect#changed (change_toolbar_style combo toolbar) ; checkbox#connect#toggled (set_toolbar_style_toggled checkbox combo toolbar) end ; begin let hbox3 = GPack.hbox ~spacing:3 ~border_width:5 ~packing:(table#attach ~left:1 ~top:3 ~expand:`X ~fill:`BOTH) () in let checkbox = GButton.check_button ~label:"Set _Icon Size" ~use_mnemonic:true ~packing:hbox3#pack () in let (combo, _) = GEdit.combo_box_text ~strings:[ "small toolbar"; "large toolbar" ] ~packing:hbox3#pack () in combo#misc#set_sensitive false ; combo#set_active (List.assoc toolbar#icon_size [ `SMALL_TOOLBAR, 0; `LARGE_TOOLBAR, 1 ]) ; combo#connect#changed (change_icon_size combo toolbar) ; checkbox#connect#toggled (set_icon_size_toggled checkbox combo toolbar) end ; begin let scrolled_window = GBin.scrolled_window ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC ~packing:(table#attach ~left:1 ~top:4 ~expand:`BOTH ~fill:`BOTH) () in let (store, name_col, item_col, treeview) = create_item_list scrolled_window#add in let add_item name item = let row = store#append () in store#set ~row ~column:name_col name ; store#set ~row ~column:item_col item#as_tool_item ; toolbar#insert item in add_item "New" (GButton.tool_button ~stock:`NEW ~expand:true ()) ; add_item "Open" (GButton.tool_button ~stock:`OPEN ()) ; add_item "-----" (GButton.separator_tool_item ()) ; begin let item = GButton.tool_button ~stock:`REFRESH () in add_item "Refresh" item ; item#connect#clicked (fun () -> print_endline "clicked") end ; begin let item = GButton.tool_item () in let image = GMisc.image ~stock:`DIALOG_WARNING ~icon_size:`DIALOG ~packing:item#add () in add_item "(Custom Item)" item end ; add_item "Back" (GButton.tool_button ~stock:`GO_BACK ()) ; add_item "-----" (GButton.separator_tool_item ()) ; add_item "Forward" (GButton.tool_button ~stock:`GO_FORWARD ()) ; begin let item = GButton.toggle_tool_button ~stock:`BOLD () in item#connect#toggled (fun () -> Printf.printf "Bold toggled (active=%b)\n" item#get_active ; flush stdout) ; add_item "Bold" item end ; add_item "-----" (GButton.separator_tool_item ~draw:false ~expand:true ()) ; begin let item = GButton.radio_tool_button ~stock:`JUSTIFY_LEFT () in add_item "Left" item ; add_item "Center" (GButton.radio_tool_button ~group:item ~stock:`JUSTIFY_CENTER ()) ; add_item "Right" (GButton.radio_tool_button ~group:item ~stock:`JUSTIFY_RIGHT ()) end ; begin let image = GMisc.image ~file:"/usr/share/gtk-2.0/demo/apple-red.png" () in let item = GButton.tool_button ~label:"_Apple" ~use_underline:true () in item#set_icon_widget image#coerce ; add_item "Apple" item end ; begin let hbox = GPack.hbox ~border_width:5 ~spacing:5 ~packing:(table#attach ~left:1 ~top:5 ~expand:`X ~fill:`BOTH) () in let button = GButton.button ~label:"Drag me to the toolbar" ~packing:hbox#pack () in let label = GMisc.label ~text:"Drop index:" ~packing:hbox#pack () in let label = GMisc.label ~packing:hbox#pack () in button#drag#source_set ~modi:[`BUTTON1] ~actions:[`MOVE] targets ; toolbar#drag#dest_set ~flags:[`DROP] ~actions:[`MOVE] targets ; toolbar#drag#connect#motion (toolbar_drag_motion_cb toolbar) ; toolbar#drag#connect#leave (toolbar_drag_leave_cb toolbar) ; toolbar#drag#connect#drop (toolbar_drag_drop_cb toolbar label); end ; end ; w#show () ; GMain.main () lablgtk-3.1.2/examples/tooltip.ml0000644000650106067230000001034514161276610015645 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* This file demonstrates how one can use the tooltip API * introduced with GTK+ 2.12. * Do: * ocamlc -c -I ../src tooltip.ml * ocamlc -o tooltip.tpo -g -I . -I ../src lablgtk.cma tooltip.cmo * ./main.tpo * *) class contact ~(name: string) () = object (self) method name = name end class account ~(name: string) ~(contacts: contact list) () = object (self) method name = name method contacts = contacts end let model () = let cols = new GTree.column_list in let column = cols#add Gobject.Data.caml in let model = GTree.tree_store cols in List.iter begin fun account -> let row = model#append () in model#set ~row ~column (`Account account); List.iter begin fun contact -> let row = model#append ~parent: row () in model#set ~row ~column (`Contact contact) end account#contacts end [ new account () ~name: "Fernand Naudin" ~contacts: [ new contact () ~name: "Maître Folace" ; new contact () ~name: "Jean" ] ; new account () ~name: "Raoul Volfoni" ~contacts: [ new contact () ~name: "Paul Volfoni" ] ]; (model, column) let window () = let (model, column) = model () in let window = GWindow.window () ~title: "TreeView" in let vbox = GPack.vbox () ~border_width: 0 ~spacing: 8 ~packing: window#add in let button = GButton.button () ~label: "Tontons flingueurs" ~packing: vbox#add in button#misc#set_tooltip_text "I am a tooltip text"; let sw = GBin.scrolled_window () ~shadow_type: `ETCHED_IN ~hpolicy: `NEVER ~vpolicy: `AUTOMATIC ~packing: vbox#add in let _ = window#connect#destroy ~callback: GMain.quit in let treeview = GTree.view () ~model ~packing: sw#add in let col = GTree.view_column () ~title: "Put the mouse over here too" in let renderer_name = GTree.cell_renderer_text [] in col#set_sizing `FIXED; col#set_fixed_width 50; col#pack renderer_name; col#set_cell_data_func renderer_name begin fun model row -> match model#get ~row ~column with | `Account account -> let text = account#name in renderer_name#set_properties [ `TEXT text ; `WEIGHT `BOLD ] | `Contact contact -> renderer_name#set_properties [ `TEXT contact#name ; `WEIGHT `NORMAL ] end; ignore (treeview#append_column col); let view_col = treeview#get_column 0 in let button = new GButton.button (GtkTree.TreeViewColumn.get_button view_col#as_column) in button#misc#set_tooltip_text "I am a tooltip on the button of a column header"; treeview#misc#set_has_tooltip true; ignore (treeview#misc#connect#query_tooltip ~callback: begin fun ~x ~y ~kbd tooltip -> match GtkTree.TreeView.Tooltip.get_context treeview#as_tree_view ~x ~y ~kbd with | (x, y, Some (model, path, row)) -> let get ~model ~row ~column = let v = Gobject.Value.create_empty () in GtkTree.TreeModel.get_value model v ~row ~column: column.GTree.index; Gobject.Data.of_value column.GTree.conv v in let path_string = GtkTree.TreePath.to_string path in let name = (* XXX: be careful to do a match on the good thing: no static type checking *) match get ~model ~row ~column with | `Account o -> o#name | `Contact o -> o#name in let str = "path=" ^ path_string ^ " name=" ^ name ^ "" in GtkBase.Tooltip.set_markup tooltip str; GtkTree.TreeView.Tooltip.set_row treeview#as_tree_view tooltip path; true | _ -> false end); let _ = treeview#selection#connect#changed ~callback: begin fun () -> GtkBase.Widget.Tooltip.trigger_query treeview#as_tree_view end in window#set_default_size ~width: 162 ~height: 242; window#show (); window#move ~x: 10 ~y: 10 let locale = GMain.init () let main () = window (); GMain.main () ;; main () lablgtk-3.1.2/examples/tree.ml0000644000650106067230000000655114161276610015116 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open StdLabels open Gobject.Data let cols = new GTree.column_list let title = cols#add string let author = cols#add string let checked = cols#add boolean let create_model () = let store = GTree.tree_store cols in let row = store#append () in store#set ~row ~column:title "The Art of Computer Programming"; store#set ~row ~column:author "Donald E. Knuth"; store#set ~row ~column:checked false; store#set ~row:(store#append ~parent:row ()) ~column:title "Volume 1: Fundamental Algorithms"; store#set ~row:(store#append ~parent:row ()) ~column:title "Volume 2: Seminumerical Algorithms"; store#set ~row:(store#append ~parent:row ()) ~column:title "Volume 3: Sorting and Searching Algorithms"; store let main () = GMain.init (); let model = create_model () in let window = GWindow.window () in window#connect#destroy ~callback:GMain.quit; let view = GTree.view ~model ~packing:window#add () in (* Allow wrapping for title field *) let col = GTree.view_column ~title:"Title" () ~renderer:(GTree.cell_renderer_text[`WRAP_WIDTH 150; `WRAP_MODE `WORD_CHAR], ["text",title]) in col#set_resizable true; view#append_column col; let col = GTree.view_column ~title:"Author" () ~renderer:(GTree.cell_renderer_text[], ["text",author]) in view#append_column col; let col = GTree.view_column ~title:"Checked-out" () ~renderer:(GTree.cell_renderer_text[], ["text",checked]) in view#append_column col; view#selection#connect#after#changed ~callback: begin fun () -> prerr_endline "selection changed"; List.iter view#selection#get_selected_rows ~f: (fun p -> prerr_endline (GtkTree.TreePath.to_string p)); end; view#connect#after#row_activated ~callback: (fun path vcol -> prerr_endline "Row activated"; let it = model#get_iter path in assert (model#iter_is_valid it); model#clear (); ); (* Seems to be inverted *) let allow_expand = ref true in view#connect#test_expand_row ~callback: (fun _ _ -> if !allow_expand then (Format.printf "Expansion allowed@."; allow_expand := false; true) else (Format.printf "Expansion NOT allowed@."; allow_expand := true; false)); let allow_collapse = ref true in view#connect#test_collapse_row ~callback: (fun _ _ -> if !allow_collapse then (Format.printf "Collapse allowed@."; allow_collapse := false; true) else (Format.printf "Collapse NOT allowed@."; allow_collapse := true; false)); window#show (); GMain.main () let () = main () lablgtk-3.1.2/examples/tree_model.ml0000644000650106067230000001266714161276610016303 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* Various experiments with GtkTreeModelSort and GtkTreeModelFilter *) type date = { mon : int ; day : int ; } let format_date { mon = mon ; day = day } = let mon_str = match mon with | 1 -> "Jan" | 2 -> "Feb" | 3 -> "Mar" | 4 -> "Apr" | 5 -> "May" | 6 -> "Jun" | 7 -> "Jul" | 8 -> "Aou" | 9 -> "Sep" | 10 -> "Oct" | 11 -> "Nov" | 12 -> "Dec" | _ -> invalid_arg "bad month" in Printf.sprintf "% 2d %s" day mon_str let data = [ `HOME, "home", true, { day = 29 ; mon = 02 } ; `JUMP_TO, "go", true, { day = 15 ; mon = 02 } ; `QUIT, "quit", false, { day = 27 ; mon = 01 } ; `STOP, "stop", true, { day = 21 ; mon = 01 } ; `DELETE, "delete", false, { day = 15 ; mon = 01 } ; ] (* Sort function: sort according to string length ! *) let sort_function column (model : #GTree.model) it_a it_b = let a = model#get ~row:it_a ~column in let b = model#get ~row:it_b ~column in compare (String.length a) (String.length b) let print_flags name (m : #GTree.model) = Format.printf "%sflags: %s@." name (String.concat "; " (List.map (function | `ITERS_PERSIST -> "persistent iterators" | `LIST_ONLY -> "list only") m#flags)) let make_model data = let cols = new GTree.column_list in let stock_id_col = cols#add GtkStock.conv in let str_col = cols#add Gobject.Data.string in let vis_col = cols#add Gobject.Data.boolean in let date_col = cols#add Gobject.Data.caml in let l = GTree.list_store cols in print_flags "ListStore" l ; List.iter (fun (stock_id, str, vis, date) -> let row = l#append () in l#set ~row ~column:stock_id_col stock_id ; l#set ~row ~column:str_col str ; l#set ~row ~column:vis_col vis ; l#set ~row ~column:date_col date) data ; let s = GTree.model_sort l in print_flags "TreeModelSort" s ; let f = GTree.model_filter l in print_flags "TreeModelFilter" f ; f#set_visible_column vis_col ; let s' = GTree.model_sort f in List.iter (fun (s : #GTree.tree_sortable) -> s#connect#sort_column_changed (fun () -> match s#get_sort_column_id with | None -> Format.printf "no sort_column@." | Some (id, `ASCENDING) -> Format.printf "sort_column = %d, ascending@." id | Some (id, `DESCENDING) -> Format.printf "sort_column = %d, descending@." id) ; s#set_sort_func 0 (sort_function str_col) ) [ s ; s' ] ; (s, s', (stock_id_col, str_col, date_col)) let make_view (model, model_filtered, (stock_id_col, str_col, date_col)) packing = let view_col = let col = GTree.view_column ~title:"Stock Icons" () in let str_renderer = GTree.cell_renderer_text [ `FAMILY "monospace" ; `XALIGN 1. ] in col#pack str_renderer ; col#add_attribute str_renderer "text" str_col ; let pb_renderer = GTree.cell_renderer_pixbuf [ `STOCK_SIZE `BUTTON ] in col#pack pb_renderer ; col#add_attribute pb_renderer "stock_id" stock_id_col ; col#set_sort_column_id 0 ; col in let view_date_col = let col = GTree.view_column ~title:"Date" () in let str_renderer = GTree.cell_renderer_text [ `XALIGN 0.5 ] in col#pack str_renderer ; col#set_cell_data_func str_renderer (fun model row -> let date = model#get ~row ~column:date_col in str_renderer#set_properties [ `TEXT (format_date date) ]) ; col in let b = GButton.check_button ~label:"_Filter data" ~use_mnemonic:true ~packing () in let v = GTree.view ~model ~width:200 ~packing () in v#append_column view_col ; v#append_column view_date_col ; b#connect#toggled (fun () -> let current, new_model = if b#active then (model, model_filtered) else (model_filtered, model) in let (id, dir) = Gaux.default (-1, `ASCENDING) ~opt:current#get_sort_column_id in new_model#set_sort_column_id id dir ; v#set_model (Some new_model#coerce) ) ; v let inspect_data_1 column (model : GTree.model) = Format.printf "@[Traverse with iters:" ; begin match model#get_iter_first with | None -> Format.printf "@ empty model" | Some row -> let cont = ref true in while !cont do let data = model#get ~row ~column in Format.printf "@ %s" data ; cont := model#iter_next row done end ; Format.printf "@]@." let inspect_data_2 column (model : GTree.model) = Format.printf "@[Traverse with #foreach:" ; model#foreach (fun _ row -> let data = model#get ~row ~column in Format.printf "@ %s" data ; false) ; Format.printf "@]@." let main = GMain.init (); let w = GWindow.window ~title:"GtkListStore test" () in w#connect#destroy GMain.quit ; let box = GPack.vbox ~packing:w#add () in let m = make_model data in let v = make_view m box#pack in begin let b = GButton.button ~label:"Dump data" ~packing:box#pack () in b#connect#clicked (fun () -> let (_, _, (_, col, _)) = m in let model = v#model in inspect_data_1 col model ; inspect_data_2 col model) end ; w#show () ; GMain.main () lablgtk-3.1.2/examples/tree_store.ml0000644000650106067230000001512514161276610016327 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) open StdLabels (* translated from gtk-demo *) let january = [ "New Years Day", true, true, true, true, false, true; "Presidential Inauguration", false, true, false, true, false, false; "Martin Luther King Jr. day", false, true, false, true, false, false; ] let february = [ "Presidents' Day", false, true, false, true, false, false; "Groundhog Day", false, false, false, false, false, false; "Valentine's Day", false, false, false, false, true, true; ] let march = [ "National Tree Planting Day", false, false, false, false, false, false; "St Patrick's Day", false, false, false, false, false, true; ] let april = [ "April Fools' Day", false, false, false, false, false, true; "Army Day", false, false, false, false, false, false; "Earth Day", false, false, false, false, false, true; "Administrative Professionals' Day", false, false, false, false, false, false; ] let may = [ "Nurses' Day", false, false, false, false, false, false; "National Day of Prayer", false, false, false, false, false, false; "Mothers' Day", false, false, false, false, false, true; "Armed Forces Day", false, false, false, false, false, false; "Memorial Day", true, true, true, true, false, true; ] let june = [ "June Fathers' Day", false, false, false, false, false, true; "Juneteenth (Liberation of Slaves)", false, false, false, false, false, false; "Flag Day", false, true, false, true, false, false; ] let july = [ "Parents' Day", false, false, false, false, false, true; "Independence Day", false, true, false, true, false, false; ] let august = [ "Air Force Day", false, false, false, false, false, false; "Coast Guard Day", false, false, false, false, false, false; "Friendship Day", false, false, false, false, false, false; ] let september = [ "Grandparents' Day", false, false, false, false, false, true; "Citizenship Day or Constitution Day", false, false, false, false, false, false; "Labor Day", true, true, true, true, false, true; ] let october = [ "National Children's Day", false, false, false, false, false, false; "Bosses' Day", false, false, false, false, false, false; "Sweetest Day", false, false, false, false, false, false; "Mother-in-Law's Day", false, false, false, false, false, false; "Navy Day", false, false, false, false, false, false; "Columbus Day", false, true, false, true, false, false; "Halloween", false, false, false, false, false, true; ] let november = [ "Marine Corps Day", false, false, false, false, false, false; "Veterans' Day", true, true, true, true, false, true; "Thanksgiving", false, true, false, true, false, false; ] let december = [ "Pearl Harbor Remembrance Day", false, false, false, false, false, false; "Christmas", true, true, true, true, false, true; "Kwanzaa", false, false, false, false, false, false; ] let toplevel = [ "January", january; "February", february; "March", march; "April", april; "May", may; "June", june; "July", july; "August", august; "September", september; "October", october; "November", november; "December", december; ] open Gobject.Data let cols = new GTree.column_list let name = cols#add string let alex = cols#add boolean let havoc = cols#add boolean let tim = cols#add boolean let owen = cols#add boolean let dave = cols#add boolean let visible = cols#add boolean let world = cols#add boolean let bg = cols#add (unsafe_boxed (Gobject.Type.from_name "GdkColor")) let create_model () = let model = GTree.tree_store cols in List.iter toplevel ~f: begin fun (month_name, month) -> let row = model#append () in model#set ~row ~column:name month_name; List.iter month ~f: begin fun (n,a,h,t,o,d,w) -> let row = model#append ~parent:row () in let set column = model#set ~row ~column in set name n; set alex a; set havoc h; set tim t; set owen o; set dave d; set visible true; set world w; set bg (GDraw.color (`NAME "orange")) end; end; model let item_toggled ~(model : GTree.tree_store) ~column path = let row = model#get_iter path in let b = model#get ~row ~column in model#set ~row ~column (not b); () open GtkTree let add_columns ~(view : GTree.view) ~model = let renderer = GTree.cell_renderer_text [`XALIGN 0.] in let vc = GTree.view_column ~title:"Holiday" ~renderer:(renderer, ["text", name]) () in vc#add_attribute renderer "background-gdk" bg; view#append_column vc; List.iter ["Alex",alex,true; "Havoc",havoc,false; "Tim",tim,true; "Owen",owen,false; "Dave",dave,false ] ~f: begin fun (title, column, euro) -> let renderer = GTree.cell_renderer_toggle [`XALIGN 0.] in renderer#connect#toggled ~callback:(item_toggled ~model ~column); let attrs = if euro then ["active", column; "visible", visible; "activatable", world] else ["active", column; "visible", visible] in let vc = GTree.view_column ~title ~renderer:(renderer, attrs) () in view#append_column vc; vc#set_sizing `FIXED; vc#set_fixed_width 50; vc#set_clickable true; end let do_tree_store () = GMain.init (); let window = GWindow.window ~title:"Card planning sheet" () in window#connect#destroy ~callback:GMain.quit; let vbox = GPack.vbox ~border_width:8 ~spacing:8 ~packing:window#add () in GMisc.label ~text:"Jonathan's Holiday Card Planning Sheet" ~packing:vbox#pack (); let sw = GBin.scrolled_window ~shadow_type:`ETCHED_IN ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC ~packing:vbox#add () in let model = create_model () in let treeview = GTree.view ~model ~packing:sw#add () in treeview#set_rules_hint true; treeview#selection#set_mode `MULTIPLE; add_columns ~view:treeview ~model; treeview#misc#connect#realize ~callback:treeview#expand_all; window#set_default_size ~width:650 ~height:400; window#show (); GMain.main () let () = do_tree_store () lablgtk-3.1.2/examples/tron.ml0000644000650106067230000001612314161276610015135 0ustar glondused(**************************************************************************) (* Lablgtk - Examples *) (* *) (* This code is in the public domain. *) (* You may freely copy parts of it in your application. *) (* *) (**************************************************************************) (* $Id$ *) (* Tron? Game *) let _ = GMain.init () let m_pi = acos (-1.) let clRed = `NAME "red" (* `BLACK *) let clBlue = `NAME "blue" (* `WHITE *) let clBlack = `BLACK type point = {mutable x: int; mutable y: int} let main () = (* Game State *) let gameSize = 64 in let gameState = Array.make_matrix (gameSize+2) (gameSize+2) 0 in let gameInit _ = for i=1 to gameSize do for j=1 to gameSize do gameState.(i).(j) <- 0; done done; for i=0 to gameSize do gameState.(0).(i) <- 3; (* left wall *) gameState.(i).(gameSize+1) <- 3; (* floor *) gameState.(gameSize+1).(i+1) <- 3; (* right wall *) gameState.(i+1).(0) <- 3 (* ceiling *) done in gameInit (); let lpos = {x=4; y=4} in let lspeed = {x=0; y=1} in let rpos = {x=gameSize-3; y=gameSize-3} in let rspeed = {x=0; y= -1} in let keys = Bytes.of_string "asdfhjkl" in let keyMapL = [|(-1, 0); (0, -1); (0, 1); (1, 0)|] in let keyMapR = [|(-1, 0); (0, 1); (0, -1); (1, 0)|] in (* User Interface *) let window = GWindow.window ~border_width:10 ~title:"tron(?)" () in window#event#connect#delete ~callback:(fun _ -> prerr_endline "Delete event occured"; false); window#connect#destroy ~callback:GMain.quit; let vbx = GPack.vbox ~packing:window#add () in let area = GMisc.drawing_area ~width:((gameSize+2)*4) ~height:((gameSize+2)*4) ~packing:vbx#add () in let drawing = area#misc#realize (); new GDraw.drawable (area#misc#window) in let style = area#misc#style#copy in style#set_bg [`NORMAL,`WHITE]; area#misc#set_style style; drawing#set_background `WHITE; let area_expose _ = for i=0 to gameSize+1 do for j=0 to gameSize+1 do if gameState.(i).(j) = 1 then begin drawing#set_foreground clRed; drawing#rectangle ~filled:true ~x:(i*4) ~y:(j*4) ~width:4 ~height:4 () end else if gameState.(i).(j) = 2 then begin drawing#set_foreground clBlue; drawing#rectangle ~filled:true ~x:(i*4) ~y:(j*4) ~width:4 ~height:4 () end else if gameState.(i).(j) = 3 then begin drawing#set_foreground clBlack; drawing#rectangle ~filled:true ~x:(i*4) ~y:(j*4) ~width:4 ~height:4 () end done done; false in area#event#connect#expose ~callback:area_expose; let control = GPack.table ~rows:3 ~columns:7 ~packing:vbx#pack () in let abuttonClicked num (lbl : GMisc.label) _ = begin let dialog = GWindow.window ~border_width:10 ~title:"Key remap" () in let dvbx = GPack.box `VERTICAL ~packing:dialog#add () in let entry = GEdit.entry ~max_length:1 ~packing: dvbx#add () in let txt = String.make 1 (Bytes.get keys num) in entry#set_text txt; let dquit = GButton.button ~label:"OK" ~packing: dvbx#add () in dquit#connect#clicked ~callback: begin fun _ -> let chr = entry#text.[0] in let txt2 = String.make 1 chr in lbl#set_text txt2; Bytes.set keys num chr; dialog#destroy () end; dialog#show () end in let attach = control#attach ~expand:`BOTH in let new_my_button ~label:label ~left:left ~top:top = let str = String.make 1 (Bytes.get keys label) in let btn = GButton.button ~packing:(attach ~left:left ~top:top) () in let lbl = GMisc.label ~text:str ~packing:(btn#add) () in btn#connect#clicked ~callback:(abuttonClicked label lbl); btn in new_my_button ~label:0 ~left:1 ~top:2; new_my_button ~label:1 ~left:2 ~top:1; new_my_button ~label:2 ~left:2 ~top:3; new_my_button ~label:3 ~left:3 ~top:2; new_my_button ~label:4 ~left:5 ~top:2; new_my_button ~label:5 ~left:6 ~top:3; new_my_button ~label:6 ~left:6 ~top:1; new_my_button ~label:7 ~left:7 ~top:2; let quit = GButton.button ~label:"Quit" ~packing:(attach ~left:4 ~top:2) () in quit#connect#clicked ~callback:window#destroy; let message = GMisc.label ~text:"tron(?) game" ~packing:vbx#pack () in let game_step () = let lx = lpos.x in let ly = lpos.y in gameState.(lx).(ly) <- 1; drawing#set_foreground clRed; drawing#rectangle ~filled:true ~x:(lx*4) ~y:(ly*4) ~width:4 ~height:4 (); let rx = rpos.x in let ry = rpos.y in gameState.(rx).(ry) <- 2; drawing#set_foreground clBlue; drawing#rectangle ~filled:true ~x:(rx*4) ~y:(ry*4) ~width:4 ~height:4 () in game_step (); let keyDown ev = begin let key = GdkEvent.Key.keyval ev in for i=0 to (Array.length keyMapL)-1 do let (x, y) = keyMapL.(i) in let k = Bytes.get keys i in if key = Char.code k then begin lspeed.x <- x; lspeed.y <- y end; let (x, y) = keyMapR.(i) in let k = Bytes.get keys (i+4) in if key = Char.code k then begin rspeed.x <- x; rspeed.y <- y end done; false end in window#event#connect#key_press ~callback:keyDown; let safe_check _ = if lpos.x == rpos.x && lpos.y == rpos.y then 3 else (* player 1 *) (if gameState.(lpos.x).(lpos.y) != 0 then 2 else 0) + (* player 2 *) (if gameState.(rpos.x).(rpos.y) != 0 then 1 else 0) in let timerID = ref (* dummy *) (Timeout.add ~ms:100 ~callback:(fun _ -> true)) in let timerTimer _ = begin lpos.x <- lpos.x+lspeed.x; lpos.y <- lpos.y+lspeed.y; rpos.x <- rpos.x+rspeed.x; rpos.y <- rpos.y+rspeed.y; let result = safe_check() in if result!=0 then begin Timeout.remove (!timerID); message#set_text ("player "^string_of_int result^" won.") end else begin game_step() end; true end in let count = ref 3 in let timerTimer2 _ = begin (* message#set_label (string_of_int (!count)); *) if (!count==0) then begin Timeout.remove (!timerID); timerID := Timeout.add ~ms:100 ~callback:timerTimer end else begin count := !count-1; end; true end in let restartClicked () = Timeout.remove !timerID; gameInit(); lpos.x <- 4; lpos.y <- 4; lspeed.x <- 0; lspeed.y <- 1; rpos.x <- gameSize-3; rpos.y <- gameSize-3; rspeed.x <- 0; rspeed.y <- -1; drawing#set_foreground `WHITE; drawing#rectangle ~filled:true ~x:0 ~y:0 ~width:((gameSize+2)*4) ~height:((gameSize+2)*4) (); area_expose(); count := 3; timerID := Timeout.add ~ms:300 ~callback:timerTimer2; in let restart = GButton.button ~label: "Restart" ~packing:(attach ~left:4 ~top:3) () in restart#connect#clicked ~callback:restartClicked; restartClicked (); window#show (); GMain.main () let _ = Printexc.print main () lablgtk-3.1.2/lablgtk3-goocanvas2.opam0000644000650106067230000000153514161276610016425 0ustar glondusedopam-version: "2.0" synopsis: "OCaml interface to GTK+ GooCanvas library" description: """ OCaml interface to GTK+3, goocanvas library. See https://garrigue.github.io/lablgtk/ for more information. """ maintainer: "garrigue@math.nagoya-u.ac.jp" authors: ["Jacques Garrigue et al., Nagoya University"] homepage: "https://github.com/garrigue/lablgtk" bug-reports: "https://github.com/garrigue/lablgtk/issues" dev-repo: "git+https://github.com/garrigue/lablgtk.git" doc: "https://garrigue.github.io/lablgtk/lablgtk3-sourceview3" license: "LGPL with linking exception" depends: [ "ocaml" { >= "4.05.0" } "dune" { >= "1.8.0" } "lablgtk3" { = version } "conf-goocanvas2" { build & >= "0" } ] build: [ [ "dune" "subst" ] {pinned} [ "dune" "build" "-p" name "-j" jobs ] ] lablgtk-3.1.2/lablgtk3-gtkspell3.opam0000644000650106067230000000234614161276610016274 0ustar glondusedopam-version: "2.0" synopsis: "OCaml interface to GTK+3" description: """ OCaml interface to GTK+3, gtkspell library See https://garrigue.github.io/lablgtk/ for more information. """ maintainer: "garrigue@math.nagoya-u.ac.jp" authors: ["Jacques Garrigue et al., Nagoya University"] homepage: "https://github.com/garrigue/lablgtk" bug-reports: "https://github.com/garrigue/lablgtk/issues" dev-repo: "git+https://github.com/garrigue/lablgtk.git" doc: "https://garrigue.github.io/lablgtk/lablgtk3-gtkspell3" license: "LGPL with linking exception" depends: [ "ocaml" { >= "4.05.0" } "dune" { >= "1.8.0" } "lablgtk3" { = version } ] depexts: [ ["gtkspell3-dev"] {os-distribution = "alpine"} ["gtkspell3"] {os-distribution = "archlinux"} ["epel-release" "gtkspell3-devel"] {os-distribution = "centos"} ["libgtkspell3-3-dev"] {os-distribution = "debian"} ["gtkspell3-devel"] {os-distribution = "fedora"} ["gtkspell3"] {os = "freebsd"} ["gtkspell3"] {os = "openbsd"} ["gtkspell3-devel"] {os-family = "suse"} ["libgtkspell3-3-dev"] {os-distribution = "ubuntu"} ["gtkspell3" "libxml2"] {os = "macos" & os-distribution = "homebrew"} ] build: [ [ "dune" "build" "-p" name "-j" jobs ] ] lablgtk-3.1.2/lablgtk3-sourceview3.opam0000644000650106067230000000151014161276610016632 0ustar glondusedopam-version: "2.0" synopsis: "OCaml interface to GTK+ gtksourceview library" description: """ OCaml interface to GTK+3, gtksourceview3 library. See https://garrigue.github.io/lablgtk/ for more information. """ maintainer: "garrigue@math.nagoya-u.ac.jp" authors: ["Jacques Garrigue et al., Nagoya University"] homepage: "https://github.com/garrigue/lablgtk" bug-reports: "https://github.com/garrigue/lablgtk/issues" dev-repo: "git+https://github.com/garrigue/lablgtk.git" doc: "https://garrigue.github.io/lablgtk/lablgtk3-sourceview3" license: "LGPL with linking exception" depends: [ "ocaml" { >= "4.05.0" } "dune" { >= "1.8.0" } "lablgtk3" { = version } "conf-gtksourceview3" { build & >= "0" } ] build: [ [ "dune" "build" "-p" name "-j" jobs ] ] lablgtk-3.1.2/lablgtk3.opam0000644000650106067230000000145614161276610014367 0ustar glondusedopam-version: "2.0" synopsis: "OCaml interface to GTK+3" description: """ OCaml interface to GTK+3 See https://garrigue.github.io/lablgtk/ for more information. """ maintainer: "garrigue@math.nagoya-u.ac.jp" authors: ["Jacques Garrigue et al., Nagoya University"] homepage: "https://github.com/garrigue/lablgtk" bug-reports: "https://github.com/garrigue/lablgtk/issues" dev-repo: "git+https://github.com/garrigue/lablgtk.git" license: "LGPL with linking exception" doc: "https://garrigue.github.io/lablgtk/lablgtk3" depends: [ "ocaml" { >= "4.05.0" } "dune" { >= "1.8.0" } "cairo2" { >= "0.6" } "conf-gtk3" { build & >= "18" } "ocamlfind" { dev } "camlp5" { dev } ] build: [ [ "dune" "build" "-p" name "-j" jobs ] ] lablgtk-3.1.2/src-goocanvas2/0000755000650106067230000000000014161276610014627 5ustar glondusedlablgtk-3.1.2/src-goocanvas2/dune0000644000650106067230000000214114161276610015503 0ustar glondused(rule (targets goocanvas_tags.h goocanvas_tags.c gooCanvasEnums.ml) (action (run varcc %{dep:goocanvas_tags.var}))) (rule (targets gtkGooCanvasProps.ml ogtkGooCanvasProps.ml) (action (run propcc %{dep:gtkGooCanvas.props}))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; lablgtk3-goocanvas2 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (rule (targets cflag-goocanvas-2.0.sexp clink-goocanvas-2.0.sexp) (action (run dune_config -pkg goocanvas-2.0 -version 2.0.4))) (rule (targets cflag-extraflags.sexp) (action (with-outputs-to cflag-extraflags.sexp (echo "(%{env:LABLGTK_EXTRA_FLAGS=})")))) (library (name lablgtk3_goocanvas2) (public_name lablgtk3-goocanvas2) (wrapped false) (flags :standard -w -6-7-27-32-33-34-36) (modules_without_implementation gooCanvas_types) (c_names ml_gtkgoocanvas) (c_flags (:include cflag-goocanvas-2.0.sexp) (:include cflag-extraflags.sexp) -Wno-deprecated-declarations) (c_library_flags (:include clink-goocanvas-2.0.sexp)) (libraries lablgtk3)) lablgtk-3.1.2/src-goocanvas2/gooCanvas.ml0000644000650106067230000002215114161276610017102 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) open Gaux open GtkGooCanvas open GooCanvasEnums open Gobject open Gtk open GtkBase open GooCanvas_types open OgtkGooCanvasProps open GObj let coord_array_to_tuple = function | [| x1 ; y1 ; x2 ; y2 |] -> (x1, y1, x2, y2) | _ -> assert false module Tags = struct include (GooCanvasEnums : module type of GooCanvasEnums with module Conv := GooCanvasEnums.Conv) end let canvas_points_conv = (Gobject.Data.unsafe_pointer : GtkGooCanvas.canvas_points data_conv) let propertize = function | `ALPHA a -> "alpha", `FLOAT a | `ANCHOR a -> "anchor", GooCanvasEnums.Conv.anchor_type.Gobject.inj a | `ARROW_LENGTH l -> "arrow-length", `FLOAT l | `ARROW_TIP_LENGTH l -> "arrow-tip-length", `FLOAT l | `ARROW_WIDTH w -> "arrow-width", `FLOAT w | `CAN_FOCUS b -> "can-focus", `BOOL b | `CLIP_PATH s -> "clip-path", `STRING (Some s) | `CLOSE_PATH b -> "close-path", `BOOL b | `DESCRIPTION s -> "description", `STRING (Some s) | `END_ARROW b -> "end-arrow", `BOOL b | `FILL_COLOR s -> "fill-color", `STRING (Some s) | `FILL_COLOR_RGBA c -> "fill-color-rgba", `INT32 c | `FILL_PIXBUF (p : GdkPixbuf.pixbuf) -> "fill-pixbuf", `OBJECT (Some (Gobject.coerce p)) | `FONT t -> "font", `STRING (Some t) | `FONT_DESC d -> "font-desc", GtkGooCanvasProps.ItemSimple.P.font_desc.conv.inj d | `HEIGHT h -> "height", `FLOAT h | `LINE_JOIN_MITER_LIMIT f -> "line-join-miter-limit", `FLOAT f | `LINE_WIDTH w -> "line-width", `FLOAT w | `PIXBUF p -> "pixbuf", `OBJECT (Some (Gobject.coerce p)) | `POINTER_EVENTS e -> "pointer-events", GooCanvasEnums.Conv.pointer_events.inj e | `POINTS p -> "points", canvas_points_conv.inj p | `RADIUS_X r -> "radius-x", `FLOAT r | `RADIUS_Y r -> "radius-y", `FLOAT r | `SCALE_TO_FIT b -> "scale-to-fit", `BOOL b | `START_ARROW b -> "start-arrow", `BOOL b | `STROKE_COLOR s -> "stroke-color", `STRING (Some s) | `STROKE_COLOR_RGBA c -> "stroke-color-rgba", `INT32 c | `STROKE_PIXBUF (p : GdkPixbuf.pixbuf) -> "stroke-pixbuf", `OBJECT (Some (Gobject.coerce p)) | `TEXT s -> "text", `STRING (Some s) | `TITLE s -> "title", `STRING (Some s) | `TOOLTIP s -> "tooltip", `STRING (Some s) | `USE_MARKUP b -> "use-markup", `BOOL b | `WIDTH w -> "width", `FLOAT w | `WIDGET w -> "widget", `OBJECT (Some (Gobject.coerce w)) | `VISIBILITY v -> "visibility", GooCanvasEnums.Conv.item_visibility.Gobject.inj v | `VISIBILITY_THRESHOLD t -> "visibility-threshold", `FLOAT t | `X x -> "x", `FLOAT x | `Y y -> "y", `FLOAT y let set_properties obj p = List.iter (fun p -> let p, d = propertize p in Gobject.Property.set_dyn obj p d) p class item_signals (obj: ([>GooCanvas_types.item] as 'a) Gtk.obj) = object (self) inherit ['a] GObj.gobject_signals obj method button_press = self#connect Item.Signals.Event.button_press method button_release = self#connect Item.Signals.Event.button_release method enter_notify = self#connect Item.Signals.Event.enter_notify method focus_in = self#connect Item.Signals.Event.focus_in method focus_out = self#connect Item.Signals.Event.focus_out method key_press = self#connect Item.Signals.Event.key_press method key_release = self#connect Item.Signals.Event.key_release method leave_notify = self#connect Item.Signals.Event.leave_notify method motion_notify = self#connect Item.Signals.Event.motion_notify end class ['p] item (obj : ([>GooCanvas_types.item] as 'o) obj) = object(self) constraint 'p = [< items_properties] inherit GObj.gtkobj obj method as_item = (obj :> GooCanvas_types.item obj) method set (p: 'p list) = set_properties obj p method get_bounds = coord_array_to_tuple (Item.get_bounds (obj:>GooCanvas_types.item obj)) method remove = GtkGooCanvas.Item.remove (obj:>GooCanvas_types.item obj) method connect = new item_signals (obj :> GooCanvas_types.item Gtk.obj) method raise () = Item.raise self#as_item None method set_parent (i : GooCanvas_types.item obj) = Item.set_parent self#as_item i method get_n_children = Item.get_n_children self#as_item method remove_child n = Item.remove_child self#as_item n end type base_item = item_p item class canvas (obj : GooCanvas_types.canvas obj) = object(self) inherit GContainer.container obj method as_canvas = (obj : GooCanvas_types.canvas obj) method event = new GObj.event_ops obj method get_bounds = coord_array_to_tuple (Canvas.get_bounds obj) method set_bounds = Canvas.set_bounds obj method get_root_item : base_item = new item (Canvas.get_root_item obj) method set_root_item (i:base_item) = Canvas.set_root_item obj i#as_item method convert_to_item_space (i:base_item) ~x ~y = Canvas.convert_to_item_space obj i#as_item x y method convert_from_item_space (i:base_item) ~x ~y = Canvas.convert_from_item_space obj i#as_item x y method convert_to_pixels ~x ~y = Canvas.convert_to_pixels obj x y method convert_from_pixels ~x ~y = Canvas.convert_from_pixels obj x y method get_scale = Canvas.get_scale obj method set_scale s = Canvas.set_scale obj s method get_item_at ?(is_pointer_event=false) ~x ~y () = match Canvas.get_item_at obj x y is_pointer_event with | None -> None | Some obj -> let o = new item obj in Some (o:>base_item) method scroll_to ~x ~y = Canvas.scroll_to obj x y end let canvas = GContainer.pack_container [] ~create:(fun pl -> let w = Canvas.new_canvas () in Gobject.set_params w pl; new canvas w) class text (obj : GooCanvas_types.text obj) = object(self) inherit [text_p] item obj end let text ?(text="") ?(x=0.) ?(y=0.) ?(width=(-1.)) ?(props=[]) parent = let t = new text (Text.new_text parent#as_item text ~x ~y ~width) in t#set props ; t class rect (obj : GooCanvas_types.rect obj) = object(self) inherit [rect_p] item obj end let rect ?(x=0.) ?(y=0.) ?(width=(-1.)) ?(height=(-1.)) ?(props=[]) parent = let t = new rect (Rect.new_rect parent#as_item ~x ~y ~width ~height) in t#set props ; t class widget (obj : GooCanvas_types.widget obj) = object(self) inherit [widget_p] item obj end let widget ?(x=0.) ?(y=0.) ?(width=(-1.)) ?(height=(-1.)) ?(props=[]) w parent = let t = new widget (GtkGooCanvas.Widget.new_widget parent#as_item w ~x ~y ~width ~height) in t#set props ; t class image (obj : GooCanvas_types.image obj) = object(self) inherit [image_p] item obj end let image ?(x=0.) ?(y=0.) ?pixbuf ?(props=[]) parent = let t = new image (GtkGooCanvas.Image.new_image parent#as_item ~x ~y ~pixbuf) in t#set props ; t class group (obj : GooCanvas_types.group obj) = object(self) inherit [group_p] item obj method width = Gobject.Property.get obj GtkGooCanvas.Group.width end let group ?(props=[]) ?parent () = let parent = match parent with None -> None | Some p -> Some p#as_item in let t = new group (Group.new_group parent) in t#set props ; t class polyline (obj : GooCanvas_types.polyline obj) = object(self) inherit [polyline_p] item obj end let canvas_points = let from_pairs = let rec iter acc = function | [] -> List.rev acc | (x, y) :: q -> iter (y :: x :: acc) q in iter [] in fun l -> let t = Array.of_list (from_pairs l) in let len = Array.length t in GtkGooCanvas.Points.new_points len t let polyline ?(close_path=true) ?points ?(props=[]) parent = let t = new polyline (Polyline.new_polyline parent#as_item close_path) in let props = match points with | None -> props | Some l -> `POINTS (canvas_points l) :: props in t#set props ; t let polyline_line ~x1 ~y1 ~x2 ~y2 ?(props=[]) parent = let t = new polyline (Polyline.new_polyline_line parent#as_item x1 y1 x2 y2) in t#set props ; t lablgtk-3.1.2/src-goocanvas2/gooCanvas.mli0000644000650106067230000001365514161276610017264 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) (** {2 GooCanvas interface} *) open Gtk open GooCanvasEnums open GtkGooCanvas class item_signals : ([>GooCanvas_types.item] as 'a) Gtk.obj -> object inherit ['a] GObj.gobject_signals method button_press : callback:(GdkEvent.Button.t -> bool) -> GtkSignal.id method button_release : callback:(GdkEvent.Button.t -> bool) -> GtkSignal.id method enter_notify : callback:(GdkEvent.Crossing.t -> bool) -> GtkSignal.id method focus_in : callback:(GdkEvent.Focus.t -> bool) -> GtkSignal.id method focus_out : callback:(GdkEvent.Focus.t -> bool) -> GtkSignal.id method key_press : callback:(GdkEvent.Key.t -> bool) -> GtkSignal.id method key_release : callback:(GdkEvent.Key.t -> bool) -> GtkSignal.id method leave_notify : callback:(GdkEvent.Crossing.t -> bool) -> GtkSignal.id method motion_notify : callback:(GdkEvent.Motion.t -> bool) -> GtkSignal.id end class ['p] item : ([> GooCanvas_types.item] as 'o) Gtk.obj -> object('i) constraint 'p = [< items_properties] inherit GObj.gtkobj val obj : 'o obj method as_item : GooCanvas_types.item obj method connect : item_signals method get_bounds : float * float * float * float method set : 'p list -> unit method remove : unit method raise : unit -> unit method set_parent : GooCanvas_types.item obj -> unit method get_n_children : int method remove_child : int -> unit end type base_item = item_p item class canvas : GooCanvas_types.canvas obj -> object inherit GContainer.container val obj : GooCanvas_types.canvas obj method event : GObj.event_ops method as_canvas : GooCanvas_types.canvas obj method get_bounds : float * float * float * float method set_bounds : left:float -> top:float -> right:float -> bottom: float -> unit method get_root_item : item_p item method set_root_item : item_p item -> unit method convert_to_item_space : base_item -> x:float -> y:float -> (float * float) method convert_from_item_space : base_item -> x:float -> y:float -> (float * float) method convert_to_pixels : x:float -> y:float -> (float * float) method convert_from_pixels : x:float -> y:float -> (float * float) method get_scale : float method set_scale : float -> unit method get_item_at : ?is_pointer_event:bool -> x:float -> y:float -> unit -> base_item option method scroll_to : x:float -> y:float -> unit end val canvas : ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> canvas class text : GooCanvas_types.text Gtk.obj -> object inherit [text_p] item val obj : GooCanvas_types.text Gtk.obj end val text : ?text:string -> ?x:float -> ?y:float -> ?width:float -> ?props:GtkGooCanvas.text_p list -> 'a item -> text class rect : GooCanvas_types.rect Gtk.obj -> object inherit [rect_p] item val obj : GooCanvas_types.rect Gtk.obj end val rect : ?x:float -> ?y:float -> ?width:float -> ?height:float -> ?props:GtkGooCanvas.rect_p list -> 'a item -> rect class widget : GooCanvas_types.widget Gtk.obj -> object inherit [widget_p] item val obj : GooCanvas_types.widget Gtk.obj end val widget : ?x:float -> ?y:float -> ?width:float -> ?height:float -> ?props:GtkGooCanvas.widget_p list -> Gtk.widget obj -> 'a item -> widget class image : GooCanvas_types.image Gtk.obj -> object inherit [image_p] item val obj : GooCanvas_types.image Gtk.obj end val image : ?x:float -> ?y:float -> ?pixbuf:GdkPixbuf.pixbuf -> ?props:GtkGooCanvas.image_p list -> 'a item -> image class group : GooCanvas_types.group Gtk.obj -> object inherit [group_p] item val obj : GooCanvas_types.group Gtk.obj method width : float end val group : ?props:GtkGooCanvas.group_p list -> ?parent:'a item -> unit -> group val canvas_points : (float * float) list -> canvas_points class polyline : GooCanvas_types.polyline Gtk.obj -> object inherit [polyline_p] item val obj : GooCanvas_types.polyline Gtk.obj end val polyline : ?close_path:bool -> ?points:(float * float) list -> ?props:GtkGooCanvas.polyline_p list -> 'a item -> polyline val polyline_line : x1:float -> y1:float -> x2:float -> y2:float -> ?props:GtkGooCanvas.polyline_p list -> 'a item -> polyline lablgtk-3.1.2/src-goocanvas2/gooCanvas_types.mli0000644000650106067230000000502514161276610020500 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) type canvas = [Gtk.container | `oocanvas] type item = [`oocanvasitem] type item_model = [`oocanvasitemmodel] type item_simple = [`oocanvasitemsimple] type item_model_simple = [`oocanvasitemmodelsimple] type style = [`oocanvasstyle] type group = [item|`oocanvasgroup] type ellipse = [item|`oocanvasellipse] type grid = [item|`oocanvasgrid] type image = [item|`oocanvasimage] type path = [item|`oocanvaspath] type polyline = [item|`oocanvaspolyline] type rect = [item|`oocanvasrect] type text = [item|`oocanvastext] type widget = [item|`oocanvaswidget] type table = [group|`oocanvastable] type grou_pmodel = [`oocanvasgroupmodel] type ellipse_model = [`oocanvasellipsemodel] type grid_model = [`oocanvasgridmodel] type image_model = [`oocanvasimagemodel] type path_model = [`oocanvaspathmodel] type polyline_model = [`oocanvaspolylinemodel] type rect_model = [`oocanvasrectmodel] type text_model = [`oocanvastextmodel] type table_model = [`oocanvastablemodel] lablgtk-3.1.2/src-goocanvas2/goocanvas_tags.var0000644000650106067230000000067214161276610020344 0ustar glondusedpackage "gooCanvas" type anchor_type = "GOO_CANVAS_ANCHOR_" [ `CENTER | `N | `NW | `NE | `S | `SW | `SE | `W | `E ] type item_visibility = "GOO_CANVAS_ITEM_" [ `HIDDEN | `INVISIBLE | `VISIBLE | `VISIBLE_ABOVE_THRESHOLD ] type flags pointer_events = "GOO_CANVAS_EVENTS_" [ `VISIBLE_MASK | `PAINTED_MASK | `FILL_MASK | `STROKE_MASK | `NONE | `VISIBLE_PAINTED | `VISIBLE_FILL | `VISIBLE_STROKE | `VISIBLE | `PAINTED | `FILL | `STROKE | `ALL ]lablgtk-3.1.2/src-goocanvas2/gtkGooCanvas.ml0000644000650106067230000002157214161276610017556 0ustar glondused open GooCanvas_types type canvas_points type items_properties = [ (* | `ALIGNMENT of PangoAlignment *) | `ALPHA of float | `ANCHOR of GooCanvasEnums.anchor_type | `ARROW_LENGTH of float | `ARROW_TIP_LENGTH of float | `ARROW_WIDTH of float (* | `ANTIALIAS of GooCairoAntialias *) | `CAN_FOCUS of bool (* | `CLIP_FILL_RULE of GooCairoFillRule *) | `CLIP_PATH of string | `CLOSE_PATH of bool | `DESCRIPTION of string (* | `ELLIPSIZE of PangoEllipsizeMode *) | `END_ARROW of bool | `FILL_COLOR of string | `FILL_COLOR_RGBA of int32 (* | `FILL_PATTERN of GooCairoPattern* *) | `FILL_PIXBUF of GdkPixbuf.pixbuf (* | `FILL_RULE of GooCairoFillRule *) | `FONT of string | `FONT_DESC of Pango.font_description (* | `HINT_METRICS GooCairoHintMetrics of *) | `HEIGHT of float (* | `LINE_CAP of GooCairoLineCap*) (* | `LINE_DASH of GooCanvasLineDash *) (* | `LINE_JOIND of GooCairoLineJoin *) | `LINE_JOIN_MITER_LIMIT of float | `LINE_WIDTH of float (* | `PATTERN of *) (* | `OPERATOR of GooCairoOperator *) | `PIXBUF of GdkPixbuf.pixbuf | `POINTER_EVENTS of GooCanvasEnums.pointer_events list | `POINTS of canvas_points | `RADIUS_X of float | `RADIUS_Y of float | `SCALE_TO_FIT of bool | `START_ARROW of bool | `STROKE_COLOR of string | `STROKE_COLOR_RGBA of int32 (* | `STROKE_PATTERN of GooCairoPattern* *) | `STROKE_PIXBUF of GdkPixbuf.pixbuf | `TEXT of string | `TITLE of string | `TOOLTIP of string (* | `TRANSFORM of GooCairoMatrix* *) | `USE_MARKUP of bool | `VISIBILITY of GooCanvasEnums.item_visibility | `VISIBILITY_THRESHOLD of float (* | `WRAP of PangoWrapMode *) | `WIDTH of float | `WIDGET of Gtk.widget Gobject.obj | `X of float | `Y of float ] type item_p = [ | `CAN_FOCUS of bool | `DESCRIPTION of string | `FILL_COLOR of string | `FILL_COLOR_RGBA of int32 | `FILL_PIXBUF of GdkPixbuf.pixbuf | `FONT of string | `FONT_DESC of Pango.font_description | `LINE_JOIN_MITER_LIMIT of float | `LINE_WIDTH of float | `POINTER_EVENTS of GooCanvasEnums.pointer_events list | `STROKE_COLOR of string | `STROKE_COLOR_RGBA of int32 | `STROKE_PIXBUF of GdkPixbuf.pixbuf | `TITLE of string | `TOOLTIP of string | `VISIBILITY of GooCanvasEnums.item_visibility | `VISIBILITY_THRESHOLD of float ] type text_p = [ item_p | `ANCHOR of GooCanvasEnums.anchor_type | `HEIGHT of float | `TEXT of string | `USE_MARKUP of bool | `WIDTH of float | `X of float | `Y of float ] type rect_p = [ item_p | `HEIGHT of float | `RADIUS_X of float | `RADIUS_Y of float | `WIDTH of float | `X of float | `Y of float ] type widget_p = [ item_p | `ANCHOR of GooCanvasEnums.anchor_type | `HEIGHT of float | `WIDTH of float | `WIDGET of Gtk.widget Gobject.obj | `X of float | `Y of float ] type image_p = [ item_p | `ALPHA of float | `HEIGHT of float (* | `PATTERN of *) | `PIXBUF of GdkPixbuf.pixbuf | `SCALE_TO_FIT of bool | `WIDTH of float | `X of float | `Y of float ] type group_p = [ item_p | `HEIGHT of float | `WIDTH of float | `X of float | `Y of float ] type polyline_p = [ item_p | `ARROW_LENGTH of float | `ARROW_TIP_LENGTH of float | `ARROW_WIDTH of float | `CLOSE_PATH of bool | `END_ARROW of bool | `HEIGHT of float | `POINTS of canvas_points | `START_ARROW of bool | `WIDTH of float | `X of float | `Y of float ] type item_event = [ `BUTTON_PRESS | `BUTTON_RELEASE | `MOTION_NOTIFY | `KEY_PRESS | `KEY_RELEASE | `ENTER_NOTIFY | `LEAVE_NOTIFY ] Gdk.event module Item = struct external get_bounds : item Gobject.obj -> float array = "ml_goo_canvas_item_get_bounds" external remove : item Gobject.obj -> unit = "ml_goo_canvas_item_remove" external raise : item Gobject.obj -> item Gobject.obj option -> unit = "ml_goo_canvas_item_raise" external set_parent : item Gobject.obj -> item Gobject.obj -> unit = "ml_goo_canvas_item_set_parent" external get_n_children : item Gobject.obj -> int = "ml_goo_canvas_item_get_n_children" external remove_child : item Gobject.obj -> int -> unit = "ml_goo_canvas_item_remove_child" module Signals = struct let marshal = GtkBase.Widget.Signals.Event.marshal module Event = struct open GtkSignal let marshal f argv = match Gobject.Closure.get_args argv with | _ :: _ :: [`POINTER(Some p)] -> let ev = GdkEvent.unsafe_copy p in Gobject.Closure.set_result argv (`BOOL(f ev)) | _ -> invalid_arg "GtkGooCanvas.Item.Signals.Event.marshal" let button_press : ([>`oocanvasitem], GdkEvent.Button.t -> bool) t = { name = "button_press_event"; classe = `oocanvasitem; marshaller = marshal } let button_release : ([>`oocanvasitem], GdkEvent.Button.t -> bool) t = { name = "button_release_event"; classe = `oocanvasitem; marshaller = marshal } let enter_notify : ([>`oocanvasitem], GdkEvent.Crossing.t -> bool) t = { name = "enter_notify_event"; classe = `oocanvasitem; marshaller = marshal } let focus_in : ([>`oocanvasitem], GdkEvent.Focus.t -> bool) t = { name = "focus_in_event"; classe = `oocanvasitem; marshaller = marshal } let focus_out : ([>`oocanvasitem], GdkEvent.Focus.t -> bool) t = { name = "focus_out_event"; classe = `oocanvasitem; marshaller = marshal } let key_press : ([>`oocanvasitem], GdkEvent.Key.t -> bool) t = { name = "key_press_event"; classe = `oocanvasitem; marshaller = marshal } let key_release : ([>`oocanvasitem], GdkEvent.Key.t -> bool) t = { name = "key_release_event"; classe = `oocanvasitem; marshaller = marshal } let leave_notify : ([>`oocanvasitem], GdkEvent.Crossing.t -> bool) t = { name = "leave_notify_event"; classe = `oocanvasitem; marshaller = marshal } let motion_notify : ([>`oocanvasitem], GdkEvent.Motion.t -> bool) t = { name = "motion_notify_event"; classe = `oocanvasitem; marshaller = marshal } end end end module Canvas = struct external new_canvas : unit -> canvas Gobject.obj = "ml_goo_canvas_new" external get_bounds : canvas Gobject.obj -> float array = "ml_goo_canvas_get_bounds" external set_bounds : canvas Gobject.obj -> left:float -> top:float -> right:float -> bottom: float -> unit = "ml_goo_canvas_set_bounds" external get_root_item : [>canvas] Gobject.obj -> item Gobject.obj = "ml_goo_canvas_get_root_item" external set_root_item : [>canvas] Gobject.obj -> [>item] Gobject.obj -> unit = "ml_goo_canvas_set_root_item" external convert_to_item_space : [>canvas] Gobject.obj -> item Gobject.obj -> float -> float -> float * float = "ml_goo_canvas_convert_to_item_space" external convert_from_item_space : [>canvas] Gobject.obj -> item Gobject.obj -> float -> float -> float * float = "ml_goo_canvas_convert_from_item_space" external convert_to_pixels : [>canvas] Gobject.obj -> float -> float -> float * float = "ml_goo_canvas_convert_to_pixels" external convert_from_pixels : [>canvas] Gobject.obj -> float -> float -> float * float = "ml_goo_canvas_convert_from_pixels" external get_scale : [>canvas] Gobject.obj -> float = "ml_goo_canvas_get_scale" external set_scale : [>canvas] Gobject.obj -> float -> unit = "ml_goo_canvas_set_scale" external get_item_at : [>canvas] Gobject.obj -> float -> float -> bool -> item Gobject.obj option = "ml_goo_canvas_get_item_at" external scroll_to : [>canvas] Gobject.obj -> float -> float -> unit = "ml_goo_canvas_scroll_to" end module Text = struct external new_text : item Gobject.obj-> string -> x:float -> y:float -> width:float -> text Gobject.obj = "ml_goo_canvas_text_new" end module Rect = struct external new_rect : item Gobject.obj-> x:float -> y:float -> width:float -> height:float -> rect Gobject.obj = "ml_goo_canvas_rect_new" end module Widget = struct external new_widget : item Gobject.obj-> Gtk.widget Gobject.obj -> x:float -> y:float -> width:float -> height:float -> widget Gobject.obj = "ml_goo_canvas_widget_new_bc" "ml_goo_canvas_widget_new" end module Image = struct external new_image : item Gobject.obj-> pixbuf:GdkPixbuf.pixbuf option -> x:float -> y:float -> image Gobject.obj = "ml_goo_canvas_image_new" end module Group = struct external new_group : item Gobject.obj option-> group Gobject.obj = "ml_goo_canvas_group_new" let width = { Gobject.name = "width"; Gobject.conv = Gobject.Data.double } end module Points = struct external new_points : int -> float array -> canvas_points = "ml_goo_canvas_points_new" end module Polyline = struct external new_polyline : item Gobject.obj -> bool -> polyline Gobject.obj = "ml_goo_canvas_polyline_new" external new_polyline_line : item Gobject.obj -> float -> float -> float -> float -> polyline Gobject.obj = "ml_goo_canvas_polyline_new_line" end lablgtk-3.1.2/src-goocanvas2/gtkGooCanvas.props0000644000650106067230000000316414161276610020306 0ustar glondusedprefix "GooCanvas" header { open GooCanvas_types open GooCanvasEnums } oheader { open Gobject } tagprefix "goocanvas" classes { GdkPixbuf "GdkPixbuf.pixbuf" GdkDrawable "[`drawable] obj" GtkWidget "Gtk.widget obj" } class ItemSimple type "item_simple obj" wrap : GObject { "antialias" GooCairoAntialias : Read / Write "clip-fill-rule" GooCairoFillRule : Read / Write "clip-path" gchararray : Write "fill-color" gchararray : Write "fill-color-rgba" guint : Read / Write "fill-pattern" GooCairoPattern : Read / Write "fill-pixbuf" GdkPixbuf : Write "fill-rule" GooCairoFillRule : Read / Write "font" gchararray : Read / Write "font-desc" PangoFontDescription : Read / Write "hint-metrics" GooCairoHintMetrics : Read / Write "line-cap" GooCairoLineCap : Read / Write "line-dash" GooCanvasLineDash : Read / Write "line-join" GooCairoLineJoin : Read / Write "line-join-miter-limit" gdouble : Read / Write "line-width" gdouble : Read / Write "operator" GooCairoOperator : Read / Write "stroke-color" gchararray : Write "stroke-color-rgba" guint : Read / Write "stroke-pattern" GooCairoPattern : Read / Write "stroke-pixbuf" GdkPixbuf : Write } lablgtk-3.1.2/src-goocanvas2/ml_gtkgoocanvas.c0000644000650106067230000002227614161276610020162 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ #include #include #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "ml_gobject.h" #include "ml_gdkpixbuf.h" #include "ml_pango.h" #include "gtk_tags.h" #include "gdk_tags.h" #include "goocanvas_tags.h" #include #include "goocanvas_tags.c" static inline value goo_copy_double_array(double *a, size_t len) { value v; register unsigned int i; v = alloc(len * Double_wosize, Double_array_tag); for(i=0; icoords[i] = Double_field(points,i) ; } return Val_GooCanvasPoints_new(p); } CAMLprim value ml_goo_canvas_polyline_new(value p, value close_path) { return Val_GooCanvasPolyline_new( goo_canvas_polyline_new(GooCanvasItem_val(p), Bool_val(close_path), 0, NULL)); } CAMLprim value ml_goo_canvas_polyline_new_line(value p, value x1, value y1, value x2, value y2) { return Val_GooCanvasPolyline_new( goo_canvas_polyline_new_line(GooCanvasItem_val(p), Double_val(x1), Double_val(y1), Double_val(x2), Double_val(y2), NULL)); }lablgtk-3.1.2/src-gtkspell3/0000755000650106067230000000000014161276610014475 5ustar glondusedlablgtk-3.1.2/src-gtkspell3/dune0000644000650106067230000000135014161276610015352 0ustar glondused; Dune build file for lablgtk3 ; Written by EJGA, (c) 2018-2019 MINES ParisTech ; This file is in the public domain ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; lablgtk3-gtkspell ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (rule (targets cflag-gtkspell3-3.0.sexp clink-gtkspell3-3.0.sexp) (action (run dune_config -pkg gtkspell3-3.0 -version 3.0.4))) (library (name lablgtk3_gtkspell3) (public_name lablgtk3-gtkspell3) (wrapped false) (flags :standard -w -6-50) (c_names ml_gtkspell) (c_flags (:include cflag-gtkspell3-3.0.sexp)) (c_library_flags (:include clink-gtkspell3-3.0.sexp)) (libraries lablgtk3)) lablgtk-3.1.2/src-gtkspell3/gtkSpell.ml0000644000650106067230000000544314161276610016622 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) type error = BACKEND exception Error of error * string external _init : unit -> unit = "ml_gtkspell_init" let () = _init () ; Callback.register_exception "gtkspell_error" (Error (BACKEND, "")) (* unsafe! lifecycle of the GtkSpell struct is tied to the GtkTextView *) type t external _new_attach : Gtk.text_view Gtk.obj -> t = "ml_gtkspell_new_attach" external _is_attached : Gtk.text_view Gtk.obj -> bool = "ml_gtkspell_is_attached" external _get_from_text_view : Gtk.text_view Gtk.obj -> t option = "ml_gtkspell_get_from_text_view" external _detach : t -> unit = "ml_gtk_spell_checker_detach" external _set_language : t -> string option -> unit = "ml_gtkspell_set_language" external _recheck_all : t -> unit = "ml_gtk_spell_checker_recheck_all" let attach ?lang view = let sc = _new_attach view#as_view in _set_language sc lang let is_attached view = _is_attached view#as_view let detach view = match _get_from_text_view view#as_view with | None -> () | Some s -> _detach s let recheck_all view = match _get_from_text_view view#as_view with | None -> () | Some s -> _recheck_all s let set_language view lang = match _get_from_text_view view#as_view with | None -> () | Some s -> _set_language s lang lablgtk-3.1.2/src-gtkspell3/gtkSpell.mli0000644000650106067230000000375114161276610016773 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) (** GtkSpell interface *) type error = BACKEND exception Error of error * string val attach : ?lang:string -> #GText.view -> unit (** Starts spell checking on the GtkTextView. @raise Error . *) val is_attached : #GText.view -> bool val detach : #GText.view -> unit val recheck_all : #GText.view -> unit val set_language : #GText.view -> string option -> unit (** @raise Error . *) lablgtk-3.1.2/src-gtkspell3/ml_gtkspell.c0000644000650106067230000000564514161276610017170 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ #include #include #include #include #include #include CAMLprim value ml_gtkspell_init (value unit) { ml_register_exn_map (GTK_SPELL_ERROR, "gtkspell_error"); return Val_unit; } CAMLprim value ml_gtkspell_new_attach (value textview) { GtkSpellChecker *sc = gtk_spell_checker_new(); if (!gtk_spell_checker_attach (sc, check_cast(GTK_TEXT_VIEW, textview))) { g_object_unref(sc); failwith("GtkSpell.attach"); } return Val_GAnyObject(sc); } CAMLprim value ml_gtkspell_is_attached (value textview) { return Val_bool (gtk_spell_checker_get_from_text_view (check_cast(GTK_TEXT_VIEW, textview))); } CAMLprim value ml_gtkspell_get_from_text_view (value view) { GtkSpellChecker *s; s = gtk_spell_checker_get_from_text_view (check_cast(GTK_TEXT_VIEW, view)); return s ? ml_some (Val_GAnyObject (s)) : Val_unit; } #define GtkSpell_val(v) (GtkSpellChecker *)GObject_val(v) ML_1 (gtk_spell_checker_detach, GtkSpell_val, Unit) CAMLprim value ml_gtkspell_set_language (value spell, value lang) { GError *err = NULL; if (! gtk_spell_checker_set_language (GtkSpell_val (spell), String_option_val (lang), &err)) ml_raise_gerror (err); return Val_unit; } ML_1 (gtk_spell_checker_recheck_all, GtkSpell_val, Unit) lablgtk-3.1.2/src-sourceview3/0000755000650106067230000000000014161276610015043 5ustar glondusedlablgtk-3.1.2/src-sourceview3/dune0000644000650106067230000000240014161276610015715 0ustar glondused; Dune build file for lablgtk3 ; Written by EJGA, (c) 2018-2019 MINES ParisTech ; This file is in the public domain (rule (targets sourceView3_tags.h sourceView3_tags.c sourceView3Enums.ml) (action (run varcc %{dep:sourceView3_tags.var}))) (rule (targets gtkSourceView3Props.ml ogtkSourceView3Props.ml) (action (run propcc %{dep:gtkSourceView3.props}))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; lablgtk3-sourceview3 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (rule (targets cflag-gtksourceview-3.0.sexp clink-gtksourceview-3.0.sexp) (action (run dune_config -pkg gtksourceview-3.0 -version 3.18))) (rule (targets cflag-extraflags.sexp) (action (with-outputs-to cflag-extraflags.sexp (echo "(%{env:LABLGTK_EXTRA_FLAGS=})")))) (library (name lablgtk3_sourceview3) (public_name lablgtk3-sourceview3) (wrapped false) (flags :standard -w -6-7-27-32-33-34-36) (modules_without_implementation gtkSourceView3_types) (c_names ml_gtksourceview3) (c_flags (:include cflag-gtksourceview-3.0.sexp) (:include cflag-extraflags.sexp) -Wno-deprecated-declarations) (c_library_flags (:include clink-gtksourceview-3.0.sexp)) (libraries lablgtk3)) lablgtk-3.1.2/src-sourceview3/gSourceView3.ml0000644000650106067230000005534314161276610017734 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) open Gaux open GtkSourceView3 open SourceView3Enums open Gobject open Gtk open GtkBase open GtkSourceView3_types open OgtkSourceView3Props open GObj let get_bool = function `BOOL x -> x | _ -> assert false let bool x = `BOOL x let get_uint = function `INT x -> x | _ -> assert false let uint x = `INT x let get_int = function `INT x -> x | _ -> assert false let int x = `INT x let get_gobject = function `OBJECT x -> x | _ -> assert false let gobject x = `OBJECT (Some x) let map_opt f = function None -> None | Some x -> Some (f x) (** {2 GtkSourceTag} *) type source_tag_property = [ | `BACKGROUND of Gdk.color | `BOLD of bool | `FOREGROUND of Gdk.color | `ITALIC of bool | `STRIKETHROUGH of bool | `UNDERLINE of bool ] let text_tag_property_of_source_tag_property = function | `BACKGROUND p -> `BACKGROUND_GDK p | `BOLD p -> `WEIGHT (if p then `BOLD else `NORMAL) | `FOREGROUND p -> `FOREGROUND_GDK p | `ITALIC p -> `STYLE (if p then `ITALIC else `NORMAL) | `STRIKETHROUGH p -> `STRIKETHROUGH p | `UNDERLINE p -> `UNDERLINE (if p then `SINGLE else `NONE) (* Gtk.Color deactivated let color_of_string s = Gdk.Color.alloc ~colormap: (Gdk.Color.get_system_colormap()) (`NAME s) *) (** {2 GtkSourceStyleScheme} *) class source_style_scheme (obj: GtkSourceView3_types.source_style_scheme obj) = object(self) method as_source_style_scheme = obj method name = SourceStyleScheme.get_name obj method description = SourceStyleScheme.get_description obj end (** {2 GtkSourceStyleSchemeManager} *) class source_style_scheme_manager (obj: GtkSourceView3_types.source_style_scheme_manager obj) = object(self) val obj = obj inherit source_style_scheme_manager_props method search_path = SourceStyleSchemeManager.get_search_path obj method set_search_path = SourceStyleSchemeManager.set_search_path obj method style_scheme_ids = SourceStyleSchemeManager.get_scheme_ids obj method style_scheme s = may_map (new source_style_scheme) (SourceStyleSchemeManager.get_scheme obj s) end let source_style_scheme_manager ~default = let mgr = if default then SourceStyleSchemeManager.default () else SourceStyleSchemeManager.new_ () in new source_style_scheme_manager mgr (** {2 GtkSourceCompletionInfo} *) class source_completion_info_signals (obj' : GtkSourceView3_types.source_completion_info obj) = object inherit GContainer.container_signals_impl obj' inherit source_completion_info_sigs end class source_completion_info (obj' : ([> GtkSourceView3_types.source_completion_info ] as 'a) obj) = object inherit GWindow.window obj' inherit source_completion_info_props method as_source_completion_info = (obj :> GtkSourceView3_types.source_completion_info obj) method widget = new GObj.widget (SourceCompletionInfo.get_widget obj) method set_widget (w : GObj.widget) = SourceCompletionInfo.set_widget obj w#as_widget end (** {2 GtkSourceCompletionProposal} *) class source_completion_proposal_signals (obj' : GtkSourceView3_types.source_completion_proposal obj) = object inherit ['a] gobject_signals (obj' : [> GtkSourceView3_types.source_completion_proposal ] obj) inherit source_completion_proposal_sigs end class source_completion_proposal (obj : GtkSourceView3_types.source_completion_proposal obj) = object val obj = obj method connect = new source_completion_proposal_signals obj method as_source_completion_proposal = obj inherit source_completion_proposal_props end class source_completion_item (obj : GtkSourceView3_types.source_completion_proposal obj) = object inherit source_completion_proposal obj inherit source_completion_item_props end let source_completion_item ?(label = "") ?(text = "") ?icon ?info () = new source_completion_item (SourceCompletionItem.new_ label text icon info) let source_completion_item_with_markup ?(label = "") ?(text = "") ?icon ?info () = new source_completion_item (SourceCompletionItem.new_with_markup label text icon info) let source_completion_item_from_stock ?(label = "") ?(text = "") ~stock ~info () = let stock = GtkStock.Item.lookup stock in let id = stock.GtkStock.stock_id in new source_completion_item (SourceCompletionItem.new_from_stock label text id info) (** {2 GtkSourceCompletionProvider} *) class source_completion_provider (obj' : GtkSourceView3_types.source_completion_provider obj) = object val obj = obj' method as_source_completion_provider = obj method icon = SourceCompletionProvider.get_icon obj method name = SourceCompletionProvider.get_name obj method populate (context : source_completion_context) = SourceCompletionProvider.populate obj context#as_source_completion_context method activation = SourceCompletionProvider.get_activation obj method matched (context : source_completion_context) = SourceCompletionProvider.match_ obj context#as_source_completion_context method info_widget (proposal : source_completion_proposal) = let widget = SourceCompletionProvider.get_info_widget obj proposal#as_source_completion_proposal in match widget with | None -> None | Some widget -> Some (new GObj.widget widget) method update_info (proposal : source_completion_proposal) (info : source_completion_info) = SourceCompletionProvider.update_info obj proposal#as_source_completion_proposal info#as_source_completion_info method start_iter (context : source_completion_context) (proposal : source_completion_proposal) = let iter = SourceCompletionProvider.get_start_iter obj context#as_source_completion_context proposal#as_source_completion_proposal in new GText.iter iter method activate_proposal (proposal : source_completion_proposal) (iter : GText.iter) = SourceCompletionProvider.activate_proposal obj proposal#as_source_completion_proposal iter#as_iter method interactive_delay = SourceCompletionProvider.get_interactive_delay obj method priority = SourceCompletionProvider.get_priority obj end (** {2 GtkSourceCompletionContext} *) and source_completion_context_signals (obj' : GtkSourceView3_types.source_completion_context obj) = object inherit ['a] gobject_signals (obj' : [> GtkSourceView3_types.source_completion_context ] obj) inherit source_completion_context_sigs end and source_completion_context (obj' : GtkSourceView3_types.source_completion_context obj) = object val obj = obj' val iter_prop = { Gobject.name = "iter"; conv = Gobject.Data.unsafe_pointer } inherit source_completion_context_props method as_source_completion_context = obj method activation = SourceCompletionContext.get_activation obj method add_proposals (provider : source_completion_provider) (proposals : source_completion_proposal list) b = let proposals = List.map (fun obj -> obj#as_source_completion_proposal) proposals in SourceCompletionContext.add_proposals obj provider#as_source_completion_provider proposals b method connect = new source_completion_context_signals obj' method iter = new GText.iter (Gobject.get iter_prop obj) method set_iter (iter : GText.iter) = Gobject.set iter_prop obj (iter#as_iter) end class type custom_completion_provider = object method name : string method icon : GdkPixbuf.pixbuf option method populate : source_completion_context -> unit method matched : source_completion_context -> bool method activation : source_completion_activation_flags list method info_widget : source_completion_proposal -> GObj.widget option method update_info : source_completion_proposal -> source_completion_info -> unit method start_iter : source_completion_context -> source_completion_proposal -> GText.iter -> bool method activate_proposal : source_completion_proposal -> GText.iter -> bool method interactive_delay : int method priority : int end let source_completion_provider (p : custom_completion_provider) : source_completion_provider = let of_context ctx = new source_completion_context ctx in let of_proposal prop = new source_completion_proposal prop in let of_info info = new source_completion_info info in let of_iter iter = new GText.iter iter in let as_opt_widget = function | None -> None | Some obj -> Some obj#as_widget in let completion_provider = { SourceCompletionProvider.provider_name = (fun () -> p#name); provider_icon = (fun () -> p#icon); provider_populate = (fun ctx -> p#populate (of_context ctx)); provider_match = (fun ctx -> p#matched (of_context ctx)); provider_activation = (fun () -> p#activation); provider_info_widget = (fun prop -> as_opt_widget (p#info_widget (of_proposal prop))); provider_update_info = (fun prop info -> p#update_info (of_proposal prop) (of_info info)); provider_start_iter = (fun ctx prop iter -> p#start_iter (of_context ctx) (of_proposal prop) (of_iter iter)); provider_activate_proposal = (fun prop iter -> p#activate_proposal (of_proposal prop) (of_iter iter)); provider_interactive_delay = (fun () -> p#interactive_delay); provider_priority = (fun () -> p#priority); } in let obj = SourceCompletionProvider.new_ completion_provider in new source_completion_provider obj (** {2 GtkSourceCompletion} *) class source_completion_signals obj' = object (self) inherit ['a] gobject_signals (obj' : [> GtkSourceView3_types.source_completion] obj) inherit source_completion_sigs method populate_context ~callback = let callback obj = callback (new source_completion_context obj) in self#connect SourceCompletion.S.populate_context ~callback end class source_completion (obj : GtkSourceView3_types.source_completion obj) = object val obj = obj inherit source_completion_props as super method as_source_completion = obj method connect = new source_completion_signals obj method create_context (iter : GText.iter) = let obj = SourceCompletion.create_context obj (iter#as_iter) in new source_completion_context obj method move_window (iter : GText.iter) = SourceCompletion.move_window obj (iter#as_iter) method show (prs : source_completion_provider list) (ctx : source_completion_context) = let prs = List.map (fun pr -> pr#as_source_completion_provider) prs in SourceCompletion.show obj prs ctx#as_source_completion_context method providers = let prs = SourceCompletion.get_providers obj in List.map (fun pr -> new source_completion_provider pr) prs method add_provider (pr : source_completion_provider) = SourceCompletion.add_provider obj (pr#as_source_completion_provider) method remove_provider (pr : source_completion_provider) = SourceCompletion.remove_provider obj (pr#as_source_completion_provider) end (** {2 GtkSourceLanguage} *) class source_language (obj: GtkSourceView3_types.source_language obj) = object (self) method as_source_language = obj val obj = obj method misc = new gobject_ops obj method id = SourceLanguage.get_id obj method name = SourceLanguage.get_name obj method section = SourceLanguage.get_section obj method hidden = SourceLanguage.get_hidden obj method metadata s = SourceLanguage.metadata obj s method mime_types = SourceLanguage.mime_types obj method globs = SourceLanguage.globs obj method style_name s = SourceLanguage.style_name obj s method style_ids = SourceLanguage.style_ids obj end (** {2 GtkSourceLanguageManager} *) class source_language_manager (obj: GtkSourceView3_types.source_language_manager obj) = object (self) method get_oid = Gobject.get_oid obj method as_source_language_manager = obj method set_search_path p = SourceLanguageManager.set_search_path obj p method search_path = SourceLanguageManager.search_path obj method language_ids = SourceLanguageManager.language_ids obj method language id = may_map (new source_language) (SourceLanguageManager.language obj id ) method guess_language ?filename ?content_type () = may_map (new source_language) (SourceLanguageManager.guess_language obj filename content_type) end let source_language_manager ~default = new source_language_manager (if default then SourceLanguageManager.default () else SourceLanguageManager.create []) (** {2 GtkSourceMark} *) class source_mark (obj: GtkSourceView3_types.source_mark obj) = object (self) method coerce = (`MARK (GtkText.Mark.cast obj):GText.mark) method as_source_mark = obj val obj = obj inherit source_mark_props method next ?category () = may_map (fun m -> new source_mark m) (SourceMark.next obj category) method prev ?category () = may_map (fun m -> new source_mark m) (SourceMark.prev obj category) end let source_mark ?category () = new source_mark (SourceMark.create ?category []) (** {2 GtkSourceMarkAttributes} *) class source_mark_attributes (obj: GtkSourceView3_types.source_mark_attributes obj) = object (self) method as_source_mark_attributes = obj val obj = obj inherit source_mark_attributes_props end let source_mark_attributes () = let obj = SourceMarkAttributes.create [] in new source_mark_attributes obj (** {2 GtkSourceUndoManager} *) class source_undo_manager_signals obj' = object (self) inherit ['a] gobject_signals (obj' : [> GtkSourceView3_types.source_undo_manager] obj) inherit source_undo_manager_sigs end class source_undo_manager (obj : GtkSourceView3_types.source_undo_manager obj) = object val obj = obj inherit source_undo_manager_props method as_source_undo_manager = obj method connect = new source_undo_manager_signals obj end class type custom_undo_manager = object method can_undo : bool method can_redo : bool method undo : unit -> unit method redo : unit -> unit method begin_not_undoable_action : unit -> unit method end_not_undoable_action : unit -> unit method can_undo_changed : unit -> unit method can_redo_changed : unit -> unit end let source_undo_manager (manager : custom_undo_manager) : source_undo_manager = let undo_manager = { SourceUndoManager.can_undo = (fun () -> manager#can_undo); can_redo = (fun () -> manager#can_redo); undo = manager#undo; redo = manager#redo; begin_not_undoable_action = manager#begin_not_undoable_action; end_not_undoable_action = manager#end_not_undoable_action; can_undo_changed = manager#can_undo_changed; can_redo_changed = manager#can_redo_changed; } in let obj = SourceUndoManager.new_ undo_manager in new source_undo_manager obj (** {2 GtkSourceBuffer} *) class source_buffer_signals obj' = object inherit ['a] gobject_signals (obj' : [> GtkSourceView3_types.source_buffer] obj) inherit GText.buffer_signals_skel inherit source_buffer_sigs end and source_buffer (_obj: GtkSourceView3_types.source_buffer obj) = object (self) inherit GText.buffer_skel _obj as text_buffer val obj = _obj method private obj = _obj inherit source_buffer_props method as_source_buffer = obj method connect = new source_buffer_signals obj method misc = new gobject_ops obj method language = may_map (new source_language) (get SourceBuffer.P.language obj) method set_language (l:source_language option) = set SourceBuffer.P.language obj (may_map (fun l -> l#as_source_language) l) method style_scheme = may_map (new source_style_scheme) (get SourceBuffer.P.style_scheme obj) method set_style_scheme (s:source_style_scheme option) = match s with None -> () | Some scheme -> set SourceBuffer.P.style_scheme obj (Some scheme#as_source_style_scheme) method undo () = SourceBuffer.undo obj method redo () = SourceBuffer.redo obj method begin_not_undoable_action () = SourceBuffer.begin_not_undoable_action obj method end_not_undoable_action () = SourceBuffer.end_not_undoable_action obj method create_source_mark ?name ?category (iter:GText.iter) = new source_mark(SourceBuffer.create_source_mark obj name category iter#as_iter) method source_marks_at_line ?category line = List.map (fun mark -> new source_mark mark) (SourceBuffer.get_source_marks_at_line obj line category) method source_marks_at_iter ?category (iter:GText.iter) = List.map (fun mark -> new source_mark mark) (SourceBuffer.get_source_marks_at_iter obj iter#as_iter category) method remove_source_marks ?category ~(start:GText.iter) ~(stop:GText.iter) () = SourceBuffer.remove_source_marks obj start#as_iter stop#as_iter category method forward_iter_to_source_mark ?category (iter:GText.iter) = SourceBuffer.forward_iter_to_source_mark obj iter#as_iter category method backward_iter_to_source_mark ?category (iter:GText.iter) = SourceBuffer.backward_iter_to_source_mark obj iter#as_iter category method iter_has_context_class (iter:GText.iter) context_class = SourceBuffer.iter_has_context_class obj iter#as_iter context_class method iter_forward_to_context_class_toggle (iter:GText.iter) context_class = SourceBuffer.iter_forward_to_context_class_toggle obj iter#as_iter context_class method iter_backward_to_context_class_toggle (iter:GText.iter) context_class = SourceBuffer.iter_backward_to_context_class_toggle obj iter#as_iter context_class method ensure_highlight ~(start:GText.iter) ~(stop:GText.iter) = SourceBuffer.ensure_highlight obj start#as_iter stop#as_iter method set_undo_manager (manager : source_undo_manager) = let manager = manager#as_source_undo_manager in Gobject.set SourceBuffer.P.undo_manager obj manager method undo_manager = let manager = Gobject.get SourceBuffer.P.undo_manager obj in new source_undo_manager manager end let source_buffer ?(language:source_language option) ?(style_scheme:source_style_scheme option) ?(tag_table : GText.tag_table option) ?text ?(undo_manager : source_undo_manager option) = let language = match language with | None -> None | Some source_language -> Some (source_language#as_source_language) in let style_scheme = match style_scheme with | None -> None | Some schm -> Some (schm#as_source_style_scheme) in let undo_manager = match undo_manager with | None -> None | Some manager -> Some (manager#as_source_undo_manager) in SourceBuffer.make_params [] ?language ?style_scheme ?undo_manager ~cont:(fun pl () -> let buf = match tag_table with None -> new source_buffer (SourceBuffer.create pl) | Some tt -> let obj = SourceBuffer.new_ tt#as_tag_table in Gobject.set_params (Gobject.try_cast obj "GtkSourceBuffer") pl; new source_buffer obj in (match text with | None -> () | Some text -> buf#set_text text); buf) (** {2 GtkSourceView} *) class source_view_signals obj' = object inherit widget_signals_impl (obj' : [> GtkSourceView3_types.source_view] obj) inherit GText.view_signals obj' inherit source_view_sigs end class source_view (obj': GtkSourceView3_types.source_view obj) = object (self) inherit GText.view_skel obj' inherit source_view_props val source_buf = let buf_obj = Gobject.try_cast (GtkText.View.get_buffer obj') "GtkSourceBuffer" in new source_buffer buf_obj method source_buffer = source_buf method connect = new source_view_signals obj' method set_cursor_color = SourceView.set_cursor_color obj (* method set_cursor_color_by_name s = SourceView.set_cursor_color obj (color_of_string s)*) method draw_spaces = SourceView.get_draw_spaces obj method set_draw_spaces flags = SourceView.set_draw_spaces obj flags method completion = new source_completion (SourceView.get_completion obj) method set_mark_attributes ~category (attrs: source_mark_attributes) priority = SourceView.set_mark_attributes obj ~category attrs#as_source_mark_attributes priority method get_mark_attributes ~category = match SourceView.get_mark_attributes obj category with | Some obj -> Some (new source_mark_attributes obj) | None -> None method get_mark_priority ~category = SourceView.get_mark_priority obj category end let source_view ?source_buffer ?draw_spaces = SourceView.make_params [] ~cont:( GtkText.View.make_params ~cont:( GContainer.pack_container ~create:(fun pl -> let obj = match source_buffer with | Some buf -> SourceView.new_with_buffer (Gobject.try_cast buf#as_buffer "GtkSourceBuffer") | None -> SourceView.new_ () in Gobject.set_params (Gobject.try_cast obj "GtkSourceView") pl; may (SourceView.set_draw_spaces obj) draw_spaces; new source_view obj))) (** {2 Misc} *) (* let iter_forward_search (iter:GText.iter) flags ~start ~stop ?limit str = let limit = map_opt (fun x -> x#as_iter) limit in match SourceViewMisc.iter_forward_search iter#as_iter str flags ~start: start#as_iter ~stop: stop#as_iter limit with None -> None | Some (it1,it2) -> Some (new GText.iter it1, new GText.iter it2) let iter_backward_search (iter:GText.iter) flags ~start ~stop ?limit str = let limit = map_opt (fun x -> x#as_iter) limit in match SourceViewMisc.iter_backward_search iter#as_iter str flags ~start: start#as_iter ~stop: stop#as_iter limit with None -> None | Some (it1,it2) -> Some (new GText.iter it1, new GText.iter it2) *) lablgtk-3.1.2/src-sourceview3/gSourceView3.mli0000644000650106067230000005154314161276610020103 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) (** {2 GtkSourceView interface} *) open Gtk open GText open SourceView3Enums (** {2 GtkSourceStyleScheme} *) class source_style_scheme : GtkSourceView3_types.source_style_scheme obj -> object method as_source_style_scheme : GtkSourceView3_types.source_style_scheme obj method name : string method description : string end (** {2 GtkSourceStyleSchemeManager} *) class source_style_scheme_manager : GtkSourceView3_types.source_style_scheme_manager obj -> object method search_path: string list method set_search_path: string list -> unit method append_search_path: string -> unit method prepend_search_path: string -> unit method style_scheme_ids: string list method style_scheme: string -> source_style_scheme option method force_rescan: unit -> unit end val source_style_scheme_manager : default:bool -> source_style_scheme_manager (** {2 GtkSourceCompletionInfo} *) class source_completion_info_signals : (GtkSourceView3_types.source_completion_info as 'b) obj -> object ('a) inherit GContainer.container_signals method before_show : callback:(unit -> unit) -> GtkSignal.id method notify_max_height : callback:(int -> unit) -> GtkSignal.id method notify_max_width : callback:(int -> unit) -> GtkSignal.id method notify_shrink_height : callback:(bool -> unit) -> GtkSignal.id method notify_shrink_width : callback:(bool -> unit) -> GtkSignal.id end class source_completion_info : ([> GtkSourceView3_types.source_completion_info ] as 'a) obj -> object inherit GWindow.window val obj : 'a obj method as_source_completion_info : GtkSourceView3_types.source_completion_info obj method max_height : int method max_width : int (* method process_resize : unit -> unit*) method set_max_height : int -> unit method set_max_width : int -> unit method set_shrink_height : bool -> unit method set_shrink_width : bool -> unit (* method set_sizing : width:int -> height:int -> shrink_width:bool -> shrink_height:bool -> unit *) method set_widget : GObj.widget -> unit method shrink_height : bool method shrink_width : bool method widget : GObj.widget end (** {2 GtkSourceCompletionProposal} *) class source_completion_proposal_signals : GtkSourceView3_types.source_completion_proposal obj -> object ('a) method after : 'a method changed : callback:(unit -> unit) -> GtkSignal.id method notify_icon : callback:(GdkPixbuf.pixbuf -> unit) -> GtkSignal.id method notify_info : callback:(string -> unit) -> GtkSignal.id method notify_label : callback:(string -> unit) -> GtkSignal.id method notify_markup : callback:(string -> unit) -> GtkSignal.id method notify_text : callback:(string -> unit) -> GtkSignal.id end class source_completion_proposal : GtkSourceView3_types.source_completion_proposal obj -> object method as_source_completion_proposal : GtkSourceView3_types.source_completion_proposal obj method connect : source_completion_proposal_signals method icon : GdkPixbuf.pixbuf method info : string method label : string method markup : string method text : string end class source_completion_item : GtkSourceView3_types.source_completion_proposal obj -> object inherit source_completion_proposal method set_icon : GdkPixbuf.pixbuf -> unit method set_info : string -> unit method set_label : string -> unit method set_markup : string -> unit method set_text : string -> unit end val source_completion_item : ?label:string -> ?text:string -> ?icon:GdkPixbuf.pixbuf -> ?info:string -> unit -> source_completion_item val source_completion_item_with_markup : ?label:string -> ?text:string -> ?icon:GdkPixbuf.pixbuf -> ?info:string -> unit -> source_completion_item val source_completion_item_from_stock : ?label:string -> ?text:string -> stock:GtkStock.id -> info:string -> unit -> source_completion_item (** {2 GtkSourceCompletionProvider} *) class source_completion_provider : GtkSourceView3_types.source_completion_provider obj -> object method as_source_completion_provider : GtkSourceView3_types.source_completion_provider obj method icon : GdkPixbuf.pixbuf option method name : string method populate : source_completion_context -> unit method activation : source_completion_activation_flags list method matched : source_completion_context -> bool method info_widget : source_completion_proposal -> GObj.widget option method update_info : source_completion_proposal -> source_completion_info -> unit method start_iter : source_completion_context -> source_completion_proposal -> GText.iter method activate_proposal : source_completion_proposal -> GText.iter -> bool method interactive_delay : int method priority : int end (** {2 GtkSourceCompletionContext} *) and source_completion_context_signals : GtkSourceView3_types.source_completion_context obj -> object ('a) method after : 'a method cancelled : callback:(unit -> unit) -> GtkSignal.id end and source_completion_context : GtkSourceView3_types.source_completion_context obj -> object method as_source_completion_context : GtkSourceView3_types.source_completion_context obj method activation : source_completion_activation_flags list method add_proposals : source_completion_provider -> source_completion_proposal list -> bool -> unit method connect : source_completion_context_signals method iter : GText.iter method set_iter : GText.iter -> unit method set_activation : source_completion_activation_flags list -> unit end class type custom_completion_provider = object method name : string method icon : GdkPixbuf.pixbuf option method populate : source_completion_context -> unit method matched : source_completion_context -> bool method activation : source_completion_activation_flags list method info_widget : source_completion_proposal -> GObj.widget option method update_info : source_completion_proposal -> source_completion_info -> unit method start_iter : source_completion_context -> source_completion_proposal -> GText.iter -> bool method activate_proposal : source_completion_proposal -> GText.iter -> bool method interactive_delay : int method priority : int end val source_completion_provider : custom_completion_provider -> source_completion_provider (** {2 GtkSourceCompletion} *) class source_completion_signals : GtkSourceView3_types.source_completion obj -> object ('a) method after : 'a method activate_proposal : callback:(unit -> unit) -> GtkSignal.id method hide : callback:(unit -> unit) -> GtkSignal.id method move_cursor : callback:(GtkEnums.scroll_step -> int -> unit) -> GtkSignal.id method move_page : callback:(GtkEnums.scroll_step -> int -> unit) -> GtkSignal.id method populate_context : callback:(source_completion_context -> unit) -> GtkSignal.id method show : callback:(unit -> unit) -> GtkSignal.id method notify_accelerators : callback:(int -> unit) -> GtkSignal.id method notify_auto_complete_delay : callback:(int -> unit) -> GtkSignal.id method notify_proposal_page_size : callback:(int -> unit) -> GtkSignal.id method notify_provider_page_size : callback:(int -> unit) -> GtkSignal.id method notify_remember_info_visibility : callback:(bool -> unit) -> GtkSignal.id method notify_select_on_show : callback:(bool -> unit) -> GtkSignal.id method notify_show_headers : callback:(bool -> unit) -> GtkSignal.id method notify_show_icons : callback:(bool -> unit) -> GtkSignal.id end class source_completion : GtkSourceView3_types.source_completion obj -> object method accelerators : int method add_provider : source_completion_provider -> bool method as_source_completion : GtkSourceView3_types.source_completion obj method auto_complete_delay : int method block_interactive : unit -> unit method connect : source_completion_signals method create_context : GText.iter -> source_completion_context method hide : unit -> unit method move_window : GText.iter -> unit method proposal_page_size : int method providers : source_completion_provider list method provider_page_size : int method remember_info_visibility : bool method remove_provider : source_completion_provider -> bool method select_on_show : bool method set_accelerators : int -> unit method set_auto_complete_delay : int -> unit method set_proposal_page_size : int -> unit method set_provider_page_size : int -> unit method set_remember_info_visibility : bool -> unit method set_select_on_show : bool -> unit method set_show_headers : bool -> unit method set_show_icons : bool -> unit method show : source_completion_provider list -> source_completion_context -> bool method show_headers : bool method show_icons : bool method unblock_interactive : unit -> unit end (** {2 GtkSourceLanguage} *) class source_language: GtkSourceView3_types.source_language obj -> object method as_source_language: GtkSourceView3_types.source_language obj method misc: GObj.gobject_ops method hidden: bool method id: string method name: string method section: string method metadata: string -> string option method mime_types: string list method globs: string list method style_name: string -> string option method style_ids: string list end (** {2 GtkSourceLanguageManager} *) class source_language_manager: GtkSourceView3_types.source_language_manager obj -> object method get_oid: int method as_source_language_manager: GtkSourceView3_types.source_language_manager obj method set_search_path : string list -> unit method search_path : string list method language_ids : string list method language : string -> source_language option method guess_language: ?filename:string -> ?content_type:string -> unit -> source_language option end val source_language_manager : default:bool -> source_language_manager (** {2 GtkSourceMark} *) class source_mark: ((GtkSourceView3_types.source_mark obj) as 'a) -> object method as_source_mark : 'a method coerce: GText.mark method category: string option method next: ?category:string -> unit -> source_mark option method prev: ?category:string -> unit -> source_mark option end val source_mark : ?category:string -> unit -> source_mark (** {2 GtkSourceMarkAttributes} *) class source_mark_attributes: ((GtkSourceView3_types.source_mark_attributes obj) as 'a) -> object method as_source_mark_attributes: 'a method set_background: Gdk.rgba -> unit method set_icon_name: string -> unit method set_pixbuf: GdkPixbuf.pixbuf -> unit method background: Gdk.rgba method icon_name: string method pixbuf: GdkPixbuf.pixbuf end val source_mark_attributes: unit -> source_mark_attributes (** {2 GtkSourceUndoManager} *) class source_undo_manager_signals : (GtkSourceView3_types.source_undo_manager as 'b) obj -> object ('a) method after : 'a method can_redo_changed : callback:(unit -> unit) -> GtkSignal.id method can_undo_changed : callback:(unit -> unit) -> GtkSignal.id end class source_undo_manager: (GtkSourceView3_types.source_undo_manager as 'b) obj -> object val obj : 'b obj method as_source_undo_manager : GtkSourceView3_types.source_undo_manager obj method begin_not_undoable_action : unit -> unit method connect : source_undo_manager_signals method can_redo : bool method can_redo_changed : unit -> unit method can_undo : bool method can_undo_changed : unit -> unit method end_not_undoable_action : unit -> unit method redo : unit -> unit method undo : unit -> unit end class type custom_undo_manager = object method can_undo : bool method can_redo : bool method undo : unit -> unit method redo : unit -> unit method begin_not_undoable_action : unit -> unit method end_not_undoable_action : unit -> unit method can_undo_changed : unit -> unit method can_redo_changed : unit -> unit end val source_undo_manager : custom_undo_manager -> source_undo_manager (** {2 GtkSourceBuffer} *) class source_buffer_signals: (GtkSourceView3_types.source_buffer as 'b) obj -> object ('a) inherit ['b] GText.buffer_signals_type method changed : callback:(unit -> unit) -> GtkSignal.id method highlight_updated: callback:(Gtk.text_iter -> Gtk.text_iter -> unit) -> GtkSignal.id method source_mark_updated: callback:(GtkSourceView3_types.source_mark obj -> unit) -> GtkSignal.id method notify_can_redo : callback:(bool -> unit) -> GtkSignal.id method notify_can_undo : callback:(bool -> unit) -> GtkSignal.id method notify_highlight_matching_brackets : callback:(bool -> unit) -> GtkSignal.id method notify_highlight_syntax : callback:(bool -> unit) -> GtkSignal.id method notify_max_undo_levels : callback:(int -> unit) -> GtkSignal.id end and source_buffer: GtkSourceView3_types.source_buffer obj -> object inherit GText.buffer_skel val obj: GtkSourceView3_types.source_buffer obj method as_source_buffer: GtkSourceView3_types.source_buffer obj method connect: source_buffer_signals method misc: GObj.gobject_ops method highlight_syntax: bool method set_highlight_syntax: bool -> unit method language: source_language option method set_language: source_language option -> unit method highlight_matching_brackets: bool method set_highlight_matching_brackets: bool -> unit method style_scheme: source_style_scheme option method set_style_scheme: source_style_scheme option -> unit method max_undo_levels: int method set_max_undo_levels: int -> unit method undo: unit -> unit method redo: unit -> unit method can_undo: bool method can_redo: bool method begin_not_undoable_action: unit -> unit method end_not_undoable_action: unit -> unit method create_source_mark: ?name:string -> ?category:string -> GText.iter -> source_mark method source_marks_at_line: ?category:string -> int -> source_mark list method source_marks_at_iter: ?category:string -> GText.iter -> source_mark list method remove_source_marks : ?category:string -> start:GText.iter -> stop:GText.iter -> unit -> unit method forward_iter_to_source_mark: ?category:string -> GText.iter -> bool method backward_iter_to_source_mark: ?category:string -> GText.iter -> bool method iter_has_context_class: GText.iter -> string -> bool method iter_forward_to_context_class_toggle: GText.iter -> string -> bool method iter_backward_to_context_class_toggle: GText.iter -> string -> bool method ensure_highlight: start:GText.iter -> stop:GText.iter -> unit method undo_manager : source_undo_manager method set_undo_manager : source_undo_manager -> unit end val source_buffer: ?language:source_language -> ?style_scheme:source_style_scheme -> ?tag_table:GText.tag_table -> ?text:string -> ?undo_manager:source_undo_manager -> ?highlight_matching_brackets:bool -> ?highlight_syntax:bool -> ?max_undo_levels:int -> unit -> source_buffer (** {2 GtkSourceView} *) class source_view_signals: ([> GtkSourceView3_types.source_view ] as 'b) obj -> object ('a) inherit GText.view_signals method line_mark_activated : callback:(Gtk.text_iter -> GdkEvent.any -> unit) -> GtkSignal.id method move_lines : callback:(bool -> int -> unit) -> GtkSignal.id method move_words : callback:(int -> unit) -> GtkSignal.id method redo: callback:(unit -> unit) -> GtkSignal.id method show_completion : callback:(unit -> unit) -> GtkSignal.id method smart_home_end : callback:(Gtk.text_iter -> int -> unit) -> GtkSignal.id method undo: callback:(unit -> unit) -> GtkSignal.id method notify_auto_indent : callback:(bool -> unit) -> GtkSignal.id method notify_highlight_current_line : callback:(bool -> unit) -> GtkSignal.id method notify_indent_on_tab : callback:(bool -> unit) -> GtkSignal.id method notify_indent_width : callback:(int -> unit) -> GtkSignal.id method notify_insert_spaces_instead_of_tabs : callback:(bool -> unit) -> GtkSignal.id method notify_right_margin_position : callback:(int -> unit) -> GtkSignal.id method notify_show_line_marks : callback:(bool -> unit) -> GtkSignal.id method notify_show_line_numbers : callback:(bool -> unit) -> GtkSignal.id method notify_show_right_margin : callback:(bool -> unit) -> GtkSignal.id method notify_smart_home_end : callback:(SourceView3Enums.source_smart_home_end_type -> unit) -> GtkSignal.id method notify_tab_width : callback:(int -> unit) -> GtkSignal.id end class source_view: GtkSourceView3_types.source_view obj -> object inherit GText.view_skel inherit OgtkSourceView3Props.source_view_props val obj: GtkSourceView3_types.source_view obj method completion : source_completion method connect: source_view_signals method source_buffer: source_buffer method set_show_line_numbers: bool -> unit method show_line_numbers: bool method set_highlight_current_line: bool -> unit method highlight_current_line: bool method set_tab_width: int -> unit method tab_width: int method set_auto_indent: bool -> unit method auto_indent: bool method set_insert_spaces_instead_of_tabs: bool -> unit method insert_spaces_instead_of_tabs: bool method set_cursor_color: Gdk.color -> unit (* method set_cursor_color_by_name: string -> unit*) method draw_spaces: source_draw_spaces_flags list method set_draw_spaces: source_draw_spaces_flags list -> unit method set_mark_attributes: category:string -> source_mark_attributes -> int -> unit method get_mark_attributes: category:string -> source_mark_attributes option method get_mark_priority: category:string -> int (* method get_mark_category_priority: category:string -> int method set_mark_category_priority: category:string -> int -> unit method get_mark_category_pixbuf: category:string -> GdkPixbuf.pixbuf option method set_mark_category_pixbuf: category:string -> GdkPixbuf.pixbuf option -> unit method get_mark_category_background: category:string -> Gdk.color option method set_mark_category_background: category:string -> Gdk.color option -> unit *) end val source_view : ?source_buffer:source_buffer -> ?draw_spaces:source_draw_spaces_flags list -> ?auto_indent:bool -> ?highlight_current_line:bool -> ?indent_on_tab:bool -> ?indent_width:int -> ?insert_spaces_instead_of_tabs:bool -> ?right_margin_position:int -> ?show_line_marks:bool -> ?show_line_numbers:bool -> ?show_right_margin:bool -> ?smart_home_end:source_smart_home_end_type -> ?tab_width:int -> ?editable:bool -> ?cursor_visible:bool -> ?justification:GtkEnums.justification -> ?wrap_mode:GtkEnums.wrap_mode -> ?accepts_tab:bool -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> source_view (** {2 Misc} *) (* val iter_forward_search : GText.iter -> source_search_flag list -> start:< as_iter : Gtk.text_iter; .. > -> stop:< as_iter : Gtk.text_iter; .. > -> ?limit:< as_iter : Gtk.text_iter; .. > -> string -> (GText.iter * GText.iter) option val iter_backward_search : GText.iter -> source_search_flag list -> start:< as_iter : Gtk.text_iter; .. > -> stop:< as_iter : Gtk.text_iter; .. > -> ?limit:< as_iter : Gtk.text_iter; .. > -> string -> (GText.iter * GText.iter) option *) lablgtk-3.1.2/src-sourceview3/gtkSourceView3.ml0000644000650106067230000002561714161276610020274 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) open GtkSourceView3_types open Gaux open Gobject open Gtk open Tags open SourceView3Enums open GtkSourceView3Props open GtkBase module SourceStyleScheme = struct include SourceStyleScheme external get_name: source_style_scheme obj -> string = "ml_gtk_source_style_scheme_get_name" external get_description: source_style_scheme obj -> string = "ml_gtk_source_style_scheme_get_description" end module SourceCompletionItem = struct include SourceCompletionItem external new_: string -> string -> GdkPixbuf.pixbuf option -> string option -> source_completion_proposal obj = "ml_gtk_source_completion_item_new" external new_with_markup: string -> string -> GdkPixbuf.pixbuf option -> string option -> source_completion_proposal obj = "ml_gtk_source_completion_item_new_with_markup" external new_from_stock: string -> string -> string -> string -> source_completion_proposal obj = "ml_gtk_source_completion_item_new_from_stock" end module SourceCompletionProvider = struct include SourceCompletionProvider type provider = { provider_name : unit -> string; provider_icon : unit -> GdkPixbuf.pixbuf option; provider_populate : source_completion_context obj -> unit; provider_activation : unit -> source_completion_activation_flags list; provider_match : source_completion_context obj -> bool; provider_info_widget : source_completion_proposal obj -> widget obj option; provider_update_info : source_completion_proposal obj -> source_completion_info obj -> unit; provider_start_iter : source_completion_context obj -> source_completion_proposal obj -> text_iter -> bool; provider_activate_proposal : source_completion_proposal obj -> text_iter -> bool; provider_interactive_delay : unit -> int; provider_priority : unit -> int; } external match_ : source_completion_provider obj -> source_completion_context obj -> bool = "ml_gtk_source_completion_provider_match" external new_ : provider -> source_completion_provider obj = "ml_custom_completion_provider_new" end module SourceCompletionContext = SourceCompletionContext module SourceCompletionInfo = SourceCompletionInfo module SourceCompletion = SourceCompletion module SourceStyleSchemeManager = struct include SourceStyleSchemeManager external new_ : unit -> source_style_scheme_manager obj = "ml_gtk_source_style_scheme_manager_new" external default : unit -> source_style_scheme_manager obj = "ml_gtk_source_style_scheme_manager_get_default" end module SourceLanguage = struct include SourceLanguage external get_id : [>`sourcelanguage] obj -> string = "ml_gtk_source_language_get_id" external get_name : [>`sourcelanguage] obj -> string = "ml_gtk_source_language_get_name" external get_section : [>`sourcelanguage] obj -> string = "ml_gtk_source_language_get_section" external get_hidden : [>`sourcelanguage] obj -> bool = "ml_gtk_source_language_get_hidden" external metadata: [>`sourcelanguage] obj -> string -> string option= "ml_gtk_source_language_get_metadata" external mime_types: [>`sourcelanguage] obj -> string list = "ml_gtk_source_language_get_mime_types" external globs: [>`sourcelanguage] obj -> string list = "ml_gtk_source_language_get_globs" external style_name: [>`sourcelanguage] obj -> string -> string option = "ml_gtk_source_language_get_style_name" external style_ids: [>`sourcelanguage] obj -> string list = "ml_gtk_source_language_get_style_ids" end module SourceLanguageManager = struct include SourceLanguageManager external new_: unit -> source_language_manager obj = "ml_gtk_source_language_manager_new" external default: unit -> source_language_manager obj = "ml_gtk_source_language_manager_get_default" external set_search_path: [>`sourcelanguagemanager] obj -> string list -> unit = "ml_gtk_source_language_manager_set_search_path" external search_path: [>`sourcelanguagemanager] obj -> string list = "ml_gtk_source_language_manager_get_search_path" external language_ids: [>`sourcelanguagemanager] obj -> string list = "ml_gtk_source_language_manager_get_language_ids" external language: [>`sourcelanguagemanager] obj -> string -> source_language obj option = "ml_gtk_source_language_manager_get_language" external guess_language: [>`sourcelanguagemanager] obj -> string option -> string option -> source_language obj option = "ml_gtk_source_language_manager_guess_language" end module SourceUndoManager = struct include SourceUndoManager type undo_manager = { can_undo : unit -> bool; can_redo : unit -> bool; undo : unit -> unit; redo : unit -> unit; begin_not_undoable_action : unit -> unit; end_not_undoable_action : unit -> unit; can_undo_changed : unit -> unit; can_redo_changed : unit -> unit; } external new_ : undo_manager -> [`sourceundomanager] obj = "ml_custom_undo_manager_new" end module SourceBuffer = struct include SourceBuffer external new_: [`texttagtable] obj -> source_buffer obj = "ml_gtk_source_buffer_new" external new_with_langage: [>`sourcelanguage] obj -> source_buffer obj = "ml_gtk_source_buffer_new_with_language" external undo: [>`sourcebuffer] obj -> unit = "ml_gtk_source_buffer_undo" external redo: [>`sourcebuffer] obj -> unit = "ml_gtk_source_buffer_redo" external begin_not_undoable_action: [>`sourcebuffer] obj -> unit = "ml_gtk_source_buffer_begin_not_undoable_action" external end_not_undoable_action: [>`sourcebuffer] obj -> unit = "ml_gtk_source_buffer_end_not_undoable_action" external set_highlight_matching_brackets: [>`sourcebuffer] obj -> bool -> unit = "ml_gtk_source_buffer_set_highlight_matching_brackets" external create_source_mark: [>`sourcebuffer] obj -> string option -> string option -> Gtk.text_iter -> source_mark obj = "ml_gtk_source_buffer_create_source_mark" external remove_source_marks: [>`sourcebuffer] obj -> Gtk.text_iter -> Gtk.text_iter -> string option -> unit = "ml_gtk_source_buffer_remove_source_marks" external get_source_marks_at_line: [>`sourcebuffer] obj -> int -> string option -> source_mark obj list = "ml_gtk_source_buffer_get_source_marks_at_line" external get_source_marks_at_iter: [>`sourcebuffer] obj -> Gtk.text_iter -> string option -> source_mark obj list = "ml_gtk_source_buffer_get_source_marks_at_iter" external forward_iter_to_source_mark: [>`sourcebuffer] obj -> Gtk.text_iter -> string option -> bool = "ml_gtk_source_buffer_forward_iter_to_source_mark" external backward_iter_to_source_mark: [>`sourcebuffer] obj -> Gtk.text_iter -> string option -> bool = "ml_gtk_source_buffer_backward_iter_to_source_mark" external iter_has_context_class: [>`sourcebuffer] obj -> Gtk.text_iter -> string -> bool = "ml_gtk_source_buffer_iter_has_context_class" external iter_forward_to_context_class_toggle: [>`sourcebuffer] obj -> Gtk.text_iter -> string -> bool = "ml_gtk_source_buffer_iter_forward_to_context_class_toggle" external iter_backward_to_context_class_toggle: [>`sourcebuffer] obj -> Gtk.text_iter -> string -> bool = "ml_gtk_source_buffer_iter_backward_to_context_class_toggle" external ensure_highlight: [>`sourcebuffer] obj -> Gtk.text_iter -> Gtk.text_iter -> unit = "ml_gtk_source_buffer_ensure_highlight" end module SourceView = struct include SourceView external new_: unit -> source_view obj = "ml_gtk_source_view_new" external new_with_buffer: [>`sourcebuffer] obj -> source_view obj = "ml_gtk_source_view_new_with_buffer" (* external set_mark_category_pixbuf: [>`sourceview] obj -> string -> GdkPixbuf.pixbuf option -> unit = "ml_gtk_source_view_set_mark_category_pixbuf" external get_mark_category_pixbuf: [>`sourceview] obj -> string -> GdkPixbuf.pixbuf option = "ml_gtk_source_view_get_mark_category_pixbuf" *) external get_mark_attributes: [>`sourceview] obj -> category:string -> source_mark_attributes obj option = "ml_gtk_source_view_get_mark_attributes" external get_mark_priority: [>`sourceview] obj -> category:string -> int = "ml_gtk_source_view_get_mark_priority" (* Should probably not exist *) external set_cursor_color: [>`sourceview] obj -> Gdk.color -> unit = "ml_gtk_modify_cursor_color" end module SourceMark = struct include SourceMark external next: [> `sourcemark] obj -> string option -> source_mark obj option = "ml_gtk_source_mark_next" external prev: [> `sourcemark] obj -> string option -> source_mark obj option = "ml_gtk_source_mark_prev" end module SourceMarkAttributes = struct include SourceMarkAttributes external new_attribute: unit -> source_mark_attributes obj = "ml_gtk_source_mark_attributes_new" end module SourceViewMisc = struct (* external iter_backward_search: Gtk.text_iter -> string -> SourceView2Enums.source_search_flag list -> start: Gtk.text_iter -> stop: Gtk.text_iter -> Gtk.text_iter option -> (Gtk.text_iter * Gtk.text_iter) option = "ml_gtk_source_iter_backward_search_bc" "ml_gtk_source_iter_backward_search" external iter_forward_search: Gtk.text_iter -> string -> SourceView2Enums.source_search_flag list -> start: Gtk.text_iter -> stop: Gtk.text_iter -> Gtk.text_iter option -> (Gtk.text_iter * Gtk.text_iter) option = "ml_gtk_source_iter_forward_search_bc" "ml_gtk_source_iter_forward_search" *) end lablgtk-3.1.2/src-sourceview3/gtkSourceView3.props0000644000650106067230000002553314161276610021024 0ustar glondused(*********************************************************************************) (* *) (* lablgtksourceview, OCaml binding for the GtkSourceView text widget *) (* *) (* Copyright (C) 2005 Stefano Zacchiroli *) (* Copyright (C) 2006 Stefano Zacchiroli *) (* Maxence Guesdon *) (* *) (* This library is free software; you can redistribute it and/or modify *) (* it under the terms of the GNU Lesser General Public License as *) (* published by the Free Software Foundation; either version 2.1 of the *) (* License, or (at your option) any later version. *) (* *) (* This library 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 *) (* Lesser General Public License for more details. *) (* *) (* You should have received a copy of the GNU Lesser General Public *) (* License along with this library; if not, write to the Free Software *) (* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *) (* USA *) (* *) (*********************************************************************************) prefix "Gtk" initializer "ml_gtk_source_view_init" header { open GtkSourceView3_types open SourceView3Enums } boxed { GdkEvent "GdkEvent.any" GdkRGBA "Gdk.rgba" } classes { GdkPixbuf "GdkPixbuf.pixbuf" } class SourceStyleScheme type "source_style_scheme obj" set wrapsig : GObject { } class SourceStyleSchemeManager type "source_style_scheme_manager obj" wrap : GObject { (* "scheme-ids" GStrv : Read *) (* "search-path" GStrv : Read / Write *) method get_search_path : "string list" method set_search_path : "string list -> unit" method get_scheme_ids : "string list" method append_search_path : "string -> unit" / Wrap method prepend_search_path : "string -> unit" / Wrap method get_scheme : "string -> source_style_scheme obj option" method force_rescan : "unit -> unit" / Wrap } class SourceCompletionInfo type "source_completion_info obj" wrap wrapsig : GtkWidget { "max-height" gint : Read / Write / Construct "max-width" gint : Read / Write / Construct "shrink-height" gboolean : Read / Write / Construct "shrink-width" gboolean : Read / Write / Construct method move_to_iter : "Gtk.text_view obj -> Gtk.text_iter -> unit" (* method set_sizing : "width:int -> height:int -> shrink_width:bool -> shrink_height:bool -> unit" / Wrap *) method set_widget : "Gtk.widget obj -> unit" method get_widget : "Gtk.widget obj" (* method process_resize : "unit" / Wrap*) signal before_show } class SourceCompletionProposal type "source_completion_proposal obj" wrap wrapsig : GObject { "icon" GdkPixbuf : Read "info" string : Read "label" string : Read "markup" string : Read "text" string : Read signal changed } class SourceCompletionItem type "source_completion_proposal obj" tag "sourcecompletionproposal" wrap wrapsig : GObject { "icon" GdkPixbuf : Read / Write "info" string : Read / Write "label" string : Read / Write "markup" string : Read / Write "text" string : Read / Write signal changed } class SourceCompletionProvider type "source_completion_provider obj" abstract wrap wrapsig : GObject { method get_name : "string" method get_icon : "GdkPixbuf.pixbuf option" method populate : "source_completion_context obj -> unit" method get_activation : "source_completion_activation_flags list" (* method match : "source_completion_context obj -> bool" *) method get_info_widget : "source_completion_proposal obj -> Gtk.widget obj option" method update_info : "source_completion_proposal obj -> source_completion_info obj -> unit" method get_start_iter : "source_completion_context obj -> source_completion_proposal obj -> Gtk.text_iter" method activate_proposal : "source_completion_proposal obj -> Gtk.text_iter -> bool" method get_interactive_delay : "int" method get_priority : "int" } class SourceCompletionContext type "source_completion_context obj" wrap wrapsig : GObject { "completion" GtkSourceCompletion : Read / Write / Construct Only / NoWrap "iter" GtkTextIter : Read / Write / NoWrap method get_activation : "source_completion_activation_flags list" method set_activation : "source_completion_activation_flags list -> unit" / Wrap method add_proposals : "source_completion_provider obj -> source_completion_proposal obj list -> bool -> unit" signal cancelled } class SourceCompletion type "source_completion obj" wrap wrapsig : GObject { "accelerators" guint : Read / Write / Construct "auto-complete-delay" guint : Read / Write / Construct "proposal-page-size" guint : Read / Write / Construct "provider-page-size" guint : Read / Write / Construct "remember-info-visibility" gboolean : Read / Write / Construct "select-on-show" gboolean : Read / Write / Construct "show-headers" gboolean : Read / Write / Construct "show-icons" gboolean : Read / Write / Construct "view" GtkSourceView : Read / Write / Construct Only / NoWrap method add_provider : "source_completion_provider obj -> bool" method remove_provider : "source_completion_provider obj -> bool" method block_interactive : "unit" / Wrap method get_providers : "source_completion_provider obj list" method create_context : "Gtk.text_iter -> source_completion_context obj" method hide : "unit" / Wrap method move_window : "Gtk.text_iter -> unit" method show : "source_completion_provider obj list -> source_completion_context obj -> bool" method unblock_interactive : "unit" / Wrap signal activate_proposal signal hide signal move_cursor: GtkScrollStep gint signal move_page: GtkScrollStep gint signal populate_context : GtkSourceCompletionContext / NoWrap signal show } class SourceLanguage type "source_language obj" set wrap wrapsig : GObject { (* Property access is broken in gtkSourceView 2.4.1 (see Bugzilla #564142), so we use methods instead: *) } class SourceLanguageManager type "source_language_manager obj" set wrapsig : GObject { (* "search-path" GStrv : Read / Write "language-ids" GStrv : Read / Write *) } class SourceMark type "source_mark obj" set wrap wrapsig : GObject { "category" gchararray_opt : Read / Write / Construct Only } class SourceMarkAttributes type "source_mark_attributes obj" set wrap wrapsig: GObject { "background" GdkRGBA : Read / Write (* "icon" GIcon does not seem to have been ported in lablgtk *) "icon-name" string : Read / Write "pixbuf" GdkPixbuf : Read / Write } class SourceUndoManager type "source_undo_manager obj" set wrap wrapsig : GObject { method can_undo : "bool" / Wrap method can_redo : "bool" / Wrap method undo : "unit" / Wrap method redo : "unit" / Wrap method begin_not_undoable_action : "unit" / Wrap method end_not_undoable_action : "unit" / Wrap method can_undo_changed : "unit" / Wrap method can_redo_changed : "unit" / Wrap signal can_redo_changed signal can_undo_changed } class SourceBuffer type "source_buffer obj" set wrap wrapsig : GObject { "can-redo" gboolean : Read "can-undo" gboolean : Read "highlight-matching-brackets" gboolean : Read / Write "highlight-syntax" gboolean : Read / Write "language" GtkSourceLanguage_opt: Read / Write / NoWrap "max-undo-levels" gint : Read / Write "style-scheme" GtkSourceStyleScheme_opt : Read / Write / NoWrap "undo-manager" GtkSourceUndoManager : Read / Write / Construct / NoWrap signal highlight_updated: GtkTextIter GtkTextIter signal source_mark_updated: GtkSourceMark } class SourceView type "source_view obj" set wrap wrapsig : Widget { "auto-indent" gboolean : Read / Write "highlight-current-line" gboolean : Read / Write "indent-on-tab" gboolean : Read / Write "indent-width" gint : Read / Write "insert-spaces-instead-of-tabs" gboolean : Read / Write "right-margin-position" guint : Read / Write "show-line-marks" gboolean : Read / Write "show-line-numbers" gboolean : Read / Write "show-right-margin" gboolean : Read / Write "smart-home-end" Gtk3SourceSmartHomeEndType : Read / Write "tab-width" guint : Read / Write method get_completion : "source_completion obj" method get_draw_spaces : "source_draw_spaces_flags list" method set_draw_spaces : "source_draw_spaces_flags list -> unit" method set_mark_attributes: "category:string -> source_mark_attributes obj -> int -> unit" (* method get_mark_category_priority : "category:string -> int" / Wrap method set_mark_category_priority: "category:string -> int -> unit" / Wrap method get_mark_category_pixbuf: "category:string -> GdkPixbuf.pixbuf option" / Wrap method set_mark_category_pixbuf: "category:string -> GdkPixbuf.pixbuf option -> unit" / Wrap method get_mark_category_background: "category:string -> Gdk.color option" / Wrap method set_mark_category_background: "category:string -> Gdk.color option -> unit" / Wrap *) signal line_mark_activated : GtkTextIter GdkEvent signal move_lines : gboolean gint signal move_words : gint signal redo signal show_completion signal smart_home_end : GtkTextIter gint signal undo } lablgtk-3.1.2/src-sourceview3/gtkSourceView3_types.mli0000644000650106067230000000637114161276610021665 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) (* * lablgtksourceview, OCaml binding for the GtkSourceView text widget * * Copyright (C) 2005 Stefano Zacchiroli * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of the * License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA *) type source_style_scheme = [`sourcestylescheme] type source_style_scheme_manager = [`sourcestyleschememanager] type source_completion_info = [ Gtk.window | `sourcecompletioninfo ] type source_completion_provider = [ `sourcecompletionprovider ] type source_completion_proposal = [ `sourcecompletionproposal ] type source_completion_activation = [ `sourcecompletionactivation ] type source_completion_context = [ `sourcecompletioncontext ] type source_completion = [ `sourcecompletion ] type source_view = [ Gtk.text_view | `sourceview ] type source_mark = [ `sourcemark ] type source_mark_attributes = [ `sourcemarkattributes ] type source_buffer = [`textbuffer|`sourcebuffer] type source_language = [`sourcelanguage] type source_language_manager = [`sourcelanguagemanager] type source_undo_manager = [`sourceundomanager] lablgtk-3.1.2/src-sourceview3/ml_gtksourceview3.c0000644000650106067230000011116014161276610020663 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "sourceView3_tags.h" #include "sourceView3_tags.c" #include /* Not in gtksourceview 3.0 Make_OptFlags_val(Source_search_flag_val) */ /* Already in ml_gobject.c Make_Val_final_pointer_ext(GObject, _sink, g_object_ref_sink, ml_g_object_unref_later, 20) */ CAMLprim value ml_gtk_source_view_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_source_completion_get_type() + gtk_source_completion_context_get_type() + gtk_source_completion_provider_get_type() + gtk_source_completion_proposal_get_type() + gtk_source_completion_info_get_type() + gtk_source_completion_item_get_type() + gtk_source_completion_provider_get_type() + gtk_source_style_scheme_get_type() + gtk_source_style_scheme_manager_get_type() + gtk_source_language_get_type() + gtk_source_language_manager_get_type() + gtk_source_mark_attributes_get_type() + gtk_source_buffer_get_type() + gtk_source_view_get_type(); return Val_GType(t); } static gpointer string_val(value v) { return Bytes_val(v); } GSList *ml_gslist_of_string_list(value list) { return GSList_val(list, string_val); } #define GtkSourceCompletionProvider_val(val) check_cast(GTK_SOURCE_COMPLETION_PROVIDER,val) #define Val_GtkSourceCompletionProvider(val) (Val_GObject((GObject*)val)) #define Val_GtkSourceCompletionProvider_new(val) (Val_GObject_new((GObject*)val)) #define GtkSourceCompletionItem_val(val) check_cast(GTK_SOURCE_COMPLETION_ITEM,val) #define Val_GtkSourceCompletionItem(val) (Val_GObject((GObject*)val)) #define Val_GtkSourceCompletionItem_new(val) (Val_GObject_new((GObject*)val)) #define GtkSourceCompletionProposal_val(val) check_cast(GTK_SOURCE_COMPLETION_PROPOSAL,val) #define Val_GtkSourceCompletionProposal(val) (Val_GObject((GObject*)val)) #define Val_GtkSourceCompletionProposal_new(val) (Val_GObject_new((GObject*)val)) #define GtkSourceCompletionInfo_val(val) check_cast(GTK_SOURCE_COMPLETION_INFO,val) #define Val_GtkSourceCompletionInfo(val) (Val_GObject((GObject*)val)) #define Val_GtkSourceCompletionInfo_new(val) (Val_GObject_sink((GObject*)val)) #define GtkSourceCompletionContext_val(val) check_cast(GTK_SOURCE_COMPLETION_CONTEXT,val) #define Val_GtkSourceCompletionContext(val) (Val_GObject((GObject*)val)) #define Val_GtkSourceCompletionContext_new(val) (Val_GObject_sink((GObject*)val)) // static Make_Val_option(GtkSourceCompletionContext) #define GtkSourceCompletion_val(val) check_cast(GTK_SOURCE_COMPLETION,val) #define Val_GtkSourceCompletion(val) (Val_GObject((GObject*)val)) #define Val_GtkSourceCompletion_new(val) (Val_GObject_sink((GObject*)val)) // static Make_Val_option(GtkSourceCompletion) #define GtkSourceStyleScheme_val(val) check_cast(GTK_SOURCE_STYLE_SCHEME,val) #define Val_GtkSourceStyleScheme(val) (Val_GObject((GObject*)val)) #define Val_GtkSourceStyleScheme_new(val) (Val_GObject_new((GObject*)val)) static Make_Val_option(GtkSourceStyleScheme) #define GtkSourceStyleSchemeManager_val(val) \ check_cast(GTK_SOURCE_STYLE_SCHEME_MANAGER,val) #define Val_GtkSourceStyleSchemeManager(val) (Val_GObject((GObject*)val)) #define Val_GtkSourceLanguage(val) (Val_GObject((GObject*)val)) static Make_Val_option(GtkSourceLanguage) #define GtkSourceLanguage_val(val) check_cast(GTK_SOURCE_LANGUAGE,val) #define GtkSourceLanguageManager_val(val)\ check_cast(GTK_SOURCE_LANGUAGE_MANAGER,val) #define Val_GtkSourceLanguageManager(val) (Val_GObject((GObject*)val)) #define GtkSourceTagStyle_val(val) Pointer_val(val) #define GtkSourceMark_val(val) check_cast(GTK_SOURCE_MARK,val) #define Val_GtkSourceMark(val) (Val_GObject((GObject*)val)) #define Val_GtkSourceMark_new(val) (Val_GObject_new((GObject*)val)) static Make_Val_option(GtkSourceMark) #define GtkSourceMarkAttributes_val(val) check_cast(GTK_SOURCE_MARK_ATTRIBUTES,val) #define Val_GtkSourceMarkAttributes(val) (Val_GObject((GObject*)val)) #define Val_GtkSourceMarkAttributes_new(val) (Val_GObject_new((GObject*)val)) #define GtkSourceUndoManager_val(val) check_cast(GTK_SOURCE_UNDO_MANAGER,val) #define Val_GtkSourceUndoManager(val) (Val_GObject((GObject*)val)) #define Val_GtkSourceUndoManager_new(val) (Val_GObject_new((GObject*)val)) #define GtkSourceBuffer_val(val) check_cast(GTK_SOURCE_BUFFER,val) #define Val_GtkSourceBuffer(val) (Val_GObject((GObject*)val)) #define Val_GtkSourceBuffer_new(val) (Val_GObject_new((GObject*)val)) #define GtkSourceView_val(val) check_cast(GTK_SOURCE_VIEW,val) #define GtkTextIter_val(val) ((GtkTextIter*)MLPointer_val(val)) #define Val_GtkTextIter(it) (copy_memblock_indirected(it,sizeof(GtkTextIter))) #define string_list_of_GSList(l) Val_GSList(l, (value_in) Val_string) #define GdkPixbuf_option_val(val) Option_val(val, GdkPixbuf_val, NULL) #define GdkColor_option_val(val) Option_val(val, GdkColor_val, NULL) static value val_gtksourcemark(gpointer v) { return Val_GtkSourceMark(v); } value source_marker_list_of_GSList(gpointer list) { return Val_GSList(list, val_gtksourcemark); } static value val_gtksourcelanguage(gpointer v) { return Val_GtkSourceLanguage(v); } value source_language_list_of_GSList(gpointer list) { return Val_GSList(list, val_gtksourcelanguage); } // Completion Make_Flags_val(Source_completion_activation_flags_val) #define Val_Activation_flags(val) \ ml_lookup_flags_getter(ml_table_source_completion_activation_flags, val) // Completion provider typedef struct _CustomObject CustomCompletionProvider; typedef struct _CustomObjectClass CustomCompletionProviderClass; struct _CustomObject { GObject parent; /* this MUST be the first member */ value* caml_object; }; struct _CustomObjectClass { GObjectClass parent; /* this MUST be the first member */ }; typedef struct _CustomObject CustomObject; typedef struct _CustomObjectClass CustomObjectClass; static void custom_object_finalize (GObject *object) { GObjectClass *parent_class; CustomObject* custom = (CustomObject*) object; parent_class = (GObjectClass*) g_type_class_peek_parent (object); ml_global_root_destroy(custom->caml_object); (*parent_class->finalize)(object); } GType custom_completion_provider_get_type(); #define TYPE_CUSTOM_COMPLETION_PROVIDER (custom_completion_provider_get_type ()) #define IS_CUSTOM_COMPLETION_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CUSTOM_COMPLETION_PROVIDER)) #define METHOD(obj, n) (Field(*(obj->caml_object), n)) // #define METHOD(obj, name) (callback(caml_get_public_method(obj->caml_object, hash_variant(name)), obj->caml_object)) #define METHOD1(obj, n, arg1) (callback(Field(*(obj->caml_object), n), arg1)) #define METHOD2(obj, n, arg1, arg2) (callback2(Field(*(obj->caml_object), n), arg1, arg2)) #define METHOD3(obj, n, arg1, arg2, arg3) (callback3(Field(*(obj->caml_object), n), arg1, arg2, arg3)) CAMLprim value ml_custom_completion_provider_new (value obj) { CAMLparam1(obj); CustomCompletionProvider* p = (CustomCompletionProvider*) g_object_new (TYPE_CUSTOM_COMPLETION_PROVIDER, NULL); g_assert (p != NULL); p->caml_object = ml_global_root_new(obj); CAMLreturn (Val_GtkSourceCompletionProvider_new(p)); } gchar* custom_completion_provider_get_name (GtkSourceCompletionProvider* p) { g_return_val_if_fail (IS_CUSTOM_COMPLETION_PROVIDER(p), NULL); CustomCompletionProvider *obj = (CustomCompletionProvider *) p; return g_strdup(string_val (METHOD1(obj, 0, Val_unit))); } GdkPixbuf* custom_completion_provider_get_icon (GtkSourceCompletionProvider* p) { g_return_val_if_fail (IS_CUSTOM_COMPLETION_PROVIDER(p), NULL); CustomCompletionProvider *obj = (CustomCompletionProvider *) p; return GdkPixbuf_option_val (METHOD1(obj, 1, Val_unit)); } void custom_completion_provider_populate (GtkSourceCompletionProvider* p, GtkSourceCompletionContext *context) { g_return_if_fail (IS_CUSTOM_COMPLETION_PROVIDER(p)); CustomCompletionProvider *obj = (CustomCompletionProvider *) p; METHOD1(obj, 2, Val_GtkSourceCompletionContext(context)); } GtkSourceCompletionActivation custom_completion_provider_get_activation (GtkSourceCompletionProvider* p) { g_return_val_if_fail (IS_CUSTOM_COMPLETION_PROVIDER(p), 0); CustomCompletionProvider *obj = (CustomCompletionProvider *) p; return Flags_Source_completion_activation_flags_val (METHOD1(obj, 3, Val_unit)); } gboolean custom_completion_provider_match (GtkSourceCompletionProvider* p, GtkSourceCompletionContext *context) { g_return_val_if_fail (IS_CUSTOM_COMPLETION_PROVIDER(p), FALSE); CustomCompletionProvider *obj = (CustomCompletionProvider *) p; return Bool_val (METHOD1(obj, 4, Val_GtkSourceCompletionContext(context))); } GtkWidget* custom_completion_provider_get_info_widget (GtkSourceCompletionProvider* p, GtkSourceCompletionProposal *proposal) { g_return_val_if_fail (IS_CUSTOM_COMPLETION_PROVIDER(p), NULL); CustomCompletionProvider *obj = (CustomCompletionProvider *) p; return Option_val (METHOD1(obj, 5, Val_GtkSourceCompletionProposal(proposal)), GtkWidget_val, NULL); } void custom_completion_provider_update_info (GtkSourceCompletionProvider* p, GtkSourceCompletionProposal *proposal, GtkSourceCompletionInfo *info) { g_return_if_fail (IS_CUSTOM_COMPLETION_PROVIDER(p)); CustomCompletionProvider *obj = (CustomCompletionProvider *) p; METHOD2(obj, 6, Val_GtkSourceCompletionProposal(proposal), Val_GtkSourceCompletionInfo(info)); } gboolean custom_completion_provider_get_start_iter (GtkSourceCompletionProvider* p, GtkSourceCompletionContext *context, GtkSourceCompletionProposal *proposal, GtkTextIter *iter) { g_return_val_if_fail (IS_CUSTOM_COMPLETION_PROVIDER(p), FALSE); CustomCompletionProvider *obj = (CustomCompletionProvider *) p; return Bool_val (METHOD3(obj, 7, Val_GtkSourceCompletionContext(context), Val_GtkSourceCompletionProposal(proposal), Val_GtkTextIter(iter))); } gboolean custom_completion_provider_activate_proposal (GtkSourceCompletionProvider* p, GtkSourceCompletionProposal *proposal, GtkTextIter *iter) { g_return_val_if_fail (IS_CUSTOM_COMPLETION_PROVIDER(p), FALSE); CustomCompletionProvider *obj = (CustomCompletionProvider *) p; return Bool_val (METHOD2(obj, 8, Val_GtkSourceCompletionProposal(proposal), Val_GtkTextIter(iter))); } gint custom_completion_provider_get_interactive_delay (GtkSourceCompletionProvider* p) { g_return_val_if_fail (IS_CUSTOM_COMPLETION_PROVIDER(p), 0); CustomCompletionProvider *obj = (CustomCompletionProvider *) p; return Int_val (METHOD1(obj, 9, Val_unit)); } gint custom_completion_provider_get_priority (GtkSourceCompletionProvider* p) { g_return_val_if_fail (IS_CUSTOM_COMPLETION_PROVIDER(p), 0); CustomCompletionProvider *obj = (CustomCompletionProvider *) p; return Int_val (METHOD1(obj, 10, Val_unit)); } static void custom_completion_provider_interface_init (GtkSourceCompletionProviderIface *iface, gpointer data) { iface->get_name = custom_completion_provider_get_name; iface->get_icon = custom_completion_provider_get_icon; iface->populate = custom_completion_provider_populate; iface->match = custom_completion_provider_match; iface->get_activation = custom_completion_provider_get_activation; iface->get_info_widget = custom_completion_provider_get_info_widget; iface->update_info = custom_completion_provider_update_info; iface->get_start_iter = custom_completion_provider_get_start_iter; iface->activate_proposal = custom_completion_provider_activate_proposal; iface->get_interactive_delay = custom_completion_provider_get_interactive_delay; iface->get_priority = custom_completion_provider_get_priority; } static void custom_completion_provider_class_init (CustomCompletionProviderClass *c) { GObjectClass *object_class; object_class = (GObjectClass*) c; object_class->finalize = custom_object_finalize; } GType custom_completion_provider_get_type (void) { /* Some boilerplate type registration stuff */ static GType custom_completion_provider_type = 0; if (custom_completion_provider_type == 0) { const GTypeInfo custom_completion_provider_info = { sizeof (CustomCompletionProviderClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) custom_completion_provider_class_init, NULL, /* class finalize */ NULL, /* class_data */ sizeof (CustomCompletionProvider), 0, /* n_preallocs */ NULL }; static const GInterfaceInfo source_completion_provider_info = { (GInterfaceInitFunc) custom_completion_provider_interface_init, NULL, NULL }; custom_completion_provider_type = g_type_register_static (G_TYPE_OBJECT, "custom_completion_provider", &custom_completion_provider_info, (GTypeFlags)0); /* Here we register our GtkTreeModel interface with the type system */ g_type_add_interface_static (custom_completion_provider_type, GTK_SOURCE_TYPE_COMPLETION_PROVIDER, &source_completion_provider_info); } return custom_completion_provider_type; } ML_1 (gtk_source_completion_provider_get_name, GtkSourceCompletionProvider_val, Val_string) ML_1 (gtk_source_completion_provider_get_icon, GtkSourceCompletionProvider_val, Val_option_GdkPixbuf) ML_2 (gtk_source_completion_provider_populate, GtkSourceCompletionProvider_val, GtkSourceCompletionContext_val, Unit) ML_1 (gtk_source_completion_provider_get_activation, GtkSourceCompletionProvider_val, Val_Activation_flags) ML_2 (gtk_source_completion_provider_match, GtkSourceCompletionProvider_val, GtkSourceCompletionContext_val, Val_bool) // FIXME : this should return a widget option? ML_2 (gtk_source_completion_provider_get_info_widget, GtkSourceCompletionProvider_val, GtkSourceCompletionProposal_val, Val_GtkWidget) ML_3 (gtk_source_completion_provider_update_info, GtkSourceCompletionProvider_val, GtkSourceCompletionProposal_val, GtkSourceCompletionInfo_val, Unit) CAMLprim value ml_gtk_source_completion_provider_get_start_iter (value provider, value context, value proposal) { CAMLparam3(provider, context, proposal); GtkTextIter res; gtk_source_completion_provider_get_start_iter(GtkSourceCompletionProvider_val(provider), GtkSourceCompletionContext_val(context), GtkSourceCompletionProposal_val(proposal), &res); CAMLreturn(Val_GtkTextIter(&res)); } ML_3 (gtk_source_completion_provider_activate_proposal, GtkSourceCompletionProvider_val, GtkSourceCompletionProposal_val, GtkTextIter_val, Val_bool) ML_1 (gtk_source_completion_provider_get_interactive_delay, GtkSourceCompletionProvider_val, Val_int) ML_1 (gtk_source_completion_provider_get_priority, GtkSourceCompletionProvider_val, Val_int) // Completion proposal ML_4 (gtk_source_completion_item_new, String_val, String_val, GdkPixbuf_option_val, String_option_val, Val_GtkSourceCompletionItem_new) ML_4 (gtk_source_completion_item_new_with_markup, String_val, String_val, GdkPixbuf_option_val, String_option_val, Val_GtkSourceCompletionItem_new) ML_4 (gtk_source_completion_item_new_from_stock, String_val, String_val, String_val, String_val, Val_GtkSourceCompletionItem_new) // Completion info ML_3 (gtk_source_completion_info_move_to_iter, GtkSourceCompletionInfo_val, GtkTextView_val, GtkTextIter_val, Unit) /* Removed in gtksourceview3 ML_5 (gtk_source_completion_info_set_sizing, GtkSourceCompletionInfo_val, Int_val, Int_val, Bool_val, Bool_val, Unit) */ ML_2 (gtk_source_completion_info_set_widget, GtkSourceCompletionInfo_val, GtkWidget_val, Unit) ML_1 (gtk_source_completion_info_get_widget, GtkSourceCompletionInfo_val, Val_GtkWidget) /* Removed in gtksourceview3 ML_1 (gtk_source_completion_info_process_resize, GtkSourceCompletionInfo_val, Unit) */ // Completion context CAMLexport value Val_GtkSourceCompletionProposal_func(gpointer w) { return Val_GtkSourceCompletionProposal(w); } CAMLexport gpointer GtkSourceCompletionProposal_val_func(value val) { CAMLparam1(val); CAMLreturnT (gpointer, GtkSourceCompletionProposal_val(val)); } #define Val_Proposals(val) Val_GList(val, Val_GtkSourceCompletionProposal_func) #define Proposals_val(val) GList_val(val, GtkSourceCompletionProposal_val_func) CAMLexport value ml_gtk_source_completion_context_set_activation (value context, value flags) { g_object_set (GtkSourceCompletionContext_val(context), "activation", Flags_Source_completion_activation_flags_val(flags), NULL); return Val_unit; } ML_1 (gtk_source_completion_context_get_activation, GtkSourceCompletionContext_val, Val_Activation_flags) ML_4 (gtk_source_completion_context_add_proposals, GtkSourceCompletionContext_val, GtkSourceCompletionProvider_val, Proposals_val, Bool_val, Unit) ML_1 (gtk_source_completion_block_interactive, GtkSourceCompletion_val, Unit) CAMLexport value Val_GtkSourceCompletionProvider_func(gpointer w) { return Val_GtkSourceCompletionProvider(w); } CAMLexport gpointer GtkSourceCompletionProvider_val_func(value val) { return GtkSourceCompletionProvider_val(val); } #define Val_Providers(val) Val_GList(val, Val_GtkSourceCompletionProvider_func) #define Providers_val(val) GList_val(val, GtkSourceCompletionProvider_val_func) CAMLexport value ml_gtk_source_completion_add_provider (value completion, value provider) { return Val_bool (gtk_source_completion_add_provider (GtkSourceCompletion_val(completion), GtkSourceCompletionProvider_val(provider), NULL)); } CAMLexport value ml_gtk_source_completion_remove_provider (value completion, value provider) { return Val_bool (gtk_source_completion_remove_provider (GtkSourceCompletion_val(completion), GtkSourceCompletionProvider_val(provider), NULL)); } ML_1 (gtk_source_completion_get_providers, GtkSourceCompletion_val, Val_Providers) ML_3 (gtk_source_completion_show, GtkSourceCompletion_val, Providers_val, GtkSourceCompletionContext_val, Val_bool) ML_1 (gtk_source_completion_hide, GtkSourceCompletion_val, Unit) // gtk_source_completion_get_info_window ML_1 (gtk_source_completion_get_view, GtkSourceCompletion_val, Val_GtkSourceBuffer) ML_2 (gtk_source_completion_create_context, GtkSourceCompletion_val, GtkTextIter_val, Val_GtkSourceCompletionContext_new) ML_2 (gtk_source_completion_move_window, GtkSourceCompletion_val, GtkTextIter_val, Unit) ML_1 (gtk_source_completion_unblock_interactive, GtkSourceCompletion_val, Unit) // Style ML_1 (gtk_source_style_scheme_get_name, GtkSourceStyleScheme_val, Val_string) ML_1 (gtk_source_style_scheme_get_description, GtkSourceStyleScheme_val, Val_string) ML_0 (gtk_source_style_scheme_manager_new, Val_GtkAny_sink) ML_0 (gtk_source_style_scheme_manager_get_default, Val_GtkSourceStyleSchemeManager) ML_2 (gtk_source_style_scheme_manager_get_scheme, GtkSourceStyleSchemeManager_val, String_val, Val_option_GtkSourceStyleScheme) ML_1 (gtk_source_style_scheme_manager_get_scheme_ids, GtkSourceStyleSchemeManager_val, string_list_of_strv) ML_1 (gtk_source_style_scheme_manager_get_search_path, GtkSourceStyleSchemeManager_val, string_list_of_strv) ML_2 (gtk_source_style_scheme_manager_set_search_path, GtkSourceStyleSchemeManager_val, strv_of_string_list, Unit) ML_2 (gtk_source_style_scheme_manager_prepend_search_path, GtkSourceStyleSchemeManager_val, String_val, Unit) ML_2 (gtk_source_style_scheme_manager_append_search_path, GtkSourceStyleSchemeManager_val, String_val, Unit) ML_1 (gtk_source_style_scheme_manager_force_rescan, GtkSourceStyleSchemeManager_val, Unit) ML_1 (gtk_source_language_get_id, GtkSourceLanguage_val, Val_string) ML_1 (gtk_source_language_get_name, GtkSourceLanguage_val, Val_string) ML_1 (gtk_source_language_get_section, GtkSourceLanguage_val, Val_string) ML_1 (gtk_source_language_get_hidden, GtkSourceLanguage_val, Val_bool) ML_2 (gtk_source_language_get_metadata, GtkSourceLanguage_val, String_option_val, Val_optstring) ML_1 (gtk_source_language_get_mime_types, GtkSourceLanguage_val, string_list_of_strv2) ML_1 (gtk_source_language_get_globs, GtkSourceLanguage_val, string_list_of_strv2) ML_2 (gtk_source_language_get_style_name, GtkSourceLanguage_val, String_val, Val_optstring) ML_1 (gtk_source_language_get_style_ids, GtkSourceLanguage_val, string_list_of_strv2) ML_0 (gtk_source_language_manager_new, Val_GtkAny_sink) ML_0(gtk_source_language_manager_get_default,Val_GtkSourceLanguageManager) /* This function leaks the strv. It needs to be freed before returning. */ ML_2(gtk_source_language_manager_set_search_path,GtkSourceLanguageManager_val, strv_of_string_list,Unit) #if 0 // I need to find a test for this code CAMLprim value ml_gtk_source_language_manager_set_search_path(value lm, value sl) { gchar** strv = strv_of_string_list(sl); gchar **index = strv; gtk_source_language_manager_set_search_path(GtkSourceLanguageManager_val(lm),strv); while(*index != NULL) {g_free(*strv); strv++; }; g_free(strv); return Val_unit; } #endif ML_1(gtk_source_language_manager_get_search_path,GtkSourceLanguageManager_val, string_list_of_strv) ML_1(gtk_source_language_manager_get_language_ids,GtkSourceLanguageManager_val, string_list_of_strv) ML_2(gtk_source_language_manager_get_language,GtkSourceLanguageManager_val, String_val,Val_option_GtkSourceLanguage) ML_3 (gtk_source_language_manager_guess_language, GtkSourceLanguageManager_val, String_option_val, String_option_val, Val_option_GtkSourceLanguage) ML_2 (gtk_source_mark_new, String_val, String_val, Val_GtkSourceMark_new) ML_1 (gtk_source_mark_get_category, GtkSourceMark_val, Val_string) ML_2 (gtk_source_mark_next, GtkSourceMark_val, String_option_val, Val_option_GtkSourceMark) ML_2 (gtk_source_mark_prev, GtkSourceMark_val, String_option_val, Val_option_GtkSourceMark) // SourceMarkAttributes ML_0(gtk_source_mark_attributes_new,Val_GtkSourceMarkAttributes) ML_4(gtk_source_view_set_mark_attributes, GtkSourceView_val, String_val, GtkSourceMarkAttributes_val, Int_val, Unit) CAMLprim value ml_gtk_source_view_get_mark_attributes( value obj, value category) { CAMLparam2(obj,category); CAMLlocal2(attr_opt,result); GtkSourceMarkAttributes* attributes; int prio; attributes = gtk_source_view_get_mark_attributes( GtkSourceView_val(obj), String_val(category), &prio); if (attributes) { attr_opt = Val_copy(attributes); result = alloc_small(1,0); Field(result,0) = attr_opt; } else result = Val_unit; CAMLreturn(result); } CAMLprim value ml_gtk_source_view_get_mark_priority( value obj, value category) { CAMLparam2(obj, category); int prio = 0; gtk_source_view_get_mark_attributes( GtkSourceView_val(obj), String_val(category), &prio); CAMLreturn(Val_int(prio)); } // SourceUndoManager // Defining a custom one: boilerplate typedef struct _CustomObject CustomUndoManager; typedef struct _CustomObjectClass CustomUndoManagerClass; GType custom_undo_manager_get_type(); #define TYPE_CUSTOM_UNDO_MANAGER (custom_undo_manager_get_type ()) #define IS_CUSTOM_UNDO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CUSTOM_UNDO_MANAGER)) CAMLprim value ml_custom_undo_manager_new (value obj) { CAMLparam1(obj); CustomUndoManager* p = (CustomUndoManager*) g_object_new (TYPE_CUSTOM_UNDO_MANAGER, NULL); g_assert (p != NULL); p->caml_object = ml_global_root_new(obj); CAMLreturn (Val_GtkSourceUndoManager_new(p)); } gboolean custom_undo_manager_can_undo (GtkSourceUndoManager* p) { g_return_val_if_fail (IS_CUSTOM_UNDO_MANAGER(p), FALSE); CustomUndoManager *obj = (CustomUndoManager *) p; return Bool_val (METHOD1(obj, 0, Val_unit)); } gboolean custom_undo_manager_can_redo (GtkSourceUndoManager* p) { g_return_val_if_fail (IS_CUSTOM_UNDO_MANAGER(p), FALSE); CustomUndoManager *obj = (CustomUndoManager *) p; return Bool_val (METHOD1(obj, 1, Val_unit)); } void custom_undo_manager_undo (GtkSourceUndoManager* p) { g_return_if_fail (IS_CUSTOM_UNDO_MANAGER(p)); CustomUndoManager *obj = (CustomUndoManager *) p; METHOD1(obj, 2, Val_unit); } void custom_undo_manager_redo (GtkSourceUndoManager* p) { g_return_if_fail (IS_CUSTOM_UNDO_MANAGER(p)); CustomUndoManager *obj = (CustomUndoManager *) p; METHOD1(obj, 3, Val_unit); } void custom_undo_manager_begin_not_undoable_action (GtkSourceUndoManager* p) { g_return_if_fail (IS_CUSTOM_UNDO_MANAGER(p)); CustomUndoManager *obj = (CustomUndoManager *) p; METHOD1(obj, 4, Val_unit); } void custom_undo_manager_end_not_undoable_action (GtkSourceUndoManager* p) { g_return_if_fail (IS_CUSTOM_UNDO_MANAGER(p)); CustomUndoManager *obj = (CustomUndoManager *) p; METHOD1(obj, 5, Val_unit); } void custom_undo_manager_can_undo_changed (GtkSourceUndoManager* p) { g_return_if_fail (IS_CUSTOM_UNDO_MANAGER(p)); CustomUndoManager *obj = (CustomUndoManager *) p; METHOD1(obj, 6, Val_unit); } void custom_undo_manager_can_redo_changed (GtkSourceUndoManager* p) { g_return_if_fail (IS_CUSTOM_UNDO_MANAGER(p)); CustomUndoManager *obj = (CustomUndoManager *) p; METHOD1(obj, 7, Val_unit); } void custom_undo_manager_class_init (CustomUndoManagerClass* c) { GObjectClass *object_class; object_class = (GObjectClass*) c; object_class->finalize = custom_object_finalize; } void custom_undo_manager_interface_init (GtkSourceUndoManagerIface *iface, gpointer data) { iface->can_undo = custom_undo_manager_can_undo; iface->can_redo = custom_undo_manager_can_redo; iface->undo = custom_undo_manager_undo; iface->redo = custom_undo_manager_redo; iface->begin_not_undoable_action = custom_undo_manager_begin_not_undoable_action; iface->end_not_undoable_action = custom_undo_manager_end_not_undoable_action; iface->can_undo_changed = custom_undo_manager_can_undo_changed; iface->can_redo_changed = custom_undo_manager_can_redo_changed; } GType custom_undo_manager_get_type (void) { /* Some boilerplate type registration stuff */ static GType custom_undo_manager_type = 0; if (custom_undo_manager_type == 0) { const GTypeInfo custom_undo_manager_info = { sizeof (CustomUndoManagerClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) custom_undo_manager_class_init, NULL, /* class finalize */ NULL, /* class_data */ sizeof (CustomUndoManager), 0, /* n_preallocs */ NULL }; static const GInterfaceInfo source_undo_manager_info = { (GInterfaceInitFunc) custom_undo_manager_interface_init, NULL, NULL }; custom_undo_manager_type = g_type_register_static (G_TYPE_OBJECT, "custom_undo_manager", &custom_undo_manager_info, (GTypeFlags)0); /* Here we register our GtkTreeModel interface with the type system */ g_type_add_interface_static (custom_undo_manager_type, GTK_SOURCE_TYPE_UNDO_MANAGER, &source_undo_manager_info); } return custom_undo_manager_type; } ML_1 (gtk_source_undo_manager_can_undo, GtkSourceUndoManager_val, Val_bool) ML_1 (gtk_source_undo_manager_can_redo, GtkSourceUndoManager_val, Val_bool) ML_1 (gtk_source_undo_manager_undo, GtkSourceUndoManager_val, Unit) ML_1 (gtk_source_undo_manager_redo, GtkSourceUndoManager_val, Unit) ML_1 (gtk_source_undo_manager_begin_not_undoable_action, GtkSourceUndoManager_val, Unit) ML_1 (gtk_source_undo_manager_end_not_undoable_action, GtkSourceUndoManager_val, Unit) ML_1 (gtk_source_undo_manager_can_undo_changed, GtkSourceUndoManager_val, Unit) ML_1 (gtk_source_undo_manager_can_redo_changed, GtkSourceUndoManager_val, Unit) // SourceBuffer ML_1 (gtk_source_buffer_new, GtkTextTagTable_val, Val_GtkSourceBuffer_new) ML_1 (gtk_source_buffer_new_with_language, GtkSourceLanguage_val, Val_GtkAny_sink) ML_1 (gtk_source_buffer_can_undo, GtkSourceBuffer_val, Val_bool) ML_1 (gtk_source_buffer_can_redo, GtkSourceBuffer_val, Val_bool) ML_1 (gtk_source_buffer_undo, GtkSourceBuffer_val, Unit) ML_1 (gtk_source_buffer_redo, GtkSourceBuffer_val, Unit) ML_1 (gtk_source_buffer_begin_not_undoable_action, GtkSourceBuffer_val, Unit) ML_1 (gtk_source_buffer_end_not_undoable_action, GtkSourceBuffer_val, Unit) ML_4 (gtk_source_buffer_create_source_mark, GtkSourceBuffer_val, String_option_val, String_option_val, GtkTextIter_val, Val_GtkSourceMark) ML_4 (gtk_source_buffer_remove_source_marks, GtkSourceBuffer_val, GtkTextIter_val, GtkTextIter_val, String_option_val, Unit) ML_3 (gtk_source_buffer_get_source_marks_at_iter, GtkSourceBuffer_val, GtkTextIter_val,String_option_val, source_marker_list_of_GSList) ML_3 (gtk_source_buffer_get_source_marks_at_line, GtkSourceBuffer_val, Int_val,String_option_val, source_marker_list_of_GSList) ML_3 (gtk_source_buffer_forward_iter_to_source_mark, GtkSourceBuffer_val, GtkTextIter_val, String_option_val, Val_bool) ML_3 (gtk_source_buffer_backward_iter_to_source_mark, GtkSourceBuffer_val, GtkTextIter_val, String_option_val, Val_bool) ML_3 (gtk_source_buffer_iter_has_context_class, GtkSourceBuffer_val, GtkTextIter_val, String_val, Val_bool) ML_3 (gtk_source_buffer_iter_forward_to_context_class_toggle, GtkSourceBuffer_val, GtkTextIter_val, String_val, Val_bool) ML_3 (gtk_source_buffer_iter_backward_to_context_class_toggle, GtkSourceBuffer_val, GtkTextIter_val, String_val, Val_bool) ML_3 (gtk_source_buffer_ensure_highlight, GtkSourceBuffer_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_2 (gtk_source_buffer_set_highlight_matching_brackets, GtkSourceBuffer_val, Bool_val, Unit); ML_0 (gtk_source_view_new, Val_GtkWidget_sink) ML_1 (gtk_source_view_new_with_buffer, GtkSourceBuffer_val, Val_GtkWidget_sink) /* The following are apparently removed in gtksourceview3, replaced by gtk_source_view_get_mark_category (TODO?) ML_2 (gtk_source_view_get_mark_category_priority, GtkSourceView_val, String_val, Val_int) ML_3 (gtk_source_view_set_mark_category_priority, GtkSourceView_val, String_val, Int_val, Unit) ML_3 (gtk_source_view_set_mark_category_pixbuf, GtkSourceView_val, String_val, GdkPixbuf_option_val, Unit) ML_2 (gtk_source_view_get_mark_category_pixbuf, GtkSourceView_val, String_val, Val_option_GdkPixbuf) ML_3 (gtk_source_view_set_mark_category_background, GtkSourceView_val, String_val, GdkColor_option_val, Unit) CAMLprim value ml_gtk_source_view_get_mark_category_background (value sv, value s, value c) { CAMLparam3(sv, s, c); CAMLlocal2(color, result); GdkColor dest; if (gtk_source_view_get_mark_category_background( GtkSourceView_val(sv), String_val(s), &dest)) { color = Val_copy(dest); result = alloc_small(1, 0); Field(result, 0) = color; } else result = Val_unit; CAMLreturn(result); } */ ML_1 (gtk_source_view_get_completion, GtkSourceView_val, Val_GtkSourceCompletion) Make_Flags_val(Source_draw_spaces_flags_val) #define Val_flags_Draw_spaces_flags(val) \ ml_lookup_flags_getter(ml_table_source_draw_spaces_flags, val) ML_1 (gtk_source_view_get_draw_spaces, GtkSourceView_val, Val_flags_Draw_spaces_flags) ML_2 (gtk_source_view_set_draw_spaces, GtkSourceView_val, Flags_Source_draw_spaces_flags_val, Unit) /* This code was taken from gedit */ /* assign a unique name */ static G_CONST_RETURN gchar * get_widget_name (GtkWidget *w) { const gchar *name; name = gtk_widget_get_name (w); g_return_val_if_fail (name != NULL, NULL); if (strcmp (name, g_type_name (G_OBJECT_TYPE (w))) == 0) { static guint d = 0; gchar *n; n = g_strdup_printf ("%s_%u_%u", name, d, g_random_int()); d++; gtk_widget_set_name (w, n); g_free (n); name = gtk_widget_get_name (w); } return name; } /* There is no clean way to set the cursor-color, so we are stuck * with the following hack: set the name of each widget and parse * a gtkrc string. */ static void gtk_modify_cursor_color (GtkWidget *textview, GdkColor *color) { static const char cursor_color_rc[] = "style \"svs-cc\"\n" "{\n" "GtkSourceView::cursor-color=\"#%04x%04x%04x\"\n" "}\n" "widget \"*.%s\" style : application \"svs-cc\"\n"; const gchar *name; gchar *rc_temp; name = get_widget_name (textview); g_return_if_fail (name != NULL); if (color != NULL) { rc_temp = g_strdup_printf (cursor_color_rc, color->red, color->green, color->blue, name); } else { GtkRcStyle *rc_style; rc_style = gtk_widget_get_modifier_style (textview); rc_temp = g_strdup_printf (cursor_color_rc, rc_style->text [GTK_STATE_NORMAL].red, rc_style->text [GTK_STATE_NORMAL].green, rc_style->text [GTK_STATE_NORMAL].blue, name); } gtk_rc_parse_string (rc_temp); gtk_widget_reset_rc_styles (textview); g_free (rc_temp); } /* end of gedit code */ ML_2(gtk_modify_cursor_color,GtkWidget_val,GdkColor_val,Unit); /* Not anymore in gtksourceview3; ml_gtk_source_iter_*_search told to be now in gtk+ #define Make_search(dir) \ CAMLprim value ml_gtk_source_iter_##dir##_search (value ti,\ value str,\ value flag,\ value ti_stop,\ value ti_start,\ value ti_lim)\ { CAMLparam5(ti,str,flag,ti_start,ti_stop);\ CAMLxparam1(ti_lim);\ CAMLlocal2(res,coup);\ GtkTextIter* ti1,*ti2;\ gboolean b;\ ti1=gtk_text_iter_copy(GtkTextIter_val(ti_start));\ ti2=gtk_text_iter_copy(GtkTextIter_val(ti_stop));\ b=gtk_source_iter_##dir##_search(GtkTextIter_val(ti),\ String_val(str),\ OptFlags_Source_search_flag_val(flag),\ ti1,\ ti2,\ Option_val(ti_lim,GtkTextIter_val,NULL));\ if (!b) res = Val_unit;\ else \ { res = alloc(1,0);\ coup = alloc_tuple(2);\ Store_field(coup,0,Val_GtkTextIter(ti1));\ Store_field(coup,1,Val_GtkTextIter(ti2));\ Store_field(res,0,coup);};\ CAMLreturn(res);} Make_search(forward); Make_search(backward); ML_bc6(ml_gtk_source_iter_forward_search); ML_bc6(ml_gtk_source_iter_backward_search); */ lablgtk-3.1.2/src-sourceview3/sourceView3_tags.var0000644000650106067230000000462714161276610021022 0ustar glondused(*****************************************************************************) (* *) (* lablgtksourceview, OCaml binding for the GtkSourceView text widget *) (* *) (* Copyright (C) 2005 Stefano Zacchiroli *) (* Copyright (C) 2006 Stefano Zacchiroli *) (* Maxence Guesdon *) (* *) (* This library is free software; you can redistribute it and/or modify *) (* it under the terms of the GNU Lesser General Public License as *) (* published by the Free Software Foundation; either version 2.1 of the *) (* License, or (at your option) any later version. *) (* *) (* This library 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 *) (* Lesser General Public License for more details. *) (* *) (* You should have received a copy of the GNU Lesser General Public *) (* License along with this library; if not, write to the Free Software *) (* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *) (* USA *) (* *) (*****************************************************************************) package "sourceView3" (* Not in gtksourceview 3.0 type source_search_flag = "GTK_SOURCE_SEARCH_" [ `VISIBLE_ONLY | `TEXT_ONLY | `CASE_INSENSITIVE ] *) type source_smart_home_end_type = "GTK_SOURCE_SMART_HOME_END_" [ `DISABLED| `BEFORE| `AFTER| `ALWAYS ] (* Only NBSP is supported *) type source_draw_spaces_flags = "GTK_SOURCE_DRAW_SPACES_" [ `SPACE | `TAB | `NEWLINE | `NBSP | `LEADING | `TEXT | `TRAILING ] type source_completion_activation_flags = "GTK_SOURCE_COMPLETION_ACTIVATION_" [ `INTERACTIVE | `USER_REQUESTED ] lablgtk-3.1.2/src-unsupported/0000755000650106067230000000000014161276610015155 5ustar glondusedlablgtk-3.1.2/src-unsupported/gHtml.ml0000644000650106067230000000533014161276610016563 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gtk open GtkBase open GObj open GtkXmHTML class xmhtml obj = object (self) inherit widget_full (obj : GtkXmHTML.xmhtml obj) method event = new GObj.event_ops obj method freeze = freeze obj method thaw = thaw obj method source = source obj method set_fonts = set_font_familty obj method set_fonts_fixed = set_font_familty_fixed obj method set_anchor_buttons = set_anchor_buttons obj method set_anchor_cursor = set_anchor_cursor obj method set_anchor_underline = set_anchor_underline_type obj method set_anchor_visited_underline = set_anchor_visited_underline_type obj method set_anchor_target_underline = set_anchor_target_underline_type obj method set_topline = set_topline obj method topline = get_topline obj method set_strict_checking = set_strict_checking obj method set_bad_html_warnings = set_bad_html_warnings obj method set_imagemap_draw = set_imagemap_draw obj end let xmhtml ?source ?border_width ?width ?height ?packing ?show () = let w = create () in Container.set w ?border_width ?width ?height; may source ~f:(GtkXmHTML.source w); pack_return (new xmhtml w) ~packing ~show lablgtk-3.1.2/src-unsupported/glGtk.ml0000644000650106067230000001012514161276610016556 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gtk type visual_options = [ | `USE_GL | `BUFFER_SIZE of int | `LEVEL of int | `RGBA | `DOUBLEBUFFER | `STEREO | `AUX_BUFFERS of int | `RED_SIZE of int | `GREEN_SIZE of int | `BLUE_SIZE of int | `ALPHA_SIZE of int | `DEPTH_SIZE of int | `STENCIL_SIZE of int | `ACCUM_GREEN_SIZE of int | `ACCUM_ALPHA_SIZE of int ] type gl_area = [Gtk.drawing_area|`glarea] module GtkRaw = struct external create : visual_options list -> share:[>`glarea] optobj -> gl_area obj = "ml_gtk_gl_area_new" external swap_buffers : [>`glarea] obj -> unit = "ml_gtk_gl_area_swap_buffers" external make_current : [>`glarea] obj -> bool = "ml_gtk_gl_area_make_current" end class area_signals obj = object (connect) inherit GObj.widget_signals_impl (obj : [> gl_area] obj) method display ~callback = (new GObj.event_signals obj)#after#expose ~callback: begin fun ev -> if GdkEvent.Expose.count ev = 0 then if GtkRaw.make_current obj then callback () else prerr_endline "GlGtk-WARNING **: could not make current"; true end method reshape ~callback = (new GObj.event_signals obj)#after#configure ~callback: begin fun ev -> if GtkRaw.make_current obj then begin callback ~width:(GdkEvent.Configure.width ev) ~height:(GdkEvent.Configure.height ev) end else prerr_endline "GlGtk-WARNING **: could not make current"; true end method realize ~callback = (new GObj.misc_signals (obj :> Gtk.widget obj))#after#realize ~callback: begin fun ev -> if GtkRaw.make_current obj then callback () else prerr_endline "GlGtk-WARNING **: could not make current" end end class area obj = object (self) inherit GObj.widget (obj : gl_area obj) method as_area = obj method event = new GObj.event_ops obj method connect = new area_signals obj method set_size = GtkMisc.DrawingArea.size obj method swap_buffers () = GtkRaw.swap_buffers obj method make_current () = if not (GtkRaw.make_current obj) then raise (Gl.GLerror "make_current") end let area options ?share ?(width=0) ?(height=0) ?packing ?show () = let share = match share with Some (x : area) -> Some x#as_area | None -> None in let w = GtkRaw.create options ~share:(Gpointer.optboxed share) in if width <> 0 || height <> 0 then GtkMisc.DrawingArea.size w ~width ~height; GtkBase.Widget.add_events w [`EXPOSURE]; GObj.pack_return (new area w) ~packing ~show let region_of_raw raw = Gpointer.unsafe_create_region ~path:[|1|] ~get_length:Raw.byte_size raw lablgtk-3.1.2/src-unsupported/glGtk.mli0000644000650106067230000000621314161276610016732 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk open GObj type visual_options = [ `USE_GL | `BUFFER_SIZE of int | `LEVEL of int | `RGBA | `DOUBLEBUFFER | `STEREO | `AUX_BUFFERS of int | `RED_SIZE of int | `GREEN_SIZE of int | `BLUE_SIZE of int | `ALPHA_SIZE of int | `DEPTH_SIZE of int | `STENCIL_SIZE of int | `ACCUM_GREEN_SIZE of int | `ACCUM_ALPHA_SIZE of int ] type gl_area = [Gtk.drawing_area|`glarea] module GtkRaw : sig external create : visual_options list -> share:[>`glarea] optobj -> gl_area obj = "ml_gtk_gl_area_new" external swap_buffers : [>`glarea] obj -> unit = "ml_gtk_gl_area_swap_buffers" external make_current : [>`glarea] obj -> bool = "ml_gtk_gl_area_make_current" end class area_signals : 'a obj -> object inherit GObj.widget_signals constraint 'a = [> gl_area] val obj : 'a obj method display : callback:(unit -> unit) -> GtkSignal.id method realize : callback:(unit -> unit) -> GtkSignal.id method reshape : callback:(width:int -> height:int -> unit) -> GtkSignal.id end class area : gl_area obj -> object inherit GObj.widget val obj : gl_area obj method event : event_ops method as_area : gl_area obj method connect : area_signals method make_current : unit -> unit method set_size : width:int -> height:int -> unit method swap_buffers : unit -> unit end val area : visual_options list -> ?share:area -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> area val region_of_raw : 'a Raw.t -> Gpointer.region lablgtk-3.1.2/src-unsupported/gnoCanvas.ml0000644000650106067230000004440314161276610017433 0ustar glondused(**************************************************************************) (* 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$ *) open GnomeCanvas type items_properties = [ | `NO_WIDGET | `NO_FILL_COLOR | `NO_OUTLINE_COLOR | `NO_FONT | `NO_TEXT | `NO_BPATH | `NO_PIXBUF | `ANCHOR of Gtk.Tags.anchor_type | `ARROW_SHAPE_A of float | `ARROW_SHAPE_B of float | `ARROW_SHAPE_C of float | `BPATH of PathDef.t | `CAP_STYLE of Gdk.GC.gdkCapStyle | `CLIP of bool | `CLIP_HEIGHT of float | `CLIP_WIDTH of float | `CURSOR_BLINK of bool | `CURSOR_VISIBLE of bool | `DASH of float * float array | `EDITABLE of bool | `FAMILY of string | `FILL_COLOR of string | `FILL_COLOR_RGBA of int32 | `FILL_STIPPLE of Gdk.bitmap | `FIRST_ARROWHEAD of bool | `FONT of string | `GROW_HEIGHT of bool | `HEIGHT of float | `JOIN_STYLE of Gdk.GC.gdkJoinStyle | `JUSTIFICATION of Gtk.Tags.justification | `LAST_ARROWHEAD of bool | `LEFT_MARGIN of int | `LINE_STYLE of Gdk.GC.gdkLineStyle | `MARKUP of string | `OUTLINE_COLOR of string | `OUTLINE_COLOR_RGBA of int32 | `OUTLINE_STIPPLE of Gdk.bitmap | `PIXBUF of GdkPixbuf.pixbuf | `POINTS of float array | `RIGHT_MARGIN of int | `RISE of int | `SCALE of float | `SIZE of int | `SIZE_PIXELS of bool | `SIZE_POINTS of float | `SMOOTH of bool | `TEXT of string | `VISIBLE of bool | `WEIGHT of int | `WIDGET of GObj.widget | `WIDTH of float | `WIDTH_PIXELS of int | `WIDTH_UNITS of float | `X of float | `X1 of float | `X2 of float | `X_OFFSET of float | `Y of float | `Y1 of float | `Y2 of float | `Y_OFFSET of float ] let encode tbl v = `INT (Gpointer.encode_variant tbl v) let propertize = function | `ANCHOR a -> "anchor", encode GtkEnums.anchor_type a | `ARROW_SHAPE_A v -> "arrow_shape_a", `FLOAT v | `ARROW_SHAPE_B v -> "arrow_shape_b", `FLOAT v | `ARROW_SHAPE_C v -> "arrow_shape_c", `FLOAT v | `BPATH p -> "bpath" , `POINTER (Some p) | `CAP_STYLE c -> "cap_style", encode GdkEnums.cap_style c | `CLIP b -> "clip", `BOOL b | `CLIP_HEIGHT v -> "clip_height", `FLOAT v | `CLIP_WIDTH v -> "clip_width", `FLOAT v | `CURSOR_BLINK b -> "cursor_blink", `BOOL b | `CURSOR_VISIBLE b -> "cursor_visible", `BOOL b | `DASH (off, d) -> "dash", `POINTER (Some (Conv.convert_dash off d)) | `EDITABLE b -> "editable", `BOOL b | `FAMILY s -> "family", `STRING (Some s) | `FILL_COLOR c -> "fill_color", `STRING (Some c) | `FILL_COLOR_RGBA c -> "fill_color_rgba", `INT32 c | `FILL_STIPPLE (d : Gdk.bitmap) -> "fill_stipple", `OBJECT (Some (Gobject.coerce d)) | `FIRST_ARROWHEAD b -> "first_arrowhead", `BOOL b | `FONT t -> "font", `STRING (Some t) | `GROW_HEIGHT b -> "grow_height", `BOOL b | `HEIGHT v -> "height", `FLOAT v | `JOIN_STYLE c -> "join_style", encode GdkEnums.join_style c | `JUSTIFICATION j -> "justification", encode GtkEnums.justification j | `LAST_ARROWHEAD b -> "last_arrowhead", `BOOL b | `LEFT_MARGIN i -> "left_margin", `INT i | `LINE_STYLE c -> "line_style", encode GdkEnums.line_style c | `OUTLINE_COLOR c -> "outline_color", `STRING (Some c) | `OUTLINE_COLOR_RGBA c -> "outline_color_rgba", `INT32 c | `OUTLINE_STIPPLE (d : Gdk.bitmap) -> "outline_stipple", `OBJECT (Some (Gobject.coerce d)) | `MARKUP s -> "markup", `STRING (Some s) | `PIXBUF (p : GdkPixbuf.pixbuf) -> "pixbuf", `OBJECT (Some (Gobject.coerce p)) | `POINTS p -> "points", `POINTER (Some (Conv.convert_points p)) | `RIGHT_MARGIN i -> "right_margin", `INT i | `RISE i -> "rise", `INT i | `SCALE f -> "scale", `FLOAT f | `SIZE i -> "size", `INT i | `SIZE_PIXELS b -> "size_pixels", `BOOL b | `SIZE_POINTS f -> "size-points", `FLOAT f | `SMOOTH b -> "smooth", `BOOL b | `TEXT t -> "text", `STRING (Some t) | `VISIBLE b -> "visible", `BOOL b | `WEIGHT i -> "weight", `INT i | `WIDGET (w : GObj.widget) -> "widget", `OBJECT (Some (Gobject.coerce w#as_widget)) | `WIDTH v -> "width", `FLOAT v | `WIDTH_PIXELS v -> "width_pixels", `INT v | `WIDTH_UNITS v -> "width_units", `FLOAT v | `X v -> "x", `FLOAT v | `X1 v -> "x1", `FLOAT v | `X2 v -> "x2", `FLOAT v | `X_OFFSET v -> "x_offset", `FLOAT v | `Y v -> "y", `FLOAT v | `Y1 v -> "y1", `FLOAT v | `Y2 v -> "y2", `FLOAT v | `Y_OFFSET v -> "y_offset", `FLOAT v | `NO_FILL_COLOR -> "fill_color", `STRING None | `NO_OUTLINE_COLOR -> "outline_color", `STRING None | `NO_FONT -> "font", `STRING None | `NO_TEXT -> "text", `STRING None | `NO_BPATH -> "bpath", `POINTER None | `NO_PIXBUF -> "pixbuf", `OBJECT None | `NO_WIDGET -> "widget", `OBJECT None let set_properties obj p = List.iter (fun p -> let p, d = propertize p in Gobject.Property.set_dyn obj p d) p; Item.set obj type item_event = [ | `BUTTON_PRESS of GdkEvent.Button.t | `TWO_BUTTON_PRESS of GdkEvent.Button.t | `THREE_BUTTON_PRESS of GdkEvent.Button.t | `BUTTON_RELEASE of GdkEvent.Button.t | `MOTION_NOTIFY of GdkEvent.Motion.t | `KEY_PRESS of GdkEvent.Key.t | `KEY_RELEASE of GdkEvent.Key.t | `ENTER_NOTIFY of GdkEvent.Crossing.t | `LEAVE_NOTIFY of GdkEvent.Crossing.t | `FOCUS_CHANGE of GdkEvent.Focus.t ] let event_proxy : (item_event -> bool) -> GnomeCanvas.item_event -> bool = fun cb ev -> match GdkEvent.get_type ev with | `BUTTON_PRESS -> cb (`BUTTON_PRESS (GdkEvent.unsafe_cast ev)) | `TWO_BUTTON_PRESS -> cb (`TWO_BUTTON_PRESS (GdkEvent.unsafe_cast ev)) | `THREE_BUTTON_PRESS -> cb (`THREE_BUTTON_PRESS (GdkEvent.unsafe_cast ev)) | `BUTTON_RELEASE -> cb (`BUTTON_RELEASE (GdkEvent.unsafe_cast ev)) | `MOTION_NOTIFY -> cb (`MOTION_NOTIFY (GdkEvent.unsafe_cast ev)) | `KEY_PRESS -> cb (`KEY_PRESS (GdkEvent.unsafe_cast ev)) | `KEY_RELEASE -> cb (`KEY_RELEASE (GdkEvent.unsafe_cast ev)) | `ENTER_NOTIFY -> cb (`ENTER_NOTIFY (GdkEvent.unsafe_cast ev)) | `LEAVE_NOTIFY -> cb (`LEAVE_NOTIFY (GdkEvent.unsafe_cast ev)) | `FOCUS_CHANGE -> cb (`FOCUS_CHANGE (GdkEvent.unsafe_cast ev)) class item_signals obj = object (self) inherit GObj.gtkobj_signals_impl obj method event ~callback = self#connect Item.Signals.event ~callback:(event_proxy callback) end class type base_item_t = object inherit GObj.gtkobj val obj : 'a Gtk.obj constraint 'a = [> GnomeCanvas.item] method parent : group_t method reparent : group_t -> unit method as_item : GnomeCanvas.item Gtk.obj method connect : item_signals method get_bounds : float array method grab : Gdk.Tags.event_mask list -> Gdk.cursor -> int32 -> unit method grab_focus : unit -> unit method hide : unit -> unit method i2c_affine : float array method i2w : x:float -> y:float -> float * float method i2w_affine : float array method lower : int -> unit method lower_to_bottom : unit -> unit method move : x:float -> y:float -> unit method canvas : canvas_t method xform : [`IDENTITY|`TRANSL of float array|`AFFINE of float array] method affine_relative : float array -> unit method affine_absolute : float array -> unit method raise : int -> unit method raise_to_top : unit -> unit method show : unit -> unit method ungrab : int32 -> unit method w2i : x:float -> y:float -> float * float end and group_t = object inherit base_item_t val obj : GnomeCanvas.group Gtk.obj method as_group : GnomeCanvas.group Gtk.obj method get_items : base_item_t list method set : GnomeCanvas.group_p list -> unit end and canvas_t = object inherit GPack.layout val obj : GnomeCanvas.canvas Gtk.obj method aa : bool method c2w : cx:int -> cy:int -> float * float method get_center_scroll_region : bool method get_item_at : x:float -> y:float -> base_item_t method get_scroll_offsets : int * int method get_scroll_region : float array method root : group_t method scroll_to : x:int -> y:int -> unit method set_center_scroll_region : bool -> unit method set_pixels_per_unit : float -> unit method set_scroll_region : x1:float -> y1:float -> x2:float -> y2:float -> unit method update_now : unit -> unit method w2c : wx:float -> wy:float -> int * int method w2c_affine : float array method w2c_d : wx:float -> wy:float -> float * float method window_to_world : winx:float -> winy:float -> float * float method world_to_window : wox:float -> woy:float -> float * float end let new_group : ('a Gtk.obj -> group_t) ref = ref (fun _ -> assert false) let new_base_item : ('a Gtk.obj -> base_item_t) ref = ref (fun _ -> assert false) class base_item obj = object inherit GObj.gtkobj obj method as_item = (obj :> GnomeCanvas.item Gtk.obj) method connect = new item_signals (obj :> GnomeCanvas.item Gtk.obj) method parent = !new_group (Item.parent obj) method reparent grp = Item.reparent obj (grp : group_t)#as_group method canvas = new canvas (Item.canvas obj) method xform = Item.xform obj method affine_relative = Item.affine_relative obj method affine_absolute = Item.affine_absolute obj method move = Item.move obj method raise = Item.raise obj method lower = Item.lower obj method raise_to_top () = Item.raise_to_top obj method lower_to_bottom () = Item.lower_to_bottom obj method show () = Item.show obj method hide () = Item.hide obj method grab = Item.grab obj method ungrab = Item.ungrab obj method w2i = Item.w2i obj method i2w = Item.i2w obj method i2w_affine = Item.i2w_affine obj method i2c_affine = Item.i2c_affine obj method grab_focus () = Item.grab_focus obj method get_bounds = Item.get_bounds obj end and canvas obj = object inherit GPack.layout (obj : GnomeCanvas.canvas Gtk.obj) val aa = { Gobject.name = "aa"; Gobject.conv = Gobject.Data.boolean } method root = !new_group (Canvas.root obj) method aa = Gobject.get aa obj method set_scroll_region = Canvas.set_scroll_region obj method get_scroll_region = Canvas.get_scroll_region obj method set_center_scroll_region = Canvas.set_center_scroll_region obj method get_center_scroll_region = Canvas.get_center_scroll_region obj method set_pixels_per_unit = Canvas.set_pixels_per_unit obj method scroll_to = Canvas.scroll_to obj method get_scroll_offsets = Canvas.get_scroll_offsets obj method update_now () = Canvas.update_now obj method get_item_at ~x ~y = !new_base_item (Canvas.get_item_at obj ~x ~y) method w2c_affine = Canvas.w2c_affine obj method w2c = Canvas.w2c obj method w2c_d = Canvas.w2c_d obj method c2w = Canvas.c2w obj method window_to_world = Canvas.window_to_world obj method world_to_window = Canvas.world_to_window obj end let () = new_base_item := new base_item class group grp_obj = object inherit base_item (grp_obj : GnomeCanvas.group Gtk.obj) method as_group = grp_obj method get_items = List.map (new base_item) (Group.get_items grp_obj) method set (p : GnomeCanvas.group_p list) = set_properties grp_obj p end let () = new_group := new group class ['p] item obj = object inherit base_item obj method set (p : 'p list) = set_properties obj p end let canvas ?(aa=false) = GContainer.pack_container [] ~create:(fun pl -> let w = if aa then Canvas.new_canvas_aa () else Canvas.new_canvas () in Gobject.set_params w pl; new canvas w) let wrap_item o (typ : (_, 'p) Types.t) = if not (Types.is_a o typ) then raise (Gobject.Cannot_cast (Gobject.Type.name (Gobject.get_type o), Types.name typ)) ; (new item o : 'p item) let construct_item (typ : (_, 'p) Types.t) ~props parent = let i = Item.new_item parent#as_group typ in let o = (new item i : 'p item) in if props <> [] then o#set props ; o let unoption_list ~rest l = List.fold_right (fun o acc -> match o with Some v -> v :: acc | None -> acc) l rest let group ?x ?y parent = let i = Item.new_item parent#as_group Types.group in let g = new group i in let props = unoption_list ~rest:[] [ ( match x with None -> None | Some v -> Some (`X v) ) ; ( match y with None -> None | Some v -> Some (`Y v) ) ; ] in if props <> [] then g#set props ; g type rect = GnomeCanvas.re_p item let rect ?x1 ?y1 ?x2 ?y2 ?fill_color ?(props=[]) p = let props = unoption_list ~rest:props [ ( match x1 with None -> None | Some v -> Some (`X1 v) ) ; ( match y1 with None -> None | Some v -> Some (`Y1 v) ) ; ( match x2 with None -> None | Some v -> Some (`X2 v) ) ; ( match y2 with None -> None | Some v -> Some (`Y2 v) ) ; ( match fill_color with None -> None | Some v -> Some (`FILL_COLOR v) ) ; ] in construct_item Types.rect ~props p type ellipse = GnomeCanvas.re_p item let ellipse ?x1 ?y1 ?x2 ?y2 ?fill_color ?(props=[]) p = let props = unoption_list ~rest:props [ ( match x1 with None -> None | Some v -> Some (`X1 v) ) ; ( match y1 with None -> None | Some v -> Some (`Y1 v) ) ; ( match x2 with None -> None | Some v -> Some (`X2 v) ) ; ( match y2 with None -> None | Some v -> Some (`Y2 v) ) ; ( match fill_color with None -> None | Some v -> Some (`FILL_COLOR v) ) ; ] in construct_item Types.ellipse ~props p class text txt_obj = object inherit [GnomeCanvas.text_p] item (txt_obj : GnomeCanvas.text Gtk.obj) method text_height = Gobject.Property.get txt_obj GnomeCanvas.Text.text_height method text_width = Gobject.Property.get txt_obj GnomeCanvas.Text.text_width end let text ?x ?y ?text ?font ?size ?anchor ?(props=[]) p = let props = unoption_list ~rest:props [ ( match x with None -> None | Some v -> Some (`X v) ) ; ( match y with None -> None | Some v -> Some (`Y v) ) ; ( match text with None -> None | Some v -> Some (`TEXT v) ) ; ( match font with None -> None | Some v -> Some (`FONT v) ) ; ( match size with None -> None | Some v -> Some (`SIZE v) ) ; ( match anchor with None -> None | Some v -> Some (`ANCHOR v) ) ; ] in let i = Item.new_item p#as_group Types.text in let o = new text i in if props <> [] then o#set props ; o type line = GnomeCanvas.line_p item let line ?points ?fill_color ?(props=[]) p = let props = unoption_list ~rest:props [ ( match points with None -> None | Some v -> Some (`POINTS v) ) ; ( match fill_color with None -> None | Some v -> Some (`FILL_COLOR v) ) ; ] in construct_item Types.line ~props p type bpath = GnomeCanvas.bpath_p item let bpath ?bpath ?fill_color ?(props=[]) p = let props = unoption_list ~rest:props [ ( match bpath with None -> None | Some v -> Some (`BPATH v) ) ; ( match fill_color with None -> None | Some v -> Some (`FILL_COLOR v) ) ; ] in construct_item Types.bpath ~props p type pixbuf = GnomeCanvas.pixbuf_p item let pixbuf ?x ?y ?pixbuf ?width ?height ?(props=[]) p = let width = match (width, pixbuf) with | (None, Some p) -> Some (`WIDTH (float (GdkPixbuf.get_width p))) | (None, _) -> None | (Some v, _) -> Some (`WIDTH v) in let height = match (height, pixbuf) with | (None, Some p) -> Some (`HEIGHT (float (GdkPixbuf.get_height p))) | (None, _) -> None | (Some v, _) -> Some (`HEIGHT v) in let props = unoption_list ~rest:props [ ( match x with None -> None | Some v -> Some (`X v) ) ; ( match y with None -> None | Some v -> Some (`Y v) ) ; ( match pixbuf with None -> None | Some v -> Some (`PIXBUF v) ) ; width ; height ; ] in construct_item Types.pixbuf ~props p type polygon = GnomeCanvas.polygon_p item let polygon ?points ?fill_color ?(props=[]) p = let props = unoption_list ~rest:props [ ( match points with None -> None | Some v -> Some (`POINTS v) ) ; ( match fill_color with None -> None | Some v -> Some (`FILL_COLOR v) ) ; ] in construct_item Types.polygon ~props p type widget = GnomeCanvas.widget_p item let widget ?widget ?x ?y ?width ?height ?(props=[]) p = let w = match widget with None -> None | Some wi -> Some (`WIDGET wi#coerce) in let props = unoption_list ~rest:props [ ( match x with None -> None | Some v -> Some (`X v) ) ; ( match y with None -> None | Some v -> Some (`Y v) ) ; ( match width with None -> None | Some v -> Some (`WIDTH v) ) ; ( match height with None -> None | Some v -> Some (`HEIGHT v) ) ; w ] in construct_item Types.widget ~props p class rich_text rchtxt_obj = object inherit [GnomeCanvas.rich_text_p] item (rchtxt_obj : GnomeCanvas.rich_text Gtk.obj) method cut_clipboard () = RichText.cut_clipboard obj method copy_clipboard () = RichText.copy_clipboard obj method paste_clipboard () = RichText.paste_clipboard obj method get_buffer = new GText.buffer (RichText.get_buffer obj) end let rich_text ?x ?y ?text ?width ?height ?(props=[]) p = let props = unoption_list ~rest:props [ ( match x with None -> None | Some v -> Some (`X v) ) ; ( match y with None -> None | Some v -> Some (`Y v) ) ; ( match width with None -> None | Some v -> Some (`WIDTH v) ) ; ( match height with None -> None | Some v -> Some (`HEIGHT v) ) ; ( match text with None -> None | Some t -> Some (`TEXT t) ) ; ] in let i = Item.new_item p#as_group Types.rich_text in let o = new rich_text i in if props <> [] then o#set props ; o lablgtk-3.1.2/src-unsupported/gnoCanvas.mli0000644000650106067230000002262314161276610017604 0ustar glondused(**************************************************************************) (* 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$ *) (** [libgnomecanvas] bindings *) type items_properties = [ | `NO_WIDGET | `NO_FILL_COLOR | `NO_OUTLINE_COLOR | `NO_FONT | `NO_TEXT | `NO_BPATH | `NO_PIXBUF | `ANCHOR of Gtk.Tags.anchor_type | `ARROW_SHAPE_A of float | `ARROW_SHAPE_B of float | `ARROW_SHAPE_C of float | `BPATH of GnomeCanvas.PathDef.t | `CAP_STYLE of Gdk.GC.gdkCapStyle | `CLIP of bool | `CLIP_HEIGHT of float | `CLIP_WIDTH of float | `CURSOR_BLINK of bool | `CURSOR_VISIBLE of bool | `DASH of float * float array | `EDITABLE of bool | `FAMILY of string | `FILL_COLOR of string | `FILL_COLOR_RGBA of int32 | `FILL_STIPPLE of Gdk.bitmap | `FIRST_ARROWHEAD of bool | `FONT of string | `GROW_HEIGHT of bool | `HEIGHT of float | `JOIN_STYLE of Gdk.GC.gdkJoinStyle | `JUSTIFICATION of Gtk.Tags.justification | `LAST_ARROWHEAD of bool | `LEFT_MARGIN of int | `LINE_STYLE of Gdk.GC.gdkLineStyle | `MARKUP of string | `OUTLINE_COLOR of string | `OUTLINE_COLOR_RGBA of int32 | `OUTLINE_STIPPLE of Gdk.bitmap | `PIXBUF of GdkPixbuf.pixbuf | `POINTS of float array | `RIGHT_MARGIN of int | `RISE of int | `SCALE of float | `SIZE of int | `SIZE_PIXELS of bool | `SIZE_POINTS of float | `SMOOTH of bool | `TEXT of string | `VISIBLE of bool | `WEIGHT of int | `WIDGET of GObj.widget | `WIDTH of float | `WIDTH_PIXELS of int | `WIDTH_UNITS of float | `X of float | `X1 of float | `X2 of float | `X_OFFSET of float | `Y of float | `Y1 of float | `Y2 of float | `Y_OFFSET of float ] val propertize : [< items_properties] -> string * unit Gobject.data_set type item_event = [ | `BUTTON_PRESS of GdkEvent.Button.t | `TWO_BUTTON_PRESS of GdkEvent.Button.t | `THREE_BUTTON_PRESS of GdkEvent.Button.t | `BUTTON_RELEASE of GdkEvent.Button.t | `MOTION_NOTIFY of GdkEvent.Motion.t | `KEY_PRESS of GdkEvent.Key.t | `KEY_RELEASE of GdkEvent.Key.t | `ENTER_NOTIFY of GdkEvent.Crossing.t | `LEAVE_NOTIFY of GdkEvent.Crossing.t | `FOCUS_CHANGE of GdkEvent.Focus.t ] class item_signals : 'b Gtk.obj -> object constraint 'b = [> GnomeCanvas.item] inherit GObj.gtkobj_signals val obj : 'b Gtk.obj method event : callback:(item_event -> bool) -> GtkSignal.id end (** @gtkdoc libgnomecanvas GnomeCanvasItem *) class base_item : ([> GnomeCanvas.item] as 'b) Gtk.obj -> object inherit GObj.gtkobj val obj : 'b Gtk.obj method parent : group method reparent : group -> unit method as_item : GnomeCanvas.item Gtk.obj method connect : item_signals method get_bounds : float array method grab : Gdk.Tags.event_mask list -> Gdk.cursor -> int32 -> unit method grab_focus : unit -> unit method hide : unit -> unit method i2c_affine : float array method i2w : x:float -> y:float -> float * float method i2w_affine : float array method lower : int -> unit method lower_to_bottom : unit -> unit method move : x:float -> y:float -> unit method canvas : canvas method xform : [`IDENTITY|`TRANSL of float array|`AFFINE of float array] method affine_relative : float array -> unit method affine_absolute : float array -> unit method raise : int -> unit method raise_to_top : unit -> unit method show : unit -> unit method ungrab : int32 -> unit method w2i : x:float -> y:float -> float * float end (** @gtkdoc libgnomecanvas GnomeCanvasGroup *) and group : GnomeCanvas.group Gtk.obj -> object inherit base_item val obj : GnomeCanvas.group Gtk.obj method as_group : GnomeCanvas.group Gtk.obj method get_items : base_item list method set : GnomeCanvas.group_p list -> unit end (** @gtkdoc libgnomecanvas GnomeCanvas *) and canvas : GnomeCanvas.canvas Gtk.obj -> object inherit GPack.layout val obj : GnomeCanvas.canvas Gtk.obj method aa : bool method c2w : cx:int -> cy:int -> float * float method get_center_scroll_region : bool method get_item_at : x:float -> y:float -> base_item (** @raise Not_found . *) method get_scroll_offsets : int * int method get_scroll_region : float array method root : group method scroll_to : x:int -> y:int -> unit method set_center_scroll_region : bool -> unit method set_pixels_per_unit : float -> unit method set_scroll_region : x1:float -> y1:float -> x2:float -> y2:float -> unit method update_now : unit -> unit method w2c : wx:float -> wy:float -> int * int method w2c_affine : float array method w2c_d : wx:float -> wy:float -> float * float method window_to_world : winx:float -> winy:float -> float * float method world_to_window : wox:float -> woy:float -> float * float end (** @gtkdoc libgnomecanvas GnomeCanvasItem *) class ['p] item : ([> GnomeCanvas.item] as 'a) Gtk.obj -> object inherit base_item val obj : 'a Gtk.obj constraint 'p = [< items_properties] method set : 'p list -> unit end (** @gtkdoc libgnomecanvas GnomeCanvas *) val canvas : ?aa:bool -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> canvas (** @gtkdoc libgnomecanvas GnomeCanvasGroup *) val group : ?x:float -> ?y:float -> #group -> group val wrap_item : [> GnomeCanvas.item] Gtk.obj -> ('a, 'p) GnomeCanvas.Types.t -> 'p item type rect = GnomeCanvas.re_p item (** @gtkdoc libgnomecanvas GnomeCanvasRect *) val rect : ?x1:float -> ?y1:float -> ?x2:float -> ?y2:float -> ?fill_color:string -> ?props:GnomeCanvas.re_p list -> #group -> rect type ellipse = GnomeCanvas.re_p item (** @gtkdoc libgnomecanvas GnomeCanvasEllipse *) val ellipse : ?x1:float -> ?y1:float -> ?x2:float -> ?y2:float -> ?fill_color:string -> ?props:GnomeCanvas.re_p list -> #group -> ellipse (** @gtkdoc libgnomecanvas GnomeCanvasText *) class text : GnomeCanvas.text Gtk.obj -> object inherit [GnomeCanvas.text_p] item val obj : GnomeCanvas.text Gtk.obj method text_height : float method text_width : float end (** @gtkdoc libgnomecanvas GnomeCanvasText *) val text : ?x:float -> ?y:float -> ?text:string -> ?font:string -> ?size:int -> ?anchor:Gtk.Tags.anchor_type -> ?props:GnomeCanvas.text_p list -> #group -> text type line = GnomeCanvas.line_p item (** @gtkdoc libgnomecanvas GnomeCanvasLine *) val line : ?points:float array -> ?fill_color:string -> ?props:GnomeCanvas.line_p list -> #group -> line type bpath = GnomeCanvas.bpath_p item (** @gtkdoc libgnomecanvas GnomeCanvasBpath *) val bpath : ?bpath:GnomeCanvas.PathDef.t -> ?fill_color:string -> ?props:GnomeCanvas.bpath_p list -> #group -> bpath type pixbuf = GnomeCanvas.pixbuf_p item (** @gtkdoc libgnomecanvas GnomeCanvasPixbuf *) val pixbuf : ?x:float -> ?y:float -> ?pixbuf:GdkPixbuf.pixbuf -> ?width:float -> ?height:float -> ?props:GnomeCanvas.pixbuf_p list -> #group -> pixbuf type polygon = GnomeCanvas.polygon_p item (** @gtkdoc libgnomecanvas GnomeCanvasPolygon *) val polygon : ?points:float array -> ?fill_color:string -> ?props:GnomeCanvas.polygon_p list -> #group -> polygon type widget = GnomeCanvas.widget_p item (** @gtkdoc libgnomecanvas GnomeCanvasWidget *) val widget : ?widget:< coerce: GObj.widget; .. > -> ?x:float -> ?y:float -> ?width:float -> ?height:float -> ?props:GnomeCanvas.widget_p list -> #group -> widget (** @gtkdoc libgnomecanvas GnomeCanvasRichtext *) class rich_text : GnomeCanvas.rich_text Gtk.obj -> object inherit [GnomeCanvas.rich_text_p] item val obj : GnomeCanvas.rich_text Gtk.obj method copy_clipboard : unit -> unit method cut_clipboard : unit -> unit method paste_clipboard : unit -> unit method get_buffer : GText.buffer end (** @gtkdoc libgnomecanvas GnomeCanvasRichtext *) val rich_text : ?x:float -> ?y:float -> ?text:string -> ?width:float -> ?height:float -> ?props:GnomeCanvas.rich_text_p list -> #group -> rich_text lablgtk-3.1.2/src-unsupported/gnoDruid.ml0000644000650106067230000001500114161276610017257 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) class type druid_page = object method as_druidpage : GnomeDruid.druidpage Gtk.obj end class druid_signals obj = object (self) inherit GContainer.container_signals_impl (obj : GnomeDruid.druid Gtk.obj) method cancel = self#connect GnomeDruid.Druid.Signals.cancel method help = self#connect GnomeDruid.Druid.Signals.help end class druid obj = object (self) inherit GContainer.container obj method connect = new druid_signals obj method show_finish = Gobject.get GnomeDruid.Druid.Prop.show_finish obj method show_help = Gobject.get GnomeDruid.Druid.Prop.show_help obj method set_show_finish = Gobject.set GnomeDruid.Druid.Prop.show_finish obj method set_show_help = Gobject.set GnomeDruid.Druid.Prop.show_help obj method set_buttons_sensitive = GnomeDruid.Druid.set_buttons_sensitive obj method prepend_page : 'p. (#druid_page as 'p) -> unit = fun p -> GnomeDruid.Druid.prepend_page obj p#as_druidpage method insert_page : 'p1 'p2. (#druid_page as 'p1) -> (#druid_page as 'p2) -> unit = fun p1 p2 -> GnomeDruid.Druid.insert_page obj p1#as_druidpage p2#as_druidpage method append_page : 'p. (#druid_page as 'p) -> unit = fun p -> GnomeDruid.Druid.append_page obj p#as_druidpage method set_page : 'p. (#druid_page as 'p) -> unit = fun p -> GnomeDruid.Druid.set_page obj p#as_druidpage end let druid ?show_finish ?show_help = GContainer.pack_container ( Gobject.Property.may_cons GnomeDruid.Druid.Prop.show_finish show_finish ( Gobject.Property.may_cons GnomeDruid.Druid.Prop.show_help show_help [])) ~create:(fun pl -> let w = GnomeDruid.Druid.new_druid () in Gobject.set_params w pl ; new druid w) class druid_page_signals obj = object (self) inherit GContainer.container_signals_impl obj method back ~callback = self#connect GnomeDruid.Druid_page.Signals.back (fun w -> callback (new druid w)) method cancel ~callback = self#connect GnomeDruid.Druid_page.Signals.cancel (fun w -> callback (new druid w)) method finish ~callback = self#connect GnomeDruid.Druid_page.Signals.finish (fun w -> callback (new druid w)) method next ~callback = self#connect GnomeDruid.Druid_page.Signals.next (fun w -> callback (new druid w)) method prepare ~callback = self#connect GnomeDruid.Druid_page.Signals.prepare (fun w -> callback (new druid w)) end class druid_page_skel obj = object (self) inherit [[> GnomeDruid.druidpage]] GContainer.container_impl obj method as_druidpage = (obj :> GnomeDruid.druidpage Gtk.obj) method connect = new druid_page_signals (obj :> GnomeDruid.druidpage Gtk.obj) end class druid_page_edge obj = object (self) inherit druid_page_skel obj method set_bg_color = GnomeDruid.Page_Edge.set_bg_color obj method set_textbox_color = GnomeDruid.Page_Edge.set_textbox_color obj method set_logo_bg_color = GnomeDruid.Page_Edge.set_logo_bg_color obj method set_title_color = GnomeDruid.Page_Edge.set_title_color obj method set_text_color = GnomeDruid.Page_Edge.set_text_color obj method set_text = GnomeDruid.Page_Edge.set_text obj method set_title = GnomeDruid.Page_Edge.set_title obj method set_logo = GnomeDruid.Page_Edge.set_logo obj method set_watermark = GnomeDruid.Page_Edge.set_watermark obj method set_top_watermark = GnomeDruid.Page_Edge.set_top_watermark obj end let druid_page_edge ~position ~aa ?title ?text ?logo ?watermark ?top_watermark = GContainer.pack_container [] ~create:(fun pl -> let w = GnomeDruid.Page_Edge.new_with_vals position ~aa ?title ?text ?logo ?watermark ?top_watermark in Gobject.set_params w pl ; new druid_page_edge w) class druid_page_standard obj = object (self) inherit druid_page_skel obj method vbox = new GPack.box (GnomeDruid.Page_Standard.vbox obj) method append_item ?question ?additional_info w = GnomeDruid.Page_Standard.append_item obj ?question (GObj.as_widget w) ?additional_info method set_background = Gobject.set GnomeDruid.Page_Standard.Prop.background obj method set_logo = Gobject.set GnomeDruid.Page_Standard.Prop.logo obj method set_logo_background = Gobject.set GnomeDruid.Page_Standard.Prop.logo_background obj method set_title = Gobject.set GnomeDruid.Page_Standard.Prop.title obj method set_title_foreground = Gobject.set GnomeDruid.Page_Standard.Prop.title_foreground obj end let druid_page_standard ?background ?logo ?logo_background ?title ?title_foreground = GContainer.pack_container ( Gobject.Property.may_cons GnomeDruid.Page_Standard.Prop.background background ( Gobject.Property.may_cons GnomeDruid.Page_Standard.Prop.logo logo ( Gobject.Property.may_cons GnomeDruid.Page_Standard.Prop.logo_background logo_background ( Gobject.Property.may_cons GnomeDruid.Page_Standard.Prop.title title ( Gobject.Property.may_cons GnomeDruid.Page_Standard.Prop.title_foreground title_foreground []))))) ~create:(fun pl -> let w = GnomeDruid.Page_Standard.new_page_standard () in Gobject.set_params w pl ; new druid_page_standard w) lablgtk-3.1.2/src-unsupported/gnoDruid.mli0000644000650106067230000001315114161276610017434 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) (** Druids (a.k.a. Wizards) *) class type druid_page = object method as_druidpage : GnomeDruid.druidpage Gtk.obj end (** @gtkdoc libgnomeui GnomeDruid *) class druid_signals : GnomeDruid.druid Gtk.obj -> object ('a) inherit GContainer.container_signals method cancel : callback:(unit -> unit) -> GtkSignal.id method help : callback:(unit -> unit) -> GtkSignal.id end (** @gtkdoc libgnomeui GnomeDruid *) class druid : GnomeDruid.druid Gtk.obj -> object inherit GContainer.container val obj : GnomeDruid.druid Gtk.obj method connect : druid_signals method set_show_finish : bool -> unit method set_show_help : bool -> unit method show_finish : bool method show_help : bool method set_buttons_sensitive : back:bool -> next:bool -> cancel:bool -> help:bool -> unit method prepend_page : #druid_page -> unit method insert_page : #druid_page -> #druid_page -> unit method append_page : #druid_page -> unit method set_page : #druid_page -> unit end (** @gtkdoc libgnomeui GnomeDruid *) val druid : ?show_finish:bool -> ?show_help:bool -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> druid (** @gtkdoc libgnomeui GnomeDruidPage *) class druid_page_signals : GnomeDruid.druidpage Gtk.obj -> object ('a) inherit GContainer.container_signals method back : callback:(druid -> bool) -> GtkSignal.id method cancel : callback:(druid -> bool) -> GtkSignal.id method finish : callback:(druid -> unit) -> GtkSignal.id method next : callback:(druid -> bool) -> GtkSignal.id method prepare : callback:(druid -> unit) -> GtkSignal.id end (** @gtkdoc libgnomeui GnomeDruidPage *) class druid_page_skel : ([> GnomeDruid.druidpage] as 'a) Gtk.obj -> object inherit GContainer.container val obj : 'a Gtk.obj method as_druidpage : GnomeDruid.druidpage Gtk.obj method connect : druid_page_signals end (** @gtkdoc libgnomeui GnomeDruidPageEdge *) class druid_page_edge : GnomeDruid.page_edge Gtk.obj -> object inherit druid_page_skel val obj : GnomeDruid.page_edge Gtk.obj method set_bg_color : Gdk.color -> unit method set_logo : GdkPixbuf.pixbuf -> unit method set_logo_bg_color : Gdk.color -> unit method set_resize_mode : Gtk.Tags.resize_mode -> unit method set_text : string -> unit method set_text_color : Gdk.color -> unit method set_textbox_color : Gdk.color -> unit method set_title : string -> unit method set_title_color : Gdk.color -> unit method set_top_watermark : GdkPixbuf.pixbuf -> unit method set_watermark : GdkPixbuf.pixbuf -> unit end (** @gtkdoc libgnomeui GnomeDruidPageEdge *) val druid_page_edge : position:GnomeDruid.Page_Edge.edge_position -> aa:bool -> ?title:string -> ?text:string -> ?logo:GdkPixbuf.pixbuf -> ?watermark:GdkPixbuf.pixbuf -> ?top_watermark:GdkPixbuf.pixbuf -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> druid_page_edge (** @gtkdoc libgnomeui GnomeDruidPageStandard *) class druid_page_standard : GnomeDruid.page_standard Gtk.obj -> object inherit druid_page_skel val obj : GnomeDruid.page_standard Gtk.obj method vbox : GPack.box method append_item : ?question:string -> ?additional_info:string -> GObj.widget -> unit method set_background : string -> unit method set_border_width : int -> unit method set_logo : GdkPixbuf.pixbuf -> unit method set_logo_background : string -> unit method set_resize_mode : Gtk.Tags.resize_mode -> unit method set_title : string -> unit method set_title_foreground : string -> unit end (** @gtkdoc libgnomeui GnomeDruidPageStandard *) val druid_page_standard : ?background:string -> ?logo:GdkPixbuf.pixbuf -> ?logo_background:string -> ?title:string -> ?title_foreground:string -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> druid_page_standard lablgtk-3.1.2/src-unsupported/gnomeCanvas.ml0000644000650106067230000003331514161276610017755 0ustar glondused(**************************************************************************) (* 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$ *) type canvas = [Gtk.layout|`canvas] type item = [`gtk|`canvasitem] type group = [item|`canvasgroup] type clipgroup = [group|`canvasclipgroup] type shape = [item|`canvasshape] type r_e = [shape|`canvasre] type rect = [r_e|`canvasrectangle] type ellipse = [r_e|`canvasellipse] type bpath = [shape|`canvasbpath] type polygon = [shape|`canvaspolygon] type text = [item|`canvastext] type line = [item|`canvasline] type pixbuf = [item|`canvaspixbuf] type widget = [item|`canvaswidget] type rich_text = [item|`canvasrichtext] type path_def (* GnomeCanvas *) module Canvas = struct external new_canvas : unit -> canvas Gobject.obj = "ml_gnome_canvas_new" external new_canvas_aa : unit -> canvas Gobject.obj = "ml_gnome_canvas_new_aa" external root : [> canvas] Gobject.obj -> group Gobject.obj = "ml_gnome_canvas_root" external set_scroll_region : [> canvas] Gobject.obj -> x1:float -> y1:float -> x2:float -> y2:float -> unit = "ml_gnome_canvas_set_scroll_region" external get_scroll_region : [> canvas] Gobject.obj -> float array = "ml_gnome_canvas_get_scroll_region" external set_center_scroll_region : [> canvas] Gobject.obj -> bool -> unit = "ml_gnome_canvas_set_center_scroll_region" external get_center_scroll_region : [> canvas] Gobject.obj -> bool = "ml_gnome_canvas_get_center_scroll_region" external set_pixels_per_unit : [> canvas] Gobject.obj -> float -> unit = "ml_gnome_canvas_set_pixels_per_unit" external scroll_to : [> canvas] Gobject.obj -> x:int -> y:int -> unit = "ml_gnome_canvas_scroll_to" external get_scroll_offsets : [> canvas] Gobject.obj -> int * int = "ml_gnome_canvas_get_scroll_offsets" external update_now : [> canvas] Gobject.obj -> unit = "ml_gnome_canvas_update_now" external get_item_at : [> canvas] Gobject.obj -> x:float -> y:float -> item Gobject.obj = "ml_gnome_canvas_get_item_at" external w2c_affine : [> canvas] Gobject.obj -> float array = "ml_gnome_canvas_w2c_affine" external w2c : [> canvas] Gobject.obj -> wx:float -> wy:float -> int * int = "ml_gnome_canvas_w2c" external w2c_d : [> canvas] Gobject.obj -> wx:float -> wy:float -> float * float = "ml_gnome_canvas_w2c_d" external c2w : [> canvas] Gobject.obj -> cx:int -> cy:int -> float * float = "ml_gnome_canvas_c2w" external window_to_world : [> canvas] Gobject.obj -> winx:float -> winy:float -> float * float = "ml_gnome_canvas_window_to_world" external world_to_window : [> canvas] Gobject.obj -> wox:float -> woy:float -> float * float = "ml_gnome_canvas_world_to_window" end module PathDef = struct type t = Gpointer.boxed external new_path : ?size:int -> unit -> t = "ml_gnome_canvas_path_def_new" external duplicate : t -> t = "ml_gnome_canvas_path_def_duplicate" external concat : t list -> t = "ml_gnome_canvas_path_def_concat" external reset : t -> unit = "ml_gnome_canvas_path_def_reset" external moveto : t -> float -> float -> unit = "ml_gnome_canvas_path_def_moveto" external lineto : t -> float -> float -> unit = "ml_gnome_canvas_path_def_lineto" external lineto_moving : t -> float -> float -> unit = "ml_gnome_canvas_path_def_lineto_moving" external curveto : t -> float -> float -> float -> float -> float -> float -> unit = "ml_gnome_canvas_path_def_curveto_bc" "ml_gnome_canvas_path_def_curveto" external closepath : t -> unit = "ml_gnome_canvas_path_def_closepath" external closepath_current : t -> unit = "ml_gnome_canvas_path_def_closepath_current" external length : t -> int = "ml_gnome_canvas_path_def_length" external is_empty : t -> bool = "ml_gnome_canvas_path_def_is_empty" external has_currentpoint : t -> bool = "ml_gnome_canvas_path_def_has_currentpoint" end type group_p = [`X of float| `Y of float] type shape_p = [`FILL_COLOR of string| `OUTLINE_COLOR of string | `NO_FILL_COLOR| `NO_OUTLINE_COLOR | `FILL_COLOR_RGBA of int32| `FILL_STIPPLE of Gdk.bitmap | `OUTLINE_COLOR_RGBA of int32| `OUTLINE_STIPPLE of Gdk.bitmap | `WIDTH_UNITS of float| `WIDTH_PIXELS of int | `DASH of float * float array | `CAP_STYLE of Gdk.GC.gdkCapStyle | `JOIN_STYLE of Gdk.GC.gdkJoinStyle] type re_p = [shape_p| `X1 of float| `Y1 of float| `X2 of float| `Y2 of float] type text_p = [`X of float| `Y of float| `TEXT of string| `FONT of string | `NO_TEXT| `NO_FONT| `NO_FILL_COLOR | `SIZE of int| `SIZE_POINTS of float| `FILL_COLOR of string | `FILL_COLOR_RGBA of int32 | `FILL_STIPPLE of Gdk.bitmap | `CLIP of bool| `CLIP_WIDTH of float| `CLIP_HEIGHT of float | `X_OFFSET of float| `Y_OFFSET of float | `JUSTIFICATION of Gtk.Tags.justification | `ANCHOR of Gtk.Tags.anchor_type| `FAMILY of string | `MARKUP of string | `RISE of int | `SCALE of float | `WEIGHT of int] type line_p = [`ARROW_SHAPE_A of float| `ARROW_SHAPE_B of float| `ARROW_SHAPE_C of float | `FILL_COLOR of string| `NO_FILL_COLOR | `WIDTH_UNITS of float| `WIDTH_PIXELS of int | `POINTS of float array| `FIRST_ARROWHEAD of bool | `LAST_ARROWHEAD of bool| `SMOOTH of bool | `FILL_COLOR_RGBA of int32 | `FILL_STIPPLE of Gdk.bitmap | `CAP_STYLE of Gdk.GC.gdkCapStyle| `JOIN_STYLE of Gdk.GC.gdkJoinStyle | `LINE_STYLE of Gdk.GC.gdkLineStyle] type bpath_p = [shape_p| `BPATH of PathDef.t| `NO_BPATH] type pixbuf_p = [`X of float| `Y of float | `WIDTH of float| `HEIGHT of float | `ANCHOR of Gtk.Tags.anchor_type | `PIXBUF of GdkPixbuf.pixbuf| `NO_PIXBUF] type polygon_p = [shape_p| `POINTS of float array] type widget_p = [`X of float| `Y of float | `WIDTH of float| `HEIGHT of float | `SIZE_PIXELS of bool | `ANCHOR of Gtk.Tags.anchor_type | `WIDGET of GObj.widget| `NO_WIDGET] type rich_text_p = [`X of float| `Y of float | `TEXT of string | `WIDTH of float| `HEIGHT of float | `EDITABLE of bool | `VISIBLE of bool | `JUSTIFICATION of Gtk.Tags.justification | `ANCHOR of Gtk.Tags.anchor_type | `CURSOR_VISIBLE of bool| `CURSOR_BLINK of bool | `GROW_HEIGHT of bool | `LEFT_MARGIN of int| `RIGHT_MARGIN of int] module Types : sig type ('a, 'b) t constraint 'a = [> `gtk|`canvasitem] val group : (group, group_p) t val rect : ([item|`canvasshape|`canvasRE|`canvasrect], re_p) t val ellipse : ([item|`canvasshape|`canvasRE|`canvasellipse], re_p) t val text : ([item|`canvastext], text_p) t val line : ([item|`canvasline], line_p) t val bpath : ([item|`canvasshape|`canvasbpath], bpath_p) t val pixbuf : ([item|`canvaspixbuf], pixbuf_p) t val polygon : ([item|`canvasshape|`canvaspolygon], polygon_p) t val widget : ([item|`canvaswidget], widget_p) t val rich_text : (rich_text, rich_text_p) t val shape : ([item|`canvasshape], shape_p) t val rect_ellipse : ([item|`canvasshape|`canvasRE], re_p) t val points : Gobject.g_type val is_a : 'a Gobject.obj -> ('b, 'c) t -> bool val name : ('a, 'b) t -> string end = struct type ('a, 'b) t = Gobject.g_type constraint 'a = [> `gtk|`canvasitem] external register_types : unit -> Gobject.g_type array = "ml_gnome_canvas_register_types" let canvas_types = register_types () let group = canvas_types.(4) let rect = canvas_types.(11) let ellipse = canvas_types.(3) let text = canvas_types.(14) let line = canvas_types.(6) let bpath = canvas_types.(1) let pixbuf = canvas_types.(7) let polygon = canvas_types.(9) let shape = canvas_types.(13) let rect_ellipse = canvas_types.(10) let widget = canvas_types.(2) let rich_text = canvas_types.(12) let points = canvas_types.(8) let is_a obj typ = Gobject.Type.is_a (Gobject.get_type obj) typ let name = Gobject.Type.name end (* GnomeCanvasItem *) type item_event = [ `BUTTON_PRESS | `TWO_BUTTON_PRESS | `THREE_BUTTON_PRESS | `BUTTON_RELEASE | `MOTION_NOTIFY | `KEY_PRESS | `KEY_RELEASE | `ENTER_NOTIFY | `LEAVE_NOTIFY | `FOCUS_CHANGE ] Gdk.event module Item = struct external new_item : [> group] Gobject.obj -> ('a, 'b) Types.t -> 'a Gobject.obj = "ml_gnome_canvas_item_new" external parent : [> item] Gobject.obj -> group Gobject.obj = "ml_gnome_canvas_item_parent" external canvas : [> item] Gobject.obj -> canvas Gobject.obj = "ml_gnome_canvas_item_canvas" external xform : [> item] Gobject.obj -> [`IDENTITY|`TRANSL of float array|`AFFINE of float array] = "ml_gnome_canvas_item_xform" external affine_relative : [> item] Gobject.obj -> float array -> unit = "ml_gnome_canvas_item_affine_relative" external affine_absolute : [> item] Gobject.obj -> float array -> unit = "ml_gnome_canvas_item_affine_absolute" external set : [> item] Gobject.obj -> unit = "ml_gnome_canvas_item_set" (* Must call [set] after using [Gobject.Property.set] *) external move : [> item] Gobject.obj -> x:float -> y:float -> unit = "ml_gnome_canvas_item_move" external raise : [> item] Gobject.obj -> int -> unit = "ml_gnome_canvas_item_raise" external lower : [> item] Gobject.obj -> int -> unit = "ml_gnome_canvas_item_lower" external raise_to_top : [> item] Gobject.obj -> unit = "ml_gnome_canvas_item_raise_to_top" external lower_to_bottom : [> item] Gobject.obj -> unit = "ml_gnome_canvas_item_lower_to_bottom" external show : [> item] Gobject.obj -> unit = "ml_gnome_canvas_item_show" external hide : [> item] Gobject.obj -> unit = "ml_gnome_canvas_item_hide" external grab : [> item] Gobject.obj -> Gdk.Tags.event_mask list -> Gdk.cursor -> int32 -> unit = "ml_gnome_canvas_item_grab" external ungrab : [> item] Gobject.obj -> int32 -> unit = "ml_gnome_canvas_item_ungrab" external w2i : [> item] Gobject.obj -> x:float -> y:float -> float * float = "ml_gnome_canvas_item_w2i" external i2w : [> item] Gobject.obj -> x:float -> y:float -> float * float = "ml_gnome_canvas_item_i2w" external i2w_affine : [> item] Gobject.obj -> float array = "ml_gnome_canvas_item_i2w_affine" external i2c_affine : [> item] Gobject.obj -> float array = "ml_gnome_canvas_item_i2c_affine" external reparent : [> item] Gobject.obj -> group Gobject.obj -> unit = "ml_gnome_canvas_item_reparent" external grab_focus : [> item] Gobject.obj -> unit = "ml_gnome_canvas_item_grab_focus" external get_bounds : [> item] Gobject.obj -> float array = "ml_gnome_canvas_item_get_bounds" module Signals = struct let marshal = GtkBase.Widget.Signals.Event.marshal let event : ([> `canvasitem], item_event -> bool) GtkSignal.t = { GtkSignal.name = "event"; GtkSignal.classe = `canvasitem; GtkSignal.marshaller = marshal; } end end (* GnomeCanvasGroup *) module Group = struct external get_items : [> group] Gobject.obj -> item Gobject.obj list = "ml_gnome_canvas_group_get_items" end module Text = struct let text_width = { Gobject.name = "text-width"; Gobject.conv = Gobject.Data.double } let text_height = { Gobject.name = "text-height"; Gobject.conv = Gobject.Data.double } end (* GnomeCanvasRichText *) module RichText = struct external cut_clipboard : [> rich_text] Gobject.obj -> unit = "ml_gnome_canvas_rich_text_cut_clipboard" external copy_clipboard : [> rich_text] Gobject.obj -> unit = "ml_gnome_canvas_rich_text_copy_clipboard" external paste_clipboard : [> rich_text] Gobject.obj -> unit = "ml_gnome_canvas_rich_text_paste_clipboard" external get_buffer : [> rich_text] Gobject.obj -> Gtk.text_buffer = "ml_gnome_canvas_rich_text_get_buffer" end (* Conversion functions for properties *) module Conv = struct external convert_points : float array -> Gpointer.boxed = "ml_gnome_canvas_convert_points" external convert_dash : float -> float array -> Gpointer.boxed = "ml_gnome_canvas_convert_dash" external get_points : Gpointer.boxed -> float array = "ml_gnome_canvas_get_points" external get_dash : Gpointer.boxed -> float * float array = "ml_gnome_canvas_get_dash" open Gaux open Gobject let points = { kind = `OTHER (Type.from_name "GnomeCanvasPoints"); inj = (fun x -> `POINTER (may_map convert_points x)); proj = (fun x -> may_map get_points (Data.pointer.proj x)) } let art_vpath_dash = { kind = `POINTER; inj = (fun x -> `POINTER (may_map (fun (x,y) -> convert_dash x y) x)); proj = (fun x -> may_map get_dash (Data.pointer.proj x)) } let path_def = { kind = `POINTER; inj = Data.unsafe_pointer_option.inj; proj = (fun x -> may_map PathDef.duplicate (Data.unsafe_pointer_option.proj x)) } end lablgtk-3.1.2/src-unsupported/gnomeCanvas.props0000644000650106067230000002773614161276610020522 0ustar glondused(* $Id$ *) header { open Gobject open Data open GtkProps type canvas = [Gtk.layout|`canvas] type item = [`gtk|`canvasitem] type group = [item|`canvasgroup] type clipgroup = [group|`canvasclipgroup] type shape = [item|`canvasshape] type r_e = [shape|`canvasre] type rect = [r_e|`canvasrectangle] type ellipse = [r_e|`canvasellipse] type bpath = [shape|`canvasbpath] type polygon = [shape|`canvaspolygon] type text = [item|`canvastext] type line = [item|`canvasline] type pixbuf = [item|`canvaspixbuf] type widget = [item|`canvaswidget] type rich_text = [item|`canvasrichtext] type item_event = [ `BUTTON_PRESS | `TWO_BUTTON_PRESS | `THREE_BUTTON_PRESS | `BUTTON_RELEASE | `MOTION_NOTIFY | `KEY_PRESS | `KEY_RELEASE | `ENTER_NOTIFY | `LEAVE_NOTIFY | `FOCUS_CHANGE ] Gdk.event type path_def module Private = struct external convert_points : float array -> Gpointer.boxed = "ml_gnome_canvas_convert_points" external convert_dash : float -> float array -> Gpointer.boxed = "ml_gnome_canvas_convert_dash" external get_points : Gpointer.boxed -> float array = "ml_gnome_canvas_get_points" external get_dash : Gpointer.boxed -> float * float array = "ml_gnome_canvas_get_dash" external duplicate_path : path_def -> path_def = "ml_gnome_canvas_path_def_duplicate" open Gaux open Gobject let points = { kind = `BOXED; inj = (fun x -> `POINTER (may_map convert_points x)); proj = (fun x -> may_map get_points (Data.boxed.proj x)) } let art_vpath_dash = { kind = `POINTER; inj = (fun x -> `POINTER (may_map (fun (x,y) -> convert_dash x y) x)); proj = (fun x -> may_map get_dash (Data.pointer.proj x)) } let path_def = { kind = `POINTER; inj = Data.unsafe_boxed_option.inj; proj = (fun x -> may_map duplicate_path (Data.unsafe_boxed_option.proj x)) } end } oheader { open Gobject open GnomeCanvas } use "Gtk" tagprefix "canvas" conversions { GtkStock "GtkStock.conv" ArtWindRule "GnomeCanvasEnums.art_wind_rule_conv" ArtVpathDash "Private.art_vpath_dash" } conversions "GnomeCanvas" "Private" { Points PathDef } classes { GdkPixbuf "GdkPixbuf.pixbuf" GdkDrawable "[`drawable] obj" GtkWidget "Gtk.widget obj" } class Item abstract vsetrec : GtkObject { "parent" GnomeCanvasItem : Read / Write method parent : "group obj" method canvas : "canvas obj" method xform : "[`IDENTITY|`TRANSL of float array|`AFFINE of float array]" method affine_relative : "float array -> unit" method affine_absolute : "float array -> unit" method set : "unit" (* Must call [set] after using [Property.set] *) method move : "x:float -> y:float -> unit" method raise : "int -> unit" method lower : "int -> unit" method raise_to_top : "unit" method lower_to_bottom : "unit" method show : "unit" method hide : "unit" method grab : "Gdk.Tags.event_mask list -> Gdk.cursor -> int32 -> unit" method ungrab : "int32 -> unit" method w2i : "x:float -> y:float -> float * float" method i2w : "x:float -> y:float -> float * float" method i2w_affine : "float array" method i2c_affine : "float array" method reparent : "group obj -> unit" method grab_focus : "unit" method get_bounds : "float array" signal event "(GtkBase.Widget.Signals.Event.marshal : (item_event -> bool) -> _)" } class Shape abstract : Item { "cap-style" GdkCapStyle : Read / Write "dash" ArtVpathDash : Read / Write "fill-color" gchararray : Write "fill-color-gdk" GdkColor : Read / Write "fill-color-rgba" guint32 : Read / Write "fill-stipple" GdkDrawable : Read / Write "join-style" GdkJoinStyle : Read / Write "miterlimit" gdouble : Read / Write "outline-color" gchararray : Write "outline-color-gdk" GdkColor : Read / Write "outline-color-rgba" guint32 : Read / Write "outline-stipple" GdkDrawable : Read / Write "width-pixels" guint : Read / Write "width-units" gdouble : Write "wind" ArtWindRule : Read / Write } class Bpath abstract : Shape { "bpath" GnomeCanvasPathDef : Read / Write } class RE abstract : Shape { "x1" gdouble : Read / Write "x2" gdouble : Read / Write "y1" gdouble : Read / Write "y2" gdouble : Read / Write } class Ellipse abstract : RE {} class Rect abstract : RE {} class Polygon abstract : Shape { "points" GnomeCanvasPoints : Read / Write } class Group abstract : Item { "x" gdouble : Read / Write "y" gdouble : Read / Write method get_items : "item obj list" } class Clipgroup abstract : Group { "path" GnomeCanvasPathDef : Read / Write "wind" ArtWindRule : Read / Write } class Line abstract : Item { "arrow-shape-a" gdouble : Read / Write "arrow-shape-b" gdouble : Read / Write "arrow-shape-c" gdouble : Read / Write "cap-style" GdkCapStyle : Read / Write "fill-color" gchararray : Read / Write "fill-color-gdk" GdkColor : Read / Write "fill-color-rgba" guint32 : Read / Write "fill-stipple" GdkDrawable : Read / Write "first-arrowhead" gboolean : Read / Write "join-style" GdkJoinStyle : Read / Write "last-arrowhead" gboolean : Read / Write "line-style" GdkLineStyle : Read / Write "points" GnomeCanvasPoints : Read / Write "smooth" gboolean : Read / Write "spline-steps" guint : Read / Write "width-pixels" guint : Read / Write "width-units" gdouble : Read / Write } class Pixbuf abstract : Item { "anchor" GtkAnchorType : Read / Write "height" gdouble : Read / Write "height-in-pixels" gboolean : Read / Write "height-set" gboolean : Read / Write "pixbuf" GdkPixbuf : Read / Write "width" gdouble : Read / Write "width-in-pixels" gboolean : Read / Write "width-set" gboolean : Read / Write "x" gdouble : Read / Write "x-in-pixels" gboolean : Read / Write "y" gdouble : Read / Write "y-in-pixels" gboolean : Read / Write } class RichText abstract : Item { "anchor" GtkAnchorType : Read / Write "cursor-blink" gboolean : Read / Write "cursor-visible" gboolean : Read / Write "direction" GtkDirectionType : Read / Write "editable" gboolean : Read / Write "grow-height" gboolean : Read / Write "height" gdouble : Read / Write "indent" gint : Read / Write "justification" GtkJustification : Read / Write "left-margin" gint : Read / Write "pixels-above-lines" gint : Read / Write "pixels-below-lines" gint : Read / Write "pixels-inside-wrap" gint : Read / Write "right-margin" gint : Read / Write "text" gchararray : Read / Write "visible" gboolean : Read / Write "width" gdouble : Read / Write "wrap-mode" GtkWrapMode : Read / Write "x" gdouble : Read / Write "y" gdouble : Read / Write method cut_clipboard : "unit" method copy_clipboard : "unit" method paste_clipboard : "unit" method get_buffer : "Gtk.text_buffer" } class Text abstract : Item { "anchor" GtkAnchorType : Read / Write "attributes" PangoAttrList : Read / Write "clip" gboolean : Read / Write "clip-height" gdouble : Read / Write "clip-width" gdouble : Read / Write "family" gchararray : Read / Write "family-set" gboolean : Read / Write "fill-color" gchararray : Read / Write "fill-color-gdk" GdkColor : Read / Write "fill-color-rgba" guint32 : Read / Write "fill-stipple" GdkDrawable : Read / Write "font" gchararray : Read / Write "font-desc" PangoFontDescription : Read / Write "justification" GtkJustification : Read / Write "markup" gchararray : Write "rise" gint : Read / Write "rise-set" gboolean : Read / Write "scale" gdouble : Read / Write "scale-set" gboolean : Read / Write "size" gint : Read / Write "size-points" gdouble : Read / Write "size-set" gboolean : Read / Write "stretch" PangoStretch : Read / Write "stretch-set" gboolean : Read / Write "strikethrough" gboolean : Read / Write "strikethrough-set" gboolean : Read / Write "style" PangoStyle : Read / Write "style-set" gboolean : Read / Write "text" gchararray : Read / Write "text-height" gdouble : Read / Write "text-width" gdouble : Read / Write "underline" PangoUnderline : Read / Write "underline-set" gboolean : Read / Write "variant" PangoVariant : Read / Write "variant-set" gboolean : Read / Write "weight" gint : Read / Write "weight-set" gboolean : Read / Write "x" gdouble : Read / Write "x-offset" gdouble : Read / Write "y" gdouble : Read / Write "y-offset" gdouble : Read / Write } class Widget abstract : Item { "anchor" GtkAnchorType : Read / Write "height" gdouble : Read / Write "size-pixels" gboolean : Read / Write "widget" GtkWidget : Read / Write "width" gdouble : Read / Write "x" gdouble : Read / Write "y" gdouble : Read / Write } class Canvas "GnomeCanvas" tag "canvas" : Layout { "aa" gboolean : Read / Write / Construct Only method root : "group obj" method set_scroll_region : "x1:float -> y1:float -> x2:float -> y2:float -> unit" method get_scroll_region : "float array" method set_center_scroll_region : "bool -> unit" method get_center_scroll_region : "bool" method set_pixels_per_unit : "float -> unit" method scroll_to : "x:int -> y:int -> unit" method get_scroll_offsets : "int * int" method update_now : "unit" method get_item_at : "x:float -> y:float -> item obj" method w2c_affine : "float array" method w2c : "wx:float -> wy:float -> int * int" method w2c_d : "wx:float -> wy:float -> float * float" method c2w : "cx:float -> cy:float -> float * float" method window_to_world : "winx:float -> winy:float -> float * float" method world_to_window : "wox:float -> woy:float -> float * float" }lablgtk-3.1.2/src-unsupported/gnomeDruid.ml0000644000650106067230000001567214161276610017617 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) type druid = [Gtk.container|`druid] type druidpage = [Gtk.bin|`druidpage] type page_edge = [druidpage|`page_edge] type page_standard = [druidpage|`page_standard] module Druid = struct external new_druid : unit -> druid Gtk.obj = "ml_gnome_druid_new" external set_buttons_sensitive : druid Gtk.obj -> back:bool -> next:bool -> cancel:bool -> help:bool -> unit = "ml_gnome_druid_set_buttons_sensitive" external prepend_page : druid Gtk.obj -> druidpage Gtk.obj -> unit = "ml_gnome_druid_prepend_page" external insert_page : druid Gtk.obj -> druidpage Gtk.obj -> druidpage Gtk.obj -> unit = "ml_gnome_druid_insert_page" external append_page : druid Gtk.obj -> druidpage Gtk.obj -> unit = "ml_gnome_druid_append_page" external set_page : druid Gtk.obj -> druidpage Gtk.obj -> unit = "ml_gnome_druid_set_page" module Signals = struct let cancel = { GtkSignal.name = "cancel" ; GtkSignal.classe = `druid ; GtkSignal.marshaller = GtkSignal.marshal_unit } let help = { GtkSignal.name = "help" ; GtkSignal.classe = `druid ; GtkSignal.marshaller = GtkSignal.marshal_unit } end module Prop = struct let show_finish : (druid, bool) Gobject.property = { Gobject.name = "show-finish" ; Gobject.conv = Gobject.Data.boolean } let show_help : (druid, bool) Gobject.property = { Gobject.name = "show-help" ; Gobject.conv = Gobject.Data.boolean } end end module Druid_page = struct module Signals = struct let back : (druidpage, druid Gtk.obj -> bool) GtkSignal.t = { GtkSignal.name = "back" ; GtkSignal.classe = `druidpage ; GtkSignal.marshaller = GtkSignal.marshal1_ret ~ret:Gobject.Data.boolean Gobject.Data.gobject "GnomeDruidPage::back" } let cancel : (druidpage, druid Gtk.obj -> bool) GtkSignal.t = { GtkSignal.name = "cancel" ; GtkSignal.classe = `druidpage ; GtkSignal.marshaller = GtkSignal.marshal1_ret ~ret:Gobject.Data.boolean Gobject.Data.gobject "GnomeDruidPage::cancel" } let finish : (druidpage, druid Gtk.obj -> unit) GtkSignal.t = { GtkSignal.name = "finish" ; GtkSignal.classe = `druidpage ; GtkSignal.marshaller = GtkSignal.marshal1 Gobject.Data.gobject "GnomeDruidPage::finish" } let next : (druidpage, druid Gtk.obj -> bool) GtkSignal.t = { GtkSignal.name = "next" ; GtkSignal.classe = `druidpage ; GtkSignal.marshaller = GtkSignal.marshal1_ret ~ret:Gobject.Data.boolean Gobject.Data.gobject "GnomeDruidPage::next" } let prepare : (druidpage, druid Gtk.obj -> unit) GtkSignal.t = { GtkSignal.name = "prepare" ; GtkSignal.classe = `druidpage ; GtkSignal.marshaller = GtkSignal.marshal1 Gobject.Data.gobject "GnomeDruidPage::prepare" } end end module Page_Edge = struct type edge_position = [ `START | `FINISH | `OTHER ] external new_with_vals : edge_position -> aa:bool -> ?title:string -> ?text:string -> ?logo:GdkPixbuf.pixbuf -> ?watermark:GdkPixbuf.pixbuf -> ?top_watermark:GdkPixbuf.pixbuf -> page_edge Gtk.obj = "ml_gnome_druid_page_edge_new_with_vals_bc" "ml_gnome_druid_page_edge_new_with_vals" external set_bg_color : page_edge Gtk.obj -> Gdk.color -> unit = "ml_gnome_druid_page_edge_set_bg_color" external set_textbox_color : page_edge Gtk.obj -> Gdk.color -> unit = "ml_gnome_druid_page_edge_set_textbox_color" external set_logo_bg_color : page_edge Gtk.obj -> Gdk.color -> unit = "ml_gnome_druid_page_edge_set_logo_bg_color" external set_title_color : page_edge Gtk.obj -> Gdk.color -> unit = "ml_gnome_druid_page_edge_set_title_color" external set_text_color : page_edge Gtk.obj -> Gdk.color -> unit = "ml_gnome_druid_page_edge_set_text_color" external set_text : page_edge Gtk.obj -> string -> unit = "ml_gnome_druid_page_edge_set_text" external set_title : page_edge Gtk.obj -> string -> unit = "ml_gnome_druid_page_edge_set_title" external set_logo : page_edge Gtk.obj -> GdkPixbuf.pixbuf -> unit = "ml_gnome_druid_page_edge_set_logo" external set_watermark : page_edge Gtk.obj -> GdkPixbuf.pixbuf -> unit = "ml_gnome_druid_page_edge_set_watermark" external set_top_watermark : page_edge Gtk.obj -> GdkPixbuf.pixbuf -> unit = "ml_gnome_druid_page_edge_set_top_watermark" end module Page_Standard = struct external vbox : page_standard Gtk.obj -> Gtk.box Gtk.obj = "ml_gnome_druid_page_standard_vbox" external new_page_standard : unit -> page_standard Gtk.obj = "ml_gnome_druid_page_standard_new" external append_item : page_standard Gtk.obj -> ?question:string -> Gtk.widget Gtk.obj -> ?additional_info:string -> unit = "ml_gnome_druid_page_standard_append_item" module Prop = struct let background : (page_standard, string) Gobject.property = { Gobject.name = "background" ; Gobject.conv = Gobject.Data.string } let logo : (page_standard, GdkPixbuf.pixbuf) Gobject.property = { Gobject.name = "logo" ; Gobject.conv = Gobject.Data.gobject } let logo_background : (page_standard, string) Gobject.property = { Gobject.name = "logo-background" ; Gobject.conv = Gobject.Data.string } let title : (page_standard, string) Gobject.property = { Gobject.name = "title" ; Gobject.conv = Gobject.Data.string } let title_foreground : (page_standard, string) Gobject.property = { Gobject.name = "title-foreground" ; Gobject.conv = Gobject.Data.string } end end lablgtk-3.1.2/src-unsupported/gnomecanvas_tags.var0000644000650106067230000000016014161276610021203 0ustar glondusedpackage "gnomeCanvas" type art_wind_rule = "ART_WIND_RULE_" [ `NONZERO | `INTERSECT | `ODDEVEN | `POSITIVE ] lablgtk-3.1.2/src-unsupported/gnomeui_tags.var0000644000650106067230000000010114161276610020340 0ustar glondusedtype edge_position = "GNOME_EDGE_" [ `START | `FINISH | `OTHER ] lablgtk-3.1.2/src-unsupported/gtkNew.ml0000644000650106067230000000757314161276610016762 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels open Gtk type t (* if you modify this type modify widget_info_array in ml_gtknew.c in accordance *) type object_type = | OBJECT | WIDGET | MISC | LABEL | ACCELLABEL | TIPSQUERY | ARROW | IMAGE | PIXMAP | CONTAINER | BIN | ALIGNMENT | FRAME | ASPECTFRAME | BUTTON | TOGGLEBUTTON | CHECKBUTTON | RADIOBUTTON | OPTIONMENU | ITEM | MENUITEM | CHECKMENUITEM | RADIOMENUITEM | TEAROFFMENUITEM | LISTITEM | TREEITEM | WINDOW | COLORSELECTIONDIALOG | DIALOG | INPUTDIALOG | FILESELECTION | FONTSELECTIONDIALOG | PLUG | EVENTBOX | HANDLEBOX | SCROLLEDWINDOW | VIEWPORT | BOX | BUTTONBOX | HBUTTONBOX | VBUTTONBOX | VBOX | COLORSELECTION | GAMMACURVE | HBOX | COMBO | STATUSBAR | STATUSICON | CLIST | CTREE | FIXED | NOTEBOOK | FONTSELECTION | PANED | HPANED | VPANED | LAYOUT | LIST | MENUSHELL | MENUBAR | MENU | PACKER | SOCKET | TABLE | GRID | TOOLBAR | TREE | CALENDAR | DRAWINGAREA | CURVE | EDITABLE | ENTRY | SPINBUTTON | TEXT | RULER | HRULER | VRULER | RANGE | SCALE | HSCALE | VSCALE | SCROLLBAR | HSCROLLBAR | VSCROLLBAR | SEPARATOR | HSEPARATOR | VSEPARATOR | PREVIEW | PROGRESS | PROGRESSBAR | DATA | ADJUSTMENT | TOOLTIPS | ITEMFACTORY external set_ml_class_init : (t -> unit) -> unit = "set_ml_class_init" external signal_new : string -> int -> t -> object_type -> int -> int = "ml_gtk_signal_new" external object_class_add_signals : t -> int array -> int -> unit = "ml_gtk_object_class_add_signals" external type_unique : name:string -> parent:object_type -> nsignals:int -> gtk_type = "ml_gtk_type_unique" external type_new : gtk_type -> unit obj = "ml_gtk_type_new" open GtkSignal let make_new_widget ~name ~parent ~(signals : ('a, unit -> unit) GtkSignal.t list) = let nsignals = List.length signals in let new_type = type_unique ~name ~parent ~nsignals in let signal_num_array = Array.create nsignals 0 in let class_init_func classe = List.fold_left signals ~init:0 ~f: (fun i signal -> signal_num_array.(i) <- signal_new signal.name 1 classe parent i; i+1); object_class_add_signals classe signal_num_array nsignals in new_type, (fun () -> set_ml_class_init class_init_func; type_new new_type) (* , signal_num_array *) lablgtk-3.1.2/src-unsupported/gtkXmHTML.ml0000644000650106067230000001310114161276610017262 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk type string_direction = [ | `R_TO_L | `L_TO_R ] type position = [ | `END | `CENTER | `BEGINNING ] type line_type = [ | `SOLID | `DASHED | `SINGLE | `DOUBLE | `STRIKE | `UNDER | `NONE ] type dither_type = [ | `QUICK | `BEST | `FAST | `SLOW | `DISABLED ] type xmhtml = [widget|`container|`xmhtml] external create : unit -> xmhtml obj = "ml_gtk_xmhtml_new" external freeze : [> `xmhtml] obj -> unit = "ml_gtk_xmhtml_freeze" external thaw : [> `xmhtml] obj -> unit = "ml_gtk_xmhtml_thaw" external source : [> `xmhtml] obj -> string -> unit = "ml_gtk_xmhtml_source" (* external get_source : [> `xmhtml] obj -> string = "ml_gtk_xmhtml_get_source" *) external set_string_direction : [> `xmhtml] obj -> string_direction -> unit = "ml_gtk_xmhtml_set_string_direction" external set_alignment : [> `xmhtml] obj -> position -> unit = "ml_gtk_xmhtml_set_alignment" (* external set_outline : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_outline" *) external set_font_familty : [> `xmhtml] obj -> family:string -> sizes:string -> unit = "ml_gtk_xmhtml_set_font_familty" external set_font_familty_fixed : [> `xmhtml] obj -> family:string -> sizes:string -> unit = "ml_gtk_xmhtml_set_font_familty_fixed" external set_font_charset : [> `xmhtml] obj -> string -> unit = "ml_gtk_xmhtml_set_font_charset" external set_allow_body_colors : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_allow_body_colors" external set_hilight_on_enter : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_hilight_on_enter" external set_anchor_underline_type : [> `xmhtml] obj -> line_type list -> unit = "ml_gtk_xmhtml_set_anchor_underline_type" external set_anchor_visited_underline_type : [> `xmhtml] obj -> line_type list -> unit = "ml_gtk_xmhtml_set_anchor_visited_underline_type" external set_anchor_target_underline_type : [> `xmhtml] obj -> line_type list -> unit = "ml_gtk_xmhtml_set_anchor_target_underline_type" external set_allow_color_switching : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_allow_color_switching" external set_dithering : [> `xmhtml] obj -> dither_type -> unit = "ml_gtk_xmhtml_set_dithering" external set_allow_font_switching : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_allow_font_switching" external set_max_image_colors : [> `xmhtml] obj -> int -> unit = "ml_gtk_xmhtml_set_max_image_colors" external set_allow_images : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_allow_images" external set_plc_intervals : [> `xmhtml] obj -> min:int -> max:int -> default:int -> unit = "ml_gtk_xmhtml_set_plc_intervals" (* external set_def_body_image_url : [> `xmhtml] obj -> string -> unit = "ml_gtk_xmhtml_set_def_body_image_url" *) external set_anchor_buttons : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_anchor_buttons" external set_anchor_cursor : [> `xmhtml] obj -> Gdk.cursor option -> unit = "ml_gtk_xmhtml_set_anchor_cursor" external set_topline : [> `xmhtml] obj -> int -> unit = "ml_gtk_xmhtml_set_topline" external get_topline : [> `xmhtml] obj -> int = "ml_gtk_xmhtml_get_topline" external set_freeze_animations : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_freeze_animations" external set_screen_gamma : [> `xmhtml] obj -> float -> unit = "ml_gtk_xmhtml_set_screen_gamma" external set_perfect_colors : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_perfect_colors" external set_uncompress_command : [> `xmhtml] obj -> string -> unit = "ml_gtk_xmhtml_set_uncompress_command" external set_strict_checking : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_strict_checking" external set_bad_html_warnings : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_bad_html_warnings" external set_allow_form_coloring : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_allow_form_coloring" external set_imagemap_draw : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_imagemap_draw" external set_alpha_processing : [> `xmhtml] obj -> bool -> unit = "ml_gtk_xmhtml_set_alpha_processing" lablgtk-3.1.2/src-unsupported/gtkgl_tags.var0000644000650106067230000000046314161276610020020 0ustar glondused(* $Id$ *) (* package "glGtk" *) type visual_options = "GDK_GL_" [ | `USE_GL | `BUFFER_SIZE | `LEVEL | `RGBA | `DOUBLEBUFFER | `STEREO | `AUX_BUFFERS | `RED_SIZE | `GREEN_SIZE | `BLUE_SIZE | `ALPHA_SIZE | `DEPTH_SIZE | `STENCIL_SIZE | `ACCUM_GREEN_SIZE | `ACCUM_ALPHA_SIZE ] lablgtk-3.1.2/src-unsupported/gtkxmhtml_tags.var0000644000650106067230000000055114161276610020725 0ustar glondused(* $Id$ *) type string_direction = "TSTRING_DIRECTION_" [ | `R_TO_L | `L_TO_R ] type alignment = "TALIGNMENT_" [ | `END | `CENTER | `BEGINNING ] type line_type = "LINE_" [ | `SOLID | `DASHED | `SINGLE | `DOUBLE | `STRIKE | `UNDER | `NONE "NO_LINE" ] type dither_type = "Xm" [ | `QUICK | `BEST | `FAST | `SLOW | `DISABLED ] lablgtk-3.1.2/src-unsupported/ml_domain.h0000644000650106067230000000316114161276610017266 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ #define G_LOG_DOMAIN "LablGTK" lablgtk-3.1.2/src-unsupported/ml_gnomecanvas.c0000644000650106067230000003713414161276610020322 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_gobject.h" #include "ml_glib.h" #include "ml_gdk.h" #include "ml_gtk.h" static inline value copy_two_doubles(double a, double b) { CAMLparam0(); CAMLlocal3(va, vb, v); va = copy_double(a); vb = copy_double(b); v = alloc_small(2, 0); Field(v, 0) = va; Field(v, 1) = vb; CAMLreturn(v); } static inline value copy_double_array(double *a, size_t len) { value v; register unsigned int i; v = alloc(len * Double_wosize, Double_array_tag); for(i=0; ixform) { CAMLparam0(); CAMLlocal2(arr, v); mlsize_t len; if( GTK_OBJECT_FLAGS(GTK_OBJECT(item)) & GNOME_CANVAS_ITEM_AFFINE_FULL ) len = 6; else len = 2; arr = alloc_small(Double_wosize * len, Double_array_tag); memcpy(Bp_val(arr), item->xform, len * sizeof (double)); v = alloc_small(2, 0); Field(v, 0) = (len == 6) ? ML_TAG_AFFINE : ML_TAG_TRANSL; Field(v, 1) = arr; CAMLreturn(v); } else return ML_TAG_IDENTITY; } #ifndef ARCH_ALIGN_DOUBLE CAMLprim value ml_gnome_canvas_item_affine_relative(value i, value a) { if(Wosize_val(a) != 6 * Double_wosize) invalid_argument("affine transform"); gnome_canvas_item_affine_relative(GnomeCanvasItem_val(i), (double *)a); return Val_unit; } CAMLprim value ml_gnome_canvas_item_affine_absolute(value i, value a) { if(Wosize_val(a) == 0) gnome_canvas_item_affine_absolute(GnomeCanvasItem_val(i), NULL); else if(Wosize_val(a) == 6 * Double_wosize) gnome_canvas_item_affine_absolute(GnomeCanvasItem_val(i), (double *)a); else invalid_argument("affine transform"); return Val_unit; } #else CAMLprim value ml_gnome_canvas_item_affine_relative(value i, value a) { double coords[6]; if(Wosize_val(a) != 6 * Double_wosize) invalid_argument("affine transform"); memcpy(coords, Bp_val(a), sizeof coords); gnome_canvas_item_affine_relative(GnomeCanvasItem_val(i), coords); return Val_unit; } CAMLprim value ml_gnome_canvas_item_affine_absolute(value i, value a) { double coords[6]; if(Wosize_val(a) == 0) gnome_canvas_item_affine_absolute(GnomeCanvasItem_val(i), NULL); else if(Wosize_val(a) == 6 * Double_wosize) { memcpy(coords, Bp_val(a), sizeof coords); gnome_canvas_item_affine_absolute(GnomeCanvasItem_val(i), coords); } else invalid_argument("affine transform"); return Val_unit; } #endif /* ARCH_ALIGN_DOUBLE */ CAMLprim value ml_gnome_canvas_item_set(value i) { gnome_canvas_item_set(GnomeCanvasItem_val(i), NULL); return Val_unit; } ML_3 (gnome_canvas_item_move, GnomeCanvasItem_val, Double_val, Double_val, Unit) ML_2 (gnome_canvas_item_raise, GnomeCanvasItem_val, Int_val, Unit) ML_2 (gnome_canvas_item_lower, GnomeCanvasItem_val, Int_val, Unit) ML_1 (gnome_canvas_item_raise_to_top, GnomeCanvasItem_val, Unit) ML_1 (gnome_canvas_item_lower_to_bottom, GnomeCanvasItem_val, Unit) ML_1 (gnome_canvas_item_show, GnomeCanvasItem_val, Unit) ML_1 (gnome_canvas_item_hide, GnomeCanvasItem_val, Unit) ML_4 (gnome_canvas_item_grab, GnomeCanvasItem_val, Flags_Event_mask_val, GdkCursor_val, Int32_val, Unit) ML_2 (gnome_canvas_item_ungrab, GnomeCanvasItem_val, Int32_val, Unit) CAMLprim value ml_gnome_canvas_item_w2i(value i, value x, value y) { double ox = Double_val(x); double oy = Double_val(y); gnome_canvas_item_w2i(GnomeCanvasItem_val(i), &ox, &oy); return copy_two_doubles(ox, oy); } CAMLprim value ml_gnome_canvas_item_i2w(value i, value x, value y) { double ox = Double_val(x); double oy = Double_val(y); gnome_canvas_item_i2w(GnomeCanvasItem_val(i), &ox, &oy); return copy_two_doubles(ox, oy); } #ifndef ARCH_ALIGN_DOUBLE CAMLprim value ml_gnome_canvas_item_i2w_affine(value i) { GnomeCanvasItem *item = GnomeCanvasItem_val(i); value v = alloc_small(6 * Double_wosize, Double_array_tag); gnome_canvas_item_i2w_affine(item, (double *)v); return v; } CAMLprim value ml_gnome_canvas_item_i2c_affine(value i) { GnomeCanvasItem *item = GnomeCanvasItem_val(i); value v = alloc_small(6 * Double_wosize, Double_array_tag); gnome_canvas_item_i2c_affine(item, (double *)v); return v; } #else CAMLprim value ml_gnome_canvas_item_i2w_affine(value i) { GnomeCanvasItem *item = GnomeCanvasItem_val(i); value v = alloc_small(6 * Double_wosize, Double_array_tag); double coords[6]; gnome_canvas_item_i2w_affine(item, coords); memcpy(Bp_val(v), coords, sizeof coords); return v; } CAMLprim value ml_gnome_canvas_item_i2c_affine(value i) { GnomeCanvasItem *item = GnomeCanvasItem_val(i); value v = alloc_small(6 * Double_wosize, Double_array_tag); double coords[6]; gnome_canvas_item_i2c_affine(item, coords); memcpy(Bp_val(v), coords, sizeof coords); return v; } #endif /* ARCH_ALIGN_DOUBLE */ ML_2 (gnome_canvas_item_reparent, GnomeCanvasItem_val, GnomeCanvasGroup_val, Unit) ML_1 (gnome_canvas_item_grab_focus, GnomeCanvasItem_val, Unit) CAMLprim value ml_gnome_canvas_item_get_bounds(value i) { double p[4]; gnome_canvas_item_get_bounds(GnomeCanvasItem_val(i), &p[0], &p[1], &p[2], &p[3]); return copy_double_array(p, 4); } /* gnome_canvas_item_request_update */ /* GnomeCanvasGroup */ CAMLprim value ml_gnome_canvas_group_get_items(value cg) { return Val_GList(GnomeCanvasGroup_val(cg)->item_list, (value_in)Val_GObject); } /* Converion functions for properties */ CAMLprim value ml_gnome_canvas_convert_points(value arr) { int len = Wosize_val(arr) / Double_wosize; GnomeCanvasPoints *p; if(len % 2) invalid_argument("GnomeCanvas.convert_points: odd number of coords"); p = gnome_canvas_points_new(len / 2); memcpy(p->coords, Bp_val(arr), Bosize_val(arr)); return Val_gboxed_new(gnome_canvas_points_get_type(), p); } CAMLprim value ml_gnome_canvas_get_points(value arg) { GnomeCanvasPoints *p = Pointer_val(arg); value ret = alloc(p->num_points * 2 * Double_wosize, Double_array_tag); memcpy(Bp_val(ret), p->coords, p->num_points * 2 * sizeof(double)); return ret; } #define artvpathdash_free(d) g_free((d)->dash); g_free(d) Make_Val_final_pointer_ext(ArtVpathDash, _new, Ignore, artvpathdash_free, 1) CAMLprim value ml_gnome_canvas_convert_dash(value off, value dash) { ArtVpathDash *d; int len = Wosize_val(dash) / Double_wosize; d = g_malloc(sizeof *d); d->offset = Double_val(off); d->n_dash = len; d->dash = g_malloc(d->n_dash * sizeof (double)); memcpy(d->dash, Bp_val(dash), Bosize_val(dash)); return Val_ArtVpathDash_new(d); } CAMLprim value ml_gnome_canvas_get_dash(value dash) { CAMLparam1(dash); CAMLlocal3(ret,dashes,offset); ArtVpathDash *d = Pointer_val(dash); dashes = alloc(d->n_dash * Double_wosize, Double_array_tag); memcpy(Bp_val(dashes), d->dash, d->n_dash * sizeof (double)); offset = copy_double(d->offset); ret = alloc_small(2, 0); Field(ret,0) = offset; Field(ret,1) = dashes; CAMLreturn (ret); } /* gome-canvas-path-def.h */ Make_Val_final_pointer_ext(GnomeCanvasPathDef, _new, Ignore, gnome_canvas_path_def_unref, 1) #define GnomeCanvasPathDef_val(v) ((GnomeCanvasPathDef *)Pointer_val(v)) CAMLprim value ml_gnome_canvas_path_def_new(value olen, value unit) { gint len = Option_val(olen, Int_val, -1); GnomeCanvasPathDef *p; if(len < 0) p = gnome_canvas_path_def_new(); else p = gnome_canvas_path_def_new_sized(len); return Val_GnomeCanvasPathDef_new(p); } ML_1 (gnome_canvas_path_def_duplicate, GnomeCanvasPathDef_val, Val_GnomeCanvasPathDef_new) static gpointer path_def_val(value v) { return GnomeCanvasPathDef_val(v); } CAMLprim value ml_gnome_canvas_path_def_concat(value plist) { GSList *l = GSList_val(plist, path_def_val); return Val_GnomeCanvasPathDef_new(gnome_canvas_path_def_concat(l)); } ML_1 (gnome_canvas_path_def_reset, GnomeCanvasPathDef_val, Unit) ML_3 (gnome_canvas_path_def_moveto, GnomeCanvasPathDef_val, Double_val, Double_val, Unit) ML_3 (gnome_canvas_path_def_lineto, GnomeCanvasPathDef_val, Double_val, Double_val, Unit) ML_3 (gnome_canvas_path_def_lineto_moving, GnomeCanvasPathDef_val, Double_val, Double_val, Unit) ML_7 (gnome_canvas_path_def_curveto, GnomeCanvasPathDef_val, Double_val, Double_val, Double_val, Double_val, Double_val, Double_val, Unit) ML_bc7 (ml_gnome_canvas_path_def_curveto) ML_1 (gnome_canvas_path_def_closepath, GnomeCanvasPathDef_val, Unit) ML_1 (gnome_canvas_path_def_closepath_current, GnomeCanvasPathDef_val, Unit) ML_1 (gnome_canvas_path_def_length, GnomeCanvasPathDef_val, Val_int) ML_1 (gnome_canvas_path_def_is_empty, GnomeCanvasPathDef_val, Val_bool) ML_1 (gnome_canvas_path_def_has_currentpoint, GnomeCanvasPathDef_val, Val_bool) /* gnome-canvas-rich-text.h */ #define GnomeCanvasRichText_val(val) check_cast(GNOME_CANVAS_RICH_TEXT,val) ML_1 (gnome_canvas_rich_text_cut_clipboard, GnomeCanvasRichText_val, Unit) ML_1 (gnome_canvas_rich_text_copy_clipboard, GnomeCanvasRichText_val, Unit) ML_1 (gnome_canvas_rich_text_paste_clipboard, GnomeCanvasRichText_val, Unit) ML_1 (gnome_canvas_rich_text_get_buffer, GnomeCanvasRichText_val, Val_GAnyObject) lablgtk-3.1.2/src-unsupported/ml_gnomedruid.c0000644000650106067230000001040114161276610020142 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ #include #include #include #include #include #include #include "wrappers.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "ml_gdkpixbuf.h" #include "gnomeui_tags.h" #include "gnomeui_tags.c" #define GnomeDruid_val(val) check_cast(GNOME_DRUID,val) #define GnomeDruidPage_val(val) check_cast(GNOME_DRUID_PAGE,val) #define GnomeDruidPageEdge_val(val) check_cast(GNOME_DRUID_PAGE_EDGE,val) #define GnomeDruidPageStandard_val(val) check_cast(GNOME_DRUID_PAGE_STANDARD,val) /* gnome-druid.h */ ML_0(gnome_druid_new, Val_GtkWidget_sink) ML_5(gnome_druid_set_buttons_sensitive, GnomeDruid_val, Bool_val, Bool_val, Bool_val, Bool_val, Unit) ML_2(gnome_druid_prepend_page, GnomeDruid_val, GnomeDruidPage_val, Unit) ML_3(gnome_druid_insert_page, GnomeDruid_val, GnomeDruidPage_val, GnomeDruidPage_val, Unit) ML_2(gnome_druid_append_page, GnomeDruid_val, GnomeDruidPage_val, Unit) ML_2(gnome_druid_set_page, GnomeDruid_val, GnomeDruidPage_val, Unit) /* gnome-druid-page-edge.h */ #define GdkPixbuf_option_val(v) Option_val(v,GdkPixbuf_val,NULL) ML_7(gnome_druid_page_edge_new_with_vals, Edge_position_val, Bool_val, \ String_option_val, String_option_val, \ GdkPixbuf_option_val, GdkPixbuf_option_val, GdkPixbuf_option_val, Val_GtkWidget_sink) ML_bc7(ml_gnome_druid_page_edge_new_with_vals) ML_2(gnome_druid_page_edge_set_bg_color, GnomeDruidPageEdge_val, GdkColor_val, Unit) ML_2(gnome_druid_page_edge_set_textbox_color, GnomeDruidPageEdge_val, GdkColor_val, Unit) ML_2(gnome_druid_page_edge_set_logo_bg_color, GnomeDruidPageEdge_val, GdkColor_val, Unit) ML_2(gnome_druid_page_edge_set_title_color, GnomeDruidPageEdge_val, GdkColor_val, Unit) ML_2(gnome_druid_page_edge_set_text_color, GnomeDruidPageEdge_val, GdkColor_val, Unit) ML_2(gnome_druid_page_edge_set_text, GnomeDruidPageEdge_val, String_val, Unit) ML_2(gnome_druid_page_edge_set_title, GnomeDruidPageEdge_val, String_val, Unit) ML_2(gnome_druid_page_edge_set_logo, GnomeDruidPageEdge_val, GdkPixbuf_val, Unit) ML_2(gnome_druid_page_edge_set_watermark, GnomeDruidPageEdge_val, GdkPixbuf_val, Unit) ML_2(gnome_druid_page_edge_set_top_watermark, GnomeDruidPageEdge_val, GdkPixbuf_val, Unit) /* gnome-druid-page-standard.h */ Make_Extractor(gnome_druid_page_standard, GnomeDruidPageStandard_val, vbox, Val_GtkWidget) ML_0(gnome_druid_page_standard_new, Val_GtkWidget_sink) ML_2(gnome_druid_page_standard_set_contents_background, GnomeDruidPageStandard_val, GdkColor_val, Unit) ML_4(gnome_druid_page_standard_append_item, GnomeDruidPageStandard_val, String_option_val, GtkWidget_val, String_option_val, Unit) lablgtk-3.1.2/src-unsupported/ml_gtkbroken.c0000644000650106067230000001174214161276610020004 0ustar glondused/**************************************************************************/ /* 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$ */ /* GtkTree and GtkText are broken, but some people still want them */ #define GTK_ENABLE_BROKEN 1 #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "gtk_tags.h" /* Init all */ CAMLprim value ml_gtkbroken_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_tree_item_get_type() + gtk_tree_get_type() + gtk_old_editable_get_type () + gtk_text_get_type () ; return Val_GType(t); } #define Tree_view_mode_val(val) \ (val == MLTAG_ITEM ? GTK_TREE_VIEW_ITEM : GTK_TREE_VIEW_LINE) /* gtktreeitem.h */ #define GtkTreeItem_val(val) check_cast(GTK_TREE_ITEM,val) ML_0 (gtk_tree_item_new, Val_GtkWidget_sink) ML_1 (gtk_tree_item_new_with_label, String_val, Val_GtkWidget_sink) ML_2 (gtk_tree_item_set_subtree, GtkTreeItem_val, GtkWidget_val, Unit) ML_1 (gtk_tree_item_remove_subtree, GtkTreeItem_val, Unit) ML_1 (gtk_tree_item_expand, GtkTreeItem_val, Unit) ML_1 (gtk_tree_item_collapse, GtkTreeItem_val, Unit) ML_1 (GTK_TREE_ITEM_SUBTREE, GtkTreeItem_val, Val_GtkWidget) /* gtktree.h */ #define GtkTree_val(val) check_cast(GTK_TREE,val) ML_0 (gtk_tree_new, Val_GtkWidget_sink) ML_3 (gtk_tree_insert, GtkTree_val, GtkWidget_val, Int_val, Unit) ML_3 (gtk_tree_clear_items, GtkTree_val, Int_val, Int_val, Unit) ML_2 (gtk_tree_select_item, GtkTree_val, Int_val, Unit) ML_2 (gtk_tree_unselect_item, GtkTree_val, Int_val, Unit) ML_2 (gtk_tree_child_position, GtkTree_val, GtkWidget_val, Val_int) ML_2 (gtk_tree_set_selection_mode, GtkTree_val, Selection_mode_val, Unit) ML_2 (gtk_tree_set_view_mode, GtkTree_val, Tree_view_mode_val, Unit) ML_2 (gtk_tree_set_view_lines, GtkTree_val, Bool_val, Unit) static value val_gtkany (gpointer p) { return Val_GtkAny(p); } CAMLprim value ml_gtk_tree_selection (value tree) { GList *selection = GTK_TREE_SELECTION_OLD(GtkTree_val(tree)); return Val_GList(selection, val_gtkany); } static gpointer gtkobject_val (value val) { return GtkObject_val(val); } CAMLprim value ml_gtk_tree_remove_items (value tree, value items) { GList *items_list = GList_val (items, gtkobject_val); gtk_tree_remove_items (GtkTree_val(tree), items_list); return Val_unit; } /* gtkoldeditable.h */ #define GtkOldEditable_val(val) check_cast(GTK_OLD_EDITABLE,val) ML_3 (gtk_old_editable_claim_selection, GtkOldEditable_val, Bool_val, Int_val, Unit) ML_1 (gtk_old_editable_changed, GtkOldEditable_val, Unit) /* gtktext.h */ #define GtkText_val(val) check_cast(GTK_TEXT,val) ML_2 (gtk_text_set_point, GtkText_val, Int_val, Unit) ML_1 (gtk_text_get_point, GtkText_val, Val_int) ML_1 (gtk_text_get_length, GtkText_val, Val_int) ML_1 (gtk_text_freeze, GtkText_val, Unit) ML_1 (gtk_text_thaw, GtkText_val, Unit) CAMLprim value ml_gtk_text_insert (value text, value font, value fore, value back, value str) { gtk_text_insert (GtkText_val(text), Option_val(font,GdkFont_val,NULL), Option_val(fore,GdkColor_val,NULL), Option_val(back,GdkColor_val,NULL), String_val(str), string_length(str)); return Val_unit; } ML_2 (gtk_text_forward_delete, GtkText_val, Int_val, Val_int) ML_2 (gtk_text_backward_delete, GtkText_val, Int_val, Val_int) lablgtk-3.1.2/src-unsupported/ml_gtkgl.c0000644000650106067230000000557514161276610017135 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "gtkgl_tags.h" /* Conversion functions */ #include "gtkgl_tags.c" #define GtkGLArea_val(val) check_cast(GTK_GL_AREA,val) CAMLprim value ml_gtk_gl_area_new (value list, value share) { value cursor, res; int len, i; int *attrs; for (len = 0, cursor = list; cursor != Val_unit; cursor = Field(cursor,1)) { if (Is_block(Field(cursor,0))) len += 2; else len++; } attrs = (int*) stat_alloc ((len+1)*sizeof(int)); for (i = 0, cursor = list; cursor != Val_unit; cursor = Field(cursor,1)) { value option = Field(cursor,0); if (Is_block(option)) { attrs[i++] = Visual_options_val(Field(option,0)); attrs[i++] = Int_val(Field(option,1)); } else attrs[i++] = Visual_options_val(option); } attrs[i] = GDK_GL_NONE; res = Val_GtkObject_sink ((GtkObject*)gtk_gl_area_share_new(attrs,GtkGLArea_val(share))); stat_free(attrs); return res; } ML_1 (gtk_gl_area_make_current, GtkGLArea_val, Val_bool) ML_1 (gtk_gl_area_swap_buffers, GtkGLArea_val, Unit) lablgtk-3.1.2/src-unsupported/ml_gtklist.c0000644000650106067230000002363714161276610017505 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "gtk_tags.h" Make_Flags_val (Button_action_val) /* Init all */ CAMLprim value ml_gtklist_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_list_item_get_type() + gtk_list_get_type() + gtk_clist_get_type(); return Val_GType(t); } /* gtklistitem.h */ ML_0 (gtk_list_item_new, Val_GtkWidget_sink) ML_1 (gtk_list_item_new_with_label, String_val, Val_GtkWidget_sink) /* gtklist.h */ #define GtkList_val(val) check_cast(GTK_LIST,val) ML_0 (gtk_list_new, Val_GtkWidget_sink) CAMLprim value ml_gtk_list_insert_item (value list, value item, value pos) { GList *tmp_list = g_list_alloc (); tmp_list->data = GtkWidget_val(item); tmp_list->next = NULL; tmp_list->prev = NULL; gtk_list_insert_items (GtkList_val(list), tmp_list, Int_val(pos)); return Val_unit; } ML_3 (gtk_list_clear_items, GtkList_val, Int_val, Int_val, Unit) ML_2 (gtk_list_select_item, GtkList_val, Int_val, Unit) ML_2 (gtk_list_unselect_item, GtkList_val, Int_val, Unit) ML_2 (gtk_list_select_child, GtkList_val, GtkWidget_val, Unit) ML_2 (gtk_list_unselect_child, GtkList_val, GtkWidget_val, Unit) ML_2 (gtk_list_child_position, GtkList_val, GtkWidget_val, Val_int) /* gtkclist.h */ #define GtkCList_val(val) check_cast(GTK_CLIST,val) ML_1 (gtk_clist_new, Int_val, Val_GtkWidget_sink) ML_1 (gtk_clist_new_with_titles, Insert(Wosize_val(arg1)) (char **), Val_GtkWidget_sink) Make_Extractor (gtk_clist_get, GtkCList_val, rows, Val_int) Make_Extractor (gtk_clist_get, GtkCList_val, columns, Val_int) Make_Extractor (gtk_clist_get, GtkCList_val, focus_row, Val_int) ML_2 (gtk_clist_set_hadjustment, GtkCList_val, GtkAdjustment_val, Unit) ML_2 (gtk_clist_set_vadjustment, GtkCList_val, GtkAdjustment_val, Unit) ML_1 (gtk_clist_get_hadjustment, GtkCList_val, Val_GtkAny) ML_1 (gtk_clist_get_vadjustment, GtkCList_val, Val_GtkAny) ML_2 (gtk_clist_set_shadow_type, GtkCList_val, Shadow_type_val, Unit) ML_2 (gtk_clist_set_selection_mode, GtkCList_val, Selection_mode_val, Unit) ML_2 (gtk_clist_set_reorderable, GtkCList_val, Bool_val, Unit) ML_2 (gtk_clist_set_use_drag_icons, GtkCList_val, Bool_val, Unit) ML_3 (gtk_clist_set_button_actions, GtkCList_val, Int_val, (guint8)Flags_Button_action_val, Unit) ML_1 (gtk_clist_freeze, GtkCList_val, Unit) ML_1 (gtk_clist_thaw, GtkCList_val, Unit) ML_1 (gtk_clist_column_titles_show, GtkCList_val, Unit) ML_1 (gtk_clist_column_titles_hide, GtkCList_val, Unit) ML_2 (gtk_clist_column_title_active, GtkCList_val, Int_val, Unit) ML_2 (gtk_clist_column_title_passive, GtkCList_val, Int_val, Unit) ML_1 (gtk_clist_column_titles_active, GtkCList_val, Unit) ML_1 (gtk_clist_column_titles_passive, GtkCList_val, Unit) ML_3 (gtk_clist_set_column_title, GtkCList_val, Int_val, String_val, Unit) ML_2 (gtk_clist_get_column_title, GtkCList_val, Int_val, Val_string) ML_3 (gtk_clist_set_column_widget, GtkCList_val, Int_val, GtkWidget_val, Unit) ML_2 (gtk_clist_get_column_widget, GtkCList_val, Int_val, Val_GtkWidget) ML_3 (gtk_clist_set_column_justification, GtkCList_val, Int_val, Justification_val, Unit) ML_3 (gtk_clist_set_column_visibility, GtkCList_val, Int_val, Bool_val, Unit) ML_3 (gtk_clist_set_column_resizeable, GtkCList_val, Int_val, Bool_val, Unit) ML_3 (gtk_clist_set_column_auto_resize, GtkCList_val, Int_val, Bool_val, Unit) ML_1 (gtk_clist_columns_autosize, GtkCList_val, Unit) ML_2 (gtk_clist_optimal_column_width, GtkCList_val, Int_val, Val_int) ML_3 (gtk_clist_set_column_width, GtkCList_val, Int_val, Int_val, Unit) ML_3 (gtk_clist_set_column_min_width, GtkCList_val, Int_val, Int_val, Unit) ML_3 (gtk_clist_set_column_max_width, GtkCList_val, Int_val, Int_val, Unit) ML_2 (gtk_clist_set_row_height, GtkCList_val, Int_val, Unit) ML_5 (gtk_clist_moveto, GtkCList_val, Int_val, Int_val, Double_val, Double_val, Unit) ML_2 (gtk_clist_row_is_visible, GtkCList_val, Int_val, Val_visibility) ML_3 (gtk_clist_get_cell_type, GtkCList_val, Int_val, Int_val, Val_cell_type) ML_4 (gtk_clist_set_text, GtkCList_val, Int_val, Int_val, Optstring_val, Unit) CAMLprim value ml_gtk_clist_get_text (value clist, value row, value column) { char *text; if (!gtk_clist_get_text (GtkCList_val(clist), Int_val(row), Int_val(column), &text)) invalid_argument ("Gtk.Clist.get_text"); return Val_optstring(text); } ML_5 (gtk_clist_set_pixmap, GtkCList_val, Int_val, Int_val, GdkPixmap_val, (GdkBitmap*)Pointer_val, Unit) CAMLprim value ml_gtk_clist_get_pixmap (value clist, value row, value column) { CAMLparam0 (); GdkPixmap *pixmap; GdkBitmap *bitmap; CAMLlocal2 (vpixmap,vbitmap); value ret; if (!gtk_clist_get_pixmap (GtkCList_val(clist), Int_val(row), Int_val(column), &pixmap, &bitmap)) invalid_argument ("Gtk.Clist.get_pixmap"); vpixmap = Val_option (pixmap, Val_GdkPixmap); vbitmap = Val_option (bitmap, Val_GdkBitmap); ret = alloc_small (2,0); Field(ret,0) = vpixmap; Field(ret,1) = vbitmap; CAMLreturn(ret); } ML_7 (gtk_clist_set_pixtext, GtkCList_val, Int_val, Int_val, String_val, (guint8)Long_val, GdkPixmap_val, (GdkBitmap*)Pointer_val, Unit) ML_bc7 (ml_gtk_clist_set_pixtext) ML_3 (gtk_clist_set_foreground, GtkCList_val, Int_val, GdkColor_val, Unit) ML_3 (gtk_clist_set_background, GtkCList_val, Int_val, GdkColor_val, Unit) ML_3 (gtk_clist_get_cell_style, GtkCList_val, Int_val, Int_val, Val_GtkStyle) ML_4 (gtk_clist_set_cell_style, GtkCList_val, Int_val, Int_val, GtkStyle_val, Unit) ML_2 (gtk_clist_get_row_style, GtkCList_val, Int_val, Val_GtkStyle) ML_3 (gtk_clist_set_row_style, GtkCList_val, Int_val, GtkStyle_val, Unit) ML_3 (gtk_clist_set_selectable, GtkCList_val, Int_val, Bool_val, Unit) ML_2 (gtk_clist_get_selectable, GtkCList_val, Int_val, Val_bool) ML_5 (gtk_clist_set_shift, GtkCList_val, Int_val, Int_val, Int_val, Int_val, Unit) /* ML_2 (gtk_clist_append, GtkCList_val, (char **), Val_int) */ /* ML_3 (gtk_clist_insert, GtkCList_val, Int_val, (char **), Val_int) */ CAMLprim value ml_gtk_clist_insert (value w, value n, value arr) { CAMLparam3 (w,n,arr); int i, len = Wosize_val(arr); char** arr0 = (char**) caml_alloc (len, Abstract_tag); for (i = 0; i < len; i++) arr0[i] = (char*)String_option_val(Field(arr,i)); i = gtk_clist_insert (GtkCList_val(w), Int_val(n), arr0); CAMLreturn (Val_int(i)); } ML_2 (gtk_clist_remove, GtkCList_val, Int_val, Unit) CAMLprim value ml_gtk_clist_set_row_data (value w, value row, value data) { value *data_p = ml_global_root_new (data); gtk_clist_set_row_data_full (GtkCList_val(w), Int_val(row), data_p, ml_global_root_destroy); return Val_unit; } ML_2 (gtk_clist_get_row_data, GtkCList_val, Int_val, *(value*)Check_null) ML_3 (gtk_clist_select_row, GtkCList_val, Int_val, Int_val, Unit) ML_3 (gtk_clist_unselect_row, GtkCList_val, Int_val, Int_val, Unit) ML_1 (gtk_clist_clear, GtkCList_val, Unit) CAMLprim value ml_gtk_clist_get_selection_info (value clist, value x, value y) { int row, column; value ret; if (!gtk_clist_get_selection_info (GtkCList_val(clist), Int_val(x), Int_val(y), &row, &column)) invalid_argument ("Gtk.Clist.get_row_column"); ret = alloc_small (2,0); Field(ret,0) = Val_int(row); Field(ret,1) = Val_int(column); return ret; } ML_1 (gtk_clist_select_all, GtkCList_val, Unit) ML_1 (gtk_clist_unselect_all, GtkCList_val, Unit) ML_3 (gtk_clist_swap_rows, GtkCList_val, Int_val, Int_val, Unit) ML_3 (gtk_clist_row_move, GtkCList_val, Int_val, Int_val, Unit) ML_2 (gtk_clist_set_sort_column, GtkCList_val, Int_val, Unit) ML_2 (gtk_clist_set_sort_type, GtkCList_val, Sort_type_val, Unit) ML_1 (gtk_clist_sort, GtkCList_val, Unit) ML_2 (gtk_clist_set_auto_sort, GtkCList_val, Bool_val, Unit) ML_1 (Scroll_type_val, ID, Val_long) CAMLprim value ml_gtk_clist_get_row_state (value clist, value y) { GtkCListRow *row; GList *list; gint row_num; list = GtkCList_val(clist)->row_list; for (row_num=0; row_num < Int_val(y) ; row_num++) { if (list == NULL) invalid_argument ("Gtk.Clist.get_row_state"); list = list->next; } row = list->data; return (Val_state_type (row->state)); } lablgtk-3.1.2/src-unsupported/ml_gtknew.c0000644000650106067230000002524414161276610017317 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gdk.h" #include "ml_gtk.h" static value ml_class_init=0; static void class_init (value class) { callback_exn(ml_class_init, class); } CAMLprim value set_ml_class_init (value class_func) { if (!ml_class_init) register_global_root (&ml_class_init); ml_class_init = class_func; return Val_unit; } CAMLprim value ml_gtk_type_new (value type) { return Val_GtkWidget_sink(gtk_type_new(Int_val(type))); } struct widget_info { guint size; guint class_size; guint (*get_type_func)(void); } widget_info_array[] = { { sizeof(GtkObject), sizeof(GtkObjectClass), gtk_object_get_type }, { sizeof(GtkWidget), sizeof(GtkWidgetClass), gtk_widget_get_type }, { sizeof(GtkMisc), sizeof(GtkMiscClass), gtk_misc_get_type }, { sizeof(GtkLabel), sizeof(GtkLabelClass), gtk_label_get_type }, { sizeof(GtkAccelLabel), sizeof(GtkAccelLabelClass), gtk_accel_label_get_type }, { sizeof(GtkTipsQuery), sizeof(GtkTipsQueryClass), gtk_tips_query_get_type }, { sizeof(GtkArrow), sizeof(GtkArrowClass), gtk_arrow_get_type }, { sizeof(GtkImage), sizeof(GtkImageClass), gtk_image_get_type }, { sizeof(GtkPixmap), sizeof(GtkPixmapClass), gtk_pixmap_get_type }, { sizeof(GtkContainer), sizeof(GtkContainerClass), gtk_container_get_type }, { sizeof(GtkBin), sizeof(GtkBinClass), gtk_bin_get_type }, { sizeof(GtkAlignment), sizeof(GtkAlignmentClass), gtk_alignment_get_type }, { sizeof(GtkFrame), sizeof(GtkFrameClass), gtk_frame_get_type }, { sizeof(GtkAspectFrame), sizeof(GtkAspectFrameClass), gtk_aspect_frame_get_type }, { sizeof(GtkButton), sizeof(GtkButtonClass), gtk_button_get_type }, { sizeof(GtkToggleButton), sizeof(GtkToggleButtonClass), gtk_toggle_button_get_type }, { sizeof(GtkCheckButton), sizeof(GtkCheckButtonClass), gtk_check_button_get_type }, { sizeof(GtkRadioButton), sizeof(GtkRadioButtonClass), gtk_radio_button_get_type }, { sizeof(GtkOptionMenu), sizeof(GtkOptionMenuClass), gtk_option_menu_get_type }, { sizeof(GtkItem), sizeof(GtkItemClass), gtk_item_get_type }, { sizeof(GtkMenuItem), sizeof(GtkMenuItemClass), gtk_menu_item_get_type }, { sizeof(GtkCheckMenuItem), sizeof(GtkCheckMenuItemClass), gtk_check_menu_item_get_type }, { sizeof(GtkRadioMenuItem), sizeof(GtkRadioMenuItemClass), gtk_radio_menu_item_get_type }, { sizeof(GtkTearoffMenuItem), sizeof(GtkTearoffMenuItemClass), gtk_tearoff_menu_item_get_type }, { sizeof(GtkListItem), sizeof(GtkListItemClass), gtk_list_item_get_type }, { sizeof(GtkTreeItem), sizeof(GtkTreeItemClass), gtk_tree_item_get_type }, { sizeof(GtkWindow), sizeof(GtkWindowClass), gtk_window_get_type }, { sizeof(GtkColorSelectionDialog), sizeof(GtkColorSelectionDialogClass), gtk_color_selection_dialog_get_type }, { sizeof(GtkDialog), sizeof(GtkDialogClass), gtk_dialog_get_type }, { sizeof(GtkInputDialog), sizeof(GtkInputDialogClass), gtk_input_dialog_get_type }, { sizeof(GtkFileSelection), sizeof(GtkFileSelectionClass), gtk_file_selection_get_type }, { sizeof(GtkFontSelectionDialog), sizeof(GtkFontSelectionDialogClass), gtk_font_selection_dialog_get_type }, { sizeof(GtkPlug), sizeof(GtkPlugClass), gtk_plug_get_type }, { sizeof(GtkEventBox), sizeof(GtkEventBoxClass), gtk_event_box_get_type }, { sizeof(GtkHandleBox), sizeof(GtkHandleBoxClass), gtk_handle_box_get_type }, { sizeof(GtkScrolledWindow), sizeof(GtkScrolledWindowClass), gtk_scrolled_window_get_type }, { sizeof(GtkViewport), sizeof(GtkViewportClass), gtk_viewport_get_type }, { sizeof(GtkBox), sizeof(GtkBoxClass), gtk_box_get_type }, { sizeof(GtkButtonBox), sizeof(GtkButtonBoxClass), gtk_button_box_get_type }, { sizeof(GtkHButtonBox), sizeof(GtkHButtonBoxClass), gtk_hbutton_box_get_type }, { sizeof(GtkVButtonBox), sizeof(GtkVButtonBoxClass), gtk_vbutton_box_get_type }, { sizeof(GtkVBox), sizeof(GtkVBoxClass), gtk_vbox_get_type }, { sizeof(GtkColorSelection), sizeof(GtkColorSelectionClass), gtk_color_selection_get_type }, { sizeof(GtkGammaCurve), sizeof(GtkGammaCurveClass), gtk_gamma_curve_get_type }, { sizeof(GtkHBox), sizeof(GtkHBoxClass), gtk_hbox_get_type }, { sizeof(GtkCombo), sizeof(GtkComboClass), gtk_combo_get_type }, { sizeof(GtkStatusbar), sizeof(GtkStatusbarClass), gtk_statusbar_get_type }, { sizeof(GtkStatusIcon), sizeof(GtkStatusIconClass), gtk_status_icon_get_type }, { sizeof(GtkCList), sizeof(GtkCListClass), gtk_clist_get_type }, { sizeof(GtkCTree), sizeof(GtkCTreeClass), gtk_ctree_get_type }, { sizeof(GtkFixed), sizeof(GtkFixedClass), gtk_fixed_get_type }, { sizeof(GtkNotebook), sizeof(GtkNotebookClass), gtk_notebook_get_type }, { sizeof(GtkFontSelection), sizeof(GtkFontSelectionClass), gtk_font_selection_get_type }, { sizeof(GtkPaned), sizeof(GtkPanedClass), gtk_paned_get_type }, { sizeof(GtkHPaned), sizeof(GtkHPanedClass), gtk_hpaned_get_type }, { sizeof(GtkVPaned), sizeof(GtkVPanedClass), gtk_vpaned_get_type }, { sizeof(GtkLayout), sizeof(GtkLayoutClass), gtk_layout_get_type }, { sizeof(GtkList), sizeof(GtkListClass), gtk_list_get_type }, { sizeof(GtkMenuShell), sizeof(GtkMenuShellClass), gtk_menu_shell_get_type }, { sizeof(GtkMenuBar), sizeof(GtkMenuBarClass), gtk_menu_bar_get_type }, { sizeof(GtkMenu), sizeof(GtkMenuClass), gtk_menu_get_type }, { sizeof(GtkPacker), sizeof(GtkPackerClass), gtk_packer_get_type }, { sizeof(GtkSocket), sizeof(GtkSocketClass), gtk_socket_get_type }, { sizeof(GtkTable), sizeof(GtkTableClass), gtk_table_get_type }, { sizeof(GtkGrid), sizeof(GtkGridClass), gtk_grid_get_type }, { sizeof(GtkToolbar), sizeof(GtkToolbarClass), gtk_toolbar_get_type }, { sizeof(GtkTree), sizeof(GtkTreeClass), gtk_tree_get_type }, { sizeof(GtkCalendar), sizeof(GtkCalendarClass), gtk_calendar_get_type }, { sizeof(GtkDrawingArea), sizeof(GtkDrawingAreaClass), gtk_drawing_area_get_type }, { sizeof(GtkCurve), sizeof(GtkCurveClass), gtk_curve_get_type }, { sizeof(GtkEditable), sizeof(GtkEditableClass), gtk_editable_get_type }, { sizeof(GtkEntry), sizeof(GtkEntryClass), gtk_entry_get_type }, { sizeof(GtkSpinButton), sizeof(GtkSpinButtonClass), gtk_spin_button_get_type }, { sizeof(GtkText), sizeof(GtkTextClass), gtk_text_get_type }, { sizeof(GtkRuler), sizeof(GtkRulerClass), gtk_ruler_get_type }, { sizeof(GtkHRuler), sizeof(GtkHRulerClass), gtk_hruler_get_type }, { sizeof(GtkVRuler), sizeof(GtkVRulerClass), gtk_vruler_get_type }, { sizeof(GtkRange), sizeof(GtkRangeClass), gtk_range_get_type }, { sizeof(GtkScale), sizeof(GtkScaleClass), gtk_scale_get_type }, { sizeof(GtkHScale), sizeof(GtkHScaleClass), gtk_hscale_get_type }, { sizeof(GtkVScale), sizeof(GtkVScaleClass), gtk_vscale_get_type }, { sizeof(GtkScrollbar), sizeof(GtkScrollbarClass), gtk_scrollbar_get_type }, { sizeof(GtkHScrollbar), sizeof(GtkHScrollbarClass), gtk_hscrollbar_get_type }, { sizeof(GtkVScrollbar), sizeof(GtkVScrollbarClass), gtk_vscrollbar_get_type }, { sizeof(GtkSeparator), sizeof(GtkSeparatorClass), gtk_separator_get_type }, { sizeof(GtkHSeparator), sizeof(GtkHSeparatorClass), gtk_hseparator_get_type }, { sizeof(GtkVSeparator), sizeof(GtkVSeparatorClass), gtk_vseparator_get_type }, { sizeof(GtkProgress), sizeof(GtkProgressClass), gtk_progress_get_type }, { sizeof(GtkProgressBar), sizeof(GtkProgressBarClass), gtk_progress_bar_get_type }, { sizeof(GtkData), sizeof(GtkDataClass), gtk_data_get_type }, { sizeof(GtkAdjustment), sizeof(GtkAdjustmentClass), gtk_adjustment_get_type }, { sizeof(GtkTooltips), sizeof(GtkTooltipsClass), gtk_tooltips_get_type }, { sizeof(GtkItemFactory), sizeof(GtkItemFactoryClass), gtk_item_factory_get_type } }; CAMLprim value ml_gtk_type_unique (value name, value parent, value nsignals) { struct widget_info * wi; GtkTypeInfo ttt_info; wi = widget_info_array + Int_val(parent); ttt_info.type_name = String_val(name); ttt_info.object_size = wi->size; ttt_info.class_size = wi->class_size + Int_val(nsignals)*sizeof(void *); ttt_info.class_init_func = (GtkClassInitFunc) class_init; ttt_info.object_init_func = (GtkObjectInitFunc) NULL; ttt_info.reserved_1 = NULL; ttt_info.reserved_2 = NULL; ttt_info.base_class_init_func = (GtkClassInitFunc) NULL; return Val_int(gtk_type_unique(wi->get_type_func (), &ttt_info)); } static guint sig[100]; CAMLprim value ml_gtk_object_class_add_signals (value class, value signals, value nsignals) { int i; for (i=0; iclass_size+Int_val(num)*sizeof(void *); return Val_int(gtk_signal_new (String_val(name), Int_val(run_type), ((GtkObjectClass *)classe)->type, offset, gtk_signal_default_marshaller, GTK_TYPE_NONE, 0)); *(((int *)classe)+offset) = 0; } lablgtk-3.1.2/src-unsupported/ml_gtkxmhtml.c0000644000650106067230000001162414161276610020034 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "gtkxmhtml_tags.h" /* conversion functions */ #include "gtkxmhtml_tags.c" Make_Flags_val (Line_type_val) #define GtkXmHTML_val(val) ((GtkXmHTML*)GtkObject_val(val)) ML_0 (gtk_xmhtml_new, Val_GtkAny_sink) ML_1 (gtk_xmhtml_freeze, GtkXmHTML_val, Unit) ML_1 (gtk_xmhtml_thaw, GtkXmHTML_val, Unit) ML_2 (gtk_xmhtml_source, GtkXmHTML_val, String_val, Unit) ML_2 (gtk_xmhtml_set_string_direction, GtkXmHTML_val, String_direction_val, Unit) ML_2 (gtk_xmhtml_set_alignment, GtkXmHTML_val, Alignment_val, Unit) /* ML_2 (gtk_xmhtml_outline, GtkXmHTML_val, Bool_val, Unit) */ ML_3 (gtk_xmhtml_set_font_familty, GtkXmHTML_val, String_val, String_val, Unit) ML_3 (gtk_xmhtml_set_font_familty_fixed, GtkXmHTML_val, String_val, String_val, Unit) ML_2 (gtk_xmhtml_set_font_charset, GtkXmHTML_val, String_val, Unit) ML_2 (gtk_xmhtml_set_allow_body_colors, GtkXmHTML_val, Bool_val, Unit) ML_2 (gtk_xmhtml_set_hilight_on_enter, GtkXmHTML_val, Bool_val, Unit) ML_2 (gtk_xmhtml_set_anchor_underline_type, GtkXmHTML_val, Flags_Line_type_val, Unit) ML_2 (gtk_xmhtml_set_anchor_visited_underline_type, GtkXmHTML_val, Flags_Line_type_val, Unit) ML_2 (gtk_xmhtml_set_anchor_target_underline_type, GtkXmHTML_val, Flags_Line_type_val, Unit) ML_2 (gtk_xmhtml_set_allow_color_switching, GtkXmHTML_val, Bool_val, Unit) ML_2 (gtk_xmhtml_set_dithering, GtkXmHTML_val, Dither_type_val, Unit) ML_2 (gtk_xmhtml_set_allow_font_switching, GtkXmHTML_val, Bool_val, Unit) ML_2 (gtk_xmhtml_set_max_image_colors, GtkXmHTML_val, Int_val, Unit) ML_2 (gtk_xmhtml_set_allow_images, GtkXmHTML_val, Bool_val, Unit) ML_4 (gtk_xmhtml_set_plc_intervals, GtkXmHTML_val, Int_val, Int_val, Int_val, Unit) /* ML_2 (gtk_xmhtml_set_def_body_image_url, GtkXmHTML_val, String_val, Unit) */ ML_2 (gtk_xmhtml_set_anchor_buttons, GtkXmHTML_val, Bool_val, Unit) CAMLprim value ml_gtk_xmhtml_set_anchor_cursor(value html, value cursor) { gtk_xmhtml_set_anchor_cursor (GtkXmHTML_val(html), Option_val(cursor, GdkCursor_val, NULL), Bool_val(cursor)); return Val_unit; } ML_2 (gtk_xmhtml_set_topline, GtkXmHTML_val, Int_val, Unit) ML_1 (gtk_xmhtml_get_topline, GtkXmHTML_val, Val_int) ML_2 (gtk_xmhtml_set_freeze_animations, GtkXmHTML_val, Bool_val, Unit) /* ML_1 (gtk_xmhtml_get_source, GtkXmHTML_val, copy_string) */ ML_2 (gtk_xmhtml_set_screen_gamma, GtkXmHTML_val, Float_val, Unit) /* ML_2 (gtk_xmhtml_set_event_proc, GtkXmHTML_val, ???, Unit) */ ML_2 (gtk_xmhtml_set_perfect_colors, GtkXmHTML_val, Bool_val, Unit) ML_2 (gtk_xmhtml_set_uncompress_command, GtkXmHTML_val, String_val, Unit) ML_2 (gtk_xmhtml_set_strict_checking, GtkXmHTML_val, Bool_val, Unit) ML_2 (gtk_xmhtml_set_bad_html_warnings, GtkXmHTML_val, Bool_val, Unit) ML_2 (gtk_xmhtml_set_allow_form_coloring, GtkXmHTML_val, Bool_val, Unit) ML_2 (gtk_xmhtml_set_imagemap_draw, GtkXmHTML_val, Bool_val, Unit) ML_2 (gtk_xmhtml_set_mime_type, GtkXmHTML_val, String_val, Unit) ML_2 (gtk_xmhtml_set_alpha_processing, GtkXmHTML_val, Bool_val, Unit) ML_2 (gtk_xmhtml_set_rgb_conv_mode, GtkXmHTML_val, Dither_type_val, Unit) lablgtk-3.1.2/src-unsupported/ml_panel.c0000644000650106067230000001424014161276610017111 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ #include #include #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_gobject.h" #include "ml_gtk.h" #include "ml_gdk.h" #include "panel_tags.h" #include "panel_tags.c" #include "gtk_tags.h" #define Panel_applet_val(v) check_cast(PANEL_APPLET,v) #define Val_orient_type Val_arrow_type ML_1(panel_applet_get_orient, Panel_applet_val, Val_orient_type) ML_1(panel_applet_get_size, Panel_applet_val, Val_int) CAMLprim value ml_panel_applet_get_background(value app) { GdkColor c; GdkPixmap *pixmap; PanelAppletBackgroundType typ; CAMLparam0(); CAMLlocal3(v, d, tag); typ = panel_applet_get_background(Panel_applet_val(app), &c, &pixmap); tag = Val_background_type(typ); switch(typ) { case PANEL_NO_BACKGROUND: v = tag; break; case PANEL_COLOR_BACKGROUND: d = Val_copy(c); v = alloc_small(2, 0); Field(v, 0) = tag; Field(v, 1) = d; break; case PANEL_PIXMAP_BACKGROUND: d = Val_GdkPixmap(pixmap); v = alloc_small(2, 0); Field(v, 0) = tag; Field(v, 1) = d; break; } CAMLreturn(v); } #define Val_Panel_flags(f) ml_lookup_flags_getter(ml_table_panel_flags,f) ML_1 (panel_applet_get_flags, Panel_applet_val, Val_Panel_flags) Make_Flags_val(Panel_flags_val) ML_2(panel_applet_set_flags, Panel_applet_val, Flags_Panel_flags_val, Unit) static void ml_bonoboui_verb_fn(BonoboUIComponent *component, gpointer user_data, const char *cname) { value *clos = user_data; value verb; verb = copy_string(cname); callback_exn(*clos, verb); } static inline unsigned int list_length(value l) { unsigned int len = 0; while(l != Val_emptylist) { len++; l = Field(l, 1); } return len; } static BonoboUIVerb* bonoboui_verbs_of_value(value verbs) { unsigned int i, len = list_length(verbs); BonoboUIVerb *bonob_verbs; bonob_verbs = stat_alloc((len + 1) * sizeof (BonoboUIVerb)); /* the global roots for the menu are leaked. libpanelapplet does not provide hooks to be notified of closures destruction */ for(i=0; i< len; i++) { value ml_verb = Field(verbs, 0); bonob_verbs[i].cname = String_val(Field(ml_verb, 0)); bonob_verbs[i].cb = ml_bonoboui_verb_fn; bonob_verbs[i].user_data = ml_global_root_new(Field(ml_verb, 1)); verbs = Field(verbs, 1); } memset(bonob_verbs + len, 0, sizeof (BonoboUIVerb)); return bonob_verbs; } CAMLprim value ml_panel_applet_setup_menu(value app, value xml, value verbs) { BonoboUIVerb *bonob_verbs = bonoboui_verbs_of_value(verbs); panel_applet_setup_menu(Panel_applet_val(app), String_val(xml), bonob_verbs, NULL); stat_free(bonob_verbs); return Val_unit; } CAMLprim value ml_panel_applet_setup_menu_from_file(value app, value opt_dir, value file, value opt_appname, value verbs) { BonoboUIVerb *bonob_verbs = bonoboui_verbs_of_value(verbs); panel_applet_setup_menu_from_file(Panel_applet_val(app), String_option_val(opt_dir), String_val(file), String_option_val(opt_appname), bonob_verbs, NULL); stat_free(bonob_verbs); return Val_unit; } static void weak_notify(gpointer data, GObject *applet) { value *glob_root = data; Field (*glob_root, 1) = 0; ml_global_root_destroy(glob_root); } static gboolean ml_panel_applet_factory_callback(PanelApplet *applet, const gchar *iid, gpointer user_data) { value *ml_obj, *ml_factory = user_data; CAMLparam0(); CAMLlocal3(ml_app, ml_iid, ret); ml_app = Val_pointer(applet); ml_obj = ml_global_root_new(ml_app); g_object_weak_ref(G_OBJECT(applet), weak_notify, ml_obj); ml_iid = copy_string(iid); ret = callback2_exn(*ml_factory, ml_app, ml_iid); if(Is_exception_result(ret) || ! Bool_val(ret)) CAMLreturn(FALSE); else CAMLreturn(TRUE); } CAMLprim value ml_panel_applet_factory_main(value arg_arr, value iid, value ml_factory_cb) { CAMLparam1(ml_factory_cb); int i, res; int argc = Wosize_val(arg_arr); char *prog_name, *argv[ argc ]; for(i=0; i #include #include #include #include #include #include #include "wrappers.h" #include "ml_gdkpixbuf.h" #include "ml_gobject.h" #include "ml_glib.h" static void ml_rsvg_size_callback(gint *w, gint *h, gpointer user_data) { value *cb = user_data; value r; r = callback2_exn(*cb, Val_int(*w), Val_int(*h)); if(Is_exception_result(r)) return; *w = Int_val(Field(r, 0)); *h = Int_val(Field(r, 1)); } ML_0(rsvg_handle_new, Val_pointer) #ifdef HAVE_SVGZ #include ML_0 (rsvg_handle_new_gz, Val_pointer) #else CAMLprim value ml_rsvg_handle_new_gz() { failwith ("Doesn't support GZipped SVG files"); return Val_unit; } #endif /* HAVE_SVGZ */ #define RsvgHandle_val(val) ((RsvgHandle *)Pointer_val(val)) CAMLprim value ml_rsvg_handle_set_size_callback(value vh, value cb) { RsvgHandle *h = RsvgHandle_val(vh); value *u_data = ml_global_root_new(cb); rsvg_handle_set_size_callback(h, ml_rsvg_size_callback, u_data, ml_global_root_destroy); return Val_unit; } ML_1(rsvg_handle_free, RsvgHandle_val, Unit) CAMLprim value ml_rsvg_handle_close(value h) { GError *err = NULL; rsvg_handle_close(RsvgHandle_val(h), &err); if (err != NULL) ml_raise_gerror (err); return Val_unit; } static inline void check_substring(value s, value o, value l) { if(Int_val(o) < 0 || Int_val(l) < 0 || Int_val(o) + Int_val(l) > string_length(s)) invalid_argument("bad substring"); } CAMLprim value ml_rsvg_handle_write(value h, value s, value off, value len) { GError *err = NULL; check_substring(s, off, len); rsvg_handle_write(RsvgHandle_val(h), (guchar *) String_val(s)+Int_val(off), Int_val(len), &err); if (err != NULL) ml_raise_gerror (err); return Val_unit; } ML_1(rsvg_handle_get_pixbuf, RsvgHandle_val, Val_GdkPixbuf_new) #if (LIBRSVG_MAJOR_VERSION == 2) && (LIBRSVG_MINOR_VERSION >= 2) ML_2(rsvg_handle_set_dpi, RsvgHandle_val, Double_val, Unit) ML_1(rsvg_set_default_dpi, Double_val, Unit) #else Unsupported(rsvg_handle_set_dpi) Unsupported(rsvg_set_default_dpi) #endif CAMLprim value ml_rsvg_init (value unit) { ml_register_exn_map(RSVG_ERROR, "ml_rsvg_exn"); return Val_unit; } lablgtk-3.1.2/src-unsupported/panel.ml0000644000650106067230000001203414161276610016606 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) type panel_applet = [`panelapplet| Gtk.event_box] type background_type = [ | `NO_BACKGROUND | `COLOR_BACKGROUND of Gdk.color | `PIXMAP_BACKGROUND of Gdk.pixmap ] type flags = [ | `EXPAND_MAJOR | `EXPAND_MINOR | `HAS_HANDLE ] type orient_type = GtkEnums.arrow_type external get_orient : [> panel_applet] Gtk.obj -> orient_type = "ml_panel_applet_get_orient" external get_size : [> panel_applet] Gtk.obj -> int = "ml_panel_applet_get_size" external get_background : [> panel_applet] Gtk.obj -> background_type = "ml_panel_applet_get_background" external get_flags : [> panel_applet] Gtk.obj -> flags list = "ml_panel_applet_get_flags" external set_flags : [> panel_applet] Gtk.obj -> flags list -> unit = "ml_panel_applet_set_flags" type verb = string * (string -> unit) external setup_menu : [> panel_applet] Gtk.obj -> xml:string -> verb list -> unit = "ml_panel_applet_setup_menu" external setup_menu_from_file : [> panel_applet] Gtk.obj -> ?dir:string -> file:string -> ?app_name:string -> verb list -> unit = "ml_panel_applet_setup_menu_from_file" external _factory_main : string array -> iid:string -> ([> panel_applet] Gtk.obj -> iid:string -> bool) -> bool = "ml_panel_applet_factory_main" module S = struct let change_background = { GtkSignal.name = "change-background" ; GtkSignal.classe = `panelapplet ; GtkSignal.marshaller = fun (cb : (background_type -> unit)) argv -> match Gobject.Closure.get_args argv with | _ :: `INT 0 :: _ -> cb `NO_BACKGROUND | _ :: `INT 1 :: `POINTER (Some color) :: _ -> cb (`COLOR_BACKGROUND (Obj.magic color)) | _ :: `INT 2 :: _ :: `OBJECT (Some pixmap) :: _ -> cb (`PIXMAP_BACKGROUND (Gdk.Pixmap.cast pixmap)) | _ -> failwith "marshal: PanelApplet::change-background" } let change_orient : (panel_applet, _) GtkSignal.t = { GtkSignal.name = "change-orient" ; GtkSignal.classe = `panelapplet ; GtkSignal.marshaller = GtkSignal.marshal1 GtkEnums.arrow_type_conv "change-orient" } let change_size : (panel_applet, _) GtkSignal.t = { GtkSignal.name = "change-size" ; GtkSignal.classe = `panelapplet ; GtkSignal.marshaller = GtkSignal.marshal1 Gobject.Data.int "change-size" } let move_focus_out_of_applet : (panel_applet, _) GtkSignal.t = { GtkSignal.name = "move-focus-out-of-applet" ; GtkSignal.classe = `panelapplet ; GtkSignal.marshaller = GtkSignal.marshal1 GtkEnums.direction_type_conv "move-focus-out-of-applet" } end class applet_signals obj = object (self) inherit GContainer.container_signals_impl obj method change_background = self#connect S.change_background method change_orient = self#connect S.change_orient method change_size = self#connect S.change_size method move_focus_out_of_applet = self#connect S.move_focus_out_of_applet end class applet obj = object (self) inherit GContainer.bin obj method connect = new applet_signals (obj :> panel_applet Gtk.obj) method event = new GObj.event_ops obj method get_background = get_background obj method get_orient = get_orient obj method get_size = get_size obj method get_flags = get_flags obj method set_flags = set_flags obj method setup_menu = setup_menu obj method setup_menu_from_file = setup_menu_from_file obj end let factory_main ~iid cb = _factory_main Sys.argv ~iid (fun obj ~iid -> cb (new applet obj) ~iid) lablgtk-3.1.2/src-unsupported/panel.mli0000644000650106067230000000621014161276610016756 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) (** Writing panel applets @gtkdoc panel-applet panelapplet *) type panel_applet = [ `panelapplet | Gtk.event_box] type flags = [ `EXPAND_MAJOR | `EXPAND_MINOR | `HAS_HANDLE] type background_type = [ | `NO_BACKGROUND | `COLOR_BACKGROUND of Gdk.color | `PIXMAP_BACKGROUND of Gdk.pixmap ] type orient_type = [ `UP | `DOWN | `LEFT | `RIGHT ] type verb = string * (string -> unit) (** @gtkdoc panel-applet panelapplet *) class applet_signals : panel_applet Gtk.obj -> object inherit GContainer.container_signals val obj : panel_applet Gtk.obj method change_background : callback:(background_type -> unit) -> GtkSignal.id method change_orient : callback:(orient_type -> unit) -> GtkSignal.id method change_size : callback:(int -> unit) -> GtkSignal.id method move_focus_out_of_applet : callback:(GtkEnums.direction_type -> unit) -> GtkSignal.id end (** @gtkdoc panel-applet panelapplet *) class applet : ([> panel_applet] as 'a) Gtk.obj -> object inherit GContainer.bin val obj : 'a Gtk.obj method connect : applet_signals method event : GObj.event_ops method get_background : background_type method get_orient : orient_type method get_size : int method get_flags : flags list method set_flags : flags list -> unit method setup_menu : xml:string -> verb list -> unit method setup_menu_from_file : ?dir:string -> file:string -> ?app_name:string -> verb list -> unit end (** A generic 'main' routine for applets. *) val factory_main : iid:string -> (applet -> iid:string -> bool) -> bool lablgtk-3.1.2/src-unsupported/panel_tags.var0000644000650106067230000000025714161276610020010 0ustar glondusedtype background_type = "PANEL_" [ `NO_BACKGROUND | `COLOR_BACKGROUND | `PIXMAP_BACKGROUND ] type panel_flags = "PANEL_APPLET_" [ `EXPAND_MAJOR | `EXPAND_MINOR | `HAS_HANDLE ] lablgtk-3.1.2/src-unsupported/rsvg.ml0000644000650106067230000001070314161276610016471 0ustar glondused(**************************************************************************) (* 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$ *) type size_fun = int -> int -> int * int let round f = int_of_float (if f < 0. then f -. 0.5 else f +. 0.5) let at_size rw rh w h = (if rw < 0 then w else rw), (if rh < 0 then h else rh) let at_zoom zx zy w h = if w < 0 || h < 0 then (w, h) else (round (float w *. zx)), (round (float h *. zy)) let at_max_size mw mh w h = if w < 0 || h < 0 then (w, h) else let zx = float mw /. float w in let zy = float mh /. float h in let z = min zx zy in (round (float w *. z)), (round (float h *. z)) let at_zoom_with_max zx zy mw mh w h = if w < 0 || h < 0 then (w, h) else let rw = round (float w *. zx) in let rh = round (float h *. zy) in if rw > mw || rh > mh then let zx = float mw /. float w in let zy = float mh /. float h in let z = min zx zy in (round (float w *. z)), (round (float h *. z)) else (rw, rh) type error = FAILED exception Error of error * string external _init : unit -> unit = "ml_rsvg_init" let _ = Callback.register_exception "ml_rsvg_exn" (Error (FAILED, "")) ; _init () type t external new_handle : unit -> t = "ml_rsvg_handle_new" external new_handle_gz : unit -> t = "ml_rsvg_handle_new_gz" external set_size_callback : t -> size_fun -> unit = "ml_rsvg_handle_set_size_callback" external free_handle : t -> unit = "ml_rsvg_handle_free" external close : t -> unit = "ml_rsvg_handle_close" external write : t -> string -> off:int -> len:int -> unit = "ml_rsvg_handle_write" external get_pixbuf : t -> GdkPixbuf.pixbuf = "ml_rsvg_handle_get_pixbuf" external set_dpi : t -> float -> unit = "ml_rsvg_handle_set_dpi" external set_default_dpi : float -> unit = "ml_rsvg_set_default_dpi" type input = | Rsvg_SubString of string * int * int | Rsvg_Buffer of int * (bytes -> int) let render ?(gz=false) ?dpi ?size_cb input = let h = if gz then new_handle_gz () else new_handle () in Gaux.may (set_size_callback h) size_cb ; Gaux.may (set_dpi h) dpi ; try begin match input with | Rsvg_SubString (s, off, len) -> write h s ~off ~len | Rsvg_Buffer (len, fill) -> let buff = Bytes.create len in let c = ref (fill buff) in while !c > 0 do write h (Bytes.unsafe_to_string buff) 0 !c ; c := fill buff done end ; close h ; let pb = get_pixbuf h in free_handle h ; pb with exn -> free_handle h ; raise exn let render_from_string ?gz ?dpi ?size_cb ?pos ?len s = let off = Gaux.default 0 ~opt:pos in let len = Gaux.default (String.length s - off) ~opt:len in render ?gz ?dpi ?size_cb (Rsvg_SubString (s, off, len)) let render_from_file ?(gz=false) ?dpi ?size_cb fname = let ic = if gz then open_in_bin fname else open_in fname in let pb = try render ~gz ?dpi ?size_cb (Rsvg_Buffer (4096, (fun b -> input ic b 0 (Bytes.length b)))) with exn -> close_in ic ; raise exn in close_in ic ; pb lablgtk-3.1.2/src-unsupported/rsvg.mli0000644000650106067230000000455214161276610016647 0ustar glondused(**************************************************************************) (* 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$ *) (** librsvg bindings *) type size_fun = int -> int -> int * int val at_size : int -> int -> size_fun val at_zoom : float -> float -> size_fun val at_max_size : int -> int -> size_fun val at_zoom_with_max : float -> float -> int -> int -> size_fun val set_default_dpi : float -> unit (** @raise Error if an error occurs loading data *) (** @raise Sys_error if an error occurs while reading from the channel *) val render_from_string : ?gz:bool -> ?dpi:float -> ?size_cb:size_fun -> ?pos:int -> ?len:int -> string -> GdkPixbuf.pixbuf (** @raise Error if an error occurs loading data *) (** @raise Sys_error if an error occurs while reading from the file *) val render_from_file : ?gz:bool -> ?dpi:float -> ?size_cb:size_fun -> string -> GdkPixbuf.pixbuf lablgtk-3.1.2/src/0000755000650106067230000000000014161276610012567 5ustar glondusedlablgtk-3.1.2/src/TODO.gtktext0000644000650106067230000000174714161276610014761 0ustar glondused=============================================================================== GtkTextIter: Il manque : gtk_text_iter_get_attributes =============================================================================== GtkTextMark : FINI =============================================================================== GtkTextBuffer: FINI =============================================================================== GtkTextTag: Il manque les PangoTabs. =============================================================================== GtkTextTagTable: FINI =============================================================================== GtkTextView: Manquent les fonctions concernant les PangoTabArray : void gtk_text_view_set_tabs(GtkTextView *text_view,PangoTabArray *tabs); PangoTabArray* gtk_text_view_get_tabs(GtkTextView *text_view); GtkTextAttributes* gtk_text_view_get_default_attributes(GtkTextView *text_view); =============================================================================== lablgtk-3.1.2/src/cairo_pango.ml0000644000650106067230000000576414161276610015416 0ustar glondused(* File: cairo_pango.ml Copyright (C) 2018- Christophe Troestler WWW: http://math.umons.ac.be/an/software/ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 or later as published by the Free Software Foundation, with the special exception on linking described in the file LICENSE. This library 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 file LICENSE for more details. *) module Font_map = struct type t = [`pangofontmap | `cairo] Gobject.obj external get_default : unit -> Pango.font_map = "caml_pango_cairo_font_map_get_default" external set_default : t -> unit = "caml_pango_cairo_font_map_set_default" [@@noalloc] external create : unit -> Pango.font_map = "caml_pango_cairo_font_map_new" external create_for_font_type : Cairo.font_type -> Pango.font_map = "caml_pango_cairo_font_map_new_for_font_type" external get_font_type : t -> Cairo.font_type = "caml_pango_cairo_font_map_get_font_type" external set_resolution : t -> float -> unit = "caml_pango_cairo_font_map_set_resolution" [@@noalloc] external get_resolution : t -> float = "caml_pango_cairo_font_map_get_resolution" external create_context : Pango.font_map -> Pango.context = "caml_cairo_pango_font_map_create_context" end type cairo_font = [`pangofont | `cairo] Gobject.obj external get_scaled_font : cairo_font -> _ Cairo.Scaled_font.t = "caml_pango_cairo_font_get_scaled_font" external set_resolution : Pango.context -> float -> unit = "caml_pango_cairo_context_set_resolution" [@@noalloc] external get_resolution : Pango.context -> float = "caml_pango_cairo_context_get_resolution" external set_font_options : Pango.context -> Cairo.Font_options.t -> unit = "caml_pango_cairo_context_set_font_options" [@@noalloc] external get_font_options : Pango.context -> Cairo.Font_options.t = "caml_pango_cairo_context_get_font_options" external create_context : Cairo.context -> Pango.context = "caml_pango_cairo_create_context" external update_context : Cairo.context -> Pango.context -> unit = "caml_pango_cairo_update_context" [@@noalloc] external create_layout : Cairo.context -> Pango.layout = "caml_pango_cairo_create_layout" external update_layout : Cairo.context -> Pango.layout -> unit = "caml_pango_cairo_update_layout" [@@noalloc] external show_layout : Cairo.context -> Pango.layout -> unit = "caml_pango_cairo_show_layout" [@@noalloc] external show_error_underline : Cairo.context -> float -> float -> w:float -> h:float -> unit = "caml_pango_cairo_show_error_underline" external layout_path : Cairo.context -> Pango.layout -> unit = "caml_pango_cairo_layout_path" external error_underline_path : Cairo.context -> float -> float -> w:float -> h:float -> unit = "caml_pango_cairo_error_underline_path" lablgtk-3.1.2/src/cairo_pango.mli0000644000650106067230000001523214161276610015556 0ustar glondused(* File: cairo_pango.mli Copyright (C) 2018- Christophe Troestler WWW: http://math.umons.ac.be/an/software/ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 or later as published by the Free Software Foundation, with the special exception on linking described in the file LICENSE. This library 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 file LICENSE for more details. *) (** Interaction with Pango, a library for laying out and rendering of text. *) (** Interacting with [Pango.font_map]. *) module Font_map : sig type t = [`pangofontmap | `cairo] Gobject.obj (** A PangoCairoFontMap. *) val get_default : unit -> Pango.font_map (** [get_default()] gets a default Cairo fontmap to use with Cairo. The default Cairo fontmap can be changed by using {!set_default}. This can be used to change the Cairo font backend that the default fontmap uses for example. Note that the default fontmap is per-thread. Each thread gets its own default fontmap. In this way, Pango-Cairo can be used safely from multiple threads. *) val set_default : t -> unit (** [set_default fm] sets [fm] as the default fontmap to use with Cairo. The default fontmap is per-thread. *) val create : unit -> Pango.font_map (** Creates a new fontmap; a fontmap is used to cache information about available fonts, and holds certain global parameters such as the resolution. In most cases, you can use {!get_default} instead. Note that the type of the returned value will depend on the particular font backend Cairo was compiled to use. You can override the type of backend returned by using an environment variable PANGOCAIRO_BACKEND. Supported types, based on your build, are fc (fontconfig), win32, and coretext. *) val create_for_font_type : Cairo.font_type -> Pango.font_map (** [create_for_font_type fonttype] creates a new fontmap object of the type suitable to be used with cairo font backend of type [fonttype]. In most cases one should simply use {!create}, or in fact in most of those cases, just use {!get_default}. *) val get_font_type : t -> Cairo.font_type (** Gets the type of Cairo font backend that fontmap uses. *) val set_resolution : t -> float -> unit (** Sets the resolution for the fontmap. This is a scale factor between points specified in a [Pango.font_description] and Cairo units. The default value is 96, meaning that a 10 point font will be 13 units high. (10 * 96. / 72. = 13.3). *) val get_resolution : t -> float (** Gets the resolution for the fontmap. See {!set_resolution}. *) val create_context : Pango.font_map -> Pango.context (** [create_context fm] creates a Pango context connected to the fontmap [fm]. *) end type cairo_font = [`pangofont | `cairo] Gobject.obj val get_scaled_font : cairo_font -> _ Cairo.Scaled_font.t val set_resolution : Pango.context -> float -> unit (** Sets the resolution for the context. This is a scale factor between points specified in a [Pango.font_description] and Cairo units. The default value is 96, meaning that a 10 point font will be 13 units high. (10 * 96. / 72. = 13.3). *) val get_resolution : Pango.context -> float (** Gets the resolution for the context. *) val set_font_options : Pango.context -> Cairo.Font_options.t -> unit (** [set_font_options cr options] sets the font options used when rendering text with [cr]. These options override any options that {!update_context} derives from the target surface. *) val get_font_options : Pango.context -> Cairo.Font_options.t (** Retrieves any font rendering options previously set with {!set_font_options}. This function does not report options that are derived from the target surface by {!update_context}. *) val create_context : Cairo.context -> Pango.context (** Creates a context object set up to match the current transformation and target surface of the Cairo context. This context can then be used to create a layout using [Pango.Layout.create]. *) val update_context : Cairo.context -> Pango.context -> unit (** Updates a [Pango.context] previously created for use with Cairo to match the current transformation and target surface of a Cairo context. If any layouts have been created for the context, it's necessary to call {!context_changed} on those layouts. *) val create_layout : Cairo.context -> Pango.layout (** [create_layout cr] creates a layout object set up to match the current transformation and target surface of the Cairo context [cr]. This layout can then be used for text measurement with functions like [Pango.Layout.get_size] or drawing with functions like {!show_layout}. If you change the transformation or target surface for [cr], you need to call {!update_layout}. *) val update_layout : Cairo.context -> Pango.layout -> unit (** [update_layout cr layout] updates the private [Pango.context] of [layout] created with {!create_layout} to match the current transformation and target surface of a Cairo context [cr]. *) val show_layout : Cairo.context -> Pango.layout -> unit (** [show_layout cr layout] draws a [layout] in the specified cairo context [cr]. The top-left corner of [layout] will be drawn at the current point of the cairo context. *) val show_error_underline : Cairo.context -> float -> float -> w:float -> h:float -> unit (** [show_error_underline cr x y w h] draw a squiggly line in the cairo context [cr] that approximately covers the given rectangle in the style of an underline used to indicate a spelling error. (The width [w] of the underline is rounded to an integer number of up/down segments and the resulting rectangle is centered in the original rectangle). *) val layout_path : Cairo.context -> Pango.layout -> unit (** [layout_path cr layout] adds the text in a [layout] to the current path in [cr]. The top-left corner of the [layout] will be at the current point of the cairo context. *) val error_underline_path : Cairo.context -> float -> float -> w:float -> h:float -> unit (** [error_underline_path cr x y w h] add a squiggly line to the current path in the cairo context [cr] that approximately covers the given rectangle in the style of an underline used to indicate a spelling error. (The width [w] of the underline is rounded to an integer number of up/down segments and the resulting rectangle is centered in the original rectangle). *) lablgtk-3.1.2/src/cairo_pango_stubs.c0000644000650106067230000001312414161276610016435 0ustar glondused/* File: cairo_pango_stubs.c Copyright (C) 2018- Christophe Troestler WWW: http://math.umons.ac.be/an/software/ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 or later as published by the Free Software Foundation. See the file LICENCE for more details. This library 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 file LICENSE for more details. */ #include #include #include #include #include #include /* OCaml labgtk stubs */ #include "wrappers.h" #include "ml_gobject.h" #include "ml_pango.h" /* OCaml Cairo bindings */ #include "cairo_ocaml.h" /* https://developer.gnome.org/pango/stable/pango-Cairo-Rendering.html */ #define ALLOC(name) alloc_custom(&caml_##name##_ops, sizeof(void*), 1, 50) #define DO2_NOALLOC(fn, of_val1, of_val2) \ CAMLexport value caml_##fn (value v1, value v2) \ { \ /* noalloc */ \ fn(of_val1(v1), of_val2(v2)); \ return(Val_unit); \ } #define DO5_NOALLOC(fn, of_val1, of_val2, of_val3, of_val4, of_val5) \ CAMLexport value caml_##fn (value v1, value v2, value v3, value v4, \ value v5) \ { \ /* noalloc */ \ fn(of_val1(v1), of_val2(v2), of_val3(v3), of_val4(v4), of_val5(v5)); \ return(Val_unit); \ } #define PANGO_CAIRO_FONT_MAP_VAL(v) check_cast(PANGO_CAIRO_FONT_MAP, v) #define VAL_PANGO_CAIRO_FONT_MAP Val_GAnyObject #define PANGO_CAIRO_FONT_VAL(v) check_cast(PANGO_CAIRO_FONT, v) #define VAL_PANGO_CAIRO_FONT Val_GAnyObject CAMLexport value caml_pango_cairo_font_map_get_default(value unit) { PangoFontMap *fm; fm = pango_cairo_font_map_get_default(); return(Val_PangoFontMap(fm)); } CAMLexport value caml_pango_cairo_font_map_set_default(value vfm) { /* noalloc */ pango_cairo_font_map_set_default(PANGO_CAIRO_FONT_MAP_VAL(vfm)); return(Val_unit); } CAMLexport value caml_pango_cairo_font_map_new(value unit) { CAMLparam1(unit); PangoFontMap *fm = pango_cairo_font_map_new(); CAMLreturn(Val_PangoFontMap(fm)); } CAMLexport value caml_pango_cairo_font_map_new_for_font_type(value vft) { CAMLparam1(vft); PangoFontMap *fm = pango_cairo_font_map_new_for_font_type(FONT_TYPE_VAL(vft)); CAMLreturn(Val_PangoFontMap(fm)); } CAMLexport value caml_pango_cairo_font_map_get_font_type (value vfm) { CAMLparam1(vfm); cairo_font_type_t ft = pango_cairo_font_map_get_font_type(PANGO_CAIRO_FONT_MAP_VAL(vfm)); CAMLreturn(VAL_FONT_TYPE(ft)); } DO2_NOALLOC(pango_cairo_font_map_set_resolution, PANGO_CAIRO_FONT_MAP_VAL, Double_val) CAMLexport value caml_pango_cairo_font_map_get_resolution (value vfm) { CAMLparam1(vfm); double dpi = pango_cairo_font_map_get_resolution(PANGO_CAIRO_FONT_MAP_VAL(vfm)); CAMLreturn(caml_copy_double(dpi)); } CAMLexport value caml_cairo_pango_font_map_create_context (value vfm) { CAMLparam1(vfm); /* 'pango_cairo_font_map_create_context' is deprecated in favor of * 'pango_font_map_create_context' */ PangoContext *c = pango_font_map_create_context(PangoFontMap_val(vfm)); CAMLreturn(Val_PangoContext(c)); } CAMLexport value caml_pango_cairo_font_get_scaled_font (value vfont) { CAMLparam1(vfont); CAMLlocal1(vf); cairo_scaled_font_t *f = pango_cairo_font_get_scaled_font(PANGO_CAIRO_FONT_VAL(vfont)); vf = ALLOC(scaled_font); SCALED_FONT_VAL(vf) = f; CAMLreturn(vf); } DO2_NOALLOC(pango_cairo_context_set_resolution,PangoContext_val, Double_val) CAMLexport value caml_pango_cairo_context_get_resolution (value vc) { CAMLparam1(vc); double dpi = pango_cairo_context_get_resolution(PangoContext_val(vc)); CAMLreturn(caml_copy_double(dpi)); } DO2_NOALLOC(pango_cairo_context_set_font_options, PangoContext_val, FONT_OPTIONS_VAL) CAMLexport value caml_pango_cairo_context_get_font_options (value vc) { CAMLparam1(vc); CAMLlocal1(vfo); const cairo_font_options_t *fo = pango_cairo_context_get_font_options(PangoContext_val(vc)); vfo = ALLOC(font_options); FONT_OPTIONS_VAL(vfo) = (cairo_font_options_t *) fo; CAMLreturn(vfo); } CAMLexport value caml_pango_cairo_create_context (value vcr) { CAMLparam1(vcr); PangoContext *c = pango_cairo_create_context(CAIRO_VAL(vcr)); CAMLreturn(Val_PangoContext(c)); } DO2_NOALLOC(pango_cairo_update_context, CAIRO_VAL, PangoContext_val) CAMLexport value caml_pango_cairo_create_layout (value vcr) { CAMLparam1(vcr); PangoLayout *l = pango_cairo_create_layout(CAIRO_VAL(vcr)); CAMLreturn(Val_PangoLayout(l)); } DO2_NOALLOC(pango_cairo_update_layout, CAIRO_VAL, PangoLayout_val) DO2_NOALLOC(pango_cairo_show_layout, CAIRO_VAL, PangoLayout_val) DO5_NOALLOC(pango_cairo_show_error_underline, CAIRO_VAL, Double_val, Double_val, Double_val, Double_val) DO2_NOALLOC(pango_cairo_layout_path, CAIRO_VAL, PangoLayout_val) DO5_NOALLOC(pango_cairo_error_underline_path, CAIRO_VAL, Double_val, Double_val, Double_val, Double_val) lablgtk-3.1.2/src/dune0000644000650106067230000000230314161276610013443 0ustar glondused; Dune build file for lablgtk3 ; Written by EJGA, (c) 2018-2019 MINES ParisTech ; This file is in the public domain ; Maybe auto-generate? (include dune-enum.sexp) (include dune-prop.sexp) (rule (targets cflag-gtk+-3.0.sexp clink-gtk+-3.0.sexp) (action (run dune_config -pkg gtk+-3.0 -version 3.18))) (rule (targets cflag-extraflags.sexp) (action (with-outputs-to cflag-extraflags.sexp (echo "(%{env:LABLGTK_EXTRA_FLAGS=})")))) (library (name lablgtk3) (public_name lablgtk3) (wrapped false) (flags :standard -w -6-7-9-10-27-32-33-34-35-36-50-52 -no-strict-sequence) (install_c_headers wrappers ml_glib ml_gdk ml_gtk ml_gobject ml_gdkpixbuf pango_tags ml_pango ml_gtktext gtk_tags gdk_tags) (c_names wrappers ml_glib ml_gvaluecaml ml_gpointer ml_gobject ml_pango cairo_pango_stubs ml_gdk ml_gdkpixbuf ml_gtk ml_gtkmisc ml_gtkbuilder ml_gtkaction ml_gtkbin ml_gtkbutton ml_gtktext ml_gtkedit ml_gtkmenu ml_gtkfile ml_gtktree ml_gtkpack ml_gtkstock ml_gtkrange ml_gtkassistant ) (c_flags (:include cflag-gtk+-3.0.sexp) (:include cflag-extraflags.sexp) -Wno-deprecated-declarations) (c_library_flags (:include clink-gtk+-3.0.sexp)) (libraries threads cairo2)) lablgtk-3.1.2/src/dune-enum.sexp0000644000650106067230000000110614161276610015363 0ustar glondused; Enums (rule (targets gobject_tags.h gobject_tags.c) (action (run varcc %{dep:gobject_tags.var}))) (rule (targets glib_tags.h glib_tags.c) (action (run varcc %{dep:glib_tags.var}))) (rule (targets gdk_tags.h gdk_tags.c gdkEnums.ml) (action (run varcc %{dep:gdk_tags.var}))) (rule (targets gtk_tags.h gtk_tags.c gtkEnums.ml) (action (run varcc %{dep:gtk_tags.var}))) (rule (targets pango_tags.h pango_tags.c pangoEnums.ml) (action (run varcc %{dep:pango_tags.var}))) (rule (targets gdkpixbuf_tags.h gdkpixbuf_tags.c) (action (run varcc %{dep:gdkpixbuf_tags.var}))) lablgtk-3.1.2/src/dune-prop.sexp0000644000650106067230000000310314161276610015376 0ustar glondused; Props (rule (targets gtkContainersProps.ml ogtkContainersProps.ml) (action (run propcc %{dep:gtkContainers.props}))) (rule (targets gtkActionProps.ml ogtkActionProps.ml) (action (run propcc %{dep:gtkAction.props}))) (rule (targets gtkAssistantProps.ml ogtkAssistantProps.ml) (action (run propcc %{dep:gtkAssistant.props}))) (rule (targets gtkBaseProps.ml ogtkBaseProps.ml) (action (run propcc %{dep:gtkBase.props}))) (rule (targets gtkBinProps.ml ogtkBinProps.ml) (action (run propcc %{dep:gtkBin.props}))) (rule (targets gtkBuilderProps.ml ogtkBuilderProps.ml) (action (run propcc %{dep:gtkBuilder.props}))) (rule (targets gtkButtonProps.ml ogtkButtonProps.ml) (action (run propcc %{dep:gtkButton.props}))) (rule (targets gtkEditProps.ml ogtkEditProps.ml) (action (run propcc %{dep:gtkEdit.props}))) (rule (targets gtkFileProps.ml ogtkFileProps.ml) (action (run propcc %{dep:gtkFile.props}))) ; (rule ; (targets gtkListProps.ml ogtkListProps.ml) ; (action (run propcc %{dep:gtkList.props}))) (rule (targets gtkMenuProps.ml ogtkMenuProps.ml) (action (run propcc %{dep:gtkMenu.props}))) (rule (targets gtkMiscProps.ml ogtkMiscProps.ml) (action (run propcc %{dep:gtkMisc.props}))) (rule (targets gtkPackProps.ml ogtkPackProps.ml) (action (run propcc %{dep:gtkPack.props}))) (rule (targets gtkRangeProps.ml ogtkRangeProps.ml) (action (run propcc %{dep:gtkRange.props}))) (rule (targets gtkTextProps.ml ogtkTextProps.ml) (action (run propcc %{dep:gtkText.props}))) (rule (targets gtkTreeProps.ml ogtkTreeProps.ml) (action (run propcc %{dep:gtkTree.props}))) lablgtk-3.1.2/src/gAction.ml0000644000650106067230000002332514161276610014512 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) module GtkAction = GtkActionProps open GtkAction class action_signals obj = object inherit [[> Gtk.action]] GObj.gobject_signals obj inherit OgtkActionProps.action_sigs end class action_skel obj = object val obj = obj method private obj = obj inherit OgtkActionProps.action_props method as_action = (obj :> Gtk.action Gobject.obj) method activate () = Action.activate obj method is_sensitive = Action.is_sensitive obj method is_visible = Action.is_visible obj (* method connect_proxy w = Action.connect_proxy obj (GObj.as_widget w) method disconnect_proxy w = Action.disconnect_proxy obj (GObj.as_widget w) *) method get_proxies = List.map (new GObj.widget) (Action.get_proxies obj) method connect_accelerator () = Action.connect_accelerator obj method disconnect_accelerator () = Action.disconnect_accelerator obj method set_accel_path = Action.set_accel_path obj method set_accel_group = Action.set_accel_group obj (* method block_activate_from (w : GObj.widget) = Action.block_activate_from obj w#as_widget method unblock_activate_from (w : GObj.widget) = Action.unblock_activate_from obj w#as_widget *) end class action obj = object inherit action_skel obj method connect = new action_signals obj end let action ~name () = new action (Action.create ~name []) class toggle_action_signals obj = object inherit action_signals obj inherit OgtkActionProps.toggle_action_sigs end class toggle_action_skel obj = object inherit action_skel obj inherit OgtkActionProps.toggle_action_props method toggled () = ToggleAction.toggled obj method set_active = ToggleAction.set_active obj method get_active = ToggleAction.get_active obj end class toggle_action obj = object inherit toggle_action_skel obj method connect = new toggle_action_signals obj end let toggle_action ~name () = new toggle_action (ToggleAction.create [ Gobject.param Action.P.name name ]) class radio_action_signals obj = object inherit toggle_action_signals obj method changed ~callback = GtkSignal.connect ~sgn:RadioAction.S.changed ~callback:(fun o -> callback (RadioAction.get_current_value o)) ~after obj end class radio_action obj = object inherit toggle_action_skel obj inherit OgtkActionProps.radio_action_props method connect = new radio_action_signals obj method as_radio_action = (obj :> Gtk.radio_action Gobject.obj) method get_current_value = RadioAction.get_current_value obj end let radio_action ?group ~name ~value () = new radio_action (RadioAction.create (Gobject.Property.may_cons RadioAction.P.group (Gaux.may_map (fun g -> Some (g#as_radio_action)) group) [ Gobject.param Action.P.name name ; Gobject.param RadioAction.P.value value ])) class action_group_signals obj = object (self) inherit [[> Gtk.action_group]] GObj.gobject_signals obj method private virtual connect : 'b. ('a,'b) GtkSignal.t -> callback:'b -> GtkSignal.id method connect_proxy ~callback = self#connect {ActionGroup.S.connect_proxy with GtkSignal.marshaller = fun f -> GtkSignal.marshal2 (Gobject.Data.gobject : Gtk.action Gtk.obj Gobject.data_conv) GObj.conv_widget "GtkActionGroup::connect_proxy" f} (fun o -> callback (new action o)) method disconnect_proxy ~callback = self#connect {ActionGroup.S.disconnect_proxy with GtkSignal.marshaller = fun f -> GtkSignal.marshal2 (Gobject.Data.gobject : Gtk.action Gtk.obj Gobject.data_conv) GObj.conv_widget "GtkActionGroup::disconnect_proxy" f} (fun o -> callback (new action o)) method post_activate ~callback = self#connect ActionGroup.S.post_activate (fun o -> callback (new action o)) method pre_activate ~callback = self#connect ActionGroup.S.pre_activate (fun o -> callback (new action o)) end class action_group obj = object val obj = obj method private obj = obj inherit OgtkActionProps.action_group_props method as_group = (obj :> Gtk.action_group Gobject.obj) method connect = new action_group_signals obj method get_action n = new action (ActionGroup.get_action obj n) method list_actions = List.map (new action) (ActionGroup.list_actions obj) method add_action : 'a. (#action_skel as 'a) -> unit = fun a -> ActionGroup.add_action obj a#as_action method add_action_with_accel : 'a. ?accel:string -> (#action_skel as 'a) -> unit = fun ?accel a -> ActionGroup.add_action_with_accel obj a#as_action accel method remove_action : 'a. (#action_skel as 'a) -> unit = fun a -> ActionGroup.remove_action obj a#as_action end let action_group ~name () = new action_group (ActionGroup.create ~name []) type 'a entry = action_group -> 'a let add_single_action ret a ?stock ?label ?accel ?tooltip (group : #action_group) = Gaux.may a#set_label label ; Gaux.may a#set_tooltip tooltip ; Gaux.may a#set_stock_id stock ; group#add_action_with_accel ?accel a ; ret a let add_action name ?callback = let a = action ~name () in Gaux.may callback ~f:(fun cb -> a#connect#activate ~callback:(fun () -> cb a)) ; add_single_action ignore a let add_toggle_action name ?active ?callback = let a = toggle_action ~name () in Gaux.may a#set_active active ; Gaux.may callback ~f:(fun cb -> a#connect#activate ~callback:(fun () -> cb a)) ; add_single_action ignore a let add_radio_action name value = let a = radio_action ~name ~value () in add_single_action (fun a -> a) a let add_actions ac_group = List.iter (fun f -> let () = f ac_group in ()) let group_radio_actions ?init_value ?callback radio_action_entries ac_group = let last_radio_ac = List.fold_left (fun radio_grp f -> let radio_ac = f ac_group in radio_ac#set_group radio_grp ; Gaux.may (fun init_v -> radio_ac#set_active (radio_ac#value = init_v)) init_value ; Some radio_ac#as_radio_action) None radio_action_entries in Gaux.may (fun cb -> Gaux.may (fun o -> GtkSignal.connect ~sgn:RadioAction.S.changed ~callback:(fun curr -> cb (RadioAction.get_current_value curr)) o) last_radio_ac) callback ; () class ui_manager_signals obj = object (self) inherit [[> Gtk.ui_manager]] GObj.gobject_signals obj inherit OgtkActionProps.ui_manager_sigs method connect_proxy ~callback = self#connect {UIManager.S.connect_proxy with GtkSignal.marshaller = fun f -> GtkSignal.marshal2 (Gobject.Data.gobject : Gtk.action Gtk.obj Gobject.data_conv) GObj.conv_widget "GtkUIManager::connect_proxy" f} (fun o -> callback (new action o)) method disconnect_proxy ~callback = self#connect {UIManager.S.disconnect_proxy with GtkSignal.marshaller = fun f -> GtkSignal.marshal2 (Gobject.Data.gobject : Gtk.action Gtk.obj Gobject.data_conv) GObj.conv_widget "GtkUIManager::disconnect_proxy" f} (fun o -> callback (new action o)) method post_activate ~callback = self#connect UIManager.S.post_activate (fun o -> callback (new action o)) method pre_activate ~callback = self#connect UIManager.S.pre_activate (fun o -> callback (new action o)) end type ui_id = int let invalid_id = 0 class ui_manager obj = object val obj = obj method private obj = obj inherit OgtkActionProps.ui_manager_props method connect = new ui_manager_signals obj method as_ui_manager = (obj:> Gtk.ui_manager Gtk.obj) method insert_action_group (g : action_group) = UIManager.insert_action_group obj g#as_group method remove_action_group (g : action_group) = UIManager.remove_action_group obj g#as_group method get_action_groups = List.map (new action_group) (UIManager.get_action_groups obj) method get_accel_group = UIManager.get_accel_group obj method get_widget s = new GObj.widget (UIManager.get_widget obj s) method get_toplevels kind = List.map (new GObj.widget) (UIManager.get_toplevels obj kind) method get_action s = new action (UIManager.get_action obj s) method add_ui_from_string = UIManager.add_ui_from_string obj method add_ui_from_file = UIManager.add_ui_from_file obj method new_merge_id () = UIManager.new_merge_id obj method add_ui = UIManager.add_ui obj method remove_ui = UIManager.remove_ui obj method ensure_update () = UIManager.ensure_update obj end let ui_manager () = new ui_manager (UIManager.create []) lablgtk-3.1.2/src/gAction.mli0000644000650106067230000002536214161276610014666 0ustar glondused(**************************************************************************) (* 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$ *) open Gobject (** Action-based menus and toolbars *) (** {3 GtkAction} *) (** @since GTK 2.4 @gtkdoc gtk GtkAction *) class action_signals : ([> Gtk.action ] as 'b) obj -> object ('a) val obj : 'b obj val after : bool method after : < after : 'a; .. > as 'a method activate : callback:(unit -> unit) -> GtkSignal.id method notify_hide_if_empty : callback:(bool -> unit) -> GtkSignal.id method notify_icon_name : callback:(string -> unit) -> GtkSignal.id method notify_is_important : callback:(bool -> unit) -> GtkSignal.id method notify_label : callback:(string -> unit) -> GtkSignal.id method notify_name : callback:(string -> unit) -> GtkSignal.id method notify_sensitive : callback:(bool -> unit) -> GtkSignal.id method notify_short_label : callback:(string -> unit) -> GtkSignal.id method notify_stock_id : callback:(GtkStock.id -> unit) -> GtkSignal.id method notify_tooltip : callback:(string -> unit) -> GtkSignal.id method notify_visible : callback:(bool -> unit) -> GtkSignal.id method notify_visible_horizontal : callback:(bool -> unit) -> GtkSignal.id method notify_visible_vertical : callback:(bool -> unit) -> GtkSignal.id end (** @since GTK 2.4 @gtkdoc gtk GtkAction *) class action_skel : ([> Gtk.action ] as 'a) obj -> object val obj : 'a obj method as_action : Gtk.action obj (** Properties *) method hide_if_empty : bool method set_hide_if_empty : bool -> unit method is_important : bool method set_is_important : bool -> unit method icon_name : string (** @since GTK 2.10 *) method set_icon_name : string -> unit (** @since GTK 2.10 *) method label : string method set_label : string -> unit method name : string method sensitive : bool method set_sensitive : bool -> unit method short_label : string method set_short_label : string -> unit method stock_id : GtkStock.id method set_stock_id : GtkStock.id -> unit method tooltip : string method set_tooltip : string -> unit method visible : bool method set_visible : bool -> unit method visible_horizontal : bool method set_visible_horizontal : bool -> unit method visible_vertical : bool method set_visible_vertical : bool -> unit (** Other methods *) method is_sensitive : bool method is_visible : bool method activate : unit -> unit (* method connect_proxy : GObj.widget -> unit method disconnect_proxy : GObj.widget -> unit *) method get_proxies : GObj.widget list method connect_accelerator : unit -> unit method disconnect_accelerator : unit -> unit method set_accel_path : string -> unit method set_accel_group : Gtk.accel_group -> unit (* method block_activate_from : GObj.widget -> unit method unblock_activate_from : GObj.widget -> unit *) end (** @since GTK 2.4 @gtkdoc gtk GtkAction *) class action : ([> Gtk.action ] as 'a) obj -> object inherit action_skel val obj : 'a obj method connect : action_signals end (** @since GTK 2.4 @gtkdoc gtk GtkAction *) val action : name:string -> unit -> action (** @since GTK 2.4 @gtkdoc gtk GtkToggleAction *) class toggle_action_signals : ([> Gtk.toggle_action ] as 'b) obj -> object inherit action_signals val obj : 'b obj method toggled : callback:(unit -> unit) -> GtkSignal.id method notify_draw_as_radio : callback:(bool -> unit) -> GtkSignal.id end (** @since GTK 2.4 @gtkdoc gtk GtkToggleAction *) class toggle_action_skel : ([> Gtk.toggle_action ] as 'a) obj -> object inherit action_skel val obj : 'a obj method draw_as_radio : bool method get_active : bool method set_active : bool -> unit method set_draw_as_radio : bool -> unit method toggled : unit -> unit end (** @since GTK 2.4 @gtkdoc gtk GtkToggleAction *) class toggle_action : ([> Gtk.toggle_action ] as 'a) obj -> object inherit toggle_action_skel val obj : 'a obj method connect : toggle_action_signals end (** @since GTK 2.4 @gtkdoc gtk GtkToggleAction *) val toggle_action : name:string -> unit -> toggle_action (** @since GTK 2.4 @gtkdoc gtk GtkRadioAction *) class radio_action_signals : ([> Gtk.radio_action] as 'b) obj -> object inherit toggle_action_signals val obj : 'b obj method changed : callback:(int -> unit) -> GtkSignal.id end (** @since GTK 2.4 @gtkdoc gtk GtkRadioAction *) class radio_action : ([> Gtk.radio_action] as 'a) obj -> object inherit toggle_action_skel val obj : 'a obj method connect : radio_action_signals method as_radio_action : Gtk.radio_action obj method get_current_value : int method set_group : Gtk.radio_action Gtk.group -> unit method set_value : int -> unit method value : int end (** @since GTK 2.4 @gtkdoc gtk GtkRadioAction *) val radio_action : ?group:radio_action -> name:string -> value:int -> unit -> radio_action (** {3 GtkActionGroup} *) (** @since GTK 2.4 @gtkdoc gtk GtkActionGroup *) class action_group_signals : ([> Gtk.action_group ] as 'b) obj -> object ('a) val after : bool val obj : 'b obj method after : 'a method connect_proxy : callback:(action -> GObj.widget -> unit) -> GtkSignal.id method disconnect_proxy : callback:(action -> GObj.widget -> unit) -> GtkSignal.id method post_activate : callback:(action -> unit) -> GtkSignal.id method pre_activate : callback:(action -> unit) -> GtkSignal.id end (** @since GTK 2.4 @gtkdoc gtk GtkActionGroup *) class action_group : ([> Gtk.action_group ] as 'a) obj -> object val obj : 'a obj method as_group : Gtk.action_group obj method connect : action_group_signals method sensitive : bool method set_sensitive : bool -> unit method visible : bool method set_visible : bool -> unit method add_action : #action_skel -> unit method add_action_with_accel : ?accel:string -> #action_skel -> unit method remove_action : #action_skel -> unit method get_action : string -> action method list_actions : action list method name : string end (** @since GTK 2.4 @gtkdoc gtk GtkActionGroup *) val action_group : name:string -> unit -> action_group type 'a entry = action_group -> 'a val add_action : string -> ?callback:(action -> unit) -> ?stock:GtkStock.id -> ?label:string -> ?accel:string -> ?tooltip:string -> unit entry val add_toggle_action : string -> ?active:bool -> ?callback:(toggle_action -> unit) -> ?stock:GtkStock.id -> ?label:string -> ?accel:string -> ?tooltip:string -> unit entry val add_radio_action : string -> int -> ?stock:GtkStock.id -> ?label:string -> ?accel:string -> ?tooltip:string -> radio_action entry val group_radio_actions : ?init_value:int -> ?callback:(int -> unit) -> radio_action entry list -> unit entry val add_actions : action_group -> unit entry list -> unit (** {3 GtkUIManager} *) (** @since GTK 2.4 @gtkdoc gtk GtkUIManager *) class ui_manager_signals : ([> Gtk.ui_manager] as 'b) Gtk.obj -> object ('a) val after : bool val obj : 'b Gtk.obj method after : 'a method actions_changed : callback:(unit -> unit) -> GtkSignal.id method add_widget : callback:(GObj.widget -> unit) -> GtkSignal.id method connect_proxy : callback:(action -> GObj.widget -> unit) -> GtkSignal.id method disconnect_proxy : callback:(action -> GObj.widget -> unit) -> GtkSignal.id method post_activate : callback:(action -> unit) -> GtkSignal.id method pre_activate : callback:(action -> unit) -> GtkSignal.id method notify_add_tearoffs : callback:(bool -> unit) -> GtkSignal.id method notify_ui : callback:(string -> unit) -> GtkSignal.id end type ui_id val invalid_id : ui_id (** @since GTK 2.4 @gtkdoc gtk GtkUIManager *) class ui_manager : ([> Gtk.ui_manager] as 'a) Gtk.obj -> object val obj : 'a Gtk.obj method as_ui_manager : Gtk.ui_manager Gtk.obj method add_tearoffs : bool method add_ui_from_file : string -> ui_id (** @raise Glib.Markup.Error if the XML is invalid @raise Glib.GError if an error occurs while reading the file *) method add_ui_from_string : string -> ui_id (** @raise Glib.Markup.Error if the XML is invalid *) method connect : ui_manager_signals method ensure_update : unit -> unit method get_accel_group : Gtk.accel_group method get_action : string -> action (** @raise Not_found if no widget exist at the given path *) method get_action_groups : action_group list method get_widget : string -> GObj.widget (** @raise Not_found if no widget exist at the given path *) method get_toplevels : GtkEnums.ui_manager_item_type list -> GObj.widget list method insert_action_group : action_group -> int -> unit method new_merge_id : unit -> ui_id method add_ui : ui_id -> path:string -> name:string -> action:string option -> GtkEnums.ui_manager_item_type -> top:bool -> unit method remove_action_group : action_group -> unit method remove_ui : ui_id -> unit method set_add_tearoffs : bool -> unit method ui : string end (** @since GTK 2.4 @gtkdoc gtk GtkUIManager *) val ui_manager : unit -> ui_manager lablgtk-3.1.2/src/gAssistant.ml0000644000650106067230000001023714161276610015244 0ustar glondused(**************************************************************************) (* 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: gWindow.ml 1347 2007-06-20 07:40:34Z guesdon $ *) open Gaux open Gtk open GtkBase open GtkContainers open GtkAssistant open GtkMisc open GObj open OgtkAssistantProps open GContainer (** Assistants **) class assistant_signals obj = object inherit container_signals_impl (obj : [> assistant] obj) inherit assistant_sigs end class assistant obj = object (self) inherit GWindow.window_skel obj method connect = new assistant_signals obj method current_page = Assistant.get_current_page obj method set_current_page = Assistant.set_current_page obj method n_pages = Assistant.get_n_pages obj method nth_page = Assistant.get_nth_page obj method insert_page ?page_type ?title ?header_image ?side_image ?complete ~position w = let n = Assistant.insert_page obj w position in may (self#set_page_type w) page_type; may (self#set_page_title w) title; may (self#set_page_header_image w) header_image; may (self#set_page_side_image w) side_image; may (self#set_page_complete w) complete; n method append_page ?page_type ?title ?header_image ?side_image ?complete w = self#insert_page ?page_type ?title ?header_image ?side_image ?complete ~position:(-1) w method prepend_page ?page_type ?title ?header_image ?side_image ?complete w = self#insert_page ?page_type ?title ?header_image ?side_image ?complete ~position:0 w method set_page_type = Assistant.set_page_type obj method page_type = Assistant.get_page_type obj method set_page_title = Assistant.set_page_title obj method page_title = Assistant.get_page_title obj method set_page_header_image = Assistant.set_page_header_image obj method page_header_image = Assistant.get_page_header_image obj method set_page_side_image = Assistant.set_page_side_image obj method page_side_image = Assistant.get_page_side_image obj method set_page_complete = Assistant.set_page_complete obj method page_complete = Assistant.get_page_complete obj method add_action_widget = Assistant.add_action_widget obj method remove_action_widget = Assistant.remove_action_widget obj method update_buttons_state = Assistant.update_buttons_state obj end (*let assistant () = new assistant (Assistant.create []) *) let make_assistant ~create = GtkWindow.Window.make_params ~cont:(fun pl ?wmclass -> Container.make_params pl ~cont:(fun pl ?(show=false) () -> let (w : #GWindow.window_skel) = create pl in may (fun (name,clas) -> w#set_wmclass ~name ~clas) wmclass; if show then w#show (); w)) let assistant = make_assistant [] ~create:(fun pl -> new assistant (Assistant.create [])) lablgtk-3.1.2/src/gAssistant.mli0000644000650106067230000001065414161276610015420 0ustar glondused(**************************************************************************) (* 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: $ *) open Gtk open GObj (** Assistants *) (** {3 GtkAssistant} *) (** @gtkdoc gtk GtkAssistant *) (** @gtkdoc gtk GtkAssistant *) class assistant_signals : ([> Gtk.assistant] as 'a) obj -> object inherit GContainer.container_signals val obj : 'a obj method apply : callback:(unit -> unit) -> GtkSignal.id method cancel : callback:(unit -> unit) -> GtkSignal.id method close : callback:(unit -> unit) -> GtkSignal.id method leave : callback:(unit -> unit) -> GtkSignal.id method prepare : callback:(unit -> unit) -> GtkSignal.id end (** Toplevel widget which can contain other widgets in different pages @gtkdoc gtk GtkAssistant *) class assistant : ([> Gtk.assistant] as 'a) obj -> object inherit GWindow.window_skel val obj : 'a obj method connect : assistant_signals method set_current_page : int -> unit method add_action_widget : Gtk.widget Gtk.obj -> unit method append_page : ?page_type:GtkEnums.assistant_page_type -> ?title:string -> ?header_image:GdkPixbuf.pixbuf -> ?side_image:GdkPixbuf.pixbuf -> ?complete:bool -> Gtk.widget Gtk.obj -> int method current_page : int method insert_page : ?page_type:GtkEnums.assistant_page_type -> ?title:string -> ?header_image:GdkPixbuf.pixbuf -> ?side_image:GdkPixbuf.pixbuf -> ?complete:bool -> position:int -> Gtk.widget Gtk.obj -> int method n_pages : int method nth_page : int -> Gtk.widget Gtk.obj method page_complete : Gtk.widget Gtk.obj -> bool method page_header_image : Gtk.widget Gtk.obj -> GdkPixbuf.pixbuf method page_side_image : Gtk.widget Gtk.obj -> GdkPixbuf.pixbuf method page_title : Gtk.widget Gtk.obj -> string method page_type : Gtk.widget Gtk.obj -> GtkEnums.assistant_page_type method prepend_page : ?page_type:GtkEnums.assistant_page_type -> ?title:string -> ?header_image:GdkPixbuf.pixbuf -> ?side_image:GdkPixbuf.pixbuf -> ?complete:bool -> Gtk.widget Gtk.obj -> int method remove_action_widget : Gtk.widget Gtk.obj -> unit method set_page_complete : Gtk.widget Gtk.obj -> bool -> unit method set_page_header_image : Gtk.widget Gtk.obj -> GdkPixbuf.pixbuf -> unit method set_page_side_image : Gtk.widget Gtk.obj -> GdkPixbuf.pixbuf -> unit method set_page_title : Gtk.widget Gtk.obj -> string -> unit method set_page_type : Gtk.widget Gtk.obj -> GtkEnums.assistant_page_type -> unit method update_buttons_state : unit end (** @gtkdoc gtk GtkPlug *) val assistant : ?title:string -> ?decorated:bool -> ?deletable:bool -> ?focus_on_map:bool -> ?icon:GdkPixbuf.pixbuf -> ?icon_name:string -> ?modal:bool -> ?position:Tags.window_position -> ?resizable:bool -> ?screen:Gdk.screen -> ?type_hint:GdkEnums.window_type_hint -> ?urgency_hint:bool -> ?wmclass:(string * string) -> ?border_width:int -> ?width:int -> ?height:int -> ?show:bool -> unit -> assistant lablgtk-3.1.2/src/gBin.ml0000644000650106067230000001251614161276610014005 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gtk open GtkBinProps open GtkBase open GtkBin open GObj open OgtkBinProps open GContainer let param = Gobject.param class scrolled_window obj = object inherit [Gtk.scrolled_window] bin_impl obj inherit scrolled_window_props method connect = new container_signals_impl obj method add_with_viewport w = ScrolledWindow.add_with_viewport obj (as_widget w) end let scrolled_window ?hadjustment ?vadjustment = ScrolledWindow.make_params [] ?hadjustment:(may_map ~f:GData.as_adjustment hadjustment) ?vadjustment:(may_map ~f:GData.as_adjustment vadjustment) ~cont:( pack_container ~create:(fun pl -> new scrolled_window (ScrolledWindow.create pl))) class event_box obj = object inherit bin obj method connect = new container_signals_impl obj method event = new GObj.event_ops (obj :> Gtk.event_box obj) end let event_box = pack_container [] ~create:(fun pl -> new event_box (EventBox.create pl)) class invisible obj = object inherit bin obj method connect = new container_signals_impl obj method event = new GObj.event_ops (obj :> Gtk.invisible obj) end let invisible = pack_container [] ~create:(fun pl -> new invisible (Invisible.create pl)) class handle_box_signals (obj : [> handle_box] obj) = object inherit container_signals_impl obj inherit handle_box_sigs end class handle_box obj = object inherit [Gtk.handle_box] bin_impl obj method connect = new handle_box_signals obj method event = new GObj.event_ops obj inherit handle_box_props end let handle_box = HandleBox.make_params [] ~cont:( pack_container ~create:(fun pl -> new handle_box (HandleBox.create pl))) class frame_skel obj = object inherit [[> frame]] bin_impl obj inherit frame_props end class frame obj = object inherit frame_skel (obj : Gtk.frame obj) method connect = new container_signals_impl obj end let frame = Frame.make_params [] ~cont:( pack_container ~create:(fun pl -> new frame (Frame.create pl))) class aspect_frame obj = object inherit frame_skel (obj : Gtk.aspect_frame obj) method connect = new container_signals_impl obj inherit aspect_frame_props end let aspect_frame = AspectFrame.make_params [] ~cont:( Frame.make_params ~cont:( pack_container ~create:(fun pl -> new aspect_frame (AspectFrame.create pl)))) class viewport obj = object inherit [Gtk.viewport] bin_impl obj method connect = new container_signals_impl obj method event = new event_ops obj inherit viewport_props end let viewport ?hadjustment ?vadjustment = Viewport.make_params [] ?hadjustment:(may_map ~f:GData.as_adjustment hadjustment) ?vadjustment:(may_map ~f:GData.as_adjustment vadjustment) ~cont:( pack_container ~create:(fun pl -> new viewport (Viewport.create pl))) class alignment obj = object inherit [Gtk.alignment] bin_impl obj method connect = new container_signals_impl obj inherit alignment_props end let alignment ?padding = let pl = match padding with | None -> [] | Some (t, b, l, r) -> [ param Alignment.P.top_padding t ; param Alignment.P.bottom_padding b ; param Alignment.P.left_padding l ; param Alignment.P.right_padding r ] in Alignment.make_params pl ~cont:( pack_container ~create:(fun pl -> new alignment (Alignment.create pl))) let alignment_cast w = new alignment (Alignment.cast w#as_widget) class expander_signals obj = object inherit GContainer.container_signals_impl (obj : [> Gtk.expander] Gtk.obj) inherit OgtkBinProps.expander_sigs end class expander obj = object inherit [[> Gtk.expander]] GContainer.bin_impl obj inherit OgtkBinProps.expander_props method connect = new expander_signals obj end let expander = GtkBin.Expander.make_params [] ~cont:( GContainer.pack_container ~create:(fun pl -> new expander (GtkBin.Expander.create pl))) lablgtk-3.1.2/src/gBin.mli0000644000650106067230000002524614161276610014162 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk open GObj open GContainer (** Containers with just one child *) (** {3 GtkScrolledWindow } *) (** Adds scrollbars to its child widget @gtkdoc gtk GtkScrolledWindow *) class scrolled_window : Gtk.scrolled_window obj -> object inherit GContainer.bin val obj : Gtk.scrolled_window obj method connect : container_signals method add_with_viewport : widget -> unit method set_hadjustment : GData.adjustment -> unit method set_hpolicy : Tags.policy_type -> unit method set_placement : Tags.corner_type -> unit method set_shadow_type : Tags.shadow_type -> unit method set_vadjustment : GData.adjustment -> unit method set_vpolicy : Tags.policy_type -> unit method hadjustment : GData.adjustment method shadow_type : Gtk.Tags.shadow_type method hpolicy : Tags.policy_type method placement : Tags.corner_type method vadjustment : GData.adjustment method vpolicy : Tags.policy_type end (** @gtkdoc gtk GtkScrolledWindow *) val scrolled_window : ?hadjustment:GData.adjustment -> ?vadjustment:GData.adjustment -> ?hpolicy:Tags.policy_type -> ?vpolicy:Tags.policy_type -> ?placement:Tags.corner_type -> ?shadow_type:Gtk.Tags.shadow_type -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> scrolled_window (** {3 GtkEventBox} *) (** A widget used to catch events for widgets which do not have their own window @gtkdoc gtk GtkEventBox *) class event_box : ([> Gtk.event_box] as 'a) obj -> object inherit GContainer.bin val obj : 'a obj method connect : container_signals method event : event_ops end (** @gtkdoc gtk GtkEventBox *) val event_box : ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> event_box class invisible : ([> Gtk.invisible] as 'a) obj -> object inherit GContainer.bin val obj : 'a obj method connect : container_signals method event : event_ops end val invisible : ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> invisible (** {3 GtkHandleBox} *) (** @gtkdoc gtk GtkHandleBox *) class handle_box_signals : 'a obj -> object inherit GContainer.container_signals constraint 'a = [> handle_box] val obj : 'a obj method child_attached : callback:(widget -> unit) -> GtkSignal.id method child_detached : callback:(widget -> unit) -> GtkSignal.id method notify_handle_position : callback:(Tags.position_type -> unit) -> GtkSignal.id method notify_shadow_type : callback:(Tags.shadow_type -> unit) -> GtkSignal.id method notify_snap_edge : callback:(Tags.position_type -> unit) -> GtkSignal.id end (** A widget for detachable window portions @gtkdoc gtk GtkHandleBox *) class handle_box : Gtk.handle_box obj -> object inherit GContainer.bin val obj : Gtk.handle_box obj method event : event_ops method connect : handle_box_signals method set_handle_position : Tags.position_type -> unit method set_shadow_type : Tags.shadow_type -> unit method set_snap_edge : Tags.position_type -> unit method handle_position : Tags.position_type method shadow_type : Tags.shadow_type method snap_edge : Tags.position_type end (** @gtkdoc gtk GtkHandleBox *) val handle_box : ?handle_position:Tags.position_type -> ?snap_edge:Tags.position_type -> ?shadow_type:Tags.shadow_type -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> handle_box (** {3 GtkFrame & GtkAspectFrame} *) class frame_skel : 'a obj -> object inherit GContainer.bin constraint 'a = [> frame] val obj : 'a obj method set_label : string option -> unit method set_label_widget : GObj.widget option -> unit method set_label_xalign : float -> unit method set_label_yalign : float -> unit method set_shadow_type : Tags.shadow_type -> unit method label : string option method label_widget : GObj.widget option method label_xalign : float method label_yalign : float method shadow_type : Tags.shadow_type end (** A bin with a decorative frame and optional label @gtkdoc gtk GtkFrame *) class frame : Gtk.frame obj -> object inherit frame_skel val obj : Gtk.frame obj method connect : GContainer.container_signals end (** @gtkdoc gtk GtkFrame *) val frame : ?label:string -> ?label_xalign:clampf -> ?label_yalign:clampf -> ?shadow_type:Tags.shadow_type -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> frame (** A frame that constrains its child to a particular aspect ratio @gtkdoc gtk GtkAspectFrame *) class aspect_frame : Gtk.aspect_frame obj -> object inherit frame val obj : Gtk.aspect_frame obj method set_obey_child : bool -> unit method set_ratio : float -> unit method set_xalign : float -> unit method set_yalign : float -> unit method obey_child : bool method ratio : float method xalign : float method yalign : float end (** @gtkdoc gtk GtkAspectFrame *) val aspect_frame : ?obey_child:bool -> ?ratio:float -> ?xalign:clampf -> ?yalign:clampf -> ?label:string -> ?label_xalign:clampf -> ?label_yalign:clampf -> ?shadow_type:Tags.shadow_type -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> aspect_frame (** {3 GtkViewport} *) (** @gtkdoc gtk GtkViewport *) class viewport : Gtk.viewport obj -> object inherit GContainer.bin val obj : Gtk.viewport obj method connect : container_signals method event : event_ops method set_hadjustment : GData.adjustment -> unit method set_shadow_type : Tags.shadow_type -> unit method set_vadjustment : GData.adjustment -> unit method hadjustment : GData.adjustment method shadow_type : Tags.shadow_type method vadjustment : GData.adjustment end (** @gtkdoc gtk GtkViewport *) val viewport : ?hadjustment:GData.adjustment -> ?vadjustment:GData.adjustment -> ?shadow_type:Tags.shadow_type -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> viewport (** {3 GtkAlignment} A widget which controls the alignment and size of its child *) (** @gtkdoc gtk GtkAlignment *) class alignment : Gtk.alignment obj -> object inherit GContainer.bin val obj : Gtk.alignment obj method connect : container_signals method set_xalign : Gtk.clampf -> unit method set_yalign : Gtk.clampf -> unit method set_xscale : Gtk.clampf -> unit method set_yscale : Gtk.clampf -> unit method xalign : Gtk.clampf method yalign : Gtk.clampf method xscale : Gtk.clampf method yscale : Gtk.clampf method set_top_padding : int -> unit (** @since GTK 2.4 *) method set_bottom_padding : int -> unit (** @since GTK 2.4 *) method set_left_padding : int -> unit (** @since GTK 2.4 *) method set_right_padding : int -> unit (** @since GTK 2.4 *) method top_padding : int (** @since GTK 2.4 *) method bottom_padding : int (** @since GTK 2.4 *) method left_padding : int (** @since GTK 2.4 *) method right_padding : int (** @since GTK 2.4 *) end (** @gtkdoc gtk GtkAlignment *) val alignment : ?padding:int * int * int * int -> ?xalign:Gtk.clampf -> ?yalign:Gtk.clampf -> ?xscale:Gtk.clampf -> ?yscale:Gtk.clampf -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> alignment val alignment_cast : #widget -> alignment (** {3 GtkExpander} A container which can hide its child *) (** @since GTK 2.4 @gtkdoc gtk GtkExpander *) class expander_signals : ([> Gtk.expander] as 'a) Gtk.obj -> object inherit GContainer.container_signals val obj : 'a obj method activate : callback:(unit -> unit) -> GtkSignal.id method notify_expanded : callback:(bool -> unit) -> GtkSignal.id method notify_label : callback:(string -> unit) -> GtkSignal.id method notify_label_widget : callback:(GObj.widget -> unit) -> GtkSignal.id method notify_spacing : callback:(int -> unit) -> GtkSignal.id method notify_use_underline : callback:(bool -> unit) -> GtkSignal.id end (** @since GTK 2.4 @gtkdoc gtk GtkExpander *) class expander : ([> Gtk.expander ] as 'a) Gtk.obj -> object inherit GContainer.bin val obj : 'a Gtk.obj method connect : expander_signals method expanded : bool method label : string method label_widget : GObj.widget method set_expanded : bool -> unit method set_label : string -> unit method set_label_widget : GObj.widget -> unit method set_spacing : int -> unit method set_use_underline : bool -> unit method spacing : int method use_underline : bool end (** @since GTK 2.4 @gtkdoc gtk GtkExpander *) val expander : ?expanded:bool -> ?label:string -> ?spacing:int -> ?use_underline:bool -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> expander lablgtk-3.1.2/src/gBuilder.ml0000644000650106067230000000522014161276610014655 0ustar glondused(**************************************************************************) (* 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$ *) open Gobject open GtkBuilder open GtkBuilderProps class builder (obj : [> Gtk.builder] obj) = object inherit GObj.gtkobj obj inherit OgtkBuilderProps.builder_props method add_from_file : string -> unit = Builder.add_from_file obj method add_from_string : string -> unit = Builder.add_from_string obj method add_objects_from_file : string -> string list -> unit = Builder.add_objects_from_file obj method add_objects_from_string : string -> string list -> unit = Builder.add_objects_from_string obj method get_object : string -> unit obj = Builder.get_object obj end let builder ?translation_domain () = Builder.make_params ?translation_domain [] ~cont:( fun _ -> new builder (GtkBuilder.Builder.create ())) let builder_from_file ?translation_domain filename = Builder.make_params ?translation_domain [] ~cont:( fun _ -> new builder (GtkBuilder.Builder.create_from_file filename)) let builder_from_string ?translation_domain s = Builder.make_params ?translation_domain [] ~cont:( fun _ -> new builder (GtkBuilder.Builder.create_from_string s)) lablgtk-3.1.2/src/gBuilder.mli0000644000650106067230000000512214161276610015027 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk class builder : ([> Gtk.builder] as 'a) Gtk.obj -> object inherit GObj.gtkobj val obj : 'a Gtk.obj (** Properties *) method translation_domain : string method set_translation_domain : string -> unit method add_from_file : string -> unit method add_from_string : string -> unit method add_objects_from_file : string -> string list -> unit method add_objects_from_string : string -> string list -> unit method get_object : string -> unit obj end (** Build an interface from an XML UI definition. @gtkdoc gtk GtkBuilder @since GTK 3.10 *) val builder : ?translation_domain:string -> unit -> builder (** Build an interface from an XML UI definition. @gtkdoc gtk GtkBuilder @since GTK 3.10 *) val builder_from_file : ?translation_domain:string -> string -> builder (** Build an interface from an XML UI definition. @gtkdoc gtk GtkBuilder @since GTK 3.10 *) val builder_from_string : ?translation_domain:string -> string -> builder lablgtk-3.1.2/src/gButton.ml0000644000650106067230000002322414161276610014546 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gtk open GtkBase open GtkButton open OgtkButtonProps open GObj open GContainer class button_skel obj = object (self) inherit bin obj inherit button_props method clicked () = Button.clicked obj method grab_default () = set Widget.P.can_default obj true; set Widget.P.has_default obj true method event = new GObj.event_ops obj method unset_image () = Gobject.Property.set_dyn obj GtkButtonProps.Button.P.image.Gobject.name (`OBJECT None) end class button_signals obj = object inherit container_signals_impl (obj : [> button] obj) inherit button_sigs end class button obj = object inherit button_skel (obj : Gtk.button obj) method connect = new button_signals obj end let pack_return create p ?packing ?show () = pack_return (create p) ~packing ~show let button ?label = Button.make_params [] ?label ~cont:( pack_return (fun p -> new button (Button.create p))) class toggle_button_signals obj = object (self) inherit button_signals obj method toggled = self#connect ToggleButton.S.toggled end class toggle_button obj = object inherit button_skel obj method connect = new toggle_button_signals obj method active = get ToggleButton.P.active obj method set_active = set ToggleButton.P.active obj method set_draw_indicator = set ToggleButton.P.draw_indicator obj end let make_toggle_button create ?label = Button.make_params [] ?label ~cont:( ToggleButton.make_params ~cont:( pack_return (fun p -> new toggle_button (create p)))) let toggle_button = make_toggle_button ToggleButton.create let check_button = make_toggle_button ToggleButton.create_check class radio_button obj = object inherit toggle_button (obj : Gtk.radio_button obj) method set_group = set RadioButton.P.group obj method group = Some obj end let radio_button ?group = Button.make_params [] ~cont:( ToggleButton.make_params ~cont:( pack_return (fun p -> new radio_button (RadioButton.create ?group p)))) class color_button_signals obj = object (self) inherit button_signals obj method color_set = self#connect ColorButton.S.color_set end class color_button obj = object inherit button_skel obj inherit color_button_props method connect = new color_button_signals obj end let color_button = ColorButton.make_params [] ~cont:( pack_return (fun pl -> new color_button (ColorButton.create pl))) class font_button_signals obj = object (self) inherit button_signals obj method font_set = self#connect FontButton.S.font_set end class font_button obj = object inherit button_skel obj inherit font_button_props method connect = new font_button_signals obj end let font_button = FontButton.make_params [] ~cont:( pack_return (fun pl -> new font_button (FontButton.create pl))) (* Toolbar *) class type tool_item_o = object method as_tool_item : Gtk.tool_item obj end class toolbar_signals obj = object inherit GContainer.container_signals_impl obj inherit toolbar_sigs end class toolbar obj = object inherit container (obj : Gtk.toolbar obj) inherit toolbar_props inherit OgtkBaseProps.orientable_props method connect = new toolbar_signals obj method insert : 'a. ?pos:int -> (#tool_item_o as 'a) -> unit = fun ?(pos = -1) it -> Toolbar.insert obj it#as_tool_item pos method get_item_index : Gtk.tool_item obj -> _ = Toolbar.get_item_index obj method get_n_items = Toolbar.get_n_items obj method get_nth_item = Toolbar.get_nth_item obj method unset_style = Toolbar.unset_style obj method get_drop_index = Toolbar.get_drop_index obj method set_drop_highlight_item : 'a.((#tool_item_o as 'a) * int) option -> _ = function | None -> Toolbar.set_drop_highlight_item obj None 0 | Some (i, pos) -> Toolbar.set_drop_highlight_item obj (Some i#as_tool_item) pos method relief_style = Toolbar.get_relief_style obj end let may_cons = Gobject.Property.may_cons let toolbar ?orientation ?style = pack_container [] ~create:(fun p -> let p = may_cons Toolbar.P.toolbar_style style ( may_cons GtkBase.Orientable.P.orientation orientation p) in new toolbar (Toolbar.create p)) class tool_item_skel obj = object inherit [[> Gtk.tool_item]] GContainer.bin_impl obj inherit OgtkButtonProps.tool_item_props method as_tool_item = (obj :> Gtk.tool_item obj) method set_homogeneous = ToolItem.set_homogeneous obj method get_homogeneous = ToolItem.get_homogeneous obj method set_expand = ToolItem.set_expand obj method get_expand = ToolItem.get_expand obj method set_use_drag_window = ToolItem.set_use_drag_window obj method get_use_drag_window = ToolItem.get_use_drag_window obj end class tool_item obj = object inherit tool_item_skel obj method connect = new GContainer.container_signals_impl obj end let tool_item_params create pl ?homogeneous ?expand ?packing ?show () = let item = create pl in Gaux.may item#set_homogeneous homogeneous ; Gaux.may item#set_expand expand ; Gaux.may (fun f -> (f (item :> tool_item_o) : unit)) packing ; if show <> Some false then item#misc#show () ; item let tool_item = tool_item_params (fun pl -> new tool_item (ToolItem.create pl)) [] class separator_tool_item obj = object inherit tool_item obj method draw = get SeparatorToolItem.P.draw obj method set_draw = set SeparatorToolItem.P.draw obj end let separator_tool_item ?draw = let pl = may_cons SeparatorToolItem.P.draw draw [] in tool_item_params (fun pl -> new separator_tool_item (SeparatorToolItem.create pl)) pl class tool_button_signals (obj : [> Gtk.tool_button] obj) = object (self) inherit GContainer.container_signals_impl obj method clicked = self#connect ToolButton.S.clicked end class tool_button_skel obj = object inherit tool_item_skel obj inherit tool_button_props end class tool_button obj = object inherit tool_button_skel obj method connect = new tool_button_signals obj end let tool_button_params create pl ?label ?stock ?use_underline = tool_item_params create (may_cons ToolButton.P.label label ( may_cons ToolButton.P.stock_id stock ( may_cons ToolButton.P.use_underline use_underline pl))) let tool_button = tool_button_params (fun pl -> new tool_button (ToolButton.create pl)) [] class toggle_tool_button_signals obj = object (self) inherit tool_button_signals obj method toggled = self#connect ToggleToolButton.S.toggled end class toggle_tool_button obj = object inherit tool_button_skel obj method connect = new toggle_tool_button_signals obj method set_active = ToggleToolButton.set_active obj method get_active = ToggleToolButton.get_active obj end let toggle_tool_button_params create pl ?active = tool_button_params (fun pl -> let o = create pl in Gaux.may o#set_active active ; o) pl let toggle_tool_button = toggle_tool_button_params (fun pl -> new toggle_tool_button (ToggleToolButton.create pl)) [] class radio_tool_button obj = object inherit toggle_tool_button obj method group = Some (obj :> Gtk.radio_tool_button Gtk.obj) method set_group = set RadioToolButton.P.group obj end let radio_tool_button ?group = toggle_tool_button_params (fun pl -> new radio_tool_button (RadioToolButton.create pl)) (may_cons RadioToolButton.P.group (Gaux.may_map (fun g -> g#group) group) []) class menu_tool_button obj = object inherit tool_button obj method menu = get MenuToolButton.P.menu obj method set_menu = set MenuToolButton.P.menu obj end let menu_tool_button ?menu = tool_button_params (fun pl -> new menu_tool_button (MenuToolButton.create pl)) (may_cons MenuToolButton.P.menu (Gaux.may_map (fun m -> m#as_menu) menu) []) class link_button_signals obj = object (self) inherit button_signals obj method activate_link = self#connect LinkButton.S.activate_link end class link_button obj = object inherit button_skel obj inherit link_button_props method connect = new link_button_signals obj end let link_button ?label = pack_return (fun uri -> new link_button (match label with | None -> LinkButton.create uri | Some s -> LinkButton.create_with_label uri s)) lablgtk-3.1.2/src/gButton.mli0000644000650106067230000004065114161276610014722 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk open GObj open GContainer (** A widget that creates a signal when clicked on *) (** {3 GtkButton} *) (** @gtkdoc gtk GtkButton *) class button_skel : 'a obj -> object inherit GContainer.bin constraint 'a = [> button] val obj : 'a obj method clicked : unit -> unit method set_relief : Tags.relief_style -> unit method relief : Tags.relief_style method set_label : string -> unit method label : string method set_use_stock : bool -> unit method use_stock : bool method set_use_underline : bool -> unit method use_underline : bool method grab_default : unit -> unit method event : event_ops method set_focus_on_click : bool -> unit method focus_on_click : bool method image : GObj.widget (** @since GTK 2.6 *) method set_image : GObj.widget -> unit (** @since GTK 2.6 *) method unset_image : unit -> unit (** @since GTK 2.6 *) method image_position : GtkEnums.position_type (** @since GTK 2.10 *) method set_image_position : GtkEnums.position_type -> unit (** @since GTK 2.10 *) method set_xalign : float -> unit (** @since GTK 2.4 *) method xalign : float (** @since GTK 2.4 *) method set_yalign : float -> unit (** @since GTK 2.4 *) method yalign : float (** @since GTK 2.4 *) end (** @gtkdoc gtk GtkButton *) class button_signals : 'b obj -> object ('a) inherit GContainer.container_signals constraint 'b = [> button] val obj : 'b obj method clicked : callback:(unit -> unit) -> GtkSignal.id method enter : callback:(unit -> unit) -> GtkSignal.id method leave : callback:(unit -> unit) -> GtkSignal.id method pressed : callback:(unit -> unit) -> GtkSignal.id method released : callback:(unit -> unit) -> GtkSignal.id method notify_focus_on_click : callback:(bool -> unit) -> GtkSignal.id method notify_image : callback:(GObj.widget -> unit) -> GtkSignal.id method notify_image_position : callback:(GtkEnums.position_type -> unit) -> GtkSignal.id method notify_label : callback:(string -> unit) -> GtkSignal.id method notify_relief : callback:(GtkEnums.relief_style -> unit) -> GtkSignal.id method notify_use_stock : callback:(bool -> unit) -> GtkSignal.id method notify_use_underline : callback:(bool -> unit) -> GtkSignal.id method notify_xalign : callback:(float -> unit) -> GtkSignal.id method notify_yalign : callback:(float -> unit) -> GtkSignal.id end (** A widget that creates a signal when clicked on @gtkdoc gtk GtkButton *) class button : Gtk.button obj -> object inherit button_skel val obj : Gtk.button obj method connect : button_signals end (** @gtkdoc gtk GtkButton *) val button : ?label:string -> ?use_mnemonic:bool -> ?stock:GtkStock.id -> ?relief:Tags.relief_style -> ?packing:(widget -> unit) -> ?show:bool -> unit -> button (** {4 GtkToggleButton & GtkRadioButton} *) (** @gtkdoc gtk GtkToggleButton *) class toggle_button_signals : 'b obj -> object ('a) inherit button_signals constraint 'b = [> toggle_button] val obj : 'b obj method toggled : callback:(unit -> unit) -> GtkSignal.id end (** Create buttons which retain their state @gtkdoc gtk GtkToggleButton *) class toggle_button : 'a obj -> object inherit button_skel constraint 'a = [> Gtk.toggle_button] val obj : 'a obj method active : bool method connect : toggle_button_signals method set_active : bool -> unit method set_draw_indicator : bool -> unit end (** @gtkdoc gtk GtkToggleButton *) val toggle_button : ?label:string -> ?use_mnemonic:bool -> ?stock:GtkStock.id -> ?relief:Tags.relief_style -> ?active:bool -> ?draw_indicator:bool -> ?packing:(widget -> unit) -> ?show:bool -> unit -> toggle_button (** @gtkdoc gtk GtkCheckButton *) val check_button : ?label:string -> ?use_mnemonic:bool -> ?stock:GtkStock.id -> ?relief:Tags.relief_style -> ?active:bool -> ?draw_indicator:bool -> ?packing:(widget -> unit) -> ?show:bool -> unit -> toggle_button (** A choice from multiple check buttons @gtkdoc gtk GtkRadioButton *) class radio_button : Gtk.radio_button obj -> object inherit toggle_button val obj : Gtk.radio_button obj method group : Gtk.radio_button group method set_group : Gtk.radio_button group -> unit end (** @gtkdoc gtk GtkRadioButton *) val radio_button : ?group:Gtk.radio_button group -> ?label:string -> ?use_mnemonic:bool -> ?stock:GtkStock.id -> ?relief:Tags.relief_style -> ?active:bool -> ?draw_indicator:bool -> ?packing:(widget -> unit) -> ?show:bool -> unit -> radio_button (** {4 GtkColorButton & GtkFontButton} *) (** @gtkdoc gtk GtkColorButton @since GTK 2.4 *) class color_button_signals : ([> Gtk.color_button] as 'a) Gtk.obj -> object inherit button_signals val obj : 'a Gtk.obj method color_set : callback:(unit -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkColorButton @since GTK 2.4 *) class color_button : ([> Gtk.color_button] as 'a) Gtk.obj -> object inherit button_skel val obj : 'a Gtk.obj method alpha : int method set_alpha : int -> unit method color : Gdk.color method set_color : Gdk.color -> unit method rgba : Gdk.rgba method set_rgba : Gdk.rgba -> unit method show_editor : bool method set_show_editor : bool -> unit method title : string method set_title : string -> unit method use_alpha : bool method set_use_alpha : bool -> unit method connect : color_button_signals end (** A button to launch a color selection dialog @gtkdoc gtk GtkColorButton @since GTK 2.4 *) val color_button : ?color:Gdk.color -> (** @deprecated GTK 3.4; exclusive of rgba *) ?rgba:Gdk.rgba -> (** @since GTK 3.0 *) ?title:string -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> color_button (** @gtkdoc gtk GtkFontButton @since GTK 2.4 *) class font_button_signals : ([> Gtk.font_button] as 'a) Gtk.obj -> object inherit button_signals val obj : 'a Gtk.obj method font_set : callback:(unit -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkFontButton @since GTK 2.4 *) class font_button : ([> Gtk.font_button] as 'a) Gtk.obj -> object inherit button_skel val obj : 'a Gtk.obj method font_name : string method set_font_name : string -> unit method show_size : bool method set_show_size : bool -> unit method show_style : bool method set_show_style : bool -> unit method title : string method set_title : string -> unit method use_font : bool method set_use_font : bool -> unit method use_size : bool method set_use_size : bool -> unit method connect : font_button_signals end (** A button to launch a font selection dialog @gtkdoc gtk GtkFontButton @since GTK 2.4 *) val font_button : ?font_name:string -> ?title:string -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> font_button (** {3 GtkToolbar} *) class type tool_item_o = object method as_tool_item : Gtk.tool_item obj end (** @gtkdoc gtk GtkToolbar *) class toolbar_signals : ([> Gtk.toolbar] as 'a) obj -> object inherit GContainer.container_signals method style_changed : callback:(GtkEnums.toolbar_style -> unit) -> GtkSignal.id method focus_home_or_end : callback:(bool -> bool) -> GtkSignal.id method move_focus : callback:(GtkEnums.direction_type -> bool) -> GtkSignal.id method popup_context_menu : callback:(int -> int -> int -> bool) -> GtkSignal.id method notify_border_width : callback:(int -> unit) -> GtkSignal.id method notify_icon_size : callback:(GtkEnums.icon_size -> unit) -> GtkSignal.id method notify_icon_size_set : callback:(bool -> unit) -> GtkSignal.id method notify_resize_mode : callback:(GtkEnums.resize_mode -> unit) -> GtkSignal.id method notify_show_arrow : callback:(bool -> unit) -> GtkSignal.id method notify_toolbar_style : callback:(GtkEnums.toolbar_style -> unit) -> GtkSignal.id end (** Create bars of buttons and other widgets @gtkdoc gtk GtkToolbar *) class toolbar : Gtk.toolbar obj -> object inherit GContainer.container val obj : Gtk.toolbar obj method connect : toolbar_signals method insert : ?pos:int -> #tool_item_o -> unit (** @param pos default value is [-1] i.e. end of the toolbar *) method get_n_items : int method get_nth_item : int -> [`toolitem] obj method get_item_index : Gtk.tool_item obj -> int method set_drop_highlight_item : (#tool_item_o * int) option -> unit method get_drop_index : int -> int -> int method orientation : Tags.orientation method set_orientation : Tags.orientation -> unit method toolbar_style : Tags.toolbar_style method set_toolbar_style : Tags.toolbar_style -> unit method unset_style : unit method icon_size : Tags.icon_size method set_icon_size : Tags.icon_size -> unit method icon_size_set : bool method set_icon_size_set : bool -> unit method show_arrow : bool method set_show_arrow : bool -> unit method relief_style : Tags.relief_style end (** @gtkdoc gtk GtkToolbar *) val toolbar : ?orientation:Tags.orientation -> ?style:Tags.toolbar_style -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> toolbar (** {4 ToolItems for the new toolbar API} *) (** @gtkdoc gtk GtkToolItem @since GTK 2.4 *) class tool_item_skel : ([> Gtk.tool_item] as 'a) obj -> object inherit GContainer.bin val obj : 'a obj method as_tool_item : Gtk.tool_item obj method is_important : bool method set_is_important : bool -> unit method visible_horizontal : bool method set_visible_horizontal : bool -> unit method visible_vertical : bool method set_visible_vertical : bool -> unit method set_homogeneous : bool -> unit method get_homogeneous : bool method set_expand : bool -> unit method get_expand : bool method set_use_drag_window : bool -> unit method get_use_drag_window : bool end (** @gtkdoc gtk GtkToolItem @since GTK 2.4 *) class tool_item : ([> Gtk.tool_item] as 'a) obj -> object inherit tool_item_skel val obj : 'a obj method connect : GContainer.container_signals end (** @gtkdoc gtk GtkToolItem @since GTK 2.4 *) val tool_item : ?homogeneous:bool -> ?expand:bool -> ?packing:(tool_item_o -> unit) -> ?show:bool -> unit -> tool_item (** @gtkdoc gtk GtkSeparatorToolItem @since GTK 2.4 *) class separator_tool_item : ([> Gtk.separator_tool_item] as 'a) obj -> object inherit tool_item val obj : 'a obj method draw : bool method set_draw : bool -> unit end (** @gtkdoc gtk GtkSeparatorToolItem @since GTK 2.4 *) val separator_tool_item : ?draw:bool -> ?homogeneous:bool -> ?expand:bool -> ?packing:(tool_item_o -> unit) -> ?show:bool -> unit -> separator_tool_item (** @gtkdoc gtk GtkToolButton @since GTK 2.4 *) class tool_button_signals : ([> Gtk.tool_button] as 'a) obj -> object inherit GContainer.container_signals val obj : 'a obj method clicked : callback:(unit -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkToolButton @since GTK 2.4 *) class tool_button_skel : ([> Gtk.tool_button] as 'a) obj -> object inherit tool_item_skel val obj : 'a obj method icon_widget : GObj.widget method set_icon_widget : GObj.widget -> unit method label : string method set_label : string -> unit method label_widget : GObj.widget method set_label_widget : GObj.widget -> unit method stock_id : GtkStock.id method set_stock_id : GtkStock.id -> unit method use_underline : bool method set_use_underline : bool -> unit end (** @gtkdoc gtk GtkToolButton @since GTK 2.4 *) class tool_button : ([> Gtk.tool_button] as 'a) obj -> object inherit tool_button_skel val obj : 'a obj method connect : tool_button_signals end (** @gtkdoc gtk GtkToolButton @since GTK 2.4 *) val tool_button : ?label:string -> ?stock:GtkStock.id -> ?use_underline:bool -> ?homogeneous:bool -> ?expand:bool -> ?packing:(tool_item_o -> unit) -> ?show:bool -> unit -> tool_button (** @gtkdoc gtk GtkToggleToolButton @since GTK 2.4 *) class toggle_tool_button_signals : ([> Gtk.toggle_tool_button] as 'a) obj -> object inherit tool_button_signals val obj : 'a obj method toggled : callback:(unit -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkToggleToolButton @since GTK 2.4 *) class toggle_tool_button : ([> Gtk.toggle_tool_button] as 'a) obj -> object inherit tool_button_skel val obj : 'a obj method connect : toggle_tool_button_signals method set_active : bool -> unit method get_active : bool end (** @gtkdoc gtk GtkToggleToolButton @since GTK 2.4 *) val toggle_tool_button : ?active:bool -> ?label:string -> ?stock:GtkStock.id -> ?use_underline:bool -> ?homogeneous:bool -> ?expand:bool -> ?packing:(tool_item_o -> unit) -> ?show:bool -> unit -> toggle_tool_button (** @gtkdoc gtk GtkRadioToolButton @since GTK 2.4 *) class radio_tool_button : ([> Gtk.radio_tool_button] as 'a) obj -> object inherit toggle_tool_button val obj : 'a obj method group : Gtk.radio_tool_button group method set_group : Gtk.radio_tool_button group -> unit end (** @gtkdoc gtk GtkRadioToolButton @since GTK 2.4 *) val radio_tool_button : ?group:radio_tool_button -> ?active:bool -> ?label:string -> ?stock:GtkStock.id -> ?use_underline:bool -> ?homogeneous:bool -> ?expand:bool -> ?packing:(tool_item_o -> unit) -> ?show:bool -> unit -> radio_tool_button (** @gtkdoc gtk GtkMenuToolButton @since GTK 2.6 *) class menu_tool_button : ([> Gtk.menu_tool_button] as 'a) obj -> object inherit tool_button val obj : 'a obj method menu : Gtk.menu Gtk.obj method set_menu : Gtk.menu Gtk.obj -> unit end (** @gtkdoc gtk GtkMenuToolButton @since GTK 2.6 *) val menu_tool_button : ?menu: -> ?label:string -> ?stock:GtkStock.id -> ?use_underline:bool -> ?homogeneous:bool -> ?expand:bool -> ?packing:(tool_item_o -> unit) -> ?show:bool -> unit -> menu_tool_button (** @gtkdoc gtk GtkLinkButton @since GTK 2.10 *) class link_button_signals : ([> Gtk.link_button] as 'a) Gtk.obj -> object inherit button_signals val obj : 'a Gtk.obj method activate_link : callback:(unit -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkLinkButton @since GTK 2.10 *) class link_button : ([> Gtk.link_button] as 'a) Gtk.obj -> object inherit button_skel val obj : 'a Gtk.obj method uri : string method set_uri : string -> unit method connect : link_button_signals end (** A button for URL @gtkdoc gtk GtkLinkButton @since GTK 2.10 *) val link_button : ?label:string -> string -> ?packing:(widget -> unit) -> ?show:bool -> unit -> link_button lablgtk-3.1.2/src/gContainer.ml0000644000650106067230000000756314161276610015225 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels open Gaux open Gobject open Gtk open GtkBase open OgtkBaseProps open GtkContainers open OgtkContainersProps open GObj open GData open Container class focus obj = object val obj = obj (* method circulate = focus obj *) method set (child : widget option) = let child = may_map child ~f:(fun x -> x#as_widget) in set_focus_child obj (Gpointer.optboxed child) method set_hadjustment adj = set_focus_hadjustment obj (Gpointer.optboxed (may_map adj ~f:as_adjustment)) method set_vadjustment adj = set_focus_vadjustment obj (Gpointer.optboxed (may_map adj ~f:as_adjustment)) end class ['a] container_impl obj = object (self) inherit ['a] widget_impl obj inherit container_props method add w = add obj (as_widget w) method remove w = remove obj (as_widget w) method children = List.map ~f:(new widget) (children obj) method all_children = let l = ref [] in forall obj ~f:(fun w -> l := new widget w :: !l); List.rev !l method focus = new focus obj end class container = ['a] container_impl class container_signals_impl obj = object inherit widget_signals_impl obj inherit container_sigs end class type container_signals = container_signals_impl class container_full obj = object inherit container obj method connect = new container_signals_impl obj end let cast_container (w : widget) = new container_full (cast w#as_widget) let pack_container ~create = Container.make_params ~cont: (fun p ?packing ?show () -> pack_return (create p) ~packing ~show) class ['a] bin_impl obj = object inherit ['a] container_impl obj method child = new widget (Bin.get_child obj) end class bin = ['a] bin_impl class virtual ['a] item_container obj = object (self) inherit ['b] widget_impl obj inherit container_props method add (w : 'a) = add obj w#as_item method remove (w : 'a) = remove obj w#as_item method private virtual wrap : Gtk.widget obj -> 'a method children : 'a list = List.map ~f:self#wrap (children obj) method all_children = let l = ref [] in forall obj ~f:(fun w -> l := self#wrap w :: !l); List.rev !l method focus = new focus obj method virtual insert : 'a -> pos:int -> unit method append (w : 'a) = self#insert w ~pos:(-1) method prepend (w : 'a) = self#insert w ~pos:0 end lablgtk-3.1.2/src/gContainer.mli0000644000650106067230000001160214161276610015363 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk open GObj (** Widgets which contain other widgets *) class focus : 'a obj -> object constraint 'a = [> `container] val obj : 'a obj (* method circulate : Tags.direction_type -> bool *) method set : widget option -> unit method set_hadjustment : GData.adjustment option -> unit method set_vadjustment : GData.adjustment option -> unit end (** {3 GtkContainer} *) (** Base class for widgets which contain other widgets @gtkdoc gtk GtkContainer *) class container : ([> Gtk.container] as 'a) obj -> object inherit GObj.widget val obj : 'a obj method add : widget -> unit method children : widget list (* using foreach *) method all_children : widget list (* using forall *) method remove : widget -> unit method focus : focus method set_border_width : int -> unit method set_resize_mode : Tags.resize_mode -> unit method border_width : int method resize_mode : Tags.resize_mode end (** @gtkdoc gtk GtkContainer *) class ['a] container_impl :([> Gtk.container] as 'a) obj -> object inherit container inherit ['a] GObj.objvar end (** @gtkdoc gtk GtkContainer *) class type container_signals = object inherit GObj.widget_signals method add : callback:(widget -> unit) -> GtkSignal.id method remove : callback:(widget -> unit) -> GtkSignal.id method notify_border_width : callback:(int -> unit) -> GtkSignal.id method notify_resize_mode : callback:(GtkEnums.resize_mode -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkContainer *) class container_signals_impl : ([> Gtk.container] as 'a) obj -> object inherit ['a] GObj.gobject_signals inherit container_signals end (** @gtkdoc gtk GtkContainer *) class container_full : ([> Gtk.container] as 'a) obj -> object inherit container val obj : 'a obj method connect : container_signals end (** @raise Gtk.Cannot_cast "GtkContainer" *) val cast_container : widget -> container_full (** @gtkdoc gtk GtkContainer *) val pack_container : create:(([> Gtk.container] as 'a) Gobject.param list -> (#GObj.widget as 'b)) -> 'a Gobject.param list -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> 'b (** {3 GtkBin} *) (** @gtkdoc gtk GtkBin *) class bin : ([> Gtk.bin] as 'a) obj -> object inherit container val obj : 'a obj method child : widget (** @raise Gpointer.Null if the widget has no child. *) end (** @gtkdoc gtk GtkBin *) class ['a] bin_impl :([> Gtk.bin] as 'a) obj -> object inherit bin inherit ['a] GObj.objvar end (** {3 GtkItem} *) (** @gtkdoc gtk GtkContainer *) class virtual ['a] item_container : ([> Gtk.container] as 'c) obj -> object constraint 'a = < as_item : [>`widget] obj; .. > inherit GObj.widget val obj : 'c obj method add : 'a -> unit method append : 'a -> unit method children : 'a list method all_children : 'a list method virtual insert : 'a -> pos:int -> unit method prepend : 'a -> unit method remove : 'a -> unit method focus : focus method set_border_width : int -> unit method set_resize_mode : Tags.resize_mode -> unit method border_width : int method resize_mode : Tags.resize_mode method private virtual wrap : Gtk.widget obj -> 'a end lablgtk-3.1.2/src/gData.ml0000644000650106067230000001212714161276610014144 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gtk open GtkBase open GtkData open GObj open OgtkBaseProps class adjustment_signals obj = object (self) inherit [_] gobject_signals obj inherit adjustment_sigs end class adjustment obj = object (self) inherit gtkobj obj inherit adjustment_props method as_adjustment : Gtk.adjustment obj = obj method connect = new adjustment_signals obj method clamp_page = Adjustment.clamp_page obj method set_bounds ?lower ?upper ?step_incr ?page_incr ?page_size () = may self#set_lower lower; may self#set_upper upper; may self#set_step_increment step_incr; may self#set_page_increment page_incr; may self#set_page_size page_size end let adjustment ?(value=0.) ?(lower=0.) ?(upper=100.) ?(step_incr=1.) ?(page_incr=10.) ?(page_size=10.) () = let w = Adjustment.create ~value ~lower ~upper ~step_incr ~page_incr ~page_size in new adjustment w let as_adjustment (adj : adjustment) = adj#as_adjustment let wrap_adjustment w = new adjustment (unsafe_cast w) let unwrap_adjustment w = unsafe_cast w#as_adjustment let conv_adjustment_option = { kind = `OBJECT; proj = (function `OBJECT c -> may_map ~f:wrap_adjustment c | _ -> failwith "GObj.get_object"); inj = (fun c -> `OBJECT (may_map ~f:unwrap_adjustment c)) } let conv_adjustment = { kind = `OBJECT; proj = (function `OBJECT (Some c) -> wrap_adjustment c | `OBJECT None -> raise Gpointer.Null | _ -> failwith "GObj.get_object"); inj = (fun c -> `OBJECT (Some (unwrap_adjustment c))) } class clipboard_skel clip = object (self) method as_clipboard = Lazy.force clip method clear () = self#call_clear; Clipboard.clear self#as_clipboard method set_text = self#call_clear; Clipboard.set_text self#as_clipboard method text = Clipboard.wait_for_text self#as_clipboard method set_image = self#call_clear; Clipboard.set_image self#as_clipboard method image = Clipboard.wait_for_image self#as_clipboard method targets = Clipboard.wait_for_targets self#as_clipboard method get_contents ~target = new GObj.selection_data (Clipboard.wait_for_contents self#as_clipboard ~target) method private call_clear = () end (* Additions by SooHyoung Oh *) let default_get_cb context ~info ~time = () class clipboard ~selection = object (self) inherit clipboard_skel (lazy (GtkBase.Clipboard.get selection)) val mutable widget = None val mutable get_cb = default_get_cb val mutable clear_cb = None method private call_get context ~info ~time = get_cb context ~info ~time method private call_clear = match clear_cb with None -> () | Some cb -> get_cb <- default_get_cb; clear_cb <- None; cb () method private init_widget = match widget with Some w -> w | None -> let w = new GObj.widget (GtkBin.Invisible.create []) in widget <- Some w; ignore (w#misc#connect#selection_get ~callback:self#call_get); ignore ((new GObj.event_signals w#as_widget)#selection_clear ~callback:(fun _ -> self#call_clear; true)); w method set_contents ~targets ~get:get_func ~clear:clear_func = let widget : widget = self#init_widget in self#call_clear; get_cb <- get_func; clear_cb <- Some clear_func; widget#misc#grab_selection selection; widget#misc#clear_selection_targets selection; List.iter (fun target -> widget#misc#add_selection_target ~target selection) targets end let clipboard selection = new clipboard ~selection let as_clipboard clip = clip#as_clipboard lablgtk-3.1.2/src/gData.mli0000644000650106067230000001121414161276610014311 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk (** Non-Widgets objects carrying data *) (** {3 GtkAdjustement} *) (** @gtkdoc gtk GtkAdjustment *) class adjustment_signals : [> adjustment] obj -> object inherit GObj.gtkobj_signals method changed : callback:(unit -> unit) -> GtkSignal.id method value_changed : callback:(unit -> unit) -> GtkSignal.id method notify_lower : callback:(float -> unit) -> GtkSignal.id method notify_page_increment : callback:(float -> unit) -> GtkSignal.id method notify_page_size : callback:(float -> unit) -> GtkSignal.id method notify_step_increment : callback:(float -> unit) -> GtkSignal.id method notify_upper : callback:(float -> unit) -> GtkSignal.id method notify_value : callback:(float -> unit) -> GtkSignal.id end (** A GtkObject representing an adjustable bounded value @gtkdoc gtk GtkAdjustment *) class adjustment : Gtk.adjustment obj -> object inherit GObj.gtkobj val obj : Gtk.adjustment obj method as_adjustment : Gtk.adjustment obj method clamp_page : lower:float -> upper:float -> unit method connect : adjustment_signals method set_value : float -> unit method lower : float method upper : float method value : float method step_increment : float method page_increment : float method page_size : float method set_bounds : ?lower:float -> ?upper:float -> ?step_incr:float -> ?page_incr:float -> ?page_size:float -> unit -> unit method set_lower : float -> unit method set_page_increment : float -> unit method set_page_size : float -> unit method set_step_increment : float -> unit method set_upper : float -> unit method set_value : float -> unit end (** @gtkdoc gtk GtkAdjustment @param lower default value is [0.] @param upper default value is [100.] @param step_incr default value is [1.] @param page_incr default value is [10.] @param page_size default value is [10.] *) val adjustment : ?value:float -> ?lower:float -> ?upper:float -> ?step_incr:float -> ?page_incr:float -> ?page_size:float -> unit -> adjustment val as_adjustment : adjustment -> Gtk.adjustment obj val conv_adjustment : adjustment Gobject.data_conv val conv_adjustment_option : adjustment option Gobject.data_conv (** {3 Clipboards} *) (** Storing data on clipboards @gtkdoc gtk gtk-Clipboards *) class clipboard_skel : Gtk.clipboard Lazy.t -> object method as_clipboard : Gtk.clipboard method clear : unit -> unit method get_contents : target:Gdk.atom -> GObj.selection_data method set_image : GdkPixbuf.pixbuf -> unit method set_text : string -> unit method image : GdkPixbuf.pixbuf option method text : string option method targets : Gdk.atom list end class clipboard : selection:Gdk.atom -> object inherit clipboard_skel method set_contents : targets:string list -> get:(GObj.selection_context -> info:int -> time:int32 -> unit) -> clear:(unit -> unit) -> unit end (** @gtkdoc gtk gtk-Clipboards *) val clipboard : Gdk.atom -> clipboard val as_clipboard : clipboard -> Gtk.clipboard lablgtk-3.1.2/src/gDraw.ml0000644000650106067230000002132714161276610014172 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gdk type color = [ | `COLOR of Gdk.color | `WHITE | `BLACK | `NAME of string | `RGB of int * int * int ] (* let default_colormap = GtkBase.Widget.get_default_colormap *) let color (c : color) = match c with | `COLOR col -> col | `WHITE -> Gdk.Color.color_parse "white" | `BLACK -> Gdk.Color.color_parse "black" | `NAME s -> Gdk.Color.color_parse s | `RGB (r,g,b) -> Gdk.Color.color_parse (Printf.sprintf "#%04X%04X%04X" r g b) (* let conv_color : color data_conv = { kind = `POINTER; proj = (function `POINTER (Some c) -> `COLOR (Obj.magic c) | _ -> failwith "GDraw.get_color"); inj = (fun c -> `POINTER (Some (Obj.magic (color c : Gdk.color)))) } type optcolor = [ | `COLOR of Gdk.color | `WHITE | `BLACK | `NAME of string | `RGB of int * int * int | `DEFAULT ] let optcolor ?colormap (c : optcolor) = match c with | `DEFAULT -> None | #color as c -> Some (color ?colormap c) let conv_optcolor : optcolor data_conv = { kind = `POINTER; proj = (function `POINTER (Some c) -> `COLOR (Obj.magic c) | `POINTER None -> `DEFAULT | _ -> failwith "GDraw.get_color"); inj = (fun c -> `POINTER (Obj.magic (optcolor c : Gdk.color option))) } class drawable ?(colormap = default_colormap ()) w = object (self) val colormap = colormap val mutable gc = GC.create w val w = w method colormap = colormap method gc = gc method set_gc x = gc <- x method color = color ~colormap method set_foreground col = GC.set_foreground gc (self#color col) method set_background col = GC.set_background gc (self#color col) method size = Drawable.get_size w method depth = Drawable.get_depth w method gc_values = GC.get_values gc method set_clip_region = GC.set_clip_region gc method set_clip_origin = GC.set_clip_origin gc method set_clip_mask = GC.set_clip_mask gc method set_clip_rectangle = GC.set_clip_rectangle gc method set_line_attributes ?width ?style ?cap ?join () = let v = GC.get_values gc in GC.set_line_attributes gc ~width:(default v.GC.line_width ~opt:width) ~style:(default v.GC.line_style ~opt:style) ~cap:(default v.GC.cap_style ~opt:cap) ~join:(default v.GC.join_style ~opt:join) method point = Draw.point w gc method line = Draw.line w gc method rectangle = Draw.rectangle w gc method arc = Draw.arc w gc method polygon = Draw.polygon w gc method string s = Draw.string w gc s method put_layout ~x ~y ?fore ?back lay = Draw.layout w gc ~x ~y lay ?fore:(may_map self#color fore) ?back:(may_map self#color back) method put_image ~x ~y = Draw.image w gc ~xdest:x ~ydest:y method get_image = Image.get w method put_pixmap ~x ~y = Draw.pixmap w gc ~xdest:x ~ydest:y method put_rgb_data = Rgb.draw_image w gc method put_pixbuf ~x ~y = GdkPixbuf.draw_pixbuf w gc ~dest_x:x ~dest_y:y method get_pixbuf ?dest_x ?dest_y ?width ?height ?src_x ?src_y dest = GdkPixbuf.get_from_drawable ~dest ?dest_x ?dest_y ?width ?height ?src_x ?src_y ~colormap w method points = Draw.points w gc method lines = Draw.lines w gc method segments = Draw.segments w gc end class pixmap ?colormap ?mask pm = object inherit drawable ?colormap pm as pixmap val bitmap = may_map mask ~f: begin fun x -> let mask = new drawable x in mask#set_foreground `WHITE; mask end val mask : Gdk.bitmap option = mask method pixmap : Gdk.pixmap = w method mask = mask method set_line_attributes ?width ?style ?cap ?join () = pixmap#set_line_attributes ?width ?style ?cap ?join (); may bitmap ~f:(fun m -> m#set_line_attributes ?width ?style ?cap ?join ()) method point ~x ~y = pixmap#point ~x ~y; may bitmap ~f:(fun m -> m#point ~x ~y) method line ~x ~y ~x:x' ~y:y' = pixmap#line ~x ~y ~x:x' ~y:y'; may bitmap ~f:(fun m -> m#line ~x ~y ~x:x' ~y:y') method rectangle ~x ~y ~width ~height ?filled () = pixmap#rectangle ~x ~y ~width ~height ?filled (); may bitmap ~f:(fun m -> m#rectangle ~x ~y ~width ~height ?filled ()) method arc ~x ~y ~width ~height ?filled ?start ?angle () = pixmap#arc ~x ~y ~width ~height ?filled ?start ?angle (); may bitmap ~f:(fun m -> m#arc ~x ~y ~width ~height ?filled ?start ?angle ()); method polygon ?filled l = pixmap#polygon ?filled l; may bitmap ~f:(fun m -> m#polygon ?filled l) method string s ~font ~x ~y = pixmap#string s ~font ~x ~y; may bitmap ~f:(fun m -> m#string s ~font ~x ~y) method points pts = pixmap#points pts; may bitmap ~f:(fun m -> m#points pts) method lines pts = pixmap#lines pts; may bitmap ~f:(fun m -> m#lines pts) method segments lns = pixmap#segments lns; may bitmap ~f:(fun m -> m#segments lns) method put_layout ~x ~y ?fore ?back lay = pixmap#put_layout ~x ~y ?fore ?back lay; may bitmap ~f:(fun (m : #drawable) -> m#put_layout ~x ~y lay) end class type misc_ops = object method colormap : colormap method realize : unit -> unit method visual_depth : int method window : window end let pixmap ~width ~height ?(mask=false) ?(window : < misc : #misc_ops; .. > option) ?colormap () = let window, depth, colormap = match window with Some w -> begin try w#misc#realize (); Some w#misc#window, w#misc#visual_depth, match colormap with Some c -> c | None -> w#misc#colormap with Gpointer.Null -> failwith "GDraw.pixmap : window" end | None -> let colormap = match colormap with Some c -> c | None -> default_colormap () in None, (Gdk.Visual.depth (Gdk.Color.get_visual colormap)), colormap in let mask = if not mask then None else let bm = Bitmap.create ?window ~width ~height () in let mask = new drawable bm in mask#set_foreground `BLACK; mask#rectangle ~x:0 ~y:0 ~width ~height ~filled:true (); Some bm in new pixmap (Pixmap.create ?window ~width ~height ~depth ()) ~colormap ?mask let pixmap_from_xpm ~file ?window ?colormap ?transparent () = let window = try may_map window ~f:(fun w -> w#misc#realize (); w#misc#window) with Gpointer.Null -> invalid_arg "GDraw.pixmap_from_xpm : window" in let colormap = if colormap <> None || window <> None then colormap else Some (default_colormap ()) in let pm, mask = try Pixmap.create_from_xpm ~file ?window ?colormap ?transparent:(may_map transparent ~f:(fun c -> color c)) () with _ -> invalid_arg ("GDraw.pixmap_from_xpm : " ^ file) in new pixmap pm ?colormap ~mask let pixmap_from_xpm_d ~data ?window ?colormap ?transparent () = let window = try may_map window ~f:(fun w -> w#misc#realize (); w#misc#window) with Gpointer.Null -> failwith "GDraw.pixmap_from_xpm_d : no window" in let pm, mask = Pixmap.create_from_xpm_d ~data ?colormap ?window ?transparent:(may_map transparent ~f:(fun c -> color c)) () in new pixmap pm ?colormap ~mask *) module Cairo = Cairo class drag_context context = object val context = context method status ?(time=Int32.zero) act = DnD.drag_status context act ~time method suggested_action = DnD.drag_context_suggested_action context method targets = List.map Gdk.Atom.name (DnD.drag_context_targets context) end lablgtk-3.1.2/src/gDraw.mli0000644000650106067230000001335414161276610014344 0ustar glondused(**************************************************************************) (* 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$ *) open Gdk (** Offscreen drawables *) (** {3 Colors} *) (** @gtkdoc gdk gdk-Colormaps-and-Colors *) type color = [ `COLOR of Gdk.color | `WHITE | `BLACK | `NAME of string | `RGB of int * int * int] val color : color -> Gdk.color (* type optcolor = [ `COLOR of Gdk.color | `WHITE | `BLACK | `NAME of string | `RGB of int * int * int | `DEFAULT ] val optcolor : ?colormap:colormap -> optcolor -> Gdk.color option (** {3 GdkDrawable} *) (** Functions for drawing points, lines, arcs, and text @gtkdoc gdk gdk-Drawing-Primitives *) class drawable : ?colormap:colormap -> ([>`drawable] Gobject.obj as 'a) -> object val mutable gc : gc val w : 'a method arc : x:int -> y:int -> width:int -> height:int -> ?filled:bool -> ?start:float -> ?angle:float -> unit -> unit method color : color -> Gdk.color method colormap : colormap method depth : int method gc : gc method set_gc : gc -> unit method gc_values : GC.values method get_image : x:int -> y:int -> width:int -> height:int -> image method get_pixbuf : ?dest_x:int -> ?dest_y:int -> ?width:int -> ?height:int -> ?src_x:int -> ?src_y:int -> GdkPixbuf.pixbuf -> unit method line : x:int -> y:int -> x:int -> y:int -> unit method point : x:int -> y:int -> unit method polygon : ?filled:bool -> (int * int) list -> unit method put_layout : x: int -> y: int -> ?fore:color -> ?back:color -> Pango.layout -> unit method put_image : x:int -> y:int -> ?xsrc:int -> ?ysrc:int -> ?width:int -> ?height:int -> image -> unit method put_pixmap : x:int -> y:int -> ?xsrc:int -> ?ysrc:int -> ?width:int -> ?height:int -> pixmap -> unit method put_rgb_data : width:int -> height:int -> ?x:int -> ?y:int -> ?dither:Gdk.Tags.rgb_dither -> ?row_stride:int -> Gpointer.region -> unit method put_pixbuf : x:int -> y:int -> ?width:int -> ?height:int -> ?dither:Gdk.Tags.rgb_dither -> ?x_dither:int -> ?y_dither:int -> ?src_x:int -> ?src_y:int -> GdkPixbuf.pixbuf -> unit method rectangle : x:int -> y:int -> width:int -> height:int -> ?filled:bool -> unit -> unit method set_background : color -> unit method set_foreground : color -> unit method set_clip_region : region -> unit method set_clip_origin : x:int -> y:int -> unit method set_clip_mask : bitmap -> unit method set_clip_rectangle : Rectangle.t -> unit method set_line_attributes : ?width:int -> ?style:GC.gdkLineStyle -> ?cap:GC.gdkCapStyle -> ?join:GC.gdkJoinStyle -> unit -> unit method size : int * int method string : string -> font:font -> x:int -> y:int -> unit method points : (int * int) list -> unit method lines : (int * int) list -> unit method segments : ((int * int) * (int * int)) list -> unit end (** {3 GdkPixmap} *) (** Offscreen drawables @gtkdoc gdk gdk-Bitmaps-and-Pixmaps *) class pixmap : ?colormap:colormap -> ?mask:bitmap -> Gdk.pixmap -> object inherit drawable val w : Gdk.pixmap val bitmap : drawable option val mask : bitmap option method mask : bitmap option method pixmap : Gdk.pixmap end class type misc_ops = object method colormap : colormap method realize : unit -> unit method visual_depth : int method window : window end (** @gtkdoc gdk gdk-Bitmaps-and-Pixmaps *) val pixmap : width:int -> height:int -> ?mask:bool -> ?window:< misc : #misc_ops; .. > -> ?colormap:colormap -> unit -> pixmap val pixmap_from_xpm : file:string -> ?window:< misc : #misc_ops; .. > -> ?colormap:colormap -> ?transparent:color -> unit -> pixmap val pixmap_from_xpm_d : data:string array -> ?window:< misc : #misc_ops; .. > -> ?colormap:colormap -> ?transparent:color -> unit -> pixmap *) module Cairo : sig val create : window -> cairo end (** {3 GdkDragContext} *) (** @gtkdoc gdk gdk-Drag-and-Drop *) class drag_context : Gdk.drag_context -> object val context : Gdk.drag_context method status : ?time:int32 -> Tags.drag_action option -> unit method suggested_action : Tags.drag_action method targets : string list end lablgtk-3.1.2/src/gEdit.ml0000644000650106067230000002252214161276610014160 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gtk open GtkBase open GtkEdit open OgtkEditProps open GObj class editable_signals obj = object inherit widget_signals_impl (obj : [>editable] obj) inherit editable_sigs end class editable obj = object inherit ['a] widget_impl obj method select_region = Editable.select_region obj method insert_text = Editable.insert_text obj method delete_text = Editable.delete_text obj method get_chars = Editable.get_chars obj method cut_clipboard () = Editable.cut_clipboard obj method copy_clipboard () = Editable.copy_clipboard obj method paste_clipboard () = Editable.paste_clipboard obj method delete_selection () = Editable.delete_selection obj method set_position = Editable.set_position obj method position = Editable.get_position obj method set_editable = Editable.set_editable obj method editable = Editable.get_editable obj method selection = Editable.get_selection_bounds obj end class entry_completion_signals obj = object (self) inherit [[> `entrycompletion]] GObj.gobject_signals obj method action_activated = self#connect EntryCompletion.S.action_activated method match_selected ~callback = self#connect EntryCompletion.S.match_selected ~callback:(fun model iter -> callback (new GTree.model_filter model) iter) end class entry_completion obj = object method as_entry_completion = (obj :> Gtk.entry_completion) method set_minimum_key_length = Gobject.set EntryCompletion.P.minimum_key_length obj method minimum_key_length = Gobject.get EntryCompletion.P.minimum_key_length obj method set_model (m : GTree.model) = Gobject.set EntryCompletion.P.model obj m#as_model method model = (* not compliant with Comment #1 in Gtk bug http://bugzilla.gnome.org/show_bug.cgi?555087 new GTree.model_filter (Gobject.try_cast (Gobject.get EntryCompletion.P.model obj) "GtkTreeModelFilter") *) new GTree.model (Gobject.get EntryCompletion.P.model obj) method misc = new GObj.gobject_ops obj method connect = new entry_completion_signals obj method get_entry = may_map (new GObj.widget) (EntryCompletion.get_entry obj) method complete () = EntryCompletion.complete obj method insert_action_text = EntryCompletion.insert_action_text obj method insert_action_markup = EntryCompletion.insert_action_markup obj method delete_action = EntryCompletion.delete_action obj method set_text_column c = EntryCompletion.set_text_column obj (c : string GTree.column).GTree.index method set_match_func = EntryCompletion.set_match_func obj inherit GTree.cell_layout obj val obj = obj end class entry_signals obj = object (self) inherit editable_signals obj inherit entry_sigs method populate_popup ~callback = self#connect Entry.S.populate_popup ~callback: (fun m -> callback (new GMenu.menu m)) end class entry obj = object inherit editable obj method connect = new entry_signals obj inherit entry_props method as_entry = (obj :> Gtk.entry obj) method event = new GObj.event_ops obj method get_completion = may_map (new entry_completion) (Entry.get_completion obj) method set_completion (c : entry_completion) = Entry.set_completion obj c#as_entry_completion method set_primary_icon_name s = set Entry.P.primary_icon_name obj (if s = "" then None else Some s) method set_secondary_icon_name s = set Entry.P.secondary_icon_name obj (if s = "" then None else Some s) end let pack_sized ~create pl = Widget.size_params pl ~cont: (fun pl ?packing ?show () -> pack_return (create pl) ~packing ~show) let entry = Entry.make_params [] ~cont:( pack_sized ~create:(fun pl -> new entry (Entry.create pl))) let entry_completion ?model = EntryCompletion.make_params [] ?model:(may_map (fun m -> m#as_model) model) ~cont:(fun pl ?entry () -> let c = new entry_completion (EntryCompletion.create pl) in may (fun e -> e#set_completion c) entry ; c) class spin_button_signals obj = object inherit entry_signals obj inherit spin_button_sigs end class spin_button obj = object inherit [Gtk.spin_button] widget_impl obj method connect = new spin_button_signals obj method event = new event_ops obj inherit spin_button_props method value_as_int = SpinButton.get_value_as_int obj method spin = SpinButton.spin obj method update = SpinButton.update obj end let spin_button ?adjustment = SpinButton.make_params [] ?adjustment:(may_map ~f:GData.as_adjustment adjustment) ~cont:( pack_sized ~create:(fun pl -> new spin_button (SpinButton.create pl))) class combo_box_signals obj = object inherit GContainer.container_signals_impl (obj :> Gtk.combo_box Gtk.obj) inherit OgtkEditProps.combo_box_sigs end class combo_box _obj = object inherit [[> Gtk.combo_box]] GContainer.bin_impl _obj inherit OgtkEditProps.combo_box_props inherit GTree.cell_layout _obj method event = new GObj.event_ops obj method connect = new combo_box_signals obj method model = new GTree.model (Gobject.get GtkEdit.ComboBox.P.model obj) method set_model (m : GTree.model) = Gobject.set GtkEdit.ComboBox.P.model obj m#as_model method set_row_span_column (col : int GTree.column) = Gobject.set GtkEdit.ComboBox.P.row_span_column obj col.GTree.index method set_column_span_column (col : int GTree.column) = Gobject.set GtkEdit.ComboBox.P.column_span_column obj col.GTree.index method active_iter = GtkEdit.ComboBox.get_active_iter obj method set_active_iter = GtkEdit.ComboBox.set_active_iter obj method set_row_separator_func fo = GtkEdit.ComboBox.set_row_separator_func obj (Gaux.may_map (fun f m -> f (new GTree.model m)) fo) end let combo_box ?model = let model = Gaux.may_map (fun m -> m#as_model) model in GtkEdit.ComboBox.make_params ?model [] ~cont:( GtkBase.Widget.size_params ~cont:(fun pl ?packing ?show () -> let c = new combo_box (GtkEdit.ComboBox.create pl) in GObj.pack_return c ~packing ~show)) class combo_box_entry _obj = object (self) inherit combo_box _obj method entry = new entry (GtkEdit.Entry.cast self#child#as_widget) end let combo_box_entry ?model ?text_column = let model = Gaux.may_map (fun m -> m#as_model) model in let column = Gaux.may_map (fun c -> c.GTree.index) text_column in GtkEdit.ComboBox.make_params ?model ~has_entry:true ?entry_text_column:column [] ~cont:( GtkBase.Widget.size_params ~cont:(fun pl ?packing ?show () -> GObj.pack_return (new combo_box_entry (GtkEdit.ComboBox.create pl)) ~packing ~show )) let combo_box_entry_text ?(strings=[]) = let (store, column) as model = GTree.store_of_list Gobject.Data.string strings in GtkEdit.ComboBox.make_params ~model:store#as_model ~has_entry:true ~entry_text_column:column.GTree.index [] ~cont:( GtkBase.Widget.size_params ~cont:(fun pl ?packing ?show () -> let combo = new combo_box_entry (GtkEdit.ComboBox.create pl) in GObj.pack_return combo ~packing ~show, model)) type 'a text_combo = 'a * (GTree.list_store * string GTree.column) constraint 'a = #combo_box let text_combo_add ((_, (lstore, column)) : 'a text_combo) str = let row = lstore#append () in lstore#set ~row ~column str let text_combo_get_active ((combo, (lstore, column)) : 'a text_combo) = match combo#active_iter with | None -> None | Some row -> Some (lstore#get ~row ~column) let combo_box_text ?(strings=[]) ?(use_markup=false) = let (store, column) as model = GTree.store_of_list Gobject.Data.string strings in GtkEdit.ComboBox.make_params ~model:store#as_model [] ~cont:( GtkBase.Widget.size_params ~cont:(fun pl ?packing ?show () -> let combo = new combo_box (GtkEdit.ComboBox.create pl) in let r = GTree.cell_renderer_text [] in combo#pack r ; combo#add_attribute r (if use_markup then "markup" else "text") column ; GObj.pack_return combo ~packing ~show, model)) lablgtk-3.1.2/src/gEdit.mli0000644000650106067230000003717714161276610014345 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk open GObj (** Editable Widgets *) (** {3 GtkEditable} *) (** @gtkdoc gtk GtkEditable *) class editable_signals : [> editable] obj -> object inherit GObj.widget_signals method changed : callback:(unit -> unit) -> GtkSignal.id method delete_text : callback:(start:int -> stop:int -> unit) -> GtkSignal.id method insert_text : callback:(string -> pos:int ref -> unit) -> GtkSignal.id end (** Interface for text-editing widgets @gtkdoc gtk GtkEditable *) class editable : ([> Gtk.editable] as 'a) obj -> object inherit ['a] GObj.widget_impl method copy_clipboard : unit -> unit method cut_clipboard : unit -> unit method delete_selection : unit -> unit method delete_text : start:int -> stop:int -> unit method editable : bool method get_chars : start:int -> stop:int -> string method insert_text : string -> pos:int -> int method paste_clipboard : unit -> unit method position : int method select_region : start:int -> stop:int -> unit method selection : (int * int) option method set_position : int -> unit method set_editable : bool -> unit end (** {3 GtkEntry & GtkEntryCompletion} *) (** @since GTK 2.4 @gtkdoc gtk GtkEntryCompletion *) class entry_completion_signals : [> `entrycompletion ] Gtk.obj -> object ('a) method after : 'a method action_activated : callback:(int -> unit) -> GtkSignal.id method match_selected : callback:(GTree.model_filter -> Gtk.tree_iter -> bool) -> GtkSignal.id end (** @since GTK 2.4 @gtkdoc gtk GtkEntryCompletion *) class entry_completion : ([> `entrycompletion|`celllayout] as 'a) Gtk.obj -> object inherit GTree.cell_layout val obj : 'a Gtk.obj method as_entry_completion : Gtk.entry_completion method misc : GObj.gobject_ops method connect : entry_completion_signals method minimum_key_length : int method set_minimum_key_length : int -> unit method model : GTree.model method set_model : GTree.model -> unit method get_entry : GObj.widget option method complete : unit -> unit method insert_action_text : int -> string -> unit method insert_action_markup : int -> string -> unit method delete_action : int -> unit method set_match_func : (string -> Gtk.tree_iter -> bool) -> unit method set_text_column : string GTree.column -> unit end (** @gtkdoc gtk GtkEntry *) class entry_signals : [> Gtk.entry] obj -> object inherit editable_signals method activate : callback:(unit -> unit) -> GtkSignal.id method backspace : callback:(unit -> unit) -> GtkSignal.id method copy_clipboard : callback:(unit -> unit) -> GtkSignal.id method cut_clipboard : callback:(unit -> unit) -> GtkSignal.id method delete_from_cursor : callback:(Gtk.Tags.delete_type -> int -> unit) -> GtkSignal.id method insert_at_cursor : callback:(string -> unit) -> GtkSignal.id method move_cursor : callback:(Gtk.Tags.movement_step -> int -> extend:bool -> unit) -> GtkSignal.id method paste_clipboard : callback:(unit -> unit) -> GtkSignal.id method populate_popup : callback:(GMenu.menu -> unit) -> GtkSignal.id method toggle_overwrite : callback:(unit -> unit) -> GtkSignal.id method notify_activates_default : callback:(bool -> unit) -> GtkSignal.id method notify_has_frame : callback:(bool -> unit) -> GtkSignal.id method notify_invisible_char : callback:(int -> unit) -> GtkSignal.id method notify_max_length : callback:(int -> unit) -> GtkSignal.id method notify_scroll_offset : callback:(int -> unit) -> GtkSignal.id method notify_text : callback:(string -> unit) -> GtkSignal.id method notify_text_length : callback:(int -> unit) -> GtkSignal.id method notify_visibility : callback:(bool -> unit) -> GtkSignal.id method notify_width_chars : callback:(int -> unit) -> GtkSignal.id method notify_xalign : callback:(float -> unit) -> GtkSignal.id method notify_overwrite_mode : callback:(bool -> unit) -> GtkSignal.id (** @Since GTK 2.14 *) method icon_press : callback:(Tags.entry_icon_position -> GdkEvent.Button.t -> unit) -> GtkSignal.id (** @Since GTK 2.16 *) method icon_released : callback:(Tags.entry_icon_position -> GdkEvent.Button.t -> unit) -> GtkSignal.id (** @Since GTK 2.16 *) method notify_primary_icon_activatable : callback:(bool -> unit) -> GtkSignal.id (** @Since GTK 2.16 *) method notify_primary_icon_sensitive : callback:(bool -> unit) -> GtkSignal.id (** @Since GTK 2.16 *) method notify_secondary_icon_activatable : callback:(bool -> unit) -> GtkSignal.id (** @Since GTK 2.16 *) method notify_secondary_icon_sensitive : callback:(bool -> unit) -> GtkSignal.id (** @Since GTK 2.16 *) method notify_placeholder_text : callback:(string -> unit) -> GtkSignal.id (** @Since GTK 3.2 *) end (** A single line text entry field @gtkdoc gtk GtkEntry *) class entry : ([> Gtk.entry] as 'a) obj -> object inherit editable inherit ['a] GObj.objvar method as_entry : Gtk.entry Gtk.obj method connect : entry_signals method event : event_ops method scroll_offset : int method text : string method text_length : int method set_activates_default : bool -> unit method set_editable : bool -> unit method set_has_frame : bool -> unit method set_invisible_char : int -> unit method set_max_length : int -> unit method set_placeholder_text : string -> unit method set_text : string -> unit method set_visibility : bool -> unit method set_width_chars : int -> unit method set_xalign : float -> unit method activates_default : bool method editable : bool method has_frame : bool method invisible_char : int method max_length : int method placeholder_text : string method visibility : bool method width_chars : int method xalign : float method set_completion : entry_completion -> unit method get_completion : entry_completion option method overwrite_mode : bool method set_overwrite_mode : bool -> unit method primary_icon_activatable : bool method primary_icon_sensitive : bool method set_primary_icon_activatable : bool -> unit method set_primary_icon_name : string -> unit (** empty string to delete *) method set_primary_icon_pixbuf : GdkPixbuf.pixbuf -> unit method set_primary_icon_sensitive : bool -> unit method set_primary_icon_stock : GtkStock.id -> unit method set_primary_icon_tooltip_markup : string -> unit method set_primary_icon_tooltip_text : string -> unit method secondary_icon_activatable : bool method secondary_icon_sensitive : bool method set_secondary_icon_activatable : bool -> unit method set_secondary_icon_name : string -> unit (** empty string to delete *) method set_secondary_icon_pixbuf : GdkPixbuf.pixbuf -> unit method set_secondary_icon_sensitive : bool -> unit method set_secondary_icon_stock : GtkStock.id -> unit method set_secondary_icon_tooltip_markup : string -> unit method set_secondary_icon_tooltip_text : string -> unit end (** @gtkdoc gtk GtkEntry *) val entry : ?text:string -> ?visibility:bool -> ?max_length:int -> ?activates_default:bool -> ?editable:bool -> ?has_frame:bool -> ?width_chars:int -> ?xalign:float -> ?placeholder_text:string -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> entry (** @since GTK 2.4 @gtkdoc gtk GtkEntryCompletion *) val entry_completion : ?model:#GTree.model -> ?minimum_key_length:int -> ?entry:entry -> unit -> entry_completion (** {4 GtkSpinButton} *) (** @gtkdoc gtk GtkSpinButton *) class spin_button_signals : [> Gtk.spin_button] obj -> object inherit entry_signals method change_value : callback:(Gtk.Tags.scroll_type -> unit) -> GtkSignal.id method input : callback:(unit -> int) -> GtkSignal.id method output : callback:(unit -> bool) -> GtkSignal.id method value_changed : callback:(unit -> unit) -> GtkSignal.id method wrapped : callback:(unit -> unit) -> GtkSignal.id method notify_adjustment : callback:(GData.adjustment -> unit) -> GtkSignal.id method notify_digits : callback:(int -> unit) -> GtkSignal.id method notify_numeric : callback:(bool -> unit) -> GtkSignal.id method notify_rate : callback:(float -> unit) -> GtkSignal.id method notify_snap_to_ticks : callback:(bool -> unit) -> GtkSignal.id method notify_update_policy : callback:(Tags.spin_button_update_policy -> unit) -> GtkSignal.id method notify_value : callback:(float -> unit) -> GtkSignal.id method notify_wrap : callback:(bool -> unit) -> GtkSignal.id end (** Retrieve an integer or floating-point number from the user @gtkdoc gtk GtkSpinButton *) class spin_button : Gtk.spin_button obj -> object inherit GObj.widget val obj : Gtk.spin_button obj method connect : spin_button_signals method event : GObj.event_ops method spin : Tags.spin_type -> unit method update : unit method value_as_int : int method set_adjustment : GData.adjustment -> unit method set_digits : int -> unit method set_numeric : bool -> unit method set_rate : float -> unit method set_snap_to_ticks : bool -> unit method set_update_policy : [`ALWAYS|`IF_VALID] -> unit method set_value : float -> unit method set_wrap : bool -> unit method adjustment : GData.adjustment method digits : int method numeric : bool method rate : float method snap_to_ticks : bool method update_policy : [`ALWAYS|`IF_VALID] method value : float method wrap : bool end (** @gtkdoc gtk GtkSpinButton *) val spin_button : ?adjustment:GData.adjustment -> ?rate:float -> ?digits:int -> ?numeric:bool -> ?snap_to_ticks:bool -> ?update_policy:[`ALWAYS|`IF_VALID] -> ?value:float -> ?wrap:bool -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> spin_button (** {3 GtkComboBox} *) (** @since GTK 2.4 @gtkdoc gtk GtkComboBox *) class combo_box_signals : [> Gtk.combo_box] Gtk.obj -> object inherit GContainer.container_signals method changed : callback:(unit -> unit) -> GtkSignal.id method notify_active : callback:(int -> unit) -> GtkSignal.id method notify_add_tearoffs : callback:(bool -> unit) -> GtkSignal.id method notify_focus_on_click : callback:(bool -> unit) -> GtkSignal.id method notify_entry_text_column : callback:(int -> unit) -> GtkSignal.id method notify_has_entry : callback:(bool -> unit) -> GtkSignal.id method notify_has_frame : callback:(bool -> unit) -> GtkSignal.id method notify_wrap_width : callback:(int -> unit) -> GtkSignal.id end (** @since GTK 2.4 @gtkdoc gtk GtkComboBox *) class combo_box : ([> Gtk.combo_box] as 'a) Gtk.obj -> object inherit GContainer.bin inherit GTree.cell_layout val obj : 'a Gtk.obj method event : GObj.event_ops method active : int method active_iter : Gtk.tree_iter option method connect : combo_box_signals method model : GTree.model method set_active : int -> unit method set_active_iter : Gtk.tree_iter option -> unit method set_column_span_column : int GTree.column -> unit method set_model : GTree.model -> unit method set_row_span_column : int GTree.column -> unit method set_wrap_width : int -> unit method wrap_width : int method add_tearoffs : bool (** @since GTK 2.6 *) method set_add_tearoffs : bool -> unit (** @since GTK 2.6 *) method focus_on_click : bool (** @since GTK 2.6 *) method set_focus_on_click : bool -> unit (** @since GTK 2.6 *) method entry_text_column : int method set_entry_text_column : int -> unit method has_entry : bool method set_has_entry : bool -> unit method has_frame : bool (** @since GTK 2.6 *) method set_has_frame : bool -> unit (** @since GTK 2.6 *) method set_row_separator_func : (GTree.model -> Gtk.tree_iter -> bool) option -> unit (** @since GTK 2.6 *) end (** @since GTK 2.4 @gtkdoc gtk GtkComboBox *) val combo_box : ?model:#GTree.model -> ?active:int -> ?add_tearoffs:bool -> ?focus_on_click:bool -> ?entry_text_column:int -> ?has_entry:bool -> ?has_frame:bool -> ?wrap_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> combo_box (** {4 Convenience API simulating Gtk+ 2} *) class combo_box_entry : ([> Gtk.combo_box] as 'a) Gtk.obj -> object inherit combo_box val obj : 'a Gtk.obj method entry : entry end val combo_box_entry : ?model:#GTree.model -> ?text_column:string GTree.column -> ?active:int -> ?add_tearoffs:bool -> ?focus_on_click:bool -> ?has_frame:bool -> ?wrap_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> combo_box_entry (** {4 Convenience API for text-only ComboBoxes} *) type 'a text_combo = 'a * (GTree.list_store * string GTree.column) constraint 'a = #combo_box val text_combo_add : 'a text_combo -> string -> unit val text_combo_get_active : 'a text_combo -> string option (** A convenience function for creating simple {!GEdit.combo_box}. Creates a simple {!GTree.list_store} with a single text column, adds [strings] in it, creates a {!GTree.cell_renderer_text} and connects it with the model. @since GTK 2.4 @gtkdoc gtk GtkComboBox *) val combo_box_text : ?strings:string list -> ?use_markup:bool -> ?active:int -> ?add_tearoffs:bool -> ?focus_on_click:bool -> ?entry_text_column:int -> ?has_entry:bool -> ?has_frame:bool -> ?wrap_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> combo_box text_combo (** A convenience function. See {!GEdit.combo_box_text} @since GTK 2.4 @gtkdoc gtk GtkComboBoxEntry *) val combo_box_entry_text : ?strings:string list -> ?active:int -> ?add_tearoffs:bool -> ?focus_on_click:bool -> ?has_frame:bool -> ?wrap_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> combo_box_entry text_combo lablgtk-3.1.2/src/gFile.ml0000644000650106067230000002145114161276610014152 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) open GtkFile class filter obj = object inherit GObj.gtkobj obj method as_file_filter = (obj :> Gtk.file_filter Gtk.obj) method set_name = FileFilter.set_name obj method name = FileFilter.get_name obj method add_mime_type = FileFilter.add_mime_type obj method add_pattern = FileFilter.add_pattern obj method add_custom = FileFilter.add_custom obj end let filter ?name ?(patterns=[]) ?(mime_types=[]) () = let w = FileFilter.create () in Gaux.may (FileFilter.set_name w) name ; List.iter (FileFilter.add_pattern w) patterns ; List.iter (FileFilter.add_mime_type w) mime_types ; new filter w class type chooser_signals = object method current_folder_changed : callback:(unit -> unit) -> GtkSignal.id method file_activated : callback:(unit -> unit) -> GtkSignal.id method selection_changed : callback:(unit -> unit) -> GtkSignal.id method update_preview : callback:(unit -> unit) -> GtkSignal.id method confirm_overwrite : callback:(unit -> GtkEnums.file_chooser_confirmation) -> GtkSignal.id method notify_action : callback:(GtkEnums.file_chooser_action -> unit) -> GtkSignal.id method notify_create_folders : callback:(bool -> unit) -> GtkSignal.id method notify_do_overwrite_confirmation : callback:(bool -> unit) -> GtkSignal.id method notify_extra_widget : callback:(GObj.widget -> unit) -> GtkSignal.id method notify_local_only : callback:(bool -> unit) -> GtkSignal.id method notify_preview_widget : callback:(GObj.widget -> unit) -> GtkSignal.id method notify_preview_widget_active : callback:(bool -> unit) -> GtkSignal.id method notify_select_multiple : callback:(bool -> unit) -> GtkSignal.id method notify_show_hidden : callback:(bool -> unit) -> GtkSignal.id method notify_use_preview_label : callback:(bool -> unit) -> GtkSignal.id end class type chooser = object method set_action : GtkEnums.file_chooser_action -> unit method action : GtkEnums.file_chooser_action method set_create_folders : bool -> unit method create_folders : bool method set_local_only : bool -> unit method local_only : bool method set_select_multiple : bool -> unit method select_multiple : bool method set_current_name : string -> unit method show_hidden : bool method set_show_hidden : bool -> unit method set_filename : string -> bool method filename : string option method select_filename : string -> bool method unselect_filename : string -> unit method get_filenames : string list method set_current_folder : string -> bool method current_folder : string option method set_uri : string -> bool method uri : string option method select_uri : string -> bool method unselect_uri : string -> unit method get_uris : string list method set_current_folder_uri : string -> bool method current_folder_uri : string method select_all : unit method unselect_all : unit method set_preview_widget : GObj.widget -> unit method preview_widget : GObj.widget method set_preview_widget_active : bool -> unit method preview_widget_active : bool method preview_filename : string option method preview_uri : string option method set_use_preview_label : bool -> unit method use_preview_label : bool method set_extra_widget : GObj.widget -> unit method extra_widget : GObj.widget method add_filter : filter -> unit method remove_filter : filter -> unit method list_filters : filter list method set_filter : filter -> unit method filter : filter method add_shortcut_folder : string -> unit method remove_shortcut_folder : string -> unit method list_shortcut_folders : string list method add_shortcut_folder_uri : string -> unit method remove_shortcut_folder_uri : string -> unit method list_shortcut_folder_uris : string list method do_overwrite_confirmation : bool method set_do_overwrite_confirmation : bool -> unit end class virtual chooser_impl = object (self) val virtual obj : 'a Gtk.obj inherit OgtkFileProps.file_chooser_props method set_current_name = FileChooser.set_current_name obj method set_filename = FileChooser.set_filename obj method filename = FileChooser.get_filename obj method select_filename = FileChooser.select_filename obj method unselect_filename = FileChooser.unselect_filename obj method select_all = FileChooser.select_all obj method unselect_all = FileChooser.unselect_all obj method get_filenames = FileChooser.get_filenames obj method set_current_folder = FileChooser.set_current_folder obj method current_folder = FileChooser.get_current_folder obj method set_uri = FileChooser.set_uri obj method uri = FileChooser.get_uri obj method select_uri = FileChooser.select_uri obj method unselect_uri = FileChooser.unselect_uri obj method get_uris = FileChooser.get_uris obj method set_current_folder_uri = FileChooser.set_current_folder_uri obj method current_folder_uri = FileChooser.get_current_folder_uri obj method preview_filename = FileChooser.get_preview_filename obj method preview_uri = FileChooser.get_preview_uri obj method add_filter (f : filter) = FileChooser.add_filter obj f#as_file_filter method remove_filter (f : filter) = FileChooser.remove_filter obj f#as_file_filter method list_filters = List.map (new filter) (FileChooser.list_filters obj ) method set_filter (f : filter) = Gobject.set FileChooser.P.filter obj f#as_file_filter method filter = new filter (Gobject.get FileChooser.P.filter obj) method add_shortcut_folder = FileChooser.add_shortcut_folder obj method remove_shortcut_folder = FileChooser.remove_shortcut_folder obj method list_shortcut_folders = FileChooser.list_shortcut_folders obj method add_shortcut_folder_uri = FileChooser.add_shortcut_folder_uri obj method remove_shortcut_folder_uri = FileChooser.remove_shortcut_folder_uri obj method list_shortcut_folder_uris = FileChooser.list_shortcut_folder_uris obj end class chooser_widget_signals obj = object inherit GObj.widget_signals_impl obj inherit OgtkFileProps.file_chooser_sigs end class chooser_widget obj = object inherit [_] GObj.widget_impl obj inherit chooser_impl method event = new GObj.event_ops obj method connect = new chooser_widget_signals obj end let may_cons = Gobject.Property.may_cons let chooser_widget ~action ?filename ?packing ?show () = let w = FileChooser.widget_create [ Gobject.param FileChooser.P.action action ] in let o = new chooser_widget w in Gaux.may ~f:o#set_filename filename; GObj.pack_return o ~packing ~show class chooser_button_signals obj = object inherit GContainer.container_signals_impl obj inherit OgtkFileProps.file_chooser_sigs end class chooser_button obj = object method private obj = obj inherit GPack.box_skel obj inherit chooser_impl inherit OgtkFileProps.file_chooser_button_props method connect = new chooser_button_signals obj end let chooser_button ~action ?title ?width_chars ?filename = GContainer.pack_container (Gobject.param FileChooser.P.action action :: (may_cons FileChooserButton.P.title title ( may_cons FileChooserButton.P.width_chars width_chars []))) ~create:(fun pl -> let o = new chooser_button (FileChooserButton.create pl) in Gaux.may ~f:o#set_filename filename; o) lablgtk-3.1.2/src/gFile.mli0000644000650106067230000001731214161276610014324 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) (** The new file chooser widget *) open Gtk (** {3 GtkFileFilter} *) (** @since GTK 2.4 @gtkdoc gtk gtk-gtkfilefilter *) class filter : ([> Gtk.file_filter ] as 'a) Gtk.obj -> object inherit GObj.gtkobj val obj : 'a Gtk.obj method as_file_filter : Gtk.file_filter Gtk.obj method add_mime_type : string -> unit method add_pattern : string -> unit method add_custom : Tags.file_filter_flags list -> callback:((Tags.file_filter_flags * string) list -> bool) -> unit method name : string method set_name : string -> unit end (** @since GTK 2.4 @gtkdoc gtk gtk-gtkfilefilter *) val filter : ?name:string -> ?patterns:string list -> ?mime_types:string list -> unit -> filter (** {3 GtkFileChooser} *) (** @since GTK 2.4 @gtkdoc gtk GtkFileChooser *) class type chooser_signals = object method current_folder_changed : callback:(unit -> unit) -> GtkSignal.id method selection_changed : callback:(unit -> unit) -> GtkSignal.id method update_preview : callback:(unit -> unit) -> GtkSignal.id method file_activated : callback:(unit -> unit) -> GtkSignal.id method confirm_overwrite : callback:(unit -> Tags.file_chooser_confirmation) -> GtkSignal.id (** since Gtk 2.8 *) method notify_action : callback:(Tags.file_chooser_action -> unit) -> GtkSignal.id method notify_create_folders : callback:(bool -> unit) -> GtkSignal.id method notify_do_overwrite_confirmation : callback:(bool -> unit) -> GtkSignal.id method notify_extra_widget : callback:(GObj.widget -> unit) -> GtkSignal.id method notify_local_only : callback:(bool -> unit) -> GtkSignal.id method notify_preview_widget : callback:(GObj.widget -> unit) -> GtkSignal.id method notify_preview_widget_active : callback:(bool -> unit) -> GtkSignal.id method notify_select_multiple : callback:(bool -> unit) -> GtkSignal.id method notify_show_hidden : callback:(bool -> unit) -> GtkSignal.id method notify_use_preview_label : callback:(bool -> unit) -> GtkSignal.id end (** @since GTK 2.4 @gtkdoc gtk GtkFileChooser *) class type chooser = object method set_action : Tags.file_chooser_action -> unit method action : Tags.file_chooser_action method set_create_folders : bool -> unit method create_folders : bool method set_local_only : bool -> unit method local_only : bool method set_select_multiple : bool -> unit method select_multiple : bool method set_current_name : string -> unit method show_hidden : bool method set_show_hidden : bool -> unit method set_filename : string -> bool method filename : string option method select_filename : string -> bool method unselect_filename : string -> unit method get_filenames : string list method set_current_folder : string -> bool method current_folder : string option method set_uri : string -> bool method uri : string option method select_uri : string -> bool method unselect_uri : string -> unit method get_uris : string list method set_current_folder_uri : string -> bool method current_folder_uri : string method select_all : unit method unselect_all : unit method set_preview_widget : GObj.widget -> unit method preview_widget : GObj.widget method set_preview_widget_active : bool -> unit method preview_widget_active : bool method preview_filename : string option method preview_uri : string option method set_use_preview_label : bool -> unit method use_preview_label : bool method set_extra_widget : GObj.widget -> unit method extra_widget : GObj.widget method add_filter : filter -> unit method remove_filter : filter -> unit method list_filters : filter list method set_filter : filter -> unit method filter : filter method add_shortcut_folder : string -> unit (** @raise GtkFile.FileChooser.Error if operation fails *) method remove_shortcut_folder : string -> unit (** @raise GtkFile.FileChooser.Error if operation fails *) method list_shortcut_folders : string list method add_shortcut_folder_uri : string -> unit (** @raise GtkFile.FileChooser.Error if operation fails *) method remove_shortcut_folder_uri : string -> unit (** @raise GtkFile.FileChooser.Error if operation fails *) method list_shortcut_folder_uris : string list method do_overwrite_confirmation : bool (** since Gtk 2.8 *) method set_do_overwrite_confirmation : bool -> unit (** since Gtk 2.8 *) end (** @since GTK 2.4 @gtkdoc gtk GtkFileChooserWidget *) class chooser_widget_signals : ([> Gtk.widget|Gtk.file_chooser] as 'a) Gtk.obj -> object inherit GObj.widget_signals inherit chooser_signals end (** @since GTK 2.4 @gtkdoc gtk GtkFileChooserWidget *) class chooser_widget : ([> Gtk.widget|Gtk.file_chooser] as 'a) Gtk.obj -> object inherit GObj.widget inherit chooser val obj : 'a Gtk.obj method event : GObj.event_ops method connect : chooser_widget_signals end (** @since GTK 2.4 @gtkdoc gtk GtkFileChooserWidget *) val chooser_widget : action:Tags.file_chooser_action -> ?filename:string -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> chooser_widget (** @since GTK 2.6 @gtkdoc gtk GtkFileChooserButton *) class chooser_button_signals : ([> Gtk.container | `filechooser] as 'a) Gtk.obj -> object inherit GContainer.container_signals inherit chooser_signals end (** @since GTK 2.6 @gtkdoc gtk GtkFileChooserButton *) class chooser_button : ([> Gtk.file_chooser_button] as 'a) Gtk.obj -> object inherit GPack.box_skel inherit chooser val obj : 'a Gtk.obj method connect : chooser_button_signals method title : string method set_title : string -> unit method width_chars : int method set_width_chars : int -> unit end val chooser_button : action:Tags.file_chooser_action -> ?title:string -> ?width_chars:int -> ?filename:string -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> chooser_button (**/**) class virtual chooser_impl : object val virtual obj : [> Gtk.file_chooser] Gtk.obj inherit chooser end lablgtk-3.1.2/src/gMain.ml0000644000650106067230000000416614161276610014163 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk open GtkMain open GObj module Main = Main module Grab = struct open Grab let add (w : #widget) = add w#as_widget let remove (w : #widget) = remove w#as_widget let get_current () = new widget (get_current ()) end module Event = Event module Rc = Rc module Gc_custom = Gc_custom module Timeout = Glib.Timeout module Idle = Glib.Idle module Io = Glib.Io open Main let main = main let quit = quit let init = init let selection = GData.clipboard Gdk.Atom.primary let clipboard = GData.clipboard Gdk.Atom.clipboard lablgtk-3.1.2/src/gMain.mli0000644000650106067230000000754314161276610014336 0ustar glondused(**************************************************************************) (* 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$ *) (** Library initialization, main event loop, and events *) open Gtk (** @gtkdoc gtk gtk-General *) module Main : sig val init : ?setlocale:bool -> unit -> string (** [init] also sets the locale and returns its name. Either set [~setlocale] to [false] or GTK_SETLOCALE to "0" if you don't want to the locale to be set *) val main : unit -> unit (** [main] runs the main loop, until [quit] is called. {e Do not use in multi-threaded programs.} *) val quit : unit -> unit (** quit the main loop *) val version : int * int * int (** [major, minor, micro] *) end (** Direct access to functions of [GMain.Main] *) val init : ?setlocale:bool -> unit -> string val main : unit -> unit val quit : unit -> unit (** Global structures *) val selection : GData.clipboard val clipboard : GData.clipboard module Grab : sig val add : #GObj.widget -> unit val remove : #GObj.widget -> unit val get_current : unit -> GObj.widget end module Event : sig val get_current_time : unit -> int32 (** May return GDK_CURRENT_TIME *) val get_current : unit -> GdkEvent.any (** May raise Gpointer.Null *) val get_widget : 'a Gdk.event -> widget obj (** May raise Gpointer.Null *) val propagate : [> `widget] obj -> 'a Gdk.event -> unit end module Rc : sig val add_default_file : string -> unit end module Timeout : sig type id = Glib.Timeout.id val add : ms:int -> callback:(unit -> bool) -> id val remove : id -> unit end module Idle : sig type id = Glib.Idle.id val add : ?prio:int -> (unit -> bool) -> id val remove : id -> unit end module Io : sig type channel = Glib.Io.channel type condition = [ `IN | `OUT | `PRI | `ERR | `HUP | `NVAL ] type id val channel_of_descr : Unix.file_descr -> channel val add_watch : cond:condition list -> callback:(condition list -> bool) -> ?prio:int -> channel -> id val remove : id -> unit val read : channel -> buf:bytes -> pos:int -> len:int -> int val read_chars : channel -> buf:bytes -> pos:int -> len:int -> int end module Gc_custom : sig val set_speed : int -> unit (** make the allocation of custom blocks contribute more or less to the GC cycle. 0 means do nothing, 100 is as in lablgtk 2.18.3. The default is 10. *) val get_speed : unit -> int end lablgtk-3.1.2/src/gMenu.ml0000644000650106067230000001732414161276610014203 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gtk open GtkData open GtkBase open GtkContainers open GtkMenu open OgtkBaseProps open OgtkMenuProps open GObj open GContainer (* Menu type *) class menu_shell_signals obj = object (self) inherit container_signals_impl obj method deactivate = self#connect MenuShell.S.deactivate end class type virtual ['a] pre_menu = object inherit ['a] item_container method as_menu : Gtk.menu Gtk.obj method deactivate : unit -> unit method connect : menu_shell_signals method event : event_ops method popup : button:int -> time:int32 -> unit method popdown : unit -> unit method set_accel_group : accel_group -> unit method set_accel_path : string -> unit end (* Menu items *) class menu_item_signals obj = object (self) inherit container_signals_impl (obj : [>menu_item] obj) method activate = self#connect MenuItem.S.activate end class ['a] pre_menu_item_skel obj = object inherit container obj method as_item = (obj :> Gtk.menu_item obj) method set_submenu (w : 'a pre_menu) = MenuItem.set_submenu obj (Some w#as_menu) method remove_submenu () = MenuItem.set_submenu obj None method get_submenu = may_map (new GObj.widget) (MenuItem.get_submenu obj) method activate () = MenuItem.activate obj method select () = MenuItem.select obj method deselect () = MenuItem.deselect obj method add_accelerator ~group ?modi:m ?flags key= Widget.add_accelerator obj ~sgn:MenuItem.S.activate group ?flags ?modi:m ~key end class menu_item obj = object inherit [menu_item] pre_menu_item_skel obj method connect = new menu_item_signals obj method event = new GObj.event_ops obj end class menu_item_skel = [menu_item] pre_menu_item_skel let pack_item ?packing ?(show=true) self = may packing ~f:(fun f -> (f (self :> menu_item) : unit)); if show then self#misc#show (); self let menu_item ?use_mnemonic ?label ?packing ?show () = let w = MenuItem.create ?use_mnemonic ?label () in pack_item (new menu_item w) ?packing ?show let separator_item ?packing ?show () = let w = MenuItem.separator_create () in pack_item (new menu_item w) ?packing ?show class check_menu_item_signals obj = object (self) inherit menu_item_signals obj method toggled = self#connect CheckMenuItem.S.toggled end class check_menu_item obj = object inherit menu_item_skel obj method set_active = set CheckMenuItem.P.active obj method set_inconsistent = set CheckMenuItem.P.inconsistent obj method inconsistent = get CheckMenuItem.P.inconsistent obj method active = get CheckMenuItem.P.active obj method toggled () = CheckMenuItem.toggled obj method connect = new check_menu_item_signals obj method event = new GObj.event_ops obj end let check_menu_item ?label ?use_mnemonic ?active ?packing ?show () = let w = CheckMenuItem.create ?use_mnemonic ?label () in CheckMenuItem.set w ?active; pack_item (new check_menu_item w) ?packing ?show class radio_menu_item obj = object inherit check_menu_item (obj : Gtk.radio_menu_item obj) method group = Some obj method set_group = RadioMenuItem.set_group obj end let radio_menu_item ?group ?label ?use_mnemonic ?active ?packing ?show () = let w = RadioMenuItem.create ?use_mnemonic ?group ?label () in CheckMenuItem.set w ?active; pack_item (new radio_menu_item w) ?packing ?show (* Menus *) class menu_shell obj = object inherit [menu_item] item_container obj method private wrap w = new menu_item (MenuItem.cast w) method insert w = MenuShell.insert obj w#as_item method deactivate () = MenuShell.deactivate obj method connect = new menu_shell_signals obj method event = new GObj.event_ops obj end class menu obj = object inherit menu_shell obj method popup = Menu.popup obj method popdown () = Menu.popdown obj method as_menu : Gtk.menu obj = obj method set_accel_group = Menu.set_accel_group obj method set_accel_path = Menu.set_accel_path obj end let menu ?accel_path ?border_width ?packing ?show () = let w = Menu.create [] in may border_width ~f:(set Container.P.border_width w); may accel_path ~f:(fun ap -> Menu.set_accel_path w ap); let self = new menu w in may packing ~f:(fun f -> (f self : unit)); if show <> Some false then self#misc#show (); self (* Menu Bar *) let menu_bar = pack_container [] ~create:(fun p -> new menu_shell (MenuBar.create p)) (* Menu Factory *) class ['a] factory ?(accel_group=AccelGroup.create ()) ?(accel_path="/") ?(accel_modi=[`CONTROL]) ?(accel_flags=[`VISIBLE]) (menu_shell : 'a) = object (self) val menu_shell : #menu_shell = menu_shell val group = accel_group val m = accel_modi val flags = (accel_flags:Gtk.Tags.accel_flag list) val accel_path = accel_path method menu = menu_shell method accel_group = group method private bind ?(modi=m) ?key ?callback (item : menu_item) label = menu_shell#append item; let accel_path = accel_path ^ label ^ "/" in (* Default accel path value *) GtkData.AccelMap.add_entry accel_path ?key ~modi:m; (* Register this accel path *) GtkBase.Widget.set_accel_path item#as_widget accel_path accel_group; may callback ~f:(fun callback -> item#connect#activate ~callback) method add_item ?key ?callback ?submenu label = let item = menu_item ~use_mnemonic:true ~label () in self#bind item ?key ?callback label; may (submenu : menu option) ~f:item#set_submenu; item method add_check_item ?active ?key ?callback label = let item = check_menu_item ~label ~use_mnemonic:true ?active () in self#bind (item : check_menu_item :> menu_item) label ?key ?callback:(may_map callback ~f:(fun f () -> f item#active)); item method add_radio_item ?group ?active ?key ?callback label = let item = radio_menu_item ~label ~use_mnemonic:true ?group ?active () in self#bind (item : radio_menu_item :> menu_item) label ?key ?callback:(may_map callback ~f:(fun f () -> f item#active)); item method add_separator () = separator_item ~packing:menu_shell#append () method add_submenu ?key label = let item = menu_item ~use_mnemonic:true ~label () in self#bind item ?key label; menu ~packing:item#set_submenu () end lablgtk-3.1.2/src/gMenu.mli0000644000650106067230000001616414161276610014355 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk open GObj open GContainer (** Menus *) (** @gtkdoc gtk GtkMenuShell *) class menu_shell_signals : [> menu_shell] obj -> object inherit GContainer.container_signals method deactivate : callback:(unit -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkMenuItem *) class menu_item_signals : [> menu_item] obj -> object inherit GContainer.container_signals method activate : callback:(unit -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkMenuItem *) class menu_item_skel : 'a obj -> object inherit GContainer.container constraint 'a = [> Gtk.menu_item] val obj : 'a obj method activate : unit -> unit method add_accelerator : group:accel_group -> ?modi:Gdk.Tags.modifier list -> ?flags:Tags.accel_flag list -> Gdk.keysym -> unit method as_item : Gtk.menu_item obj method remove_submenu : unit -> unit method select : unit -> unit method deselect : unit -> unit method set_submenu : menu -> unit method get_submenu : GObj.widget option end (** The widget used for item in menus @gtkdoc gtk GtkMenuItem *) and menu_item : 'a obj -> object inherit menu_item_skel constraint 'a = [> Gtk.menu_item] val obj : 'a obj method event : event_ops method connect : menu_item_signals end (** A drop down menu widget @gtkdoc gtk GtkMenu *) and menu : Gtk.menu obj -> object inherit [menu_item] GContainer.item_container val obj : Gtk.menu obj method add : menu_item -> unit method event : event_ops method append : menu_item -> unit method as_menu : Gtk.menu obj method children : menu_item list method connect : menu_shell_signals method deactivate : unit -> unit method insert : menu_item -> pos:int -> unit method popdown : unit -> unit method popup : button:int -> time:int32 -> unit method prepend : menu_item -> unit method remove : menu_item -> unit method set_accel_group : accel_group -> unit method set_accel_path : string -> unit method set_border_width : int -> unit method private wrap : Gtk.widget obj -> menu_item end (** @gtkdoc gtk GtkMenu *) val menu : ?accel_path:string -> ?border_width:int -> ?packing:(menu -> unit) -> ?show:bool -> unit -> menu (** @gtkdoc gtk GtkMenuItem *) val menu_item : ?use_mnemonic:bool -> ?label:string -> ?packing:(menu_item -> unit) -> ?show:bool -> unit -> menu_item (** @gtkdoc gtk GtkSeparatorMenuItem *) val separator_item : ?packing:(menu_item -> unit) -> ?show:bool -> unit -> menu_item (** @gtkdoc gtk GtkCheckMenuItem *) class check_menu_item_signals : [> check_menu_item] obj -> object inherit menu_item_signals method toggled : callback:(unit -> unit) -> GtkSignal.id end (** A menu item with a check box @gtkdoc gtk GtkCheckMenuItem *) class check_menu_item : 'a obj -> object inherit menu_item_skel constraint 'a = [> Gtk.check_menu_item] val obj : 'a obj method active : bool method event : event_ops method connect : check_menu_item_signals method set_active : bool -> unit method set_inconsistent : bool -> unit method inconsistent : bool method toggled : unit -> unit end (** @gtkdoc gtk GtkCheckMenuItem *) val check_menu_item : ?label:string -> ?use_mnemonic:bool -> ?active:bool -> ?packing:(menu_item -> unit) -> ?show:bool -> unit -> check_menu_item (** A choice from multiple check menu items @gtkdoc gtk GtkRadioMenuItem *) class radio_menu_item : Gtk.radio_menu_item obj -> object inherit check_menu_item val obj : Gtk.radio_menu_item obj method group : Gtk.radio_menu_item group method set_group : Gtk.radio_menu_item group -> unit end (** @gtkdoc gtk GtkRadioMenuItem *) val radio_menu_item : ?group:Gtk.radio_menu_item group -> ?label:string -> ?use_mnemonic:bool -> ?active:bool -> ?packing:(menu_item -> unit) -> ?show:bool -> unit -> radio_menu_item (** @gtkdoc gtk GtkMenuShell *) class menu_shell : 'a obj -> object inherit [menu_item] GContainer.item_container constraint 'a = [> Gtk.menu_shell] val obj : 'a obj method event : event_ops method deactivate : unit -> unit method connect : menu_shell_signals method insert : menu_item -> pos:int -> unit method private wrap : Gtk.widget obj -> menu_item end (** @gtkdoc gtk GtkMenuBar *) val menu_bar : ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> menu_shell (** A factory for menus @gtkdoc gtk GtkItemFactory *) class ['a] factory : ?accel_group:accel_group -> ?accel_path:string -> ?accel_modi:Gdk.Tags.modifier list -> ?accel_flags:Tags.accel_flag list -> 'a -> object constraint 'a = #menu_shell val flags : Tags.accel_flag list val group : accel_group val m : Gdk.Tags.modifier list val menu_shell : 'a method accel_group : accel_group method add_check_item : ?active:bool -> ?key:Gdk.keysym -> ?callback:(bool -> unit) -> string -> check_menu_item method add_item : ?key:Gdk.keysym -> ?callback:(unit -> unit) -> ?submenu:menu -> string -> menu_item method add_radio_item : ?group:Gtk.radio_menu_item group -> ?active:bool -> ?key:Gdk.keysym -> ?callback:(bool -> unit) -> string -> radio_menu_item method add_separator : unit -> menu_item method add_submenu : ?key:Gdk.keysym -> string -> menu method private bind : ?modi:Gdk.Tags.modifier list -> ?key:Gdk.keysym -> ?callback:(unit -> unit) -> menu_item -> string -> unit method menu : 'a end lablgtk-3.1.2/src/gMisc.ml0000644000650106067230000001742214161276610014171 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gtk open GtkBase open GtkContainers open GtkMisc open OgtkMiscProps open GObj let separator dir ?packing ?show () = let w = Separator.create dir [] in pack_return (new widget_full w) ~packing ~show class statusbar_context obj ctx = object (self) val obj : statusbar obj = obj val context : Gtk.statusbar_context = ctx method context = context method push text = Statusbar.push obj context ~text method pop () = Statusbar.pop obj context method remove = Statusbar.remove obj context method flash ?(delay=1000) text = let msg = self#push text in Glib.Timeout.add delay (fun () -> self#remove msg; false); () end class statusbar obj = object inherit GPack.box (obj : Gtk.statusbar obj) method new_context ~name = new statusbar_context obj (Statusbar.get_context_id obj name) end let statusbar = GContainer.pack_container [] ~create: (fun p -> new statusbar (Statusbar.create p)) class status_icon_signals (obj : Gtk.status_icon Gobject.obj) = object (* inherit [Gtk.status_icon] gobject_signals obj*) inherit gtk_status_icon_sigs method private connect sgn ~callback = GtkSignal.connect ~sgn ~callback ~after: true obj method private notify prop ~callback = GtkSignal.connect_property obj ~prop ~callback end class status_icon obj = object val obj : Gtk.status_icon Gobject.obj = obj inherit gtk_status_icon_props method connect = new status_icon_signals obj method set_from_pixbuf = StatusIcon.set_from_pixbuf obj method set_from_file = StatusIcon.set_from_file obj method set_from_stock = StatusIcon.set_from_stock obj method set_from_icon_name = StatusIcon.set_from_icon_name obj method get_pixbuf = StatusIcon.get_pixbuf obj method get_stock = StatusIcon.get_stock obj method get_icon_name = StatusIcon.get_icon_name obj method get_size = StatusIcon.get_size obj method is_embedded= StatusIcon.is_embedded obj end let status_icon = StatusIcon.make_params [] ~cont: (fun p () -> new status_icon (StatusIcon.create p)) let status_icon_from_pixbuf = StatusIcon.make_params [] ~cont: (fun p pb -> let o = new status_icon (StatusIcon.create p) in o#set_from_pixbuf pb; o ) let status_icon_from_file = StatusIcon.make_params [] ~cont: (fun p file -> let o = new status_icon (StatusIcon.create p) in o#set_from_file file; o ) let status_icon_from_stock = StatusIcon.make_params [] ~cont: (fun p s -> let o = new status_icon (StatusIcon.create p) in o#set_from_stock s; o ) let status_icon_from_icon_name = StatusIcon.make_params [] ~cont: (fun p s -> let o = new status_icon (StatusIcon.create p) in o#set_from_icon_name s; o ) class calendar_signals obj = object inherit widget_signals_impl obj inherit calendar_sigs end class calendar obj = object inherit ['a] widget_impl (obj : Gtk.calendar obj) inherit calendar_props method event = new GObj.event_ops obj method connect = new calendar_signals obj method select_month = Calendar.select_month obj method select_day = Calendar.select_day obj method mark_day = Calendar.mark_day obj method unmark_day = Calendar.unmark_day obj method clear_marks = Calendar.clear_marks obj method date = Calendar.get_date obj method set_display_options = Calendar.set_display_options obj end let calendar ?options ?packing ?show () = let w = Calendar.create [] in may options ~f:(Calendar.set_display_options w); pack_return (new calendar w) ~packing ~show class drawing_area obj = object inherit widget_full (obj : [> Gtk.drawing_area] obj) method event = new GObj.event_ops obj end let drawing_area ?packing ?show () = let w = DrawingArea.create [] in pack_return (new drawing_area w) ~packing ~show class misc obj = object inherit ['a] widget_impl obj inherit misc_props end class arrow obj = object inherit misc obj inherit arrow_props end let arrow = Arrow.make_params [] ~cont:( Misc.all_params ~cont:(fun p ?packing ?show () -> pack_return (new arrow (Arrow.create p)) ~packing ~show)) class image obj = object (self) inherit misc obj inherit image_props method clear () = Image.clear obj end type image_type = [ `EMPTY | `PIXBUF | `STOCK | `ICON_SET | `ANIMATION | `ICON_NAME | `GICON | `SURFACE ] let image = Image.make_params [] ~cont:( Misc.all_params ~cont:(fun p ?packing ?show () -> pack_return (new image (Image.create p)) ~packing ~show)) class label_skel obj = object(self) inherit misc obj inherit label_props method text = GtkMiscProps.Label.get_text obj method set_text = GtkMiscProps.Label.set_text obj method get_layout = GtkMiscProps.Label.get_layout obj method selection_bounds = GtkMiscProps.Label.get_selection_bounds obj method select_region = GtkMiscProps.Label.select_region obj end class label obj = object inherit label_skel (obj : Gtk.label obj) method connect = new widget_signals_impl obj end let label ?text ?markup ?use_underline ?mnemonic_widget = let label, use_markup = if markup = None then text, None else markup, Some true in let mnemonic_widget = may_map (fun w -> w#as_widget) mnemonic_widget in Label.make_params [] ?label ?use_markup ?use_underline ?mnemonic_widget ~cont:( Misc.all_params ~cont:(fun p ?packing ?show () -> pack_return (new label (Label.create p)) ~packing ~show)) let label_cast w = new label (Label.cast w#as_widget) class color_selection obj = object inherit [Gtk.color_selection] GObj.widget_impl obj method connect = new GObj.widget_signals_impl obj method set_border_width = set Container.P.border_width obj inherit color_selection_props end let color_selection = ColorSelection.make_params [] ~cont:( GContainer.pack_container ~create: (fun p -> new color_selection (ColorSelection.create p))) class font_selection obj = object inherit [Gtk.font_selection] widget_impl obj inherit font_selection_props method event = new event_ops obj method connect = new GObj.widget_signals_impl obj method set_border_width = set Container.P.border_width obj end let font_selection = FontSelection.make_params [] ~cont:( GContainer.pack_container ~create: (fun p -> new font_selection (FontSelection.create p))) lablgtk-3.1.2/src/gMisc.mli0000644000650106067230000003304214161276610014336 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk open GObj open GContainer (** Miscellaneous widgets *) (** @gtkdoc gtk GtkSeparator @gtkdoc gtk GtkHSeparator @gtkdoc gtk GtkVSeparator *) val separator : Tags.orientation -> ?packing:(widget -> unit) -> ?show:bool -> unit -> widget_full (** {3 Statusbar} *) class statusbar_context : Gtk.statusbar obj -> Gtk.statusbar_context -> object val context : Gtk.statusbar_context val obj : Gtk.statusbar obj method context : Gtk.statusbar_context method flash : ?delay:int -> string -> unit (** @param delay default value is [1000] ms *) method pop : unit -> unit method push : string -> statusbar_message method remove : statusbar_message -> unit end (** Report messages of minor importance to the user @gtkdoc gtk GtkStatusbar *) class statusbar : Gtk.statusbar obj -> object inherit GPack.box val obj : Gtk.statusbar obj method new_context : name:string -> statusbar_context end (** @gtkdoc gtk GtkStatusbar *) val statusbar : ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> statusbar (** {3 Status icon} *) (** @gtkdoc gtk GtkStatusIcon *) class status_icon_signals : Gtk.status_icon Gobject.obj -> object method activate : callback:(unit -> unit) -> GtkSignal.id method popup_menu : callback:(int -> int -> unit) -> GtkSignal.id method size_changed : callback:(int -> unit) -> GtkSignal.id method notify_screen : callback:(Gdk.screen -> unit) -> GtkSignal.id method notify_visible : callback:(bool -> unit) -> GtkSignal.id method notify_tooltip_markup : callback:(string -> unit) -> GtkSignal.id method notify_tooltip_text : callback:(string -> unit) -> GtkSignal.id end (** Display an icon in the system tray. @gtkdoc gtk GtkStatusIcon *) class status_icon : Gtk.gtk_status_icon -> object val obj : Gtk.status_icon Gobject.obj method connect : status_icon_signals method get_icon_name : string method get_pixbuf : GdkPixbuf.pixbuf method screen : Gdk.screen method get_size : int method get_stock : string method visible : bool method is_embedded : bool method set_from_file : string -> unit method set_from_icon_name : string -> unit method set_from_pixbuf : GdkPixbuf.pixbuf -> unit method set_from_stock : string -> unit method set_screen : Gdk.screen -> unit method set_tooltip_markup : string -> unit method set_tooltip_text : string -> unit method set_visible : bool -> unit method tooltip_markup : string method tooltip_text : string end val status_icon : ?screen:Gdk.screen -> ?visible:bool -> ?tooltip_markup:string -> ?tooltip_text:string -> unit -> status_icon val status_icon_from_pixbuf : ?screen:Gdk.screen -> ?visible:bool -> ?tooltip_markup:string -> ?tooltip_text:string -> GdkPixbuf.pixbuf -> status_icon val status_icon_from_file : ?screen:Gdk.screen -> ?visible:bool -> ?tooltip_markup:string -> ?tooltip_text:string -> string -> status_icon val status_icon_from_stock : ?screen:Gdk.screen -> ?visible:bool -> ?tooltip_markup:string -> ?tooltip_text:string -> string -> status_icon val status_icon_from_icon_name : ?screen:Gdk.screen -> ?visible:bool -> ?tooltip_markup:string -> ?tooltip_text:string -> string -> status_icon (** {3 Calendar} *) (** @gtkdoc gtk GtkCalendar *) class calendar_signals : 'a obj -> object inherit GObj.widget_signals constraint 'a = [> calendar] val obj : 'a obj method day_selected : callback:(unit -> unit) -> GtkSignal.id method day_selected_double_click : callback:(unit -> unit) -> GtkSignal.id method month_changed : callback:(unit -> unit) -> GtkSignal.id method next_month : callback:(unit -> unit) -> GtkSignal.id method next_year : callback:(unit -> unit) -> GtkSignal.id method prev_month : callback:(unit -> unit) -> GtkSignal.id method prev_year : callback:(unit -> unit) -> GtkSignal.id method notify_day : callback:(int -> unit) -> GtkSignal.id method notify_month : callback:(int -> unit) -> GtkSignal.id method notify_year : callback:(int -> unit) -> GtkSignal.id end (** Display a calendar and/or allow the user to select a date @gtkdoc gtk GtkCalendar *) class calendar : Gtk.calendar obj -> object inherit GObj.widget val obj : Gtk.calendar obj method day : int method month : int method year : int method set_day : int -> unit method set_month : int -> unit method set_year : int -> unit method event : event_ops method clear_marks : unit method connect : calendar_signals method date : int * int * int method mark_day : int -> unit method select_day : int -> unit method select_month : month:int -> year:int -> unit method unmark_day : int -> unit method set_display_options : Tags.calendar_display_options list -> unit end (** @gtkdoc gtk GtkCalendar *) val calendar : ?options:Tags.calendar_display_options list -> ?packing:(widget -> unit) -> ?show:bool -> unit -> calendar (** {3 Drawing Area} *) (** A widget for custom user interface elements @gtkdoc gtk GtkDrawingArea *) class drawing_area : ([> Gtk.drawing_area] as 'a) obj -> object inherit GObj.widget_full val obj : 'a obj method event : event_ops end (** @gtkdoc gtk GtkDrawingArea *) val drawing_area : ?packing:(widget -> unit) -> ?show:bool -> unit -> drawing_area (** {3 Misc. Widgets} *) (** A base class for widgets with alignments and padding @gtkdoc gtk GtkMisc *) class misc : ([> Gtk.misc] as 'a) obj -> object inherit GObj.widget val obj : 'a obj method set_xalign : float -> unit method set_yalign : float -> unit method set_xpad : int -> unit method set_ypad : int -> unit method xalign : float method yalign : float method xpad : int method ypad : int end (** Produces an arrow pointing in one of the four cardinal directions @gtkdoc gtk GtkArrow *) class arrow : ([> Gtk.arrow] as 'a) obj -> object inherit misc val obj : 'a obj method set_kind : Tags.arrow_type -> unit method set_shadow : Tags.shadow_type -> unit method kind : Tags.arrow_type method shadow : Tags.shadow_type end (** @gtkdoc gtk GtkArrow @param kind default value is [`RIGHT] @param shadow default value is [`OUT] *) val arrow : ?kind:Tags.arrow_type -> ?shadow:Tags.shadow_type -> ?xalign:float -> ?yalign:float -> ?xpad:int -> ?ypad:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> arrow type image_type = [ `EMPTY | `PIXBUF | `STOCK | `ICON_SET | `ANIMATION | `ICON_NAME | `GICON | `SURFACE ] (** A widget displaying an image @gtkdoc gtk GtkImage *) class image : 'a obj -> object inherit misc constraint 'a = [> Gtk.image] val obj : 'a obj method clear : unit -> unit (** since Gtk 2.8 *) method storage_type : image_type method set_file : string -> unit method set_pixbuf : GdkPixbuf.pixbuf -> unit method set_stock : GtkStock.id -> unit method set_icon_name : string -> unit method set_icon_set : icon_set -> unit method set_icon_size : Tags.icon_size -> unit method set_pixel_size : int -> unit method set_resource : string -> unit method set_use_fallback : bool -> unit method pixbuf : GdkPixbuf.pixbuf method pixel_size : int method stock : GtkStock.id method icon_name : string method icon_set : icon_set method icon_size : Tags.icon_size method resource : string method use_fallback : bool end (** @gtkdoc gtk GtkImage *) val image : ?file:string -> ?icon_name:string -> ?icon_set:icon_set -> ?icon_size:Tags.icon_size -> ?pixbuf:GdkPixbuf.pixbuf -> ?pixel_size:int -> ?resource:string -> ?stock:GtkStock.id -> ?use_fallback:bool -> ?xalign:float -> ?yalign:float -> ?xpad:int -> ?ypad:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> image (** {4 Labels} *) (** @gtkdoc gtk GtkLabel *) class label_skel : 'a obj -> object inherit misc constraint 'a = [> Gtk.label] val obj : 'a obj method cursor_position : int method selection_bound : int method selection_bounds : (int * int) option method select_region : int -> int -> unit method set_justify : Tags.justification -> unit method set_label : string -> unit method set_line_wrap : bool -> unit method set_mnemonic_widget : widget option -> unit method set_pattern : string -> unit method set_selectable : bool -> unit method set_text : string -> unit method set_use_markup : bool -> unit method set_use_underline : bool -> unit method justify : Tags.justification method label : string method line_wrap : bool method mnemonic_keyval : int method mnemonic_widget : widget option method selectable : bool method text : string method use_markup : bool method use_underline : bool method angle : float (** @since GTK 2.6 *) method set_angle : float -> unit (** @since GTK 2.6 *) method max_width_chars : int (** @since GTK 2.6 *) method set_max_width_chars : int -> unit (** @since GTK 2.6 *) method single_line_mode : bool (** @since GTK 2.6 *) method set_single_line_mode : bool -> unit (** @since GTK 2.6 *) method width_chars : int (** @since GTK 2.6 *) method set_width_chars : int -> unit (** @since GTK 2.6 *) method ellipsize : PangoEnums.ellipsize_mode (** @since GTK 2.6 *) method set_ellipsize : PangoEnums.ellipsize_mode -> unit (** @since GTK 2.6 *) method get_layout : Pango.layout end (** A widget that displays a small to medium amount of text @gtkdoc gtk GtkLabel *) class label : Gtk.label obj -> object inherit label_skel val obj : Gtk.label obj method connect : widget_signals end (** @gtkdoc gtk GtkLabel @param markup overrides [text] if both are present @param use_underline default value is [false] @param justify default value is [`LEFT] @param selectable default value is [false] @param line_wrap default values is [false] *) val label : ?text:string -> ?markup:string -> (* overrides ~text if present *) ?use_underline:bool -> ?mnemonic_widget:#widget -> ?justify:Tags.justification -> ?line_wrap:bool -> ?pattern:string -> ?selectable:bool -> ?ellipsize:PangoEnums.ellipsize_mode -> ?xalign:float -> ?yalign:float -> ?xpad:int -> ?ypad:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> label val label_cast : < as_widget : 'a obj ; .. > -> label (** {3 Color and font selection} *) (** Deprecated since 3.0 *) (** A widget used to select a color @gtkdoc gtk GtkColorSelection *) class color_selection : Gtk.color_selection obj -> object inherit GObj.widget_full val obj : Gtk.color_selection obj method alpha : int method color : Gdk.color method set_alpha : int -> unit method set_border_width : int -> unit method set_color : Gdk.color -> unit method set_has_opacity_control : bool -> unit method set_has_palette : bool -> unit method has_opacity_control : bool method has_palette : bool end (** @gtkdoc gtk GtkColorSelection *) val color_selection : ?alpha:int -> ?color:Gdk.color -> ?has_opacity_control:bool -> ?has_palette:bool -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> color_selection (** A widget for selecting fonts. @gtkdoc gtk GtkFontSelection *) class font_selection : Gtk.font_selection obj -> object inherit GObj.widget_full val obj : Gtk.font_selection obj method event : event_ops method font_name : string method preview_text : string method set_border_width : int -> unit method set_font_name : string -> unit method set_preview_text : string -> unit end (** @gtkdoc gtk GtkFontSelection *) val font_selection : ?font_name:string -> ?preview_text:string -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> font_selection lablgtk-3.1.2/src/gObj.ml0000644000650106067230000003737214161276610014016 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels open Gaux open Gobject open Gtk open GtkData open GtkBase (* GObject *) class ['a] gobject_signals obj = object val obj : 'a obj = obj val after = false method after = {< after = true >} method private connect : 'b. ('a,'b) GtkSignal.t -> callback:'b -> _ = fun sgn ~callback -> GtkSignal.connect obj ~sgn ~after ~callback method private notify : 'b. ('a, 'b) property -> callback:('b -> unit) -> _ = fun prop ~callback -> GtkSignal.connect_property obj ~prop ~callback end class gobject_ops obj = object val obj = obj method get_oid = get_oid obj method get_type = Type.name (get_type obj) method disconnect = GtkSignal.disconnect obj method handler_block = GtkSignal.handler_block obj method handler_unblock = GtkSignal.handler_unblock obj method set_property : 'a. string -> 'a data_set -> unit = Property.set_dyn obj method get_property = Property.get_dyn obj method freeze_notify () = Property.freeze_notify obj method thaw_notify () = Property.thaw_notify obj end (* GtkObject *) class type ['a] objvar = object val obj : 'a obj end class gtkobj obj = object val obj = obj method get_oid = get_oid obj end class type gtkobj_signals = object ('a) method after : 'a end (* Widget *) module Widget = GtkBase.Widget module Event = Widget.Signals.Event module Signals = Widget.S module P = Widget.P class event_signals obj = object (self) inherit ['a] gobject_signals (obj :> Gtk.widget obj) method any = self#connect Event.any method after_any = self#connect Signals.event_after method button_press = self#connect Event.button_press method button_release = self#connect Event.button_release method configure = self#connect Event.configure method delete = self#connect Event.delete method destroy = self#connect Event.destroy method enter_notify = self#connect Event.enter_notify method expose = self#connect Event.expose method focus_in = self#connect Event.focus_in method focus_out = self#connect Event.focus_out method key_press = self#connect Event.key_press method key_release = self#connect Event.key_release method leave_notify = self#connect Event.leave_notify method map = self#connect Event.map method motion_notify = self#connect Event.motion_notify method property_notify = self#connect Event.property_notify method proximity_in = self#connect Event.proximity_in method proximity_out = self#connect Event.proximity_out method scroll = self#connect Event.scroll method selection_clear = self#connect Event.selection_clear method selection_notify = self#connect Event.selection_notify method selection_request = self#connect Event.selection_request method unmap = self#connect Event.unmap method visibility_notify = self#connect Event.visibility_notify method window_state = self#connect Event.window_state end class event_ops obj = object val obj = (obj :> Gtk.widget obj) method add = Widget.add_events obj method connect = new event_signals obj method send : Gdk.Tags.event_type Gdk.event -> bool = Widget.event obj end let iter_setcol set style = List.iter ~f:(fun (state, color) -> set style state (GDraw.color color)) class style st = object val style = st method as_style = style method copy = {< style = Style.copy style >} (* method colormap = Style.get_colormap style*) (* method font = Style.get_font style*) method bg = Style.get_bg style method set_bg = iter_setcol Style.set_bg style method fg = Style.get_fg style method set_fg = iter_setcol Style.set_fg style method light = Style.get_light style method set_light = iter_setcol Style.set_light style method dark = Style.get_dark style method set_dark = iter_setcol Style.set_dark style method mid = Style.get_mid style method set_mid = iter_setcol Style.set_mid style method base = Style.get_base style method set_base = iter_setcol Style.set_base style method text = Style.get_text style method set_text = iter_setcol Style.set_text style (* method set_font = Style.set_font style*) end class css_provider prov = object val prov = prov method as_css_provider = prov method load_from_data = CssProvider.load_from_data prov end let css_provider () = new css_provider (CssProvider.create ()) class style_context ctxt = object val ctxt = ctxt (** Does not cascade!! StyleContext.add_provider_for_screen does cascade. *) method add_provider (provider: css_provider) = StyleContext.add_provider ctxt (provider#as_css_provider) end class selection_input (sel : Gtk.selection_data) = object val sel = sel method selection = Selection.selection sel method target = Gdk.Atom.name (Selection.target sel) end class selection_data sel = object inherit selection_input sel method typ = Gdk.Atom.name (Selection.seltype sel) method data = Selection.get_data sel method format = Selection.format sel end class selection_context sel = object inherit selection_input sel method return ?typ ?(format=8) data = let typ = match typ with Some t -> Gdk.Atom.intern t | _ -> Selection.target sel in Selection.set sel ~typ ~format ~data:(Some data) end class drag_signals obj = object (self) inherit ['a] gobject_signals obj method private connect_drag : 'b. ('a, Gdk.drag_context -> 'b) GtkSignal.t -> callback:(drag_context -> 'b) -> _ = fun sgn ~callback -> self#connect sgn (fun context -> callback (new drag_context context)) method beginning = self#connect_drag Signals.drag_begin method ending = self#connect_drag Signals.drag_end method data_delete = self#connect_drag Signals.drag_data_delete method leave = self#connect_drag Signals.drag_leave method motion = self#connect_drag Signals.drag_motion method drop = self#connect_drag Signals.drag_drop method data_get ~callback = self#connect Signals.drag_data_get ~callback: begin fun context seldata ~info ~time -> callback (new drag_context context) (new selection_context seldata) ~info ~time end method data_received ~callback = self#connect Signals.drag_data_received ~callback:(fun context ~x ~y data -> callback (new drag_context context) ~x ~y (new selection_data data)) end and drag_ops obj = object val obj = obj method connect = new drag_signals obj method dest_set ?(flags=[`ALL]) ?(actions=[]) targets = DnD.dest_set obj ~flags ~actions ~targets:(Array.of_list targets) method dest_unset () = DnD.dest_unset obj method get_data ~target ?(time=Int32.zero) (context : drag_context) = DnD.get_data obj context#context ~target:(Gdk.Atom.intern target) ~time method highlight () = DnD.highlight obj method unhighlight () = DnD.unhighlight obj method source_set ?modi:m ?(actions=[]) targets = DnD.source_set obj ?modi:m ~actions ~targets:(Array.of_list targets) method source_unset () = DnD.source_unset obj end and drag_context context = object inherit GDraw.drag_context context method context = context method finish = DnD.finish context method source_widget = new widget (unsafe_cast (DnD.get_source_widget context)) method set_icon_widget (w : widget) = DnD.set_icon_widget context (w#as_widget) (* method set_icon_pixmap ?(colormap = Gdk.Color.get_system_colormap ()) (pix : GDraw.pixmap) = DnD.set_icon_pixmap context ~colormap pix#pixmap ?mask:pix#mask *) end and misc_signals obj = object (self) inherit [_] gobject_signals obj method destroy = self#connect Signals.destroy method show = self#connect Signals.show method hide = self#connect Signals.hide method map = self#connect Signals.map method unmap = self#connect Signals.unmap method draw = self#connect Signals.draw method query_tooltip = self#connect Signals.query_tooltip method realize = self#connect Signals.realize method unrealize = self#connect Signals.unrealize method state_changed = self#connect Signals.state_changed method size_allocate = self#connect Signals.size_allocate method parent_set ~callback = self#connect Signals.parent_set ~callback: begin function None -> callback None | Some w -> callback (Some (new widget (unsafe_cast w))) end method style_set ~callback = self#connect Signals.style_set ~callback: (fun opt -> callback (may opt ~f:(new style))) method selection_get ~callback = self#connect Signals.selection_get ~callback: begin fun seldata ~info ~time -> callback (new selection_context seldata) ~info ~time end method selection_received ~callback = self#connect Signals.selection_received ~callback:(fun data -> callback (new selection_data data)) end and misc_ops obj = object (self) inherit gobject_ops obj method connect = new misc_signals obj method show () = Widget.show obj method unparent () = Widget.unparent obj method show_all () = Widget.show_all obj method hide () = Widget.hide obj method map () = Widget.map obj method unmap () = Widget.unmap obj method realize () = Widget.realize obj method unrealize () = Widget.unrealize obj method draw = Widget.draw obj method queue_draw () = Widget.queue_draw obj method queue_draw_area = Widget.queue_draw_area obj method activate () = Widget.activate obj method reparent (w : widget) = Widget.reparent obj w#as_widget (* method popup = popup obj *) method intersect = Widget.intersect obj method grab_focus () = set P.has_focus obj true method grab_default () = set P.has_default obj true method is_ancestor (w : widget) = Widget.is_ancestor obj w#as_widget method add_accelerator : 'a. sgn:('a, unit -> unit) GtkSignal.t -> _ = fun ~sgn:sg ~group ?modi ?flags key -> let sg = {sg with GtkSignal.classe = `widget} in Widget.add_accelerator obj ~sgn:sg group ~key ?modi ?flags method remove_accelerator ~group ?modi key = Widget.remove_accelerator obj group ~key ?modi (* method lock_accelerators () = lock_accelerators obj *) method sensitive = get P.sensitive obj method set_name = set P.name obj method set_sensitive = set P.sensitive obj method set_can_default = set P.can_default obj method set_can_focus = set P.can_focus obj method set_app_paintable = set P.app_paintable obj method set_double_buffered = Widget.set_double_buffered obj method set_size_request = Widget.size_params [] ~cont:(fun p () -> set_params obj p) method set_size_chars ?desc ?lang ?width ?height () = let metrics = (self#pango_context : GPango.context)#get_metrics ?desc ?lang () in let width = may_map width ~f: (fun w -> w * GPango.to_pixels metrics#approx_digit_width) and height = may_map height ~f: (fun h -> h * GPango.to_pixels (metrics#ascent+metrics#descent)) in self#set_size_request ?width ?height () method set_style (style : style) = set P.style obj style#as_style (* Deprecated since 3.0 *) method modify_fg = iter_setcol Widget.modify_fg obj method modify_bg = iter_setcol Widget.modify_bg obj method modify_text = iter_setcol Widget.modify_text obj method modify_base = iter_setcol Widget.modify_base obj method modify_font (f : GPango.font_description) = Widget.modify_font obj f#fd method modify_font_by_name s = Widget.modify_font obj (Pango.Font.from_string s) (* End deprecated since 3.0 *) method create_pango_context = new GPango.context (Widget.create_pango_context obj) (* get functions *) method name = get P.name obj method toplevel = try new widget (unsafe_cast (Widget.get_toplevel obj)) with Gpointer.Null -> failwith "GObj.misc_ops#toplevel" method window = Widget.window obj method visual = Widget.get_visual obj method visual_depth = Gdk.Visual.depth (Widget.get_visual obj) method pointer = Widget.get_pointer obj method style = new style (get P.style obj) method style_context = new style_context (Widget.get_style_context obj) method visible = get P.visible obj method parent = may_map (fun w -> new widget (unsafe_cast w)) (get P.parent obj) method allocation = Widget.allocation obj method pango_context = new GPango.context (Widget.get_pango_context obj) (* icon *) method render_icon ~size id = Widget.render_icon obj (GtkStock.convert_id id) size (* selection *) method convert_selection ~target ?(time=Int32.zero) sel = Selection.convert obj ~sel ~target:(Gdk.Atom.intern target) ~time method grab_selection ?(time=Int32.zero) sel = Selection.owner_set obj ~sel ~time method add_selection_target ~target ?(info=0) sel = Selection.add_target obj ~sel ~target:(Gdk.Atom.intern target) ~info method clear_selection_targets sel = Selection.clear_targets obj ~sel (* tooltip *) method has_tooltip = get P.has_tooltip obj method tooltip_markup = get P.tooltip_markup obj method tooltip_text = get P.tooltip_text obj method set_has_tooltip = set P.has_tooltip obj method set_tooltip_markup = set P.tooltip_markup obj method set_tooltip_text = set P.tooltip_text obj end and widget obj = object (self) inherit gtkobj obj inherit OgtkBaseProps.widget_props method as_widget = (obj :> Gtk.widget obj) method misc = new misc_ops (obj :> Gtk.widget obj) method drag = new drag_ops (unsafe_cast obj : Gtk.widget obj) method coerce = (self :> widget) method destroy () = Widget.destroy obj end class widget_signals_impl obj = object (self) inherit [[>Gtk.widget]] gobject_signals obj method destroy = self#connect Widget.S.destroy end class type widget_signals = object ('a) method after : 'a method destroy : callback:(unit -> unit) -> GtkSignal.id end class ['a] widget_impl (obj : 'a obj) = widget obj class widget_full obj = object inherit widget obj method connect = new widget_signals_impl obj end let as_widget (w : widget) = w#as_widget let wrap_widget w = new widget (unsafe_cast w) let unwrap_widget w = unsafe_cast w#as_widget let conv_widget_option = { kind = `OBJECT; proj = (function `OBJECT c -> may_map ~f:wrap_widget c | _ -> failwith "GObj.get_object"); inj = (fun c -> `OBJECT (may_map ~f:unwrap_widget c)) } let conv_widget = { kind = `OBJECT; proj = (function `OBJECT (Some c) -> wrap_widget c | `OBJECT None -> raise Gpointer.Null | _ -> failwith "GObj.get_object"); inj = (fun c -> `OBJECT (Some (unwrap_widget c))) } let pack_return self ~packing ~show = may packing ~f:(fun f -> (f (self :> widget) : unit)); if show <> Some false then self#misc#show (); self lablgtk-3.1.2/src/gObj.mli0000644000650106067230000004222314161276610014156 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk (** Base classes for objects and widgets *) (** {3 GObject} *) class gobject_ops : 'a obj -> object val obj : 'a obj method get_oid : int method get_type : string method disconnect : GtkSignal.id -> unit method handler_block : GtkSignal.id -> unit method handler_unblock : GtkSignal.id -> unit method set_property : 'a. string -> 'a Gobject.data_set -> unit method get_property : string -> Gobject.data_get method freeze_notify : unit -> unit method thaw_notify : unit -> unit end class ['a] gobject_signals : 'a obj -> object ('b) val obj : 'a obj val after : bool method after : 'b method private connect : 'c. ('a,'c) GtkSignal.t -> callback:'c -> GtkSignal.id method private notify : 'b. ('a, 'b) Gobject.property -> callback:('b -> unit) -> GtkSignal.id end (** {3 GtkObject} *) class type ['a] objvar = object val obj : 'a obj (* needed for pre 3.10 method private obj : 'a obj *) end class gtkobj : 'a obj -> object val obj : 'a obj method get_oid : int end class type gtkobj_signals = object ('a) method after : 'a end (** {3 GtkWidget} *) class event_signals : [> widget] obj -> object ('a) method after : 'a method any : callback:(Gdk.Tags.event_type Gdk.event -> bool) -> GtkSignal.id method after_any : callback:(Gdk.Tags.event_type Gdk.event -> unit) -> GtkSignal.id method button_press : callback:(GdkEvent.Button.t -> bool) -> GtkSignal.id method button_release : callback:(GdkEvent.Button.t -> bool) -> GtkSignal.id method configure : callback:(GdkEvent.Configure.t -> bool) -> GtkSignal.id method delete : callback:([`DELETE] Gdk.event -> bool) -> GtkSignal.id method destroy : callback:([`DESTROY] Gdk.event -> bool) -> GtkSignal.id method enter_notify : callback:(GdkEvent.Crossing.t -> bool) -> GtkSignal.id method expose : callback:(GdkEvent.Expose.t -> bool) -> GtkSignal.id method focus_in : callback:(GdkEvent.Focus.t -> bool) -> GtkSignal.id method focus_out : callback:(GdkEvent.Focus.t -> bool) -> GtkSignal.id method key_press : callback:(GdkEvent.Key.t -> bool) -> GtkSignal.id method key_release : callback:(GdkEvent.Key.t -> bool) -> GtkSignal.id method leave_notify : callback:(GdkEvent.Crossing.t -> bool) -> GtkSignal.id method map : callback:([`MAP] Gdk.event -> bool) -> GtkSignal.id method motion_notify : callback:(GdkEvent.Motion.t -> bool) -> GtkSignal.id method property_notify : callback:(GdkEvent.Property.t -> bool) -> GtkSignal.id method proximity_in : callback:(GdkEvent.Proximity.t -> bool) -> GtkSignal.id method proximity_out : callback:(GdkEvent.Proximity.t -> bool) -> GtkSignal.id method scroll : callback:(GdkEvent.Scroll.t -> bool) -> GtkSignal.id method selection_clear : callback:(GdkEvent.Selection.t -> bool) -> GtkSignal.id method selection_notify : callback:(GdkEvent.Selection.t -> bool) -> GtkSignal.id method selection_request : callback:(GdkEvent.Selection.t -> bool) -> GtkSignal.id method unmap : callback:([`UNMAP] Gdk.event -> bool) -> GtkSignal.id method visibility_notify : callback:(GdkEvent.Visibility.t -> bool) -> GtkSignal.id method window_state : callback:(GdkEvent.WindowState.t -> bool) -> GtkSignal.id end class event_ops : [> widget] obj -> object method add : Gdk.Tags.event_mask list -> unit method connect : event_signals method send : GdkEvent.any -> bool end (** @gtkdoc gtk GtkStyle *) class style : Gtk.style -> object ('a) val style : Gtk.style method as_style : Gtk.style method base : Gtk.Tags.state_type -> Gdk.color method bg : Gtk.Tags.state_type -> Gdk.color (* method colormap : Gdk.colormap *) method copy : 'a method dark : Gtk.Tags.state_type -> Gdk.color method fg : Gtk.Tags.state_type -> Gdk.color (* method font : Gdk.font *) method light : Gtk.Tags.state_type -> Gdk.color method mid : Gtk.Tags.state_type -> Gdk.color method set_bg : (Gtk.Tags.state_type * GDraw.color) list -> unit method set_base : (Gtk.Tags.state_type * GDraw.color) list -> unit method set_dark : (Gtk.Tags.state_type * GDraw.color) list -> unit method set_fg : (Gtk.Tags.state_type * GDraw.color) list -> unit (* method set_font : Gdk.font -> unit *) method set_light : (Gtk.Tags.state_type * GDraw.color) list -> unit method set_mid : (Gtk.Tags.state_type * GDraw.color) list -> unit method set_text : (Gtk.Tags.state_type * GDraw.color) list -> unit method text : Gtk.Tags.state_type -> Gdk.color end (** @gtkdoc gtk GtkCssProvider *) class css_provider: Gtk.css_provider -> object val prov : Gtk.css_provider method as_css_provider : Gtk.css_provider method load_from_data: string -> unit end val css_provider: unit -> css_provider (** @gtkdoc gtk GtkStyleContext *) class style_context: Gtk.style_context -> object val ctxt : Gtk.style_context method add_provider: css_provider -> int -> unit end (** @gtkdoc gtk gtk-Selections *) class selection_data : Gtk.selection_data -> object val sel : Gtk.selection_data method data : string (* May raise Gpointer.Null *) method format : int method selection : Gdk.atom method typ : string method target : string end (** @gtkdoc gtk gtk-Selections *) class selection_context : Gtk.selection_data -> object val sel : Gtk.selection_data method selection : Gdk.atom method target : string method return : ?typ:string -> ?format:int -> string -> unit end (** @gtkdoc gtk gtk-Drag-and-Drop *) class drag_ops : Gtk.widget obj -> object method connect : drag_signals method dest_set : ?flags:Tags.dest_defaults list -> ?actions:Gdk.Tags.drag_action list -> target_entry list -> unit method dest_unset : unit -> unit method get_data : target:string -> ?time:int32 -> drag_context ->unit method highlight : unit -> unit method source_set : ?modi:Gdk.Tags.modifier list -> ?actions:Gdk.Tags.drag_action list -> target_entry list -> unit method source_unset : unit -> unit method unhighlight : unit -> unit end (** @gtkdoc gtk GtkWidget *) and misc_ops : Gtk.widget obj -> object inherit gobject_ops val obj : Gtk.widget obj method activate : unit -> bool method add_accelerator : 'a. sgn:('a, unit -> unit) GtkSignal.t -> group:accel_group -> ?modi:Gdk.Tags.modifier list -> ?flags:Tags.accel_flag list -> Gdk.keysym -> unit method add_selection_target : target:string -> ?info:int -> Gdk.atom -> unit method allocation : rectangle method clear_selection_targets : Gdk.atom -> unit method connect : misc_signals method convert_selection : target:string -> ?time:int32 -> Gdk.atom -> bool method create_pango_context : GPango.context method draw : Gdk.cairo -> unit method grab_default : unit -> unit method grab_focus : unit -> unit method grab_selection : ?time:int32 -> Gdk.atom -> bool method has_tooltip : bool method hide : unit -> unit method intersect : Gdk.Rectangle.t -> Gdk.Rectangle.t option method is_ancestor : widget -> bool method map : unit -> unit (* Deprecated since 3.0 *) method modify_bg : (Gtk.Tags.state_type * GDraw.color) list -> unit method modify_base : (Gtk.Tags.state_type * GDraw.color) list -> unit method modify_fg : (Gtk.Tags.state_type * GDraw.color) list -> unit method modify_text : (Gtk.Tags.state_type * GDraw.color) list -> unit method modify_font : GPango.font_description -> unit method modify_font_by_name : string -> unit (* End deprecated since 3.0 *) method style_context: style_context method name : string method parent : widget option method pango_context : GPango.context method pointer : int * int method queue_draw : unit -> unit method queue_draw_area : int -> int -> int -> int -> unit method realize : unit -> unit method remove_accelerator : group:accel_group -> ?modi:Gdk.Tags.modifier list -> Gdk.keysym -> unit method render_icon : size:Gtk.Tags.icon_size -> GtkStock.id -> GdkPixbuf.pixbuf method reparent : widget -> unit method sensitive : bool method set_app_paintable : bool -> unit method set_can_default : bool -> unit method set_can_focus : bool -> unit method set_double_buffered : bool -> unit method set_has_tooltip : bool -> unit method set_name : string -> unit method set_sensitive : bool -> unit method set_size_chars : ?desc:GPango.font_description -> ?lang:string -> ?width:int -> ?height:int -> unit -> unit method set_style : style -> unit method set_size_request : ?width:int -> ?height:int -> unit -> unit method set_tooltip_markup : string -> unit method set_tooltip_text : string -> unit method show : unit -> unit method show_all : unit -> unit method style : style method tooltip_markup : string method tooltip_text : string method toplevel : widget method unmap : unit -> unit method unparent : unit -> unit method unrealize : unit -> unit method visible : bool method visual : Gdk.visual method visual_depth : int method window : Gdk.window end (** @gtkdoc gtk GtkWidget *) and widget : ([> Gtk.widget] as 'a) obj -> object inherit gtkobj val obj : 'a obj method app_paintable : bool method as_widget : Gtk.widget obj method can_default : bool method can_focus : bool method coerce : widget method composite_child : bool method destroy : unit -> unit method drag : drag_ops method events : GdkEnums.event_mask list method expand : bool method focus_on_click : bool method halign : GtkEnums.align method has_default : bool method has_focus : bool method has_tooltip : bool method height_request : int method hexpand : bool method hexpand_set : bool method is_focus : bool method margin : int method margin_bottom : int method margin_end : int method margin_left : int method margin_right : int method margin_start : int method margin_top : int method misc : misc_ops method destroy : unit -> unit method name : string method no_show_all : bool method opacity : float method parent : Gtk.container Gtk.obj option method receives_default : bool method scale_factor : int method sensitive : bool method set_app_paintable : bool -> unit method set_can_default : bool -> unit method set_can_focus : bool -> unit method set_events : GdkEnums.event_mask list -> unit method set_expand : bool -> unit method set_focus_on_click : bool -> unit method set_halign : GtkEnums.align -> unit method set_has_default : bool -> unit method set_has_focus : bool -> unit method set_has_tooltip : bool -> unit method set_height_request : int -> unit method set_hexpand : bool -> unit method set_hexpand_set : bool -> unit method set_is_focus : bool -> unit method set_margin : int -> unit method set_margin_bottom : int -> unit method set_margin_end : int -> unit method set_margin_left : int -> unit method set_margin_right : int -> unit method set_margin_start : int -> unit method set_margin_top : int -> unit method set_name : string -> unit method set_no_show_all : bool -> unit method set_opacity : float -> unit method set_parent : Gtk.container Gtk.obj option -> unit method set_receives_default : bool -> unit method set_sensitive : bool -> unit method set_style : Gtk.style -> unit method set_tooltip_markup : string -> unit method set_tooltip_text : string -> unit method set_valign : GtkEnums.align -> unit method set_vexpand : bool -> unit method set_vexpand_set : bool -> unit method set_visible : bool -> unit method set_width_request : int -> unit method style : Gtk.style method tooltip_markup : string method tooltip_text : string method valign : GtkEnums.align method vexpand : bool method vexpand_set : bool method visible : bool method width_request : int end (** @gtkdoc gtk GtkWidget *) and misc_signals : Gtk.widget obj -> object ('b) inherit gtkobj_signals method destroy : callback:(unit -> unit) -> GtkSignal.id method hide : callback:(unit -> unit) -> GtkSignal.id method map : callback:(unit -> unit) -> GtkSignal.id method parent_set : callback:(widget option -> unit) -> GtkSignal.id method draw : callback:(Gdk.cairo -> bool) -> GtkSignal.id method query_tooltip : callback:(x:int -> y:int -> kbd:bool -> tooltip -> bool) -> GtkSignal.id method realize : callback:(unit -> unit) -> GtkSignal.id method unrealize : callback:(unit -> unit) -> GtkSignal.id method selection_get : callback:(selection_context -> info:int -> time:int32 -> unit) -> GtkSignal.id method selection_received : callback:(selection_data -> time:int32 -> unit) -> GtkSignal.id method show : callback:(unit -> unit) -> GtkSignal.id method size_allocate : callback:(Gtk.rectangle -> unit) -> GtkSignal.id method state_changed : callback:(Gtk.Tags.state_type -> unit) -> GtkSignal.id method style_set : callback:(unit -> unit) -> GtkSignal.id method unmap : callback:(unit -> unit) -> GtkSignal.id end (** @gtkdoc gtk gtk-Drag-and-Drop *) and drag_context : Gdk.drag_context -> object val context : Gdk.drag_context method context : Gdk.drag_context method finish : success:bool -> del:bool -> time:int32 -> unit method source_widget : widget method set_icon_widget : widget -> hot_x:int -> hot_y:int -> unit method status : ?time:int32 -> Gdk.Tags.drag_action option -> unit method suggested_action : Gdk.Tags.drag_action method targets : string list end (** @gtkdoc gtk gtk-Drag-and-Drop *) and drag_signals : Gtk.widget obj -> object ('a) method after : 'a method beginning : callback:(drag_context -> unit) -> GtkSignal.id method data_delete : callback:(drag_context -> unit) -> GtkSignal.id method data_get : callback: (drag_context -> selection_context -> info:int -> time:int32 -> unit) -> GtkSignal.id method data_received : callback:(drag_context -> x:int -> y:int -> selection_data -> info:int -> time:int32 -> unit) -> GtkSignal.id method drop : callback:(drag_context -> x:int -> y:int -> time:int32 -> bool) -> GtkSignal.id method ending : callback:(drag_context -> unit) -> GtkSignal.id method leave : callback:(drag_context -> time:int32 -> unit) -> GtkSignal.id method motion : callback:(drag_context -> x:int -> y:int -> time:int32 -> bool) -> GtkSignal.id end (** @gtkdoc gtk GtkWidget *) class ['a] widget_impl : ([> Gtk.widget] as 'a) obj -> object inherit widget inherit ['a] objvar end (** @gtkdoc gtk GtkWidget *) class type widget_signals = object inherit gtkobj_signals method destroy : callback:(unit -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkWidget *) class widget_signals_impl : ([> Gtk.widget] as 'a) obj -> object inherit ['a] gobject_signals inherit widget_signals end (** @gtkdoc gtk GtkWidget *) class widget_full : ([> Gtk.widget] as 'a) obj -> object inherit widget val obj : 'a obj method connect : widget_signals end (** @gtkdoc gtk GtkWidget *) val as_widget : widget -> Gtk.widget obj val pack_return : (#widget as 'a) -> packing:(widget -> unit) option -> show:bool option -> 'a (* To use in initializers to provide a ?packing: option *) val conv_widget : widget Gobject.data_conv val conv_widget_option : widget option Gobject.data_conv lablgtk-3.1.2/src/gPack.ml0000644000650106067230000002526114161276610014154 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gtk open GtkBase open GtkContainers open GtkPack open OgtkPackProps open GObj open GContainer module P = Box.P class box_skel obj = object inherit [[> Gtk.box]] container_impl obj inherit box_props method pack ?from:f ?expand ?fill ?padding w = Box.pack obj (as_widget w) ?from:f ?expand ?fill ?padding method set_child_packing ?from:f ?expand ?fill ?padding w = Box.set_child_packing obj (as_widget w) ?from:f ?expand ?fill ?padding method reorder_child w = Box.reorder_child obj (as_widget w) end class box obj = object inherit box_skel obj method connect = new container_signals_impl obj end let box dir = Box.make_params [] ~cont:( pack_container ~create:(fun p -> new box (Box.create dir p))) let vbox = box `VERTICAL let hbox = box `HORIZONTAL class button_box obj = object inherit box_skel obj method connect = new container_signals_impl obj method set_layout = set BBox.P.layout_style obj method layout = get BBox.P.layout_style obj method get_child_secondary (w : widget) = BBox.get_child_secondary obj w#as_widget method set_child_secondary (w : widget) = BBox.set_child_secondary obj w#as_widget end let button_box dir ?spacing ?layout = pack_container [] ~create:(fun p -> let p = Property.may_cons Box.P.spacing spacing ( Property.may_cons BBox.P.layout_style layout p) in let w = BBox.create dir p in new button_box w) class table obj = object inherit container_full (obj : Gtk.table obj) method private obj = obj inherit table_props method attach ~left ~top ?right ?bottom ?expand ?fill ?shrink ?xpadding ?ypadding w = Table.attach obj (as_widget w) ~left ~top ?right ?bottom ?expand ?fill ?shrink ?xpadding ?ypadding method set_row_spacing = Table.set_row_spacing obj method set_col_spacing = Table.set_col_spacing obj end let table = Table.make_params [] ~cont:( pack_container ~create:(fun p -> new table (Table.create p))) class grid obj = object inherit container_full (obj : Gtk.grid obj) method private obj = obj inherit grid_props method attach ~left ~top ?width ?height w = Grid.attach obj (as_widget w) ~left ~top ?width ?height end let grid = Grid.make_params [] ~cont:( pack_container ~create:(fun p -> new grid (Grid.create p))) class fixed obj = object inherit container_full (obj : Gtk.fixed obj) method event = new GObj.event_ops obj method put w = Fixed.put obj (as_widget w) method move w = Fixed.move obj (as_widget w) end let fixed = pack_container [] ~create:(fun p -> new fixed (Fixed.create p)) class layout obj = object inherit container_full obj method event = new GObj.event_ops obj method put w = Layout.put obj (as_widget w) method move w = Layout.move obj (as_widget w) method set_hadjustment adj = set Layout.P.hadjustment obj (GData.as_adjustment adj) method set_vadjustment adj = set Layout.P.vadjustment obj (GData.as_adjustment adj) method set_width = set Layout.P.width obj method set_height = set Layout.P.height obj method hadjustment = new GData.adjustment (get Layout.P.hadjustment obj) method vadjustment = new GData.adjustment (get Layout.P.vadjustment obj) method bin_window = Layout.get_bin_window obj method width = get Layout.P.width obj method height = get Layout.P.height obj end let layout ?hadjustment ?vadjustment ?layout_width ?layout_height = Layout.make_params [] ?hadjustment:(may_map GData.as_adjustment hadjustment) ?vadjustment:(may_map GData.as_adjustment vadjustment) ?width:layout_width ?height:layout_height ~cont:( pack_container ~create:(fun p -> new layout (Layout.create p))) (* class packer obj = object inherit container_full (obj : Gtk.packer obj) method pack ?side ?anchor ?expand ?fill ?border_width ?pad_x ?pad_y ?i_pad_x ?i_pad_y w = let options = Packer.build_options ?expand ?fill () in if border_width == None && pad_x == None && pad_y == None && i_pad_x == None && i_pad_y == None then Packer.add_defaults obj (as_widget w) ?side ?anchor ~options else Packer.add obj (as_widget w) ?side ?anchor ~options ?border_width ?pad_x ?pad_y ?i_pad_x ?i_pad_y method set_child_packing ?side ?anchor ?expand ?fill ?border_width ?pad_x ?pad_y ?i_pad_x ?i_pad_y w = Packer.set_child_packing obj (as_widget w) ?side ?anchor ~options:(Packer.build_options ?expand ?fill ()) ?border_width ?pad_x ?pad_y ?i_pad_x ?i_pad_y method reorder_child w = Packer.reorder_child obj (as_widget w) method set_spacing = Packer.set_spacing obj method set_defaults = Packer.set_defaults obj end let packer ?spacing ?border_width ?width ?height ?packing ?show () = let w = Packer.create () in may spacing ~f:(Packer.set_spacing w); Container.set w ?border_width ?width ?height; pack_return (new packer w) ~packing ~show *) let check1 obj = try ignore(Paned.get_child1 obj); raise(Error "GPack.paned#add1: already full") with _ -> () let check2 obj = try ignore(Paned.get_child1 obj); raise(Error "GPack.paned#add1: already full") with _ -> () class paned obj = object inherit [Gtk.paned] container_impl obj inherit paned_props method connect = new container_signals_impl obj method event = new GObj.event_ops obj method add w = if List.length (Container.children obj) = 2 then raise(Error "Gpack.paned#add: already full"); Container.add obj (as_widget w) method add1 w = check1 obj; Paned.add1 obj (as_widget w) method add2 w = check2 obj; Paned.add2 obj (as_widget w) method pack1 ?(resize=false) ?(shrink=false) w = check1 obj; Paned.pack1 obj (as_widget w) ~resize ~shrink method pack2 ?(resize=false) ?(shrink=false) w = check2 obj; Paned.pack2 obj (as_widget w) ~resize ~shrink method child1 = new widget (Paned.get_child1 obj) method child2 = new widget (Paned.get_child2 obj) end let paned dir = pack_container [] ~create:(fun p -> new paned (Paned.create dir p)) class size_group (obj : [> `sizegroup] obj) = object inherit GObj.gtkobj obj method add_widget : 'a. (#widget as 'a) -> _ = fun w -> SizeGroup.add_widget obj w#as_widget method remove_widget : 'a. (#widget as 'a) -> _ = fun w -> SizeGroup.remove_widget obj w#as_widget end let size_group_new ?mode () = GtkPack.SizeGroup.make_params ?mode [] ~cont:( fun _ -> new size_group (GtkPack.SizeGroup.new_ ())) class notebook_signals obj = object (self) inherit container_signals_impl obj method switch_page ~callback = self#connect Notebook.S.switch_page (fun _ arg1 -> callback arg1) inherit notebook_sigs end class notebook obj = object (self) inherit [Gtk.notebook] GContainer.container_impl obj inherit notebook_props method as_notebook = (obj :> Gtk.notebook obj) method event = new GObj.event_ops obj method connect = new notebook_signals obj method insert_page ?tab_label ?menu_label ?pos child = Notebook.insert_page_menu obj (as_widget child) ~tab_label:(Gpointer.may_box tab_label ~f:as_widget) ~menu_label:(Gpointer.may_box menu_label ~f:as_widget) ?pos method append_page ?tab_label ?menu_label child = self#insert_page ?tab_label ?menu_label child method prepend_page = self#insert_page ~pos:0 method remove_page = Notebook.remove_page obj method current_page = get Notebook.P.page obj method previous_page () = Notebook.prev_page obj method goto_page = set Notebook.P.page obj method next_page () = Notebook.next_page obj method page_num w = Notebook.page_num obj (as_widget w) method get_nth_page n = new widget (Notebook.get_nth_page obj n) method get_tab_label w = new widget (Notebook.get_tab_label obj (as_widget w)) method get_menu_label w = new widget (Notebook.get_menu_label obj (as_widget w)) method reorder_child (w : widget) i = Notebook.reorder_child obj (as_widget w) i method set_page ?tab_label ?menu_label page = let child = as_widget page in may tab_label ~f:(fun lbl -> Notebook.set_tab_label obj child (as_widget lbl)); may menu_label ~f:(fun lbl -> Notebook.set_menu_label obj child (as_widget lbl)) method set_tab_reorderable (w : widget) = Notebook.set_tab_reorderable obj (as_widget w) method get_tab_reorderable (w : widget) = Notebook.get_tab_reorderable obj (as_widget w) end let notebook = Notebook.make_params [] ~cont:( pack_container ~create:(fun p -> new notebook (Notebook.create p))) class stack obj = object inherit container obj inherit stack_props method as_stack = (obj :> Gtk.stack obj) method add_named w name = Stack.add_named obj (as_widget w) name method add_titled w name title = Stack.add_titled obj (as_widget w) name title method get_child_by_name name = new widget (Stack.get_child_by_name obj name) method set_visible_child_full name transition = Stack.set_visible_child_full obj name transition end let stack = Stack.make_params [] ~cont:( pack_container ~create:(fun p -> new stack (Stack.create p))) class stack_switcher obj = object inherit box_skel obj inherit stack_switcher_props method connect = new container_signals_impl obj end let stack_switcher = StackSwitcher.make_params [] ~cont:( pack_container ~create:(fun p -> new stack_switcher (StackSwitcher.create p))) lablgtk-3.1.2/src/gPack.mli0000644000650106067230000003540514161276610014326 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk open GObj open GContainer (** Several container widgets *) (** {3 Boxes} *) (** @gtkdoc gtk GtkBox *) class box_skel : ([> box] as 'a) obj -> object inherit GContainer.container val obj : 'a obj method pack : ?from:Tags.pack_type -> ?expand:bool -> ?fill:bool -> ?padding:int -> widget -> unit (** @param from default value is [`START] @param expand default value is [false] @param fill default value is [true], ignored if [expand] is [false] *) method reorder_child : widget -> pos:int -> unit method set_child_packing : ?from:Tags.pack_type -> ?expand:bool -> ?fill:bool -> ?padding:int -> widget -> unit method set_homogeneous : bool -> unit method homogeneous : bool method set_orientation : Gtk.Tags.orientation -> unit method orientation : Gtk.Tags.orientation method set_spacing : int -> unit method spacing : int end (** A base class for box containers @gtkdoc gtk GtkBox *) class size_group : ([> `sizegroup ] as 'a) Gtk.obj -> object val obj : 'a obj method get_oid : int method add_widget : #widget -> unit method remove_widget : #widget -> unit end (** A base class for box containers @gtkdoc gtk GtkBox *) class box : ([> Gtk.box] as 'a) obj -> object inherit box_skel val obj : 'a obj method connect : GContainer.container_signals end (** @gtkdoc gtk GtkBox @param homogeneous default value is [false] *) val box : Tags.orientation -> ?homogeneous:bool -> ?spacing:int -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> box (** @gtkdoc gtk GtkVBox @param homogeneous default value is [false] *) val vbox : ?homogeneous:bool -> ?spacing:int -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> box (** @gtkdoc gtk GtkHVBox @param homogeneous default value is [false] *) val hbox : ?homogeneous:bool -> ?spacing:int -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> box (** @gtkdoc gtk GtkButtonBox *) class button_box : ([> Gtk.button_box] as 'a) obj -> object inherit box val obj : 'a obj method set_layout : Gtk.Tags.button_box_style -> unit method layout : Gtk.Tags.button_box_style method get_child_secondary : widget -> bool (** @since GTK 2.4 *) method set_child_secondary : widget -> bool -> unit (** @since GTK 2.4 *) end (** @gtkdoc gtk GtkButtonBox *) val button_box : Tags.orientation -> ?spacing:int -> ?layout:Gtk.Tags.button_box_style -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> button_box (** {3 GtkTable} *) (** Pack widgets in regular patterns @gtkdoc gtk GtkTable *) class table : Gtk.table obj -> object inherit GContainer.container_full val obj : Gtk.table obj method attach : left:int -> top:int -> ?right:int -> ?bottom:int -> ?expand:Tags.expand_type -> ?fill:Tags.expand_type -> ?shrink:Tags.expand_type -> ?xpadding:int -> ?ypadding:int -> widget -> unit (** @param left column number to attach the left side of the widget to @param top row number to attach the top of the widget to @param right default value is [left+1] @param bottom default value is [top+1] @param expand default value is [`NONE] @param fill default value is [`BOTH] @param shrink default value is [`NONE] *) method col_spacings : int method columns : int method homogeneous : bool method row_spacings : int method rows : int method set_col_spacing : int -> int -> unit method set_col_spacings : int -> unit method set_columns : int -> unit method set_homogeneous : bool -> unit method set_row_spacing : int -> int -> unit method set_row_spacings : int -> unit method set_rows : int -> unit end (** @gtkdoc gtk GtkTable *) val table : ?columns:int -> ?rows:int -> ?homogeneous:bool -> ?row_spacings:int -> ?col_spacings:int -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> table (** {3 GtkGrid} *) (** Pack widgets in regular patterns @gtkdoc gtk GtkGrid *) class grid : Gtk.grid obj -> object inherit GContainer.container_full val obj : Gtk.grid obj method attach : left:int -> top:int -> ?width:int -> ?height:int -> GObj.widget -> unit (** @param left column number to attach the left side of the widget to @param top row number to attach the top of the widget to @param width default value is [1] @param height default value is [1] *) method set_baseline_row : int -> unit method set_col_homogeneous : bool -> unit method set_col_spacings : int -> unit method set_row_homogeneous : bool -> unit method set_row_spacings : int -> unit method baseline_row : int method col_homogeneous : bool method col_spacings : int method row_homogeneous : bool method row_spacings : int end (** @gtkdoc gtk GtkGrid *) val grid : ?baseline_row:int -> ?row_homogeneous:bool -> ?col_homogeneous:bool -> ?row_spacings:int -> ?col_spacings:int -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> grid (** {3 GtkFixed} *) (** A container which allows you to position widgets at fixed coordinates @gtkdoc gtk GtkFixed *) class fixed : Gtk.fixed obj -> object inherit GContainer.container_full val obj : Gtk.fixed obj method event : event_ops method move : widget -> x:int -> y:int -> unit method put : widget -> x:int -> y:int -> unit end (** @gtkdoc gtk GtkFixed *) val fixed : ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> fixed (** {3 GtkLayout} *) (** Infinite scrollable area containing child widgets and/or custom drawing @gtkdoc gtk GtkLayout *) class layout : 'a obj -> object inherit GContainer.container_full constraint 'a = [> Gtk.layout] val obj : 'a obj method event : event_ops method bin_window : Gdk.window method hadjustment : GData.adjustment method height : int method move : widget -> x:int -> y:int -> unit method put : widget -> x:int -> y:int -> unit method set_hadjustment : GData.adjustment -> unit method set_height : int -> unit method set_vadjustment : GData.adjustment -> unit method set_width : int -> unit method vadjustment : GData.adjustment method width : int end (** @gtkdoc gtk GtkLayout *) val layout : ?hadjustment:GData.adjustment -> ?vadjustment:GData.adjustment -> ?layout_width:int -> ?layout_height:int -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> layout (** {3 GtkNotebook} *) (** @gtkdoc gtk GtkNotebook *) class notebook_signals : [> Gtk.notebook] obj -> object inherit GContainer.container_signals method change_current_page : callback:(int -> unit) -> GtkSignal.id method create_window : callback:(page:GObj.widget -> x:int -> y:int -> unit) -> GtkSignal.id method move_focus_out : callback:(GtkEnums.direction_type -> unit) -> GtkSignal.id method notify_enable_popup : callback:(bool -> unit) -> GtkSignal.id method notify_scrollable : callback:(bool -> unit) -> GtkSignal.id method notify_show_border : callback:(bool -> unit) -> GtkSignal.id method notify_show_tabs : callback:(bool -> unit) -> GtkSignal.id method notify_tab_pos : callback:(GtkEnums.position_type -> unit) -> GtkSignal.id method notify_group_name : callback:(string -> unit) -> GtkSignal.id method page_added : callback:(GObj.widget -> int -> unit) -> GtkSignal.id method page_removed : callback:(GObj.widget -> int -> unit) -> GtkSignal.id method page_reordered : callback:(GObj.widget -> int -> unit) -> GtkSignal.id method reorder_tab : callback:(GtkEnums.direction_type -> bool -> unit) -> GtkSignal.id method select_page : callback:(bool -> unit) -> GtkSignal.id method switch_page : callback:(int -> unit) -> GtkSignal.id end (** A tabbed notebook container @gtkdoc gtk GtkNotebook *) class notebook : Gtk.notebook obj -> object inherit GContainer.container val obj : Gtk.notebook obj method as_notebook : Gtk.notebook Gtk.obj method event : event_ops method append_page : ?tab_label:widget -> ?menu_label:widget -> widget -> int method connect : notebook_signals method current_page : int method get_menu_label : widget -> widget method get_nth_page : int -> widget method get_tab_label : widget -> widget method get_tab_reorderable : widget -> bool method goto_page : int -> unit method insert_page : ?tab_label:widget -> ?menu_label:widget -> ?pos:int -> widget -> int method next_page : unit -> unit method page_num : widget -> int method prepend_page : ?tab_label:widget -> ?menu_label:widget -> widget -> int method previous_page : unit -> unit method remove_page : int -> unit method reorder_child : widget -> int -> unit method set_enable_popup : bool -> unit method set_group_name : string -> unit method set_page : ?tab_label:widget -> ?menu_label:widget -> widget -> unit method set_scrollable : bool -> unit method set_show_border : bool -> unit method set_show_tabs : bool -> unit method set_tab_reorderable : widget -> bool -> unit method set_tab_pos : Tags.position_type -> unit method group_name : string method enable_popup : bool method scrollable : bool method show_border : bool method show_tabs : bool method tab_pos : Tags.position_type end (** @gtkdoc gtk GtkNotebook *) val notebook : ?enable_popup:bool -> ?group_name:string -> ?scrollable:bool -> ?show_border:bool -> ?show_tabs:bool -> ?tab_pos:Tags.position_type -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> notebook (** {3 GtkPaned} *) (** Base class for widgets with two adjustable panes @gtkdoc gtk GtkPaned *) class paned : Gtk.paned obj -> object inherit GContainer.container_full val obj : Gtk.paned obj method event : event_ops method add1 : widget -> unit method add2 : widget -> unit method pack1 : ?resize:bool -> ?shrink:bool -> widget -> unit (** @param resize default value is [false] @param shrink default value is [false] *) method pack2 : ?resize:bool -> ?shrink:bool -> widget -> unit (** @param resize default value is [false] @param shrink default value is [false] *) method child1 : widget method child2 : widget method set_orientation : Gtk.Tags.orientation -> unit method orientation : Gtk.Tags.orientation method set_position : int -> unit method position : int method max_position : int (** @since GTK 2.4 *) method min_position : int (** @since GTK 2.4 *) end (** @gtkdoc gtk GtkPaned *) val paned : Tags.orientation -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> paned (** {3 GtkStack} *) (** @gtkdoc gtk GtkStack *) class stack : ([> Gtk.stack] as 'a) obj -> object inherit container val obj : 'a obj method as_stack : Gtk.stack obj method add_named : widget -> string -> unit method add_titled : widget -> string -> string -> unit method get_child_by_name : string -> widget method set_visible_child_full : string -> Tags.stack_transition_type -> unit method hhomogeneous : bool method set_hhomogeneous : bool -> unit method homogeneous : bool method set_homogeneous : bool -> unit method vhomogeneous : bool method set_vhomogeneous : bool -> unit method interpolate_size : bool method set_interpolate_size : bool -> unit method transition_duration : int method set_transition_duration : int -> unit method transition_type : Tags.stack_transition_type method set_transition_type : Tags.stack_transition_type -> unit method transition_running : bool method visible_child : widget method set_visible_child : widget -> unit method visible_child_name : string method set_visible_child_name : string -> unit end (** @gtkdoc gtk GtkStack *) val stack : ?hhomogeneous:bool -> ?homogeneous:bool -> ?interpolate_size:bool -> ?transition_duration:int -> ?transition_type: Tags.stack_transition_type -> ?vhomogeneous:bool -> ?visible_child: Gtk.widget Gtk.obj -> ?visible_child_name:string -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> stack class stack_switcher : ([> Gtk.stack_switcher] as 'a) obj -> object inherit box val obj : 'a obj method stack : Gtk.stack Gtk.obj method set_stack : Gtk.stack Gtk.obj -> unit method icon_size : int (** @since GTK 3.20 *) method set_icon_size : int -> unit (** @since GTK 3.20 *) end val stack_switcher : ?icon_size:int -> ?stack: Gtk.stack Gtk.obj -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> stack_switcher lablgtk-3.1.2/src/gPango.ml0000644000650106067230000001162314161276610014337 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Pango open Font let to_pixels (x : units) = (x-1) / scale + 1 let from_pixels x : units = x * scale class metrics obj = object method ascent = get_ascent obj method descent = get_descent obj method approx_char_width = get_approximate_char_width obj method approx_digit_width = get_approximate_digit_width obj end class font_description fd = object method fd = fd method copy = new font_description (copy fd) method to_string = to_string fd method family = get_family fd method style = get_style fd method variant = get_variant fd method weight = get_weight fd method stretch = get_stretch fd method size = get_size fd method modify = modify fd end let font_description_from_string s = new font_description (from_string s) open Context class layout obj = object val obj = obj method as_layout = obj method copy = new layout (Layout.copy obj) method get_context = new context (Layout.get_context obj) method get_text = Layout.get_text obj method set_text s = Layout.set_text obj s method set_markup s = Layout.set_markup obj s method set_markup_with_accel s c = Layout.set_markup_with_accel obj s c method set_font_description (fd : font_description) = Layout.set_font_description obj fd#fd method get_font_description = new font_description (Layout.get_font_description obj) method get_width = Layout.get_width obj method set_width w = Layout.set_width obj w method get_indent = Layout.get_indent obj method set_indent i = Layout.set_indent obj i method get_spacing = Layout.get_spacing obj method set_spacing s = Layout.set_spacing obj s method get_wrap = Layout.get_wrap obj method set_wrap w = Layout.set_wrap obj w method get_justify = Layout.get_justify obj method set_justify b = Layout.set_justify obj b method get_single_paragraph_mode = Layout.get_single_paragraph_mode obj method set_single_paragraph_mode b = Layout.set_single_paragraph_mode obj b method context_changed = Layout.context_changed obj method get_size = Layout.get_size obj method get_pixel_size = Layout.get_pixel_size obj method get_extent = Layout.get_extent obj method get_pixel_extent = Layout.get_pixel_extent obj method index_to_pos i = Layout.index_to_pos obj i method xy_to_index ~x ~y = Layout.xy_to_index obj ~x ~y method get_ellipsize = Layout.get_ellipsize obj method set_ellipsize m = Layout.set_ellipsize obj m end and context obj = object (self) val obj = obj method as_context = obj method font_description = new font_description (get_font_description obj) method font_name = Font.to_string (get_font_description obj) method language = Language.to_string (get_language obj) method load_font desc = load_font obj (Font.from_string desc) method load_fontset ?(desc = self#font_description) ?(lang = self#language) () = load_fontset obj (desc#fd) (Language.from_string lang) method get_metrics ?(desc = self#font_description) ?(lang = self#language) () = new metrics (get_metrics obj (desc#fd) (Some (Language.from_string lang))) method create_layout = new layout (Layout.create obj) method set_font_description (desc : font_description) = set_font_description obj desc#fd method set_font_by_name desc = set_font_description obj (Font.from_string desc) method set_language lang = set_language obj (Language.from_string lang) end lablgtk-3.1.2/src/gPango.mli0000644000650106067230000001061314161276610014506 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) val to_pixels : Pango.units -> int val from_pixels : int -> Pango.units class metrics : Pango.font_metrics -> object method approx_char_width : Pango.units method approx_digit_width : Pango.units method ascent : Pango.units method descent : Pango.units end class font_description : Pango.font_description -> object method copy : font_description method family : string method fd : Pango.font_description method modify : ?family:string -> ?style:Pango.Tags.style -> ?variant:Pango.Tags.variant -> ?weight:Pango.Tags.weight -> ?stretch:Pango.Tags.stretch -> ?size:int -> unit -> unit method size : int method stretch : Pango.Tags.stretch method style : Pango.Tags.style method to_string : string method variant : Pango.Tags.variant method weight : int end val font_description_from_string : string -> font_description class layout : Pango.layout -> object val obj : Pango.layout method as_layout : Pango.layout method context_changed : unit method copy : layout method get_context : context method get_ellipsize : Pango.Tags.ellipsize_mode method get_extent : Pango.rectangle method get_font_description : font_description method get_indent : int method get_justify : bool method get_pixel_extent : Pango.rectangle method get_pixel_size : int * int method get_single_paragraph_mode : bool method get_size : Pango.units * Pango.units method get_spacing : int method get_text : string method get_width : int method get_wrap : Pango.Tags.wrap_mode method index_to_pos : int -> Pango.rectangle method set_ellipsize : Pango.Tags.ellipsize_mode -> unit method set_font_description : font_description -> unit method set_indent : int -> unit method set_justify : bool -> unit method set_markup : string -> unit method set_markup_with_accel : string -> Glib.unichar -> unit method set_single_paragraph_mode : bool -> unit method set_spacing : int -> unit method set_text : string -> unit method set_width : int -> unit method set_wrap : Pango.Tags.wrap_mode -> unit method xy_to_index : x:int -> y:int -> int * int * bool end and context : Pango.context -> object val obj : Pango.context method as_context : Pango.context method create_layout : layout method font_description : font_description method font_name : string method get_metrics : ?desc:font_description -> ?lang:string -> unit -> metrics method language : string method load_font : string -> Pango.font method load_fontset : ?desc:font_description -> ?lang:string -> unit -> Pango.font method set_font_by_name : string -> unit method set_font_description : font_description -> unit method set_language : string -> unit end lablgtk-3.1.2/src/gRange.ml0000644000650106067230000000563014161276610014330 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gtk open GtkBase open GtkRange open OgtkRangeProps open GObj class progress_bar obj = object inherit [Gtk.progress_bar] widget_impl obj method connect = new widget_signals_impl obj method event = new GObj.event_ops obj inherit progress_bar_props method pulse () = ProgressBar.pulse obj end let progress_bar = ProgressBar.make_params [] ~cont:(fun pl ?packing ?show () -> pack_return (new progress_bar (ProgressBar.create pl)) ~packing ~show) class range_signals obj = object inherit widget_signals_impl obj inherit range_sigs end class range obj = object inherit ['a] widget_impl obj method as_range = (obj :> Gtk.range Gtk.obj) method connect = new range_signals obj method event = new GObj.event_ops obj inherit range_props end class scale obj = object inherit range (obj : Gtk.scale obj) inherit scale_props end let scale dir ?adjustment = Scale.make_params [] ~cont:( Range.make_params ?adjustment:(may_map GData.as_adjustment adjustment) ~cont:(fun pl ?packing ?show params -> pack_return (new scale (Scale.create dir pl)) ~packing ~show)) let scrollbar dir ?adjustment = Range.make_params [] ?adjustment:(may_map GData.as_adjustment adjustment) ~cont:(fun pl ?packing ?show params -> pack_return (new range (Scrollbar.create dir pl)) ~packing ~show) lablgtk-3.1.2/src/gRange.mli0000644000650106067230000001547114161276610014505 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk open GObj (** Scrollbars, progressbars, etc. *) (** {3 GtkProgressBar} *) (** A widget which indicates progress visually @gtkdoc gtk GtkProgress @gtkdoc gtk GtkProgressBar *) class progress_bar : Gtk.progress_bar obj -> object inherit GObj.widget_full val obj : Gtk.progress_bar Gtk.obj method event : GObj.event_ops method inverted : bool method pulse : unit -> unit method set_inverted : bool -> unit method set_fraction : float -> unit method set_pulse_step : float -> unit method set_show_text : bool -> unit method set_text : string -> unit method show_text : bool method fraction : float method pulse_step : float method text : string method ellipsize : PangoEnums.ellipsize_mode method set_ellipsize : PangoEnums.ellipsize_mode -> unit end (** @gtkdoc gtk GtkProgress @gtkdoc gtk GtkProgressBar @param orientation default value is [`LEFT_TO_RIGHT] @param pulse_step default value is [0.1] *) val progress_bar : ?pulse_step:float -> ?packing:(widget -> unit) -> ?show:bool -> unit -> progress_bar (** {3 GtkRange} *) (** @gtkdoc gtk GtkRange *) class range_signals : [> Gtk.range] obj -> object inherit GObj.widget_signals method adjust_bounds : callback:(float -> unit) -> GtkSignal.id method move_slider : callback:(Tags.scroll_type -> unit) -> GtkSignal.id method change_value : callback:(Tags.scroll_type -> float -> unit) -> GtkSignal.id method value_changed : callback:(unit -> unit) -> GtkSignal.id method notify_adjustment : callback:(GData.adjustment -> unit) -> GtkSignal.id method notify_fill_level : callback:(float -> unit) -> GtkSignal.id method notify_inverted : callback:(bool -> unit) -> GtkSignal.id method notify_lower_stepper_sensitivity : callback:(Tags.sensitivity_type -> unit) -> GtkSignal.id method notify_orientation : callback:(Tags.orientation -> unit) -> GtkSignal.id method notify_restrict_to_fill_level : callback:(bool -> unit) -> GtkSignal.id method notify_round_digits : callback:(int -> unit) -> GtkSignal.id method notify_show_fill_level : callback:(bool -> unit) -> GtkSignal.id method notify_upper_stepper_sensitivity : callback:(Tags.sensitivity_type -> unit) -> GtkSignal.id end (** Base class for widgets which visualize an adjustment @gtkdoc gtk GtkRange *) class range : ([> Gtk.range] as 'a) obj -> object inherit GObj.widget val obj : 'a obj method as_range : Gtk.range Gtk.obj method connect : range_signals method event : GObj.event_ops method adjustment : GData.adjustment method fill_level : float method inverted : bool method lower_stepper_sensitivity : Tags.sensitivity_type method orientation : Tags.orientation method restrict_to_fill_level : bool method round_digits : int method set_adjustment : GData.adjustment -> unit method set_fill_level : float -> unit method set_inverted : bool -> unit method set_lower_stepper_sensitivity : Tags.sensitivity_type -> unit method set_orientation : Tags.orientation -> unit method set_restrict_to_fill_level : bool -> unit method set_round_digits : int -> unit method set_show_fill_level : bool -> unit method set_upper_stepper_sensitivity : Tags.sensitivity_type -> unit method show_fill_level : bool method upper_stepper_sensitivity : Tags.sensitivity_type end (** A slider widget for selecting a value from a range @gtkdoc gtk GtkScale @gtkdoc gtk GtkHScale @gtkdoc gtk GtkVScale *) class scale : Gtk.scale obj -> object inherit range val obj : Gtk.scale obj method set_digits : int -> unit method set_draw_value : bool -> unit method set_has_origin : bool -> unit method set_value_pos : Tags.position_type -> unit method digits : int method draw_value : bool method has_origin : bool method value_pos : Tags.position_type end (** @gtkdoc gtk GtkScale @gtkdoc gtk GtkHScale @gtkdoc gtk GtkVScale @param digits default value is [1] @param draw_value default value is [false] @param value_pos default value is [`LEFT] @param inverted default value is [false] @param update_policy default value is [`CONTINUOUS] *) val scale : Tags.orientation -> ?adjustment:GData.adjustment -> ?digits:int -> ?draw_value:bool -> ?has_origin:bool -> ?value_pos:Tags.position_type -> ?fill_level:float -> ?inverted:bool -> ?restrict_to_fill_level:bool -> ?round_digits:int -> ?show_fill_level:bool -> ?lower_stepper_sensitivity:Tags.sensitivity_type -> ?upper_stepper_sensitivity:Tags.sensitivity_type -> ?packing:(widget -> unit) -> ?show:bool -> unit -> scale (** @gtkdoc gtk GtkScrollbar @gtkdoc gtk GtkHScrollbar @gtkdoc gtk GtkVScrollbar @param inverted default value is [false] @param update_policy default value is [`CONTINUOUS] *) val scrollbar : Tags.orientation -> ?adjustment:GData.adjustment -> ?fill_level:float -> ?inverted:bool -> ?restrict_to_fill_level:bool -> ?round_digits:int -> ?show_fill_level:bool -> ?lower_stepper_sensitivity:Tags.sensitivity_type -> ?upper_stepper_sensitivity:Tags.sensitivity_type -> ?packing:(widget -> unit) -> ?show:bool -> unit -> range lablgtk-3.1.2/src/gText.ml0000644000650106067230000006504214161276610014223 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels open Gaux open Gtk open GtkBase open GtkText open OgtkTextProps open GObj type mark_name = [`INSERT | `SEL_BOUND | `NAME of string] let mark_name = function `INSERT -> "insert" | `SEL_BOUND -> "selection_bound" | `NAME s -> s type mark = [mark_name | `MARK of text_mark] class child_anchor obj = object method get_oid = Gobject.get_oid obj method as_childanchor : text_child_anchor = obj method widgets = List.map (new widget) (ChildAnchor.get_widgets obj) method deleted = ChildAnchor.get_deleted obj end let child_anchor () = new child_anchor (ChildAnchor.create []) class tag_signals obj = object (self) inherit ['a] gobject_signals obj method event = self#connect Tag.S.event end type tag_property0 = [ | `ACCUMULATIVE_MARGIN of bool | `BACKGROUND of string | `BACKGROUND_FULL_HEIGHT of bool | `BACKGROUND_FULL_HEIGHT_SET of bool | `BACKGROUND_GDK of Gdk.color | `BACKGROUND_SET of bool | `DIRECTION of Tags.text_direction | `EDITABLE of bool | `EDITABLE_SET of bool | `FAMILY of string | `FAMILY_SET of bool | `FONT of string | `FONT_DESC of Pango.font_description | `FOREGROUND of string | `FOREGROUND_GDK of Gdk.color | `FOREGROUND_SET of bool | `INDENT of int | `INDENT_SET of bool | `INVISIBLE of bool | `INVISIBLE_SET of bool | `JUSTIFICATION of Tags.justification | `JUSTIFICATION_SET of bool | `LANGUAGE of string | `LANGUAGE_SET of bool | `LEFT_MARGIN of int | `LEFT_MARGIN_SET of bool | `PARAGRAPH_BACKGROUND of string | `PARAGRAPH_BACKGROUND_GDK of Gdk.color | `PARAGRAPH_BACKGROUND_SET of bool | `PIXELS_ABOVE_LINES of int | `PIXELS_ABOVE_LINES_SET of bool | `PIXELS_BELOW_LINES of int | `PIXELS_BELOW_LINES_SET of bool | `PIXELS_INSIDE_WRAP of int | `PIXELS_INSIDE_WRAP_SET of bool | `RIGHT_MARGIN of int | `RIGHT_MARGIN_SET of bool | `RISE of int | `RISE_SET of bool | `SCALE_SET of bool | `SIZE of int | `SIZE_POINTS of float | `SIZE_SET of bool | `STRETCH of Pango.Tags.stretch | `STRETCH_SET of bool | `STRIKETHROUGH of bool | `STRIKETHROUGH_SET of bool | `STYLE of Pango.Tags.style | `STYLE_SET of bool | `TABS_SET of bool | `UNDERLINE of Pango.Tags.underline | `UNDERLINE_SET of bool | `VARIANT of Pango.Tags.variant | `VARIANT_SET of bool | `WEIGHT_SET of bool | `WRAP_MODE of Tags.wrap_mode | `WRAP_MODE_SET of bool ] type tag_property = [ | `WEIGHT of Pango.Tags.weight | `SCALE of Pango.Tags.scale | tag_property0 ] let text_tag_param (x : tag_property) = text_tag_param (match x with | `WEIGHT w -> `WEIGHT (Pango.Tags.weight_to_int w) | `SCALE s -> `SCALE (Pango.Tags.scale_to_float s) | #tag_property0 as x -> x) class tag obj = object (self) method get_oid = Gobject.get_oid obj method as_tag : text_tag = obj method connect = new tag_signals obj method priority = Tag.get_priority obj method set_priority p = Tag.set_priority obj p (* [BM] my very first polymorphic method in OCaml...*) method event : 'a. 'a Gtk.obj -> GdkEvent.any -> Gtk.text_iter -> bool = Tag.event obj method set_property p = Gobject.set_params obj [text_tag_param p] method set_properties l = Gobject.set_params obj (List.map text_tag_param l) method get_property : 'a. (_,'a) Gobject.property -> 'a = Gobject.Property.get obj end let tag ?name () = new tag (Tag.create ?name []) type contents = [ `CHAR of Glib.unichar | `PIXBUF of GdkPixbuf.pixbuf | `CHILD of child_anchor | `UNKNOWN ] class nocopy_iter it = object(self) val it = (it:text_iter) method as_iter = it method assign (r : nocopy_iter) = Iter.assign it r#as_iter method forward_char = Iter.forward_char it method backward_char = Iter.backward_char it method forward_chars n = Iter.forward_chars it n method backward_chars n = Iter.backward_chars it n method forward_line = Iter.forward_line it method backward_line = Iter.backward_line it method forward_lines n = Iter.forward_lines it n method backward_lines n = Iter.backward_lines it n method forward_word_end = Iter.forward_word_end it method forward_word_ends n = Iter.forward_word_ends it n method backward_word_start = Iter.backward_word_start it method backward_word_starts n = Iter.backward_word_starts it n method forward_cursor_position = Iter.forward_cursor_position it method backward_cursor_position = Iter.backward_cursor_position it method forward_cursor_positions n = Iter.forward_cursor_positions it n method backward_cursor_positions n = Iter.backward_cursor_positions it n method forward_sentence_end = Iter.forward_sentence_end it method backward_sentence_start = Iter.backward_sentence_start it method forward_sentence_ends n = Iter.forward_sentence_ends it n method backward_sentence_starts n = Iter.backward_sentence_starts it n method forward_to_end = Iter.forward_to_end it method forward_to_line_end = Iter.forward_to_line_end it method forward_to_tag_toggle (tag : tag option) = Iter.forward_to_tag_toggle it (may_map tag ~f:(fun t -> t#as_tag)) method backward_to_tag_toggle (tag : tag option) = Iter.backward_to_tag_toggle it (may_map tag ~f:(fun t -> t#as_tag)) method set_offset = Iter.set_offset it method set_line = Iter.set_line it method set_line_offset = Iter.set_line_offset it method set_line_index = Iter.set_line_index it method set_visible_line_index = Iter.set_visible_line_index it method set_visible_line_offset = Iter.set_visible_line_offset it method forward_find_char ?(limit : iter option) f = Iter.forward_find_char it f (may_map limit ~f:(fun t -> t#as_iter)) method backward_find_char ?(limit : iter option) f = Iter.backward_find_char it f (may_map limit ~f:(fun t -> t#as_iter)) end and iter it = object (self) val nocopy = new nocopy_iter it val it = (it: text_iter) method nocopy = nocopy method as_iter = it method copy = new iter (Iter.copy it) method buffer = Iter.get_buffer it method offset = Iter.get_offset it method line = Iter.get_line it method line_offset = Iter.get_line_offset it method line_index = Iter.get_line_index it method visible_line_index = Iter.get_visible_line_index it method visible_line_offset = Iter.get_visible_line_offset it method char = Iter.get_char it method contents : contents = let c = Iter.get_char it in if c <> 0xfffc then `CHAR c else match Iter.get_pixbuf it with Some p -> `PIXBUF p | None -> match Iter.get_child_anchor it with Some c -> `CHILD (new child_anchor c) | None -> `UNKNOWN method get_slice ~(stop:iter) = Iter.get_slice it stop#as_iter method get_text ~(stop:iter) = Iter.get_text it stop#as_iter method get_visible_slice ~(stop:iter) = Iter.get_visible_slice it stop#as_iter method get_visible_text ~(stop:iter) = Iter.get_visible_text it stop#as_iter method marks = Iter.get_marks it method get_toggled_tags b = List.map (fun x -> new tag x) (Iter.get_toggled_tags it b) method begins_tag (tag : tag option) = Iter.begins_tag it (may_map tag ~f:(fun t -> t#as_tag)) method ends_tag (tag : tag option) = Iter.ends_tag it (may_map tag ~f:(fun t -> t#as_tag)) method toggles_tag (tag : tag option) = Iter.toggles_tag it (may_map tag ~f:(fun t -> t#as_tag)) method has_tag (t : tag) = Iter.has_tag it t#as_tag method tags = List.map (fun t -> new tag t) (Iter.get_tags it) method editable = Iter.editable it method can_insert = Iter.can_insert it method starts_word = Iter.starts_word it method ends_word = Iter.ends_word it method inside_word = Iter.inside_word it method starts_line = Iter.starts_line it method ends_line = Iter.ends_line it method starts_sentence = Iter.starts_sentence it method ends_sentence = Iter.ends_sentence it method inside_sentence = Iter.inside_sentence it method is_cursor_position = Iter.is_cursor_position it method chars_in_line = Iter.get_chars_in_line it method bytes_in_line = Iter.get_bytes_in_line it method language = Pango.Language.to_string (Iter.get_language it) method is_end = Iter.is_end it method is_start = Iter.is_start it method forward_char = let s = self#copy in s#nocopy#forward_char; s method backward_char = let s = self#copy in s#nocopy#backward_char; s method forward_chars n = let s = self#copy in s#nocopy#forward_chars n; s method backward_chars n = let s = self#copy in s#nocopy#backward_chars n; s method forward_line = let s = self#copy in s#nocopy#forward_line; s method backward_line = let s = self#copy in s#nocopy#backward_line; s method forward_lines n = let s = self#copy in s#nocopy#forward_lines n; s method backward_lines n = let s = self#copy in s#nocopy#backward_lines n; s method forward_word_end = let s = self#copy in s#nocopy#forward_word_end; s method forward_word_ends n = let s = self#copy in s#nocopy#forward_word_ends n; s method backward_word_start = let s = self#copy in s#nocopy#backward_word_start; s method backward_word_starts n = let s = self#copy in s#nocopy#backward_word_starts n; s method forward_cursor_position = let s = self#copy in s#nocopy#forward_cursor_position; s method backward_cursor_position = let s = self#copy in s#nocopy#backward_cursor_position; s method forward_cursor_positions n = let s = self#copy in s#nocopy#forward_cursor_positions n; s method backward_cursor_positions n = let s = self#copy in s#nocopy#backward_cursor_positions n; s method forward_sentence_end = let s = self#copy in s#nocopy#forward_sentence_end; s method backward_sentence_start = let s = self#copy in s#nocopy#backward_sentence_start; s method forward_sentence_ends n = let s = self#copy in s#nocopy#forward_sentence_ends n; s method backward_sentence_starts n = let s = self#copy in s#nocopy#backward_sentence_starts n; s method set_offset n = let s = self#copy in s#nocopy#set_offset n; s method set_line n = let s = self#copy in s#nocopy#set_line n; s method set_line_offset n = let s = self#copy in s#nocopy#set_line_offset n; s method set_line_index n = let s = self#copy in s#nocopy#set_line_index n; s method set_visible_line_index n = let s = self#copy in s#nocopy#set_visible_line_index n; s method set_visible_line_offset n = let s = self#copy in s#nocopy#set_visible_line_offset n; s method forward_to_end = let s = self#copy in s#nocopy#forward_to_end; s method forward_to_line_end = let s = self#copy in s#nocopy#forward_to_line_end; s method forward_to_tag_toggle (tag : tag option) = let s = self#copy in s#nocopy#forward_to_tag_toggle tag; s method backward_to_tag_toggle (tag : tag option) = let s = self#copy in s#nocopy#backward_to_tag_toggle tag; s method equal (a:iter) = Iter.equal it a#as_iter method compare (a:iter) = Iter.compare it a#as_iter method in_range ~(start:iter) ~(stop:iter) = Iter.in_range it start#as_iter stop#as_iter method forward_search ?flags ?(limit:iter option) s = may_map (Iter.forward_search it s ?flags (may_map limit ~f:(fun t -> t#as_iter))) ~f:(fun (s,t) -> new iter s, new iter t) method backward_search ?flags ?(limit : iter option) s = may_map (Iter.backward_search it s ?flags (may_map limit ~f:(fun t -> t#as_iter))) ~f:(fun (s,t) -> new iter s, new iter t) method forward_find_char ?limit f = let s = self#copy in s#nocopy#forward_find_char ?limit f; s method backward_find_char ?limit f = let s = self#copy in s#nocopy#backward_find_char ?limit f; s end (* let iter i = new iter (Iter.copy i) *) let as_iter (it : iter) = it#as_iter class tag_table_signals obj = object inherit ['a] gobject_signals obj inherit text_tag_table_sigs end class tag_table_skel obj = object val obj = (obj :> text_tag_table) method get_oid = Gobject.get_oid obj method as_tag_table : text_tag_table = obj method add = TagTable.add obj method remove = TagTable.remove obj method lookup = TagTable.lookup obj method size = TagTable.get_size obj end class tag_table obj = object inherit tag_table_skel obj method connect = new tag_table_signals obj end let tag_table () = new tag_table (TagTable.create []) class type buffer_signals_skel_type = object method apply_tag : callback:(tag -> start:iter -> stop:iter -> unit) -> GtkSignal.id method begin_user_action : callback:(unit -> unit) -> GtkSignal.id method changed : callback:(unit -> unit) -> GtkSignal.id method delete_range : callback:(start:iter -> stop:iter -> unit) -> GtkSignal.id method end_user_action : callback:(unit -> unit) -> GtkSignal.id method insert_child_anchor : callback:(iter -> Gtk.text_child_anchor -> unit) -> GtkSignal.id method insert_pixbuf : callback:(iter -> GdkPixbuf.pixbuf -> unit) -> GtkSignal.id method insert_text : callback:(iter -> string -> unit) -> GtkSignal.id method mark_deleted : callback:(Gtk.text_mark -> unit) -> GtkSignal.id method mark_set : callback:(iter -> Gtk.text_mark -> unit) -> GtkSignal.id method modified_changed : callback:(unit -> unit) -> GtkSignal.id method remove_tag : callback:(tag -> start:iter -> stop:iter -> unit) -> GtkSignal.id method notify_cursor_position : callback:(int -> unit) -> GtkSignal.id method notify_has_selection : callback:(bool -> unit) -> GtkSignal.id method notify_tag_table : callback:(Gtk.text_tag_table -> unit) -> GtkSignal.id end class type ['b] buffer_signals_type = object ('a) inherit buffer_signals_skel_type method after : 'a method private connect : 'c. ('b, 'c) GtkSignal.t -> callback:'c -> GtkSignal.id method private notify : 'c. ('b, 'c) Gobject.property -> callback:('c -> unit) -> GtkSignal.id end class virtual buffer_signals_skel = object(self) inherit text_buffer_sigs method apply_tag ~callback = self#connect Buffer.S.apply_tag ~callback:(fun tag start stop -> callback (new tag tag) ~start:(new iter start) ~stop:(new iter stop)) method delete_range ~callback = self#connect Buffer.S.delete_range ~callback:(fun start stop -> callback ~start:(new iter start) ~stop:(new iter stop)) method insert_child_anchor ~callback = self#connect Buffer.S.insert_child_anchor ~callback:(fun iter -> callback (new iter iter)) method insert_pixbuf ~callback = self#connect Buffer.S.insert_pixbuf ~callback:(fun iter -> callback (new iter iter)) method insert_text ~callback = self#connect Buffer.S.insert_text ~callback:(fun iter -> callback (new iter iter)) method mark_set ~callback = self#connect Buffer.S.mark_set ~callback:(fun it -> callback (new iter it)) method remove_tag ~callback = self#connect Buffer.S.remove_tag ~callback:(fun tag start stop -> callback (new tag tag) ~start:(new iter start) ~stop:(new iter stop)) end class buffer_signals obj = object inherit ['a] gobject_signals obj inherit buffer_signals_skel end exception No_such_mark of string type position = [ `OFFSET of int | `LINE of int | `LINECHAR of int * int | `LINEBYTE of int * int | `START | `END | `ITER of iter | mark ] class buffer_skel obj = object(self) val obj = (obj :> text_buffer) method private obj = obj inherit text_buffer_props method get_oid = Gobject.get_oid obj method as_buffer = obj method line_count = Buffer.get_line_count obj method char_count = Buffer.get_char_count obj (* method tag_table = Buffer.get_tag_table obj *) method insert ?iter ?(tag_names : string list = []) ?(tags : tag list = []) text = match tags,tag_names with | [],[] -> begin match iter with | None -> Buffer.insert_at_cursor obj text | Some iter -> Buffer.insert obj (as_iter iter) text end | _ -> begin match iter with | None -> let insert_iter () = self#get_iter_at_mark `INSERT in let start_offset = (insert_iter ())#offset in Buffer.insert_at_cursor obj text; let start = self#get_iter_at_char start_offset in List.iter tags ~f:(self#apply_tag ~start ~stop:(insert_iter ())); List.iter tag_names ~f:(self#apply_tag_by_name ~start ~stop:(insert_iter ())) | Some iter -> let start_offset = iter#offset in Buffer.insert obj (as_iter iter) text; let start = self#get_iter_at_char start_offset in List.iter tags ~f:(self#apply_tag ~start ~stop:iter); List.iter tag_names ~f:(self#apply_tag_by_name ~start ~stop:iter) end method insert_interactive ?iter ?(default_editable = true) text = match iter with | None -> Buffer.insert_interactive_at_cursor obj text default_editable | Some iter -> Buffer.insert_interactive obj (as_iter iter) text default_editable method insert_range ~iter ~start ~stop = Buffer.insert_range obj (as_iter iter) (as_iter start) (as_iter stop) method insert_range_interactive ~iter ~start ~stop ?(default_editable = true) () = Buffer.insert_range_interactive obj (as_iter iter) (as_iter start) (as_iter stop) default_editable method delete ~start ~stop = Buffer.delete obj (as_iter start) (as_iter stop) method delete_interactive ~start ~stop ?(default_editable = true) () = Buffer.delete_interactive obj (as_iter start) (as_iter stop) default_editable method set_text text = Buffer.set_text obj text method get_text ?start ?stop ?(slice=false) ?(visible=false) () = let start,stop = match start,stop with | None,None -> Buffer.get_bounds obj | Some start,None -> as_iter start, Buffer.get_start_iter obj | None,Some stop -> Buffer.get_end_iter obj, as_iter stop | Some start,Some stop -> as_iter start, as_iter stop in (if slice then Buffer.get_slice else Buffer.get_text) obj start stop (not visible) method insert_pixbuf ~iter ~pixbuf = Buffer.insert_pixbuf obj (as_iter iter) pixbuf method create_mark ?name ?(left_gravity=true) iter = Buffer.create_mark obj name (as_iter iter) left_gravity method get_mark : mark -> _ = function `MARK mark -> mark | #mark_name as mark -> let name = mark_name mark in match Buffer.get_mark obj name with | None -> raise (No_such_mark name) | Some m -> m method move_mark mark ~where = Buffer.move_mark obj (self#get_mark mark) (as_iter where) method delete_mark mark = Buffer.delete_mark obj (self#get_mark mark) method place_cursor ~where = Buffer.place_cursor obj (as_iter where) method select_range ins bound = Buffer.select_range obj (as_iter ins) (as_iter bound) method apply_tag (tag : tag) ~start ~stop = Buffer.apply_tag obj tag#as_tag (as_iter start) (as_iter stop) method remove_tag (tag : tag) ~start ~stop = Buffer.remove_tag obj tag#as_tag (as_iter start) (as_iter stop) method apply_tag_by_name name ~start ~stop = Buffer.apply_tag_by_name obj name (as_iter start) (as_iter stop) method remove_tag_by_name name ~start ~stop = Buffer.remove_tag_by_name obj name (as_iter start) (as_iter stop) method remove_all_tags ~start ~stop = Buffer.remove_all_tags obj (as_iter start) (as_iter stop) method create_tag ?name properties = let t = new tag (Buffer.create_tag_0 obj name) in if properties <> [] then t#set_properties properties; t method get_iter (pos : position) = let it = match pos with `START -> Buffer.get_start_iter obj | `END -> Buffer.get_end_iter obj | `OFFSET n -> Buffer.get_iter_at_offset obj n | `LINE n -> Buffer.get_iter_at_line obj n | `LINECHAR (l,c) -> Buffer.get_iter_at_line_offset obj l c | `LINEBYTE (l,c) -> Buffer.get_iter_at_line_index obj l c | `ITER it -> it#as_iter | #mark as mark -> Buffer.get_iter_at_mark obj (self#get_mark mark) in new iter it method get_iter_at_char ?line char_offset = match line,char_offset with | Some v, 0 -> new iter (Buffer.get_iter_at_line obj v) | None , v -> new iter (Buffer.get_iter_at_offset obj v) | Some l, c -> new iter (Buffer.get_iter_at_line_offset obj l c) method get_iter_at_byte ~line index = new iter (Buffer.get_iter_at_line_index obj line index) method get_iter_at_mark mark = new iter (Buffer.get_iter_at_mark obj (self#get_mark mark)) method start_iter = new iter (Buffer.get_start_iter obj) method end_iter = new iter (Buffer.get_end_iter obj) method bounds = let s,t=Buffer.get_bounds obj in new iter s,new iter t method modified = Buffer.get_modified obj method set_modified setting = Buffer.set_modified obj setting method delete_selection ?(interactive=true) ?(default_editable=true) () = Buffer.delete_selection obj interactive default_editable method selection_bounds = let start, stop = Buffer.get_selection_bounds obj in (new iter start, new iter stop) method begin_user_action () = Buffer.begin_user_action obj method end_user_action () = Buffer.end_user_action obj method create_child_anchor (iter:iter) = new child_anchor (Buffer.create_child_anchor obj iter#as_iter) method insert_child_anchor (iter:iter) (child_anchor:child_anchor) = Buffer.insert_child_anchor obj iter#as_iter child_anchor#as_childanchor method paste_clipboard ?iter ?(default_editable=true) clipboard = Buffer.paste_clipboard obj (GData.as_clipboard clipboard) (may_map as_iter iter) default_editable method copy_clipboard clip = Buffer.copy_clipboard obj (GData.as_clipboard clip) method cut_clipboard ?(default_editable=true) clipboard = Buffer.cut_clipboard obj (GData.as_clipboard clipboard) default_editable method add_selection_clipboard clip = Buffer.add_selection_clipboard obj (GData.as_clipboard clip) method remove_selection_clipboard clip = Buffer.remove_selection_clipboard obj (GData.as_clipboard clip) end class buffer obj = object inherit buffer_skel obj method connect = new buffer_signals obj end let buffer ?tag_table ?text () = let tag_table = match tag_table with None -> None | Some x -> Some x#as_tag_table in let b = new buffer (Buffer.create ?tag_table []) in match text with None -> b | Some t -> b#set_text t; b class view_signals obj = object inherit widget_signals_impl (obj : [> Gtk.text_view] obj) inherit text_view_sigs end class view_skel obj = object (self) inherit [_] widget_impl obj inherit text_view_props method event = new GObj.event_ops obj method as_view = (obj :> text_view obj) method set_buffer (b:buffer) = View.set_buffer obj (b#as_buffer) method buffer = new buffer (View.get_buffer obj) method scroll_to_mark ?(within_margin=0.) ?(use_align=false) ?(xalign=0.) ?(yalign=0.) mark = View.scroll_to_mark obj (self#buffer#get_mark mark) within_margin use_align xalign yalign method scroll_to_iter ?(within_margin=0.) ?(use_align=false) ?(xalign=0.) ?(yalign=0.) iter = View.scroll_to_iter obj (as_iter iter) within_margin use_align xalign yalign method scroll_mark_onscreen mark = View.scroll_mark_onscreen obj (self#buffer#get_mark mark) method move_mark_onscreen mark = View.move_mark_onscreen obj (self#buffer#get_mark mark) method place_cursor_onscreen () = View.place_cursor_onscreen obj method visible_rect = View.get_visible_rect obj method get_iter_location iter = View.get_iter_location obj (as_iter iter) method get_line_at_y y = let it, n = View.get_line_at_y obj y in (new iter it, n) method get_line_yrange iter = View.get_line_yrange obj (as_iter iter) method get_iter_at_location ~x ~y = new iter (View.get_iter_at_location obj x y) method buffer_to_window_coords ~tag ~x ~y = View.buffer_to_window_coords obj tag x y method window_to_buffer_coords ~tag ~x ~y = View.window_to_buffer_coords obj tag x y method get_window win = View.get_window obj win method get_window_type win = View.get_window_type obj win method set_border_window_size ~typ ~size = View.set_border_window_size obj typ size method get_border_window_size typ = View.get_border_window_size obj typ method forward_display_line iter = View.forward_display_line obj (as_iter iter) method backward_display_line iter = View.backward_display_line obj (as_iter iter) method forward_display_line_end iter = View.forward_display_line_end obj (as_iter iter) method backward_display_line_start iter = View.backward_display_line_start obj (as_iter iter) method starts_display_line iter = View.starts_display_line obj (as_iter iter) method move_visually iter count = View.move_visually obj (as_iter iter) count method add_child_at_anchor (w : widget) (anchor : child_anchor) = View.add_child_at_anchor obj w#as_widget anchor#as_childanchor method add_child_in_window ~(child : widget) ~which_window ~x ~y = View.add_child_in_window obj child#as_widget which_window x y method move_child ~(child : widget) ~x ~y = View.move_child obj child#as_widget x y end class view obj = object inherit view_skel obj method connect = new view_signals obj end let view ?(buffer:buffer option) = View.make_params [] ~cont:( GContainer.pack_container ~create:(fun pl -> let w = match buffer with | None -> View.create [] | Some b -> View.create_with_buffer b#as_buffer in Gobject.set_params w pl; new view w)) lablgtk-3.1.2/src/gText.mli0000644000650106067230000005664414161276610014404 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk open GObj (** The text widget and associated objects @gtkdoc gtk TextWidget *) type mark = [`INSERT | `SEL_BOUND | `NAME of string | `MARK of text_mark] class child_anchor : text_child_anchor -> object method as_childanchor : text_child_anchor method deleted : bool method get_oid : int method widgets : widget list end val child_anchor : unit -> child_anchor (** {3 GtkTextTag} *) type tag_property = [ | `ACCUMULATIVE_MARGIN of bool | `BACKGROUND of string | `BACKGROUND_FULL_HEIGHT of bool | `BACKGROUND_FULL_HEIGHT_SET of bool | `BACKGROUND_GDK of Gdk.color | `BACKGROUND_SET of bool | `DIRECTION of Tags.text_direction | `EDITABLE of bool | `EDITABLE_SET of bool | `FAMILY of string | `FAMILY_SET of bool | `FONT of string | `FONT_DESC of Pango.font_description | `FOREGROUND of string | `FOREGROUND_GDK of Gdk.color | `FOREGROUND_SET of bool | `INDENT of int | `INDENT_SET of bool | `INVISIBLE of bool | `INVISIBLE_SET of bool | `JUSTIFICATION of Tags.justification | `JUSTIFICATION_SET of bool | `LANGUAGE of string | `LANGUAGE_SET of bool | `LEFT_MARGIN of int | `LEFT_MARGIN_SET of bool | `PARAGRAPH_BACKGROUND of string | `PARAGRAPH_BACKGROUND_GDK of Gdk.color | `PARAGRAPH_BACKGROUND_SET of bool | `PIXELS_ABOVE_LINES of int | `PIXELS_ABOVE_LINES_SET of bool | `PIXELS_BELOW_LINES of int | `PIXELS_BELOW_LINES_SET of bool | `PIXELS_INSIDE_WRAP of int | `PIXELS_INSIDE_WRAP_SET of bool | `RIGHT_MARGIN of int | `RIGHT_MARGIN_SET of bool | `RISE of int | `RISE_SET of bool | `SCALE of Pango.Tags.scale | `SCALE_SET of bool | `SIZE of int | `SIZE_POINTS of float | `SIZE_SET of bool | `STRETCH of Pango.Tags.stretch | `STRETCH_SET of bool | `STRIKETHROUGH of bool | `STRIKETHROUGH_SET of bool | `STYLE of Pango.Tags.style | `STYLE_SET of bool | `TABS_SET of bool | `UNDERLINE of Pango.Tags.underline | `UNDERLINE_SET of bool | `VARIANT of Pango.Tags.variant | `VARIANT_SET of bool | `WEIGHT of Pango.Tags.weight | `WEIGHT_SET of bool | `WRAP_MODE of Tags.wrap_mode | `WRAP_MODE_SET of bool ] (** @gtkdoc gtk GtkTextTag *) class tag_signals : ([> `texttag] as 'b) obj -> object ('a) method after : 'a method event : callback:(origin:unit Gobject.obj -> GdkEvent.any -> text_iter -> bool) -> GtkSignal.id end (** A tag that can be applied to text in a {!GText.buffer} @gtkdoc gtk GtkTextTag *) class tag : text_tag -> object method as_tag : text_tag method connect : tag_signals method event : 'a obj -> GdkEvent.any -> text_iter -> bool method get_oid : int method priority : int method set_priority : int -> unit method set_properties : tag_property list -> unit method set_property : tag_property -> unit method get_property : ([`texttag],'a) Gobject.property -> 'a end (** @gtkdoc gtk GtkTextTag *) val tag : ?name:string -> unit -> tag (** {3 Text buffer iterator} *) type contents = [ `CHAR of Glib.unichar | `PIXBUF of GdkPixbuf.pixbuf | `CHILD of child_anchor | `UNKNOWN ] (** Movement functions returning an iter are truly functional i.e. the returned iter shares nothing with the originale one. If you need to move some iter in an imperative way use [#nocopy#...]. *) (** @gtkdoc gtk gtk-GtkTextIter *) class nocopy_iter : text_iter -> object method as_iter : text_iter method assign : nocopy_iter -> unit method backward_char : bool method backward_chars : int -> bool method backward_cursor_position : bool method backward_cursor_positions : int -> bool method backward_find_char : ?limit:iter -> (Glib.unichar -> bool) -> bool method backward_line : bool method backward_lines : int -> bool method backward_sentence_start : bool method backward_sentence_starts : int -> bool method backward_to_tag_toggle : tag option -> bool method backward_word_start : bool method backward_word_starts : int -> bool method forward_char : bool method forward_chars : int -> bool method forward_cursor_position : bool method forward_cursor_positions : int -> bool method forward_find_char : ?limit:iter -> (Glib.unichar -> bool) -> bool method forward_line : bool method forward_lines : int -> bool method forward_sentence_end : bool method forward_sentence_ends : int -> bool method forward_to_end : unit method forward_to_tag_toggle : tag option -> bool method forward_word_end : bool method forward_word_ends : int -> bool method forward_to_line_end : bool method set_line : int -> unit method set_line_index : int -> unit method set_line_offset : int -> unit method set_offset : int -> unit method set_visible_line_index : int -> unit method set_visible_line_offset : int -> unit end (** @gtkdoc gtk gtk-GtkTextIter *) and iter : text_iter -> object ('self) method as_iter : text_iter method copy : iter method nocopy : nocopy_iter method backward_char : iter method backward_chars : int -> iter method backward_cursor_position : iter method backward_cursor_positions : int -> iter method backward_find_char : ?limit:iter -> (Glib.unichar -> bool) -> iter method backward_line : iter method backward_lines : int -> iter method backward_search : ?flags:Gtk.Tags.text_search_flag list -> ?limit:iter -> string -> (iter * iter) option method backward_sentence_start : iter method backward_sentence_starts : int -> iter method backward_to_tag_toggle : tag option -> iter method backward_word_start : iter method backward_word_starts : int -> iter method begins_tag : tag option -> bool method buffer : text_buffer method bytes_in_line : int method can_insert : default:bool -> bool method char : Glib.unichar method chars_in_line : int method compare : iter -> int method contents : contents method editable : default:bool -> bool method ends_line : bool method ends_sentence : bool method ends_tag : tag option -> bool method ends_word : bool method equal : iter -> bool method forward_char : iter method forward_chars : int -> iter method forward_cursor_position : iter method forward_cursor_positions : int -> iter method forward_find_char : ?limit:iter -> (Glib.unichar -> bool) -> iter method forward_line : iter method forward_lines : int -> iter method forward_search : ?flags:Gtk.Tags.text_search_flag list -> ?limit:iter -> string -> (iter * iter) option method forward_sentence_end : iter method forward_sentence_ends : int -> iter method forward_to_end : iter method forward_to_line_end : iter method forward_to_tag_toggle : tag option -> iter method forward_word_end : iter method forward_word_ends : int -> iter method get_slice : stop:iter -> string method get_text : stop:iter -> string method get_toggled_tags : bool -> tag list method get_visible_slice : stop:iter -> string method get_visible_text : stop:iter -> string method has_tag : tag -> bool method in_range : start:iter -> stop:iter -> bool method inside_sentence : bool method inside_word : bool method is_cursor_position : bool method is_end : bool method is_start : bool method language : string method line : int method line_index : int method line_offset : int method marks : text_mark list method offset : int method set_line : int -> iter method set_line_index : int -> iter method set_line_offset : int -> iter method set_offset : int -> iter method set_visible_line_index : int -> iter method set_visible_line_offset : int -> iter method starts_line : bool method starts_sentence : bool method starts_word : bool method tags : tag list method toggles_tag : tag option -> bool method visible_line_index : int method visible_line_offset : int end (** @gtkdoc gtk gtk-GtkTextIter *) val as_iter : iter -> text_iter (** {3 GtkTextTagTable} *) (** @gtkdoc gtk GtkTextTagTable *) class tag_table_signals : ([> `texttagtable] as 'b) obj -> object ('a) method after : 'a method tag_added : callback:(text_tag -> unit) -> GtkSignal.id method tag_changed : callback:(text_tag -> size:bool -> unit) -> GtkSignal.id method tag_removed : callback:(text_tag -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkTextTagTable *) class tag_table_skel : [> `texttagtable] obj -> object method get_oid : int method as_tag_table : text_tag_table method add : text_tag -> unit method remove : text_tag -> unit method lookup : string -> text_tag option method size : int end (** Collection of tags that can be used together @gtkdoc gtk GtkTextTagTable *) class tag_table : [> `texttagtable] obj -> object inherit tag_table_skel method connect : tag_table_signals end (** @gtkdoc gtk GtkTextTagTable *) val tag_table : unit -> tag_table (** {3 GtkTextBuffer} *) (** @gtkdoc gtk GtkTextBuffer *) (* class buffer_signals : [> `textbuffer] obj -> object ('a) method apply_tag : callback:(tag -> start:iter -> stop:iter -> unit) -> GtkSignal.id method begin_user_action : callback:(unit -> unit) -> GtkSignal.id method changed : callback:(unit -> unit) -> GtkSignal.id method delete_range : callback:(start:iter -> stop:iter -> unit) -> GtkSignal.id method end_user_action : callback:(unit -> unit) -> GtkSignal.id method insert_child_anchor : callback:(iter -> text_child_anchor -> unit) -> GtkSignal.id method insert_pixbuf : callback:(iter -> GdkPixbuf.pixbuf -> unit) -> GtkSignal.id method insert_text : callback:(iter -> string -> unit) -> GtkSignal.id method mark_deleted : callback:(text_mark -> unit) -> GtkSignal.id method mark_set : callback:(iter -> text_mark -> unit) -> GtkSignal.id method modified_changed : callback:(unit -> unit) -> GtkSignal.id method remove_tag : callback:(tag -> start:iter -> stop:iter -> unit) -> GtkSignal.id method after : 'a end *) class type buffer_signals_skel_type = object method apply_tag : callback:(tag -> start:iter -> stop:iter -> unit) -> GtkSignal.id method begin_user_action : callback:(unit -> unit) -> GtkSignal.id method changed : callback:(unit -> unit) -> GtkSignal.id method delete_range : callback:(start:iter -> stop:iter -> unit) -> GtkSignal.id method end_user_action : callback:(unit -> unit) -> GtkSignal.id method insert_child_anchor : callback:(iter -> Gtk.text_child_anchor -> unit) -> GtkSignal.id method insert_pixbuf : callback:(iter -> GdkPixbuf.pixbuf -> unit) -> GtkSignal.id method insert_text : callback:(iter -> string -> unit) -> GtkSignal.id method mark_deleted : callback:(Gtk.text_mark -> unit) -> GtkSignal.id method mark_set : callback:(iter -> Gtk.text_mark -> unit) -> GtkSignal.id method modified_changed : callback:(unit -> unit) -> GtkSignal.id method remove_tag : callback:(tag -> start:iter -> stop:iter -> unit) -> GtkSignal.id method notify_cursor_position : callback:(int -> unit) -> GtkSignal.id method notify_has_selection : callback:(bool -> unit) -> GtkSignal.id method notify_tag_table : callback:(text_tag_table -> unit) -> GtkSignal.id end class type ['b] buffer_signals_type = object ('a) inherit buffer_signals_skel_type method after : 'a method private connect : 'c. ('b, 'c) GtkSignal.t -> callback:'c -> GtkSignal.id method private notify : 'c. ('b, 'c) Gobject.property -> callback:('c -> unit) -> GtkSignal.id end class virtual buffer_signals_skel : object constraint 'c = [> `textbuffer ] inherit buffer_signals_skel_type method private virtual connect : 'a. ('c, 'a) GtkSignal.t -> callback:'a -> GtkSignal.id method private virtual notify : 'b. ('c, 'b) Gobject.property -> callback:('b -> unit) -> GtkSignal.id end class buffer_signals : ([> `textbuffer ] as 'b) Gtk.obj -> ['b] buffer_signals_type exception No_such_mark of string type position = [ `OFFSET of int | `LINE of int | `LINECHAR of int * int | `LINEBYTE of int * int | `START | `END | `ITER of iter | mark ] (** Stores attributed text for display in a {!GText.view} @gtkdoc gtk GtkTextBuffer *) class buffer_skel : [> `textbuffer] obj -> object method as_buffer : text_buffer method add_selection_clipboard : GData.clipboard -> unit method apply_tag : tag -> start:iter -> stop:iter -> unit method apply_tag_by_name : string -> start:iter -> stop:iter -> unit method begin_user_action : unit -> unit method bounds : iter * iter method char_count : int method copy_clipboard : GData.clipboard -> unit method create_child_anchor : iter -> child_anchor method create_mark : ?name:string -> ?left_gravity:bool -> iter -> text_mark (** @param left_gravity default value is [true] *) method create_tag : ?name:string -> tag_property list -> tag method cut_clipboard : ?default_editable:bool -> GData.clipboard -> unit (** @param default_editable default value is [true] *) method delete : start:iter -> stop:iter -> unit method delete_interactive : start:iter -> stop:iter -> ?default_editable:bool -> unit -> bool (** @param default_editable default value is [true] *) method delete_mark : mark -> unit method delete_selection : ?interactive:bool -> ?default_editable:bool -> unit -> bool (** @param interactive default value is [true] @param default_editable default value is [true] *) method end_iter : iter method end_user_action : unit -> unit method get_iter : position -> iter method get_iter_at_char : ?line:int -> int -> iter method get_iter_at_byte : line:int -> int -> iter method get_iter_at_mark : mark -> iter method get_mark : mark -> text_mark method get_oid : int method get_text : ?start:iter -> ?stop:iter -> ?slice:bool -> ?visible:bool -> unit -> string (** @param slice default value is [false] @param visible default value is [false] *) method insert : ?iter:iter -> ?tag_names:string list -> ?tags:tag list -> string -> unit method insert_child_anchor : iter -> child_anchor -> unit method insert_interactive : ?iter:iter -> ?default_editable:bool -> string -> bool (** @param default_editable default value is [true] *) method insert_pixbuf : iter:iter -> pixbuf:GdkPixbuf.pixbuf -> unit method insert_range : iter:iter -> start:iter -> stop:iter -> unit method insert_range_interactive : iter:iter -> start:iter -> stop:iter -> ?default_editable:bool -> unit -> bool (** @param default_editable default value is [true] *) method line_count : int method modified : bool method move_mark : mark -> where:iter -> unit method paste_clipboard : ?iter:iter -> ?default_editable:bool -> GData.clipboard -> unit (** @param default_editable default value is [true] *) method place_cursor : where:iter -> unit method select_range : iter -> iter -> unit (** @since GTK 2.4 *) method remove_all_tags : start:iter -> stop:iter -> unit method remove_selection_clipboard : GData.clipboard -> unit method remove_tag : tag -> start:iter -> stop:iter -> unit method remove_tag_by_name : string -> start:iter -> stop:iter -> unit method selection_bounds : iter * iter method set_modified : bool -> unit method set_text : string -> unit method start_iter : iter method tag_table : text_tag_table method has_selection : bool (** since Gtk 2.10 *) method cursor_position : int (** since Gtk 2.10 *) end class buffer : [> `textbuffer] obj -> object inherit buffer_skel method connect : buffer_signals end (** @gtkdoc gtk GtkTextBuffer *) val buffer : ?tag_table:tag_table -> ?text:string -> unit -> buffer (** {3 GtkTextView} *) (** @gtkdoc gtk GtkTextView *) class view_signals : [> text_view] obj -> object ('a) method after : 'a method copy_clipboard : callback:(unit -> unit) -> GtkSignal.id method cut_clipboard : callback:(unit -> unit) -> GtkSignal.id method delete_from_cursor : callback:(Tags.delete_type -> int -> unit) -> GtkSignal.id method destroy : callback:(unit -> unit) -> GtkSignal.id method insert_at_cursor : callback:(string -> unit) -> GtkSignal.id method move_cursor : callback:(Tags.movement_step -> int -> extend:bool -> unit) -> GtkSignal.id method move_focus : callback:(Tags.direction_type -> unit) -> GtkSignal.id method page_horizontally : callback:(int -> extend:bool -> unit) -> GtkSignal.id method paste_clipboard : callback:(unit -> unit) -> GtkSignal.id method populate_popup : callback:(menu obj -> unit) -> GtkSignal.id method set_anchor : callback:(unit -> unit) -> GtkSignal.id method toggle_overwrite : callback:(unit -> unit) -> GtkSignal.id method notify_accepts_tab : callback:(bool -> unit) -> GtkSignal.id method notify_bottom_margin : callback:(int -> unit) -> GtkSignal.id method notify_cursor_visible : callback:(bool -> unit) -> GtkSignal.id method notify_editable : callback:(bool -> unit) -> GtkSignal.id method notify_hadjustment : callback:(GData.adjustment -> unit) -> GtkSignal.id method notify_im_module : callback:(string -> unit) -> GtkSignal.id method notify_indent : callback:(int -> unit) -> GtkSignal.id method notify_input_hints : callback:(GtkEnums.input_hints -> unit) -> GtkSignal.id method notify_input_purpose : callback:(GtkEnums.input_purpose -> unit) -> GtkSignal.id method notify_justification : callback:(GtkEnums.justification -> unit) -> GtkSignal.id method notify_left_margin : callback:(int -> unit) -> GtkSignal.id method notify_monospace : callback:(bool -> unit) -> GtkSignal.id method notify_overwrite : callback:(bool -> unit) -> GtkSignal.id method notify_pixels_above_lines : callback:(int -> unit) -> GtkSignal.id method notify_pixels_below_lines : callback:(int -> unit) -> GtkSignal.id method notify_pixels_inside_wrap : callback:(int -> unit) -> GtkSignal.id method notify_populate_all : callback:(bool -> unit) -> GtkSignal.id method notify_right_margin : callback:(int -> unit) -> GtkSignal.id method notify_top_margin : callback:(int -> unit) -> GtkSignal.id method notify_vadjustment : callback:(GData.adjustment -> unit) -> GtkSignal.id method notify_wrap_mode : callback:(GtkEnums.wrap_mode -> unit) -> GtkSignal.id end (** Widget that displays a {!GText.buffer} @gtkdoc gtk GtkTextView *) class view_skel : ([> text_view] as 'a) obj -> object inherit GObj.widget val obj : 'a obj method as_view : text_view obj method accepts_tab : bool method add_child_at_anchor : GObj.widget -> child_anchor -> unit method add_child_in_window : child:GObj.widget -> which_window:Tags.text_window_type -> x:int -> y:int -> unit method backward_display_line : iter -> bool method backward_display_line_start : iter -> bool method bottom_margin : int method buffer : buffer method buffer_to_window_coords : tag:Tags.text_window_type -> x:int -> y:int -> int * int method cursor_visible : bool method editable : bool method event : GObj.event_ops method forward_display_line : iter -> bool method forward_display_line_end : iter -> bool method get_border_window_size : [ `BOTTOM | `LEFT | `RIGHT | `TOP] -> int method get_iter_at_location : x:int -> y:int -> iter method get_iter_location : iter -> Gdk.Rectangle.t method get_line_at_y : int -> iter * int method get_line_yrange : iter -> int * int method get_window : Tags.text_window_type -> Gdk.window option method get_window_type : Gdk.window -> Tags.text_window_type method hadjustment : GData.adjustment method im_module : string method indent : int method input_hints : GtkEnums.input_hints method input_purpose : GtkEnums.input_purpose method justification : Tags.justification method left_margin : int method misc : GObj.misc_ops method monospace : bool method move_child : child:GObj.widget -> x:int -> y:int -> unit method move_mark_onscreen : mark -> bool method move_visually : iter -> int -> bool method overwrite : bool method pixels_above_lines : int method pixels_below_lines : int method pixels_inside_wrap : int method place_cursor_onscreen : unit -> bool method populate_all : bool method right_margin : int method scroll_mark_onscreen : mark -> unit method scroll_to_iter : ?within_margin:float -> ?use_align:bool -> ?xalign:float -> ?yalign:float -> iter -> bool (** @param use_align default value is [false] *) method scroll_to_mark : ?within_margin:float -> ?use_align:bool -> ?xalign:float -> ?yalign:float -> mark -> unit (** @param use_align default value is [false] *) method set_accepts_tab : bool -> unit method set_border_window_size : typ:[ `BOTTOM | `LEFT | `RIGHT | `TOP] -> size:int -> unit method set_buffer : buffer -> unit method set_bottom_margin : int -> unit method set_cursor_visible : bool -> unit method set_editable : bool -> unit method set_im_module : string -> unit method set_indent : int -> unit method set_input_hints : GtkEnums.input_hints -> unit method set_input_purpose : GtkEnums.input_purpose -> unit method set_justification : Tags.justification -> unit method set_hadjustment : GData.adjustment -> unit method set_left_margin : int -> unit method set_monospace : bool -> unit method set_overwrite : bool -> unit method set_pixels_above_lines : int -> unit method set_pixels_below_lines : int -> unit method set_pixels_inside_wrap : int -> unit method set_populate_all : bool -> unit method set_right_margin : int -> unit method set_top_margin : int -> unit method set_vadjustment : GData.adjustment -> unit method set_wrap_mode : Tags.wrap_mode -> unit method starts_display_line : iter -> bool method top_margin : int method vadjustment : GData.adjustment method visible_rect : Gdk.Rectangle.t method window_to_buffer_coords : tag:Tags.text_window_type -> x:int -> y:int -> int * int method wrap_mode : Tags.wrap_mode end class view : ([> text_view] as 'a) obj -> object inherit view_skel val obj : 'a obj method connect : view_signals end (** @gtkdoc gtk GtkTextView *) val view : ?buffer:buffer -> ?editable:bool -> ?cursor_visible:bool -> ?justification:Tags.justification -> ?wrap_mode:Tags.wrap_mode -> ?accepts_tab:bool -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> view lablgtk-3.1.2/src/gToolbox.ml0000644000650106067230000003036214161276610014722 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels (** Menus *) type menu_entry = [ `I of string * (unit -> unit) | `C of string * bool * (bool -> unit) | `R of (string * bool * (bool -> unit)) list | `M of string * menu_entry list ] let rec build_menu menu ~(entries : menu_entry list) = let f = new GMenu.factory menu in List.iter entries ~f: begin function | `I (label, callback) -> ignore (f#add_item label ~callback) | `C (label, active, callback) -> ignore (f#add_check_item label ~callback ~active) | `R ((label, active, callback) :: l) -> let r = f#add_radio_item label ~active ~callback in let group = r#group in List.iter l ~f: (fun (label, active, callback) -> ignore (f#add_radio_item label ~active ~callback ~group)) | `R [] -> () | `M (label, entries) -> let m = f#add_submenu label in build_menu m ~entries end let popup_menu ~entries = let menu = GMenu.menu () in build_menu menu ~entries; fun ~button ~time -> if entries = [] then () else menu#popup ~button ~time (** Dialogs *) let mOk = "Ok" let mCancel = "Cancel" let question_box ?parent ~title ~buttons ?(default=1) ?icon message = let button_nb = ref 0 in let destroy_with_parent = Gaux.may_map ~f:(fun _ -> true) parent in let window = GWindow.dialog ?parent ?destroy_with_parent ~modal:true ~title () in let hbox = GPack.hbox ~border_width:10 ~packing:window#vbox#add () in let bbox = window#action_area in begin match icon with None -> () | Some i -> hbox#pack i#coerce ~padding:4 end; ignore (GMisc.label ~text: message ~packing: hbox#add ()); (* the function called to create each button by iterating *) let rec iter_buttons n = function [] -> () | button_label :: q -> let b = GButton.button ~label: button_label ~packing:(bbox#pack ~expand:true ~padding:4) () in b#connect#clicked ~callback: (fun () -> button_nb := n; window#destroy ()); (* If it's the first button then give it the focus *) if n = default then b#grab_default () else (); iter_buttons (n+1) q in iter_buttons 1 buttons; window#connect#destroy ~callback: GMain.Main.quit; window#set_position `CENTER; window#show (); GMain.Main.main (); !button_nb let message_box ?parent ~title ?icon ?(ok=mOk) message = ignore (question_box ?parent ?icon ~title message ~buttons:[ ok ]) let input_widget ?parent ~widget ~event ~get_text ~bind_ok ~expand ~title ?(ok=mOk) ?(cancel=mCancel) message = let retour = ref None in let destroy_with_parent = Gaux.may_map ~f:(fun _ -> true) parent in let window = GWindow.dialog ?parent ?destroy_with_parent ~title ~modal:true () in window#connect#destroy ~callback: GMain.Main.quit; let main_box = window#vbox in let hbox_boutons = window#action_area in let vbox_saisie = GPack.vbox ~packing: (main_box#pack ~expand: true) () in ignore (GMisc.label ~text:message ~packing:(vbox_saisie#pack ~padding:3) ()); vbox_saisie#pack widget ~expand ~padding: 3; let wb_ok = GButton.button ~label: ok ~packing: (hbox_boutons#pack ~expand: true ~padding: 3) () in wb_ok#grab_default (); let wb_cancel = GButton.button ~label: cancel ~packing: (hbox_boutons#pack ~expand: true ~padding: 3) () in let f_ok () = retour := Some (get_text ()) ; window#destroy () in let f_cancel () = retour := None; window#destroy () in wb_ok#connect#clicked f_ok; wb_cancel#connect#clicked f_cancel; (* the enter key is linked to the ok action *) (* the escape key is linked to the cancel action *) event#connect#key_press ~callback: begin fun ev -> if GdkEvent.Key.keyval ev = GdkKeysyms._Return && bind_ok then f_ok (); if GdkEvent.Key.keyval ev = GdkKeysyms._Escape then f_cancel (); false end; widget#misc#grab_focus (); window#show (); GMain.Main.main (); !retour let input_string ?parent ~title ?ok ?cancel ?(text="") message = let we_chaine = GEdit.entry ~text () in if text <> "" then we_chaine#select_region 0 (we_chaine#text_length); input_widget ?parent ~widget:we_chaine#coerce ~event:we_chaine#event ~get_text:(fun () -> we_chaine#text) ~bind_ok:true ~expand: false ~title ?ok ?cancel message let input_text ?parent ~title ?ok ?cancel ?(text="") message = let wscroll = GBin.scrolled_window ~vpolicy: `AUTOMATIC ~hpolicy: `AUTOMATIC () in let wview_chaine = GText.view ~editable: true ~packing: wscroll#add () in if text <> "" then begin wview_chaine#buffer#insert text; wview_chaine#buffer#move_mark `SEL_BOUND ~where:wview_chaine#buffer#start_iter; end; input_widget ?parent ~widget:wscroll#coerce ~event:wview_chaine#event ~get_text: wview_chaine#buffer#get_text ~bind_ok:false ~expand: true ~title ?ok ?cancel message (* (**This variable contains the last directory where the user selected a file.*) let last_dir = ref "" let select_file ~title ?(dir = last_dir) ?(filename="") () = let fs = if Filename.is_relative filename then begin if !dir <> "" then let filename = Filename.concat !dir filename in GWindow.file_selection ~modal:true ~title ~filename () else GWindow.file_selection ~modal:true ~title () end else begin dir := Filename.dirname filename; GWindow.file_selection ~modal:true ~title ~filename () end in fs#connect#destroy ~callback: GMain.Main.quit; let file = ref None in fs#ok_button#connect#clicked ~callback: begin fun () -> file := Some fs#filename; dir := Filename.dirname fs#filename; fs#destroy () end; fs # cancel_button # connect#clicked ~callback:fs#destroy; fs # show (); GMain.Main.main (); !file type 'a tree = [`L of 'a | `N of 'a * 'a tree list] class ['a] tree_selection ~tree ~label ~info ?packing ?show () = let main_box = GPack.vbox ?packing ?show () in (* The scroll window used for the tree of the versions *) let wscroll_tree = GBin.scrolled_window ~packing: main_box#add () in (* The tree containing the versions *) let wtree = GBroken.tree ~packing:wscroll_tree#add_with_viewport () in (* the text widget used to display information on the selected node. *) let wview = GText.view ~editable: false ~packing: main_box#pack () in (* build the tree *) object inherit GObj.widget main_box#as_widget val mutable selection = None method selection = selection method clear_selection () = selection <- None method wtree = wtree method wview = wview initializer let rec insert_node wt (t : 'a tree) = let data, children = match t with `L d -> d, [] | `N(d,c) -> d, c in let item = GBroken.tree_item ~label: (label data) () in wt#insert item ~pos: 0; item#connect#select ~callback: begin fun () -> selection <- Some data; wview#buffer#delete ~start: wview#buffer#start_iter ~stop:wview#buffer#end_iter ; wview#buffer#insert ~iter: wview#buffer#start_iter (info data); () end; item#connect#deselect ~callback: begin fun () -> selection <- None; wview#buffer#set_text ""; end; match children with [] -> (* nothing more to do *) () | l -> (* create a subtree and expand it *) let newtree = GBroken.tree () in item#set_subtree newtree; item#expand (); (* insert the children *) List.iter (insert_node newtree) (List.rev children) in insert_node wtree tree end let tree_selection_dialog ?parent ~tree ~label ~info ~title ?(ok=mOk) ?(cancel=mCancel) ?(width=300) ?(height=400) ?show () = let destroy_with_parent = Gaux.may_map ~f:(fun _ -> true) parent in let window = GWindow.dialog ?parent ?destroy_with_parent ~modal:true ~title ~width ~height ?show () in (* the tree selection box *) let ts = new tree_selection ~tree ~label ~info ~packing:window#vbox#add () in (* the box containing the ok and cancel buttons *) let hbox = window#action_area in let bOk = GButton.button ~label: ok ~packing:(hbox#pack ~padding:4 ~expand: true) () in let bCancel = GButton.button ~label: cancel ~packing:(hbox#pack ~padding:4 ~expand: true) () in bOk#connect#clicked ~callback:window#destroy; bCancel#connect#clicked ~callback:(fun _ -> ts#clear_selection () ; window#destroy ()); window#connect#destroy ~callback: GMain.Main.quit; window#show (); GMain.Main.main () ; ts#selection (** Misc *) let autosize_clist wlist = (* get the number of columns *) let nb_columns = wlist#columns in (* get the columns titles *) let rec iter lacc i = if i >= nb_columns then lacc else let title = wlist#column_title i in iter (lacc@[(" "^title^" ")]) (i+1) in let titles = iter [] 0 in (* insert a row with the titles *) wlist#insert ~row:0 titles; (* use to clist columns_autosize method *) wlist#columns_autosize (); (* remove the inserted row *) ignore (wlist#remove ~row: 0) *) (** Shortcuts *) type key_combination = [ `A | `C | `S ] list * char type 'a shortcut_specification = { name : string; keys : key_combination list; message : 'a; } (* mk_keys turns keys from a key_combination into a format which can be used in * a GTK+ RC file. *) let mk_keys (mods, c) = let mods = List.map (function `A -> "" | `C -> "" | `S -> "") mods in (String.concat "" mods) ^ (String.make 1 (Char.uppercase_ascii c)) (* Signal creation for shortcuts unfortunately requires us to create an * in-memory gtkrc file which this function do. *) let make_gtkrc_string g_type shortcuts = let sp = Printf.sprintf in let b = Buffer.create 4000 in Buffer.add_string b "binding \"Shortcuts\" {"; StdLabels.List.iter shortcuts ~f:(fun t -> ListLabels.iter t.keys ~f:(fun keys -> let keys = mk_keys keys in Buffer.add_string b (sp "bind \"%s\" { \"%s\" () }" keys t.name) ) ); Buffer.add_string b "}"; let classname = Gobject.Type.name g_type in Buffer.add_string b (sp "class \"%s\" binding \"Shortcuts\"" classname); Buffer.contents b let create_shortcuts ~window:(win : #GWindow.window_skel) ~shortcuts ~callback = let win = win#as_window in let g_type = Gobject.get_type win in GtkMain.Rc.parse_string (make_gtkrc_string g_type shortcuts); ListLabels.iter shortcuts ~f:(fun t -> let sgn = { GtkSignal.name = t.name; classe = `window; marshaller = GtkSignal.marshal_unit } in GtkSignal.signal_new t.name g_type [ `ACTION; `RUN_FIRST ]; ignore (GtkSignal.connect ~sgn ~callback:(fun () -> callback t.message) win) ) lablgtk-3.1.2/src/gToolbox.mli0000644000650106067230000001750614161276610015100 0ustar glondused(**************************************************************************) (* 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$ *) (** Useful functions for LablGTK. *) (** {2 Menus} *) (** Tree description of a menu *) type menu_entry = [ `I of string * (unit -> unit) | `C of string * bool * (bool -> unit) | `R of (string * bool * (bool -> unit)) list | `M of string * menu_entry list ] (** Build a menu from a tree description *) val build_menu : GMenu.menu -> entries: menu_entry list -> unit (** Popup a menu created from the given list of labels and functions. *) val popup_menu : entries: menu_entry list -> button: int -> time: int32 -> unit (** {2 Parametrized dialog windows} *) (**This function is used to display a question in a dialog box, with a parametrized list of buttons. The function returns the number of the clicked button (starting at 1), or 0 if the window is savagedly destroyed. @param parent the parent window in the front of which it should be displayed. this also sets the [destroy_with_parent] property. @param title the title of the dialog @param buttons the list of button labels. @param default the index of the default answer @param icon a widget (usually a pixmap) which can be displayed on the left of the window. @param message the text to display *) val question_box : ?parent:#GWindow.window_skel -> title:string -> buttons:string list -> ?default:int -> ?icon:#GObj.widget -> string -> int (**This function is used to display a message in a dialog box with just an Ok button. We use [question_box] with just an ok button. @param parent the parent window in the front of which it should be displayed. this also sets the [destroy_with_parent] property. @param title the title of the dialog @param icon a widget (usually a pixmap) which can be displayed on the left of the window. @param ok the text for the ok button (default is "Ok") @param message the text to display *) val message_box : ?parent:#GWindow.window_skel -> title:string -> ?icon:#GObj.widget -> ?ok:string -> string -> unit (** Make the user type in a string. @return [None] if the user clicked on cancel, or [Some s] if the user clicked on the ok button. @param parent the parent window in the front of which it should be displayed. this also sets the [destroy_with_parent] property. @param title the title of the dialog @param ok the text for the confirmation button (default is "Ok") @param cancel the text for the cancel button (default is "Cancel") @param text the default text displayed in the entry widget @param message the text to display *) val input_string : ?parent:#GWindow.window_skel -> title:string -> ?ok:string -> ?cancel:string -> ?text:string -> string -> string option (** Make the user type in a text. @return [None] if the user clicked on cancel, or [Some s] if the user clicked on the ok button. @param parent the parent window in the front of which it should be displayed. this also sets the [destroy_with_parent] property. @param title the title of the dialog @param ok the text for the confirmation button (default is "Ok") @param cancel the text for the cancel button (default is "Cancel") @param text the default text displayed in the entry widget (utf8) @param message the text to display *) val input_text : ?parent:#GWindow.window_skel -> title:string -> ?ok:string -> ?cancel:string -> ?text:string -> string -> string option (* (**This function allows the user to select a file and returns the selected file name. A VOIR : multi-selection ? *) val select_file : title:string -> ?dir:string ref -> ?filename:string -> unit -> string option (** A tree. *) type 'a tree = [ `L of 'a | `N of 'a * 'a tree list] (** A class to make the user select a node in a tree. @param parent the parent window in the front of which it should be displayed. this also sets the [destroy_with_parent] property. @param tree is the tree to display. @param label gives a label from the data of a node. @param info gives a (Utf8) string from the data of a node, to give more information to the user when he selects a node. @param width is the width of the tree widget @param height is the height of the tree widget *) class ['a] tree_selection : tree:'a tree -> label:('a -> string) -> info:('a -> string) -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> object inherit GObj.widget val obj : Gtk.widget Gtk.obj val mutable selection : 'a option method clear_selection : unit -> unit method selection : 'a option method wview : GText.view method wtree : GBroken.tree end (** A function to make the user select a node in a tree. @param parent the parent window in the front of which it should be displayed. this also sets the [destroy_with_parent] property. @param tree the to build a tree selection widget @param ok the text for the confirmation button (default is "Ok") @param cancel the text for the cancel button (default is "Cancel") @param title is the title of the window. @return The data associated to the selected node, or None if the user canceled the selection. *) val tree_selection_dialog : ?parent:#GWindow.window_skel -> tree:'a tree -> label:('a -> string) -> info:('a -> string) -> title:string -> ?ok:string -> ?cancel:string -> ?width:int -> ?height:int -> ?show:bool -> unit -> 'a option *) (** {2 Keyboard shortcuts} Associate messages to key combinations. *) (** A keyboard shorcut: a combination of Alt, Control and Shift and a letter. *) type key_combination = [ `A | `C | `S ] list * char (** A shortcut specification: name of a GTK+ signal to emit, keyboard shortcuts and the message to send. The name must be unique. *) type 'a shortcut_specification = { name : string; keys : key_combination list; message : 'a; } (** Setup the given shortcut spec list for the given window and callback. This create the GTK+ signal, associate the keyboard shortcuts to it, make the window listen to these shortcuts and eventually call the given callback with the messages from the shortcut specification. *) val create_shortcuts : window:#GWindow.window_skel -> shortcuts:'a shortcut_specification list -> callback:('a -> unit) -> unit lablgtk-3.1.2/src/gTree.ml0000644000650106067230000007437614161276610014210 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels open Gaux open Gobject open Gtk open GtkBase open GtkTree open OgtkBaseProps open OgtkTreeProps open GObj open GContainer (* New GtkTreeView/Model framework *) type 'a column = {index: int; conv: 'a data_conv; creator: int} class column_list = object (self) val mutable index = 0 val mutable types = [] val mutable locked = false method types = List.rev types method add : 'a. 'a data_conv -> 'a column = fun conv -> if locked then failwith "GTree.column_list#add"; let n = index in types <- Data.get_type conv :: types; index <- index + 1; {index = n; conv = conv; creator = Oo.id self} method id = Oo.id self method lock () = locked <- true end class row_reference rr ~model = object (self) method as_ref = rr method path = RowReference.get_path rr method valid = RowReference.valid rr method iter = TreeModel.get_iter model self#path end class model_signals obj = object inherit ['a] gobject_signals obj inherit tree_model_sigs end let model_ids = Hashtbl.create 7 let custom_model_ids = Hashtbl.create 7 class model obj = object (self) val id = try Hashtbl.find model_ids (Gobject.get_oid obj) with Not_found -> 0 val obj = obj method as_model = (obj :> tree_model) method coerce = (self :> model) method misc = new gobject_ops obj method flags = TreeModel.get_flags obj method n_columns = TreeModel.get_n_columns obj method get_column_type = TreeModel.get_column_type obj method get_iter = TreeModel.get_iter obj method get_path = TreeModel.get_path obj method get_row_reference path = new row_reference (RowReference.create obj path) obj method get : 'a. row:tree_iter -> column:'a column -> 'a = fun ~row ~column -> if column.creator <> id then invalid_arg "GTree.model#get: bad column"; (* Prevent a class derived from an ancestor of a custom model from calling get: this would be unsound. *) if not (Gobject.is_a obj "Custom_model") && Hashtbl.mem custom_model_ids id then invalid_arg "GTree.model#get: embedded custom model for iterator. Please use model#get_path then custom_model#custom_get_iter."; let v = Value.create_empty () in TreeModel.get_value obj ~row ~column:column.index v; Data.of_value column.conv v method get_iter_first = TreeModel.get_iter_first obj method iter_next = TreeModel.iter_next obj method iter_has_child = TreeModel.iter_has_child obj method iter_n_children = TreeModel.iter_n_children obj method iter_children = TreeModel.iter_children obj method iter_parent = TreeModel.iter_parent obj method foreach = TreeModel.foreach obj method row_changed = TreeModel.row_changed obj end class tree_sortable_signals obj = object inherit model_signals obj inherit tree_sortable_sigs end class tree_sortable obj = object inherit model obj method connect = new tree_sortable_signals obj method sort_column_changed () = GtkTree.TreeSortable.sort_column_changed obj method get_sort_column_id = GtkTree.TreeSortable.get_sort_column_id obj method set_sort_column_id = GtkTree.TreeSortable.set_sort_column_id obj method set_sort_func id cmp = GtkTree.TreeSortable.set_sort_func obj id (fun m it_a it_b -> cmp (new model m) it_a it_b) method set_default_sort_func cmp = GtkTree.TreeSortable.set_default_sort_func obj (fun m it_a it_b -> cmp (new model m) it_a it_b) method has_default_sort_func = GtkTree.TreeSortable.has_default_sort_func obj end let default_sort_column_id = -1 let unsorted_sort_column_id = -2 class tree_store obj = object inherit tree_sortable obj method set : 'a. row:tree_iter -> column:'a column -> 'a -> unit = fun ~row ~column data -> if column.creator <> id then invalid_arg "GTree.tree_store#set: bad column"; TreeStore.set_value obj ~row ~column:column.index (Data.to_value column.conv data) method remove = TreeStore.remove obj method insert = TreeStore.insert obj method insert_before = TreeStore.insert_before obj method insert_after = TreeStore.insert_after obj method append = TreeStore.append obj method prepend = TreeStore.prepend obj method is_ancestor = TreeStore.is_ancestor obj method iter_depth = TreeStore.iter_depth obj method clear () = TreeStore.clear obj method iter_is_valid = TreeStore.iter_is_valid obj method swap = TreeStore.swap obj method move_before = TreeStore.move_before obj method move_after = TreeStore.move_after obj end let tree_store (cols : column_list) = cols#lock (); let store = TreeStore.create (Array.of_list cols#types) in Hashtbl.add model_ids(Gobject.get_oid store) cols#id; new tree_store store class list_store obj = object inherit tree_sortable obj method set : 'a. row:tree_iter -> column:'a column -> 'a -> unit = fun ~row ~column data -> if column.creator <> id then invalid_arg "GTree.list_store#set: bad column"; ListStore.set_value obj ~row ~column:column.index (Data.to_value column.conv data) method remove = ListStore.remove obj method insert = ListStore.insert obj method insert_before = ListStore.insert_before obj method insert_after = ListStore.insert_after obj method append = ListStore.append obj method prepend = ListStore.prepend obj method clear () = ListStore.clear obj method iter_is_valid = ListStore.iter_is_valid obj method swap = ListStore.swap obj method move_before = ListStore.move_before obj method move_after = ListStore.move_after obj end let list_store (cols : column_list) = cols#lock (); let store = ListStore.create (Array.of_list cols#types) in Hashtbl.add model_ids (Gobject.get_oid store) cols#id; new list_store store let store_of_list conv data = let cols = new column_list in let column = cols#add conv in let store = list_store cols in List.iter (fun d -> let row = store#append () in store#set ~row ~column d) data ; store, column class model_sort (obj : Gtk.tree_model_sort) = object inherit tree_sortable obj method model = new model (Gobject.get GtkTree.TreeModelSort.P.model obj) method convert_child_path_to_path = GtkTree.TreeModelSort.convert_child_path_to_path obj method convert_child_iter_to_iter = GtkTree.TreeModelSort.convert_child_iter_to_iter obj method convert_path_to_child_path = GtkTree.TreeModelSort.convert_path_to_child_path obj method convert_iter_to_child_iter = GtkTree.TreeModelSort.convert_iter_to_child_iter obj method reset_default_sort_func () = GtkTree.TreeModelSort.reset_default_sort_func obj method iter_is_valid = GtkTree.TreeModelSort.iter_is_valid obj end let model_sort model = let child_model = model#as_model in let child_oid = Gobject.get_oid child_model in let o = GtkTree.TreeModelSort.create ~model:child_model [] in begin try let child_id = Hashtbl.find model_ids child_oid in Hashtbl.add model_ids (Gobject.get_oid o) child_id with Not_found -> () end ; new model_sort o class model_filter (obj : Gtk.tree_model_filter) = object inherit model obj method connect = new model_signals obj method child_model = new model (Gobject.get GtkTree.TreeModelFilter.P.child_model obj) method virtual_root = Gobject.get GtkTree.TreeModelFilter.P.virtual_root obj method set_visible_func f = GtkTree.TreeModelFilter.set_visible_func obj (fun o it -> f (new model o) it) method set_visible_column (c : bool column) = GtkTree.TreeModelFilter.set_visible_column obj c.index method convert_child_path_to_path = GtkTree.TreeModelFilter.convert_child_path_to_path obj method convert_child_iter_to_iter = GtkTree.TreeModelFilter.convert_child_iter_to_iter obj method convert_path_to_child_path = GtkTree.TreeModelFilter.convert_path_to_child_path obj method convert_iter_to_child_iter = GtkTree.TreeModelFilter.convert_iter_to_child_iter obj method refilter () = GtkTree.TreeModelFilter.refilter obj end let model_filter ?virtual_root model = let child_model = model#as_model in let child_oid = Gobject.get_oid child_model in let o = GtkTree.TreeModelFilter.create ~child_model ?virtual_root [] in begin try let child_id = Hashtbl.find model_ids child_oid in Hashtbl.add model_ids (Gobject.get_oid o) child_id; with Not_found -> () end ; new model_filter o module Path = TreePath (* open GTree.Data;; let cols = new GTree.column_list ;; let title = cols#add string;; let author = cols#add string;; let checked = cols#add boolean;; let store = new GTree.tree_store cols;; *) class type cell_renderer = object method as_renderer : Gtk.cell_renderer obj end class cell_layout obj = object method pack : 'a. ?expand:bool -> ?from:Tags.pack_type -> (#cell_renderer as 'a) -> unit = fun ?expand ?from crr -> GtkTree.CellLayout.pack obj ?expand ?from crr#as_renderer method reorder : 'a. (#cell_renderer as 'a) -> int -> unit = fun crr pos -> GtkTree.CellLayout.reorder obj crr#as_renderer pos method clear () = GtkTree.CellLayout.clear obj method add_attribute : 'a 'b. (#cell_renderer as 'a) -> string -> 'b column -> unit = fun crr attr col -> GtkTree.CellLayout.add_attribute obj crr#as_renderer attr col.index method set_cell_data_func : 'a. (#cell_renderer as 'a) -> (model -> Gtk.tree_iter -> unit) -> unit = fun crr cb -> GtkTree.CellLayout.set_cell_data_func obj crr#as_renderer (Some (fun m i -> cb (new model m) i)) method unset_cell_data_func : 'a. (#cell_renderer as 'a) -> unit = fun crr -> GtkTree.CellLayout.set_cell_data_func obj crr#as_renderer None method clear_attributes : 'a. (#cell_renderer as 'a) -> unit = fun crr -> GtkTree.CellLayout.clear_attributes obj crr#as_renderer end class view_column_signals obj = object (self) inherit [_] gobject_signals obj method clicked = self#connect TreeViewColumn.S.clicked end module P = TreeViewColumn.P class view_column (_obj : tree_view_column obj) = object inherit GObj.gtkobj _obj method private obj = _obj inherit tree_view_column_props method as_column = obj method misc = new gobject_ops obj method connect = new view_column_signals obj (* in GTK 2.4 this will be in GtkCellLayout interface *) (* inherit cell_layout _obj *) method clear () = TreeViewColumn.clear obj method reorder : 'a. (#cell_renderer as 'a) -> int -> unit = fun crr pos -> GtkTree.CellLayout.reorder obj crr#as_renderer pos method pack : 'a. ?expand:_ -> ?from:_ -> (#cell_renderer as 'a)-> _ = fun ?expand ?from r -> TreeViewColumn.pack obj ?expand ?from r#as_renderer method add_attribute : 'a 'b. (#cell_renderer as 'a) -> string -> 'b column -> unit = fun crr attr col -> TreeViewColumn.add_attribute obj crr#as_renderer attr col.index method clear_attributes : 'a. (#cell_renderer as 'a) -> unit = fun crr -> TreeViewColumn.clear_attributes obj crr#as_renderer method set_sort_column_id = TreeViewColumn.set_sort_column_id obj method get_sort_column_id = TreeViewColumn.get_sort_column_id obj method set_cell_data_func : 'a. (#cell_renderer as 'a) -> (model -> Gtk.tree_iter -> unit) -> unit = fun crr cb -> TreeViewColumn.set_cell_data_func obj crr#as_renderer (Some (fun m i -> cb (new model m) i)) method unset_cell_data_func : 'a. (#cell_renderer as 'a) -> unit = fun crr -> TreeViewColumn.set_cell_data_func obj crr#as_renderer None end let view_column ?title ?renderer () = let w = new view_column (TreeViewColumn.create []) in may title ~f:w#set_title; may renderer ~f: begin fun (crr, l) -> w#pack crr; List.iter l ~f: (fun (attr,col) -> w#add_attribute crr attr col) end; w let as_column (col : view_column) = col#as_column class selection_signals (obj : tree_selection) = object (self) inherit ['a] gobject_signals obj method changed = self#connect TreeSelection.S.changed end class selection obj = object val obj = obj method connect = new selection_signals obj method misc = new gobject_ops obj method set_mode = TreeSelection.set_mode obj method get_mode = TreeSelection.get_mode obj method set_select_function = TreeSelection.set_select_function obj method get_selected_rows = TreeSelection.get_selected_rows obj method count_selected_rows = TreeSelection.count_selected_rows obj method select_path = TreeSelection.select_path obj method unselect_path = TreeSelection.unselect_path obj method path_is_selected = TreeSelection.path_is_selected obj method select_iter = TreeSelection.select_iter obj method unselect_iter = TreeSelection.unselect_iter obj method iter_is_selected = TreeSelection.iter_is_selected obj method select_all () = TreeSelection.select_all obj method unselect_all () = TreeSelection.unselect_all obj method select_range = TreeSelection.select_range obj method unselect_range = TreeSelection.unselect_range obj end class view_signals obj = object (self) inherit container_signals_impl obj inherit tree_view_sigs method row_activated ~callback = self#connect TreeView.S.row_activated ~callback:(fun it vc -> callback it (new view_column vc)) end open TreeView.P class view obj = object inherit [Gtk.tree_view] GContainer.container_impl obj inherit tree_view_props method as_tree_view = (obj :> Gtk.tree_view Gtk.obj) method connect = new view_signals obj method event = new GObj.event_ops obj method selection = new selection (TreeView.get_selection obj) method expander_column = may_map (new view_column) (get expander_column obj) method set_expander_column c = set expander_column obj (may_map as_column c) method model = new model (Property.get_some obj model) method set_model m = set model obj (may_map (fun (m:model) -> m#as_model) m) method append_column col = TreeView.append_column obj (as_column col) method remove_column col = TreeView.remove_column obj (as_column col) method insert_column col = TreeView.insert_column obj (as_column col) method get_column n = new view_column (TreeView.get_column obj n) method move_column col ~after = TreeView.move_column_after obj (as_column col) (as_column after) method scroll_to_point = TreeView.scroll_to_point obj method scroll_to_cell ?align path col = TreeView.scroll_to_cell obj ?align path (as_column col) method row_activated path col = TreeView.row_activated obj path (as_column col) method expand_all () = TreeView.expand_all obj method collapse_all () = TreeView.collapse_all obj method expand_row ?(all=false) = TreeView.expand_row obj ~all method expand_to_path = TreeView.expand_to_path obj method collapse_row = TreeView.collapse_row obj method row_expanded = TreeView.row_expanded obj method set_cursor : 'a. ?cell:(#cell_renderer as 'a) -> _ = fun ?cell ?(edit=false) row col -> match cell with None -> TreeView.set_cursor obj ~edit row (as_column col) | Some cell -> TreeView.set_cursor_on_cell obj ~edit row (as_column col) cell#as_renderer method get_cursor () = match TreeView.get_cursor obj with path, Some vc -> path, Some (new view_column vc) | _, None as pair -> pair method get_path_at_pos ~x ~y = match TreeView.get_path_at_pos obj ~x ~y with Some (p, c, x, y) -> Some (p, new view_column c, x, y) | None -> None method get_cell_area ?path ?col () = TreeView.get_cell_area obj ?path ?col:(Gaux.may_map as_column col) () method get_visible_range () = TreeView.get_visible_range obj method set_row_separator_func fo = TreeView.set_row_separator_func obj (Gaux.may_map (fun f m -> f (new model m)) fo) end let view ?model ?hadjustment ?vadjustment = let model = may_map (fun m -> m#as_model) model in let hadjustment = may_map GData.as_adjustment hadjustment in let vadjustment = may_map GData.as_adjustment vadjustment in TreeView.make_params [] ?model ?hadjustment ?vadjustment ~cont:( GContainer.pack_container ~create:(fun p -> new view (TreeView.create p))) type cell_properties = [ `CELL_BACKGROUND of string | `CELL_BACKGROUND_GDK of Gdk.color | `CELL_BACKGROUND_SET of bool | `HEIGHT of int | `IS_EXPANDED of bool | `IS_EXPANDER of bool | `MODE of Tags.cell_renderer_mode | `VISIBLE of bool | `WIDTH of int | `XALIGN of float | `XPAD of int | `YALIGN of float | `YPAD of int ] type cell_properties_pixbuf_only = [ `PIXBUF of GdkPixbuf.pixbuf | `PIXBUF_EXPANDER_CLOSED of GdkPixbuf.pixbuf | `PIXBUF_EXPANDER_OPEN of GdkPixbuf.pixbuf | `STOCK_DETAIL of string | `STOCK_ID of string | `STOCK_SIZE of Gtk.Tags.icon_size ] type cell_properties_pixbuf = [ cell_properties | cell_properties_pixbuf_only ] type cell_properties_text_only = [ `BACKGROUND of string | `BACKGROUND_GDK of Gdk.color | `BACKGROUND_SET of bool | `EDITABLE of bool | `FAMILY of string | `FONT of string | `FONT_DESC of Pango.font_description | `FOREGROUND of string | `FOREGROUND_GDK of Gdk.color | `FOREGROUND_SET of bool | `MARKUP of string | `RISE of int | `SINGLE_PARAGRAPH_MODE of bool | `SIZE of int | `SIZE_POINTS of float | `STRETCH of Pango.Tags.stretch | `STRIKETHROUGH of bool | `STYLE of Pango.Tags.style | `TEXT of string | `UNDERLINE of Pango.Tags.underline | `VARIANT of Pango.Tags.variant | `WRAP_MODE of Pango.Tags.wrap_mode | `WRAP_WIDTH of int ] type cell_properties_text = [ cell_properties | cell_properties_text_only | `SCALE of Pango.Tags.scale | `WEIGHT of Pango.Tags.weight ] type cell_properties_toggle_only = [ `ACTIVATABLE of bool | `ACTIVE of bool | `INCONSISTENT of bool | `RADIO of bool ] type cell_properties_toggle = [ cell_properties | cell_properties_toggle_only ] type cell_properties_progress_only = [ `VALUE of int | `TEXT of string option ] type cell_properties_progress = [ cell_properties | cell_properties_progress_only ] type cell_properties_combo_only = [ `MODEL of model option | `TEXT_COLUMN of string column | `HAS_ENTRY of bool ] type cell_properties_combo = [ cell_properties_text | cell_properties_combo_only ] type cell_properties_accel_only = [ `KEY of int | `ACCEL_MODE of GtkEnums.cell_renderer_accel_mode | `MODS of GdkEnums.modifier list | `KEYCODE of int ] type cell_properties_accel = [ cell_properties_text | cell_properties_accel_only ] let cell_renderer_pixbuf_param' = function | #cell_properties_pixbuf_only as x -> cell_renderer_pixbuf_param x | #cell_properties as x -> cell_renderer_param x let cell_renderer_text_param' = function | `SCALE s -> cell_renderer_text_param (`SCALE (Pango.Tags.scale_to_float s)) | `WEIGHT w -> cell_renderer_text_param(`WEIGHT (Pango.Tags.weight_to_int w)) | #cell_properties as x -> cell_renderer_param x | #cell_properties_text_only as x -> cell_renderer_text_param x let cell_renderer_toggle_param' = function | #cell_properties_toggle_only as x -> cell_renderer_toggle_param x | #cell_properties as x -> cell_renderer_param x let cell_renderer_progress_param' = function | #cell_properties_progress_only as x -> cell_renderer_progress_param x | #cell_properties as x -> cell_renderer_param x let cell_renderer_combo_param' = function | `MODEL None -> Gobject.param CellRendererCombo.P.model None | `MODEL (Some m : model option) -> Gobject.param CellRendererCombo.P.model (Some m#as_model) | `TEXT_COLUMN c -> Gobject.param CellRendererCombo.P.text_column c.index | `HAS_ENTRY b -> Gobject.param CellRendererCombo.P.has_entry b | #cell_properties_text as x -> cell_renderer_text_param' x let cell_renderer_accel_param' = function | `KEYCODE i -> Gobject.param CellRendererAccel.P.keycode i | `KEY i -> Gobject.param CellRendererAccel.P.accel_key i | `ACCEL_MODE m -> Gobject.param CellRendererAccel.P.accel_mode m | `MODS m -> Gobject.param CellRendererAccel.P.accel_mods (Gpointer.encode_flags GdkEnums.Conv.modifier_tbl m); | #cell_properties_text as x -> cell_renderer_text_param' x class type ['a, 'b] cell_renderer_skel = object inherit gtkobj val obj : 'a obj method as_renderer : Gtk.cell_renderer obj method get_property : ('a, 'c) property -> 'c method set_properties : 'b list -> unit end class virtual ['a,'b] cell_renderer_impl obj = object (self) inherit gtkobj obj method as_renderer = (obj :> Gtk.cell_renderer obj) method private virtual param : 'b -> 'a param method set_properties l = set_params obj (List.map ~f:self#param l) method get_property : 'c. ('a,'c) property -> 'c = Gobject.Property.get obj end class cell_renderer_pixbuf obj = object inherit [Gtk.cell_renderer_pixbuf,cell_properties_pixbuf] cell_renderer_impl obj method private param = cell_renderer_pixbuf_param' method connect = new gobject_signals obj end class cell_renderer_text_signals obj = object (self) inherit [_] gobject_signals (obj : [>Gtk.cell_renderer_text] obj) method edited = self#connect CellRendererText.S.edited end class cell_renderer_text obj = object inherit [Gtk.cell_renderer_text,cell_properties_text] cell_renderer_impl obj method private param = cell_renderer_text_param' method set_fixed_height_from_font = CellRendererText.set_fixed_height_from_font obj method connect = new cell_renderer_text_signals obj end class cell_renderer_toggle_signals obj = object (self) inherit [_] gobject_signals (obj : Gtk.cell_renderer_toggle obj) method toggled = self#connect CellRendererToggle.S.toggled end class cell_renderer_toggle obj = object inherit [Gtk.cell_renderer_toggle,cell_properties_toggle] cell_renderer_impl obj method private param = cell_renderer_toggle_param' method connect = new cell_renderer_toggle_signals obj end class cell_renderer_progress obj = object inherit [Gtk.cell_renderer_progress,cell_properties_progress] cell_renderer_impl obj method private param = cell_renderer_progress_param' method connect = new gobject_signals obj end class cell_renderer_combo_signals obj = object (self) inherit cell_renderer_text_signals obj method changed = self#connect CellRendererCombo.S.changed end class cell_renderer_combo obj = object inherit [Gtk.cell_renderer_combo,cell_properties_combo] cell_renderer_impl obj method private param = cell_renderer_combo_param' method set_fixed_height_from_font = CellRendererText.set_fixed_height_from_font obj method connect = new cell_renderer_combo_signals (obj :> Gtk.cell_renderer_combo Gtk.obj) end class cell_renderer_accel_signals (obj:Gtk.cell_renderer_accel Gtk.obj) = object(self) inherit [_] gobject_signals obj method edited = self#connect CellRendererText.S.edited method accel_edited = self#connect CellRendererAccel.S.accel_edited method accel_cleared = self#connect CellRendererAccel.S.accel_cleared end class cell_renderer_accel obj = object inherit [Gtk.cell_renderer_accel,cell_properties_accel] cell_renderer_impl obj method private param = cell_renderer_accel_param' method connect = new cell_renderer_accel_signals obj end let cell_renderer_pixbuf l = new cell_renderer_pixbuf (CellRendererPixbuf.create (List.map cell_renderer_pixbuf_param' l)) let cell_renderer_text l = new cell_renderer_text (CellRendererText.create (List.map cell_renderer_text_param' l)) let cell_renderer_toggle l = new cell_renderer_toggle (CellRendererToggle.create (List.map cell_renderer_toggle_param' l)) let cell_renderer_progress l = new cell_renderer_progress (CellRendererProgress.create (List.map cell_renderer_progress_param' l)) let cell_renderer_combo l = new cell_renderer_combo (CellRendererCombo.create (List.map cell_renderer_combo_param' l)) let cell_renderer_accel (l:cell_properties_accel list) = new cell_renderer_accel (CellRendererAccel.create (List.map cell_renderer_accel_param' l)) class icon_view_signals obj = object (self) inherit container_signals_impl obj inherit OgtkTreeProps.icon_view_sigs end class icon_view obj = object inherit [[> Gtk.icon_view]] GContainer.container_impl obj inherit OgtkTreeProps.icon_view_props method connect = new icon_view_signals obj method event = new GObj.event_ops obj method model = new model (Gobject.Property.get_some obj IconView.P.model) method set_model (m : model option) = Gobject.set IconView.P.model obj (Gaux.may_map (fun m -> m#as_model) m) method set_markup_column (c : string column) = Gobject.set IconView.P.markup_column obj c.index method set_text_column (c : string column) = Gobject.set IconView.P.text_column obj c.index method set_pixbuf_column (c : GdkPixbuf.pixbuf column) = Gobject.set IconView.P.pixbuf_column obj c.index method get_path_at_pos = IconView.get_path_at_pos obj method selected_foreach = IconView.selected_foreach obj method select_path = IconView.select_path obj method unselect_path = IconView.unselect_path obj method path_is_selected = IconView.path_is_selected obj method get_selected_items = IconView.get_selected_items obj method select_all () = IconView.select_all obj method unselect_all () = IconView.unselect_all obj method item_activated = IconView.item_activated obj end let icon_view ?model = let model = Gaux.may_map (fun m -> m#as_model) model in IconView.make_params ?model [] ~cont:( GContainer.pack_container ~create:(fun p -> new icon_view (IconView.create p))) (* Custom models *) class type virtual ['obj,'row,'a,'b,'c] custom_tree_model_type = object inherit model val obj : 'obj val n_columns : int val columns : Gobject.g_type array method custom_n_columns : int method custom_get_column_type : int -> Gobject.g_type method connect : model_signals (** Signal emitters *) method custom_row_changed : Gtk.tree_path -> 'row -> unit method custom_row_deleted : Gtk.tree_path -> unit method custom_row_has_child_toggled : Gtk.tree_path -> 'row -> unit method custom_row_inserted : Gtk.tree_path -> 'row -> unit method custom_rows_reordered : Gtk.tree_path -> 'row option -> int array -> unit method custom_unref_node : 'row -> unit method custom_ref_node : 'row -> unit method custom_flags : GtkEnums.tree_model_flags list method virtual custom_get_iter : Gtk.tree_path -> 'row option method virtual custom_get_path : 'row -> Gtk.tree_path method custom_get_value : 'row -> int -> Gobject.g_value -> unit method virtual custom_value : 'a. Gobject.g_type -> 'row -> column:int -> Gobject.basic method virtual custom_iter_children : 'row option -> 'row option method virtual custom_iter_has_child : 'row -> bool method virtual custom_iter_n_children : 'row option -> int method virtual custom_iter_next : 'row -> 'row option method virtual custom_iter_nth_child : 'row option -> int -> 'row option method virtual custom_iter_parent : 'row -> 'row option method virtual custom_decode_iter : 'a -> 'b -> 'c -> 'row method virtual custom_encode_iter : 'row -> 'a * 'b * 'c end class virtual ['row,'a,'b,'c] custom_tree_model (column_list:column_list) = let obj = (GtkTree.CustomModel.create ()) in object (self) inherit model obj method connect = new model_signals obj inherit ['row,'a,'b,'c] GtkTree.CustomModel.callback val n_columns = List.length column_list#types val columns = Array.of_list column_list#types method get ~row:_ ~column:_ = failwith "get not allowed on a custom model." method custom_n_columns = n_columns method custom_get_value (row:'row) (column:int) (value:Gobject.g_value) = Gobject.Value.init value (columns.(column)); if column >=0 && column failwith ("custom_value returned a value of incompatible type for column "^string_of_int column ^" of type "^ (Gobject.Type.name (Gobject.Value.get_type value))) else invalid_arg ("custom_get_value: invalid column id "^string_of_int column) method virtual custom_value : 'a. Gobject.g_type -> 'row -> column:int -> Gobject.basic method custom_get_column_type n : Gobject.g_type = if 0 <= n && n < n_columns then columns.(n) else Gobject.Type.of_fundamental `INVALID method custom_row_inserted path (iter:'row) = CustomModel.custom_row_inserted obj path iter method custom_row_changed path (iter:'row) = CustomModel.custom_row_changed obj path iter method custom_row_has_child_toggled path (iter:'row) = CustomModel.custom_row_has_child_toggled obj path iter method custom_row_deleted (path:Gtk.tree_path) = CustomModel.custom_row_deleted obj path method custom_rows_reordered path (iter_opt:'row option) new_order = CustomModel.custom_rows_reordered obj path iter_opt new_order method custom_flags : GtkEnums.tree_model_flags list = [] initializer GtkTree.CustomModel.register_callback obj self; column_list#lock (); let id = Gobject.get_oid obj in Hashtbl.add model_ids id column_list#id; Hashtbl.add custom_model_ids column_list#id (); (* Invalidate all iterators before dying...*) Gc.finalise (fun m -> m#foreach (fun p _ -> m#custom_row_deleted p; false)) self end lablgtk-3.1.2/src/gTree.mli0000644000650106067230000007366214161276610014356 0ustar glondused(**************************************************************************) (* 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$ *) open Gobject open Gtk open GObj open GContainer (** Tree and list widgets @gtkdoc gtk TreeWidget *) (** {3 New GtkTreeView/Model framework} *) type 'a column = {index: int; conv: 'a data_conv; creator: int} class column_list : object method add : 'a data_conv -> 'a column method id : int method types : g_type list method lock : unit -> unit end class row_reference : Gtk.row_reference -> model:[> `treemodel ] obj -> object method as_ref : Gtk.row_reference method iter : tree_iter method path : tree_path method valid : bool end (** {4 Models} *) (** @gtkdoc gtk GtkTreeModel *) class model_signals : [> `treemodel] obj -> object ('a) method after : 'a method row_changed : callback:(tree_path -> tree_iter -> unit) -> GtkSignal.id method row_deleted : callback:(tree_path -> unit) -> GtkSignal.id method row_has_child_toggled : callback:(tree_path -> tree_iter -> unit) -> GtkSignal.id method row_inserted : callback:(tree_path -> tree_iter -> unit) -> GtkSignal.id method rows_reordered : callback:(tree_path -> tree_iter -> unit) -> GtkSignal.id end val model_ids : (int,int) Hashtbl.t (** @gtkdoc gtk GtkTreeModel *) class model : ([> `treemodel] as 'a) obj -> object val obj : 'a obj val id : int method as_model : Gtk.tree_model method misc : gobject_ops method coerce : model method flags : GtkEnums.tree_model_flags list method n_columns : int method get_column_type : int -> Gobject.g_type method get_iter : tree_path -> tree_iter method get_path : tree_iter -> tree_path method get_row_reference : tree_path -> row_reference method get : row:tree_iter -> column:'b column -> 'b method get_iter_first : tree_iter option method iter_next : tree_iter -> bool method iter_has_child : tree_iter -> bool method iter_n_children : tree_iter option -> int method iter_children : ?nth:int -> tree_iter option -> tree_iter (** @raise Invalid_argument if arguments do not designate a valid node *) method iter_parent : tree_iter -> tree_iter option method foreach : (tree_path -> tree_iter -> bool) -> unit method row_changed : tree_path -> tree_iter -> unit end (** @gtkdoc gtk GtkTreeSortable *) class tree_sortable_signals : ([> `treesortable|`treemodel] as 'a) obj -> object inherit model_signals method sort_column_changed : callback:(unit -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkTreeSortable *) class tree_sortable : ([> `treesortable|`treemodel] as 'a) obj -> object inherit model val obj : 'a obj method connect : tree_sortable_signals method sort_column_changed : unit -> unit method get_sort_column_id : (int * Gtk.Tags.sort_type) option method set_sort_column_id : int -> Gtk.Tags.sort_type -> unit method set_sort_func : int -> (model -> Gtk.tree_iter -> Gtk.tree_iter -> int) -> unit method set_default_sort_func : (model -> Gtk.tree_iter -> Gtk.tree_iter -> int) -> unit method has_default_sort_func : bool end (** Special value for the [#set_sort_column_id] method of {!GTree.tree_sortable}. *) val default_sort_column_id : int val unsorted_sort_column_id : int (** @gtkdoc gtk GtkTreeStore *) class tree_store : Gtk.tree_store -> object inherit tree_sortable val obj : Gtk.tree_store method append : ?parent:tree_iter -> unit -> tree_iter method clear : unit -> unit method insert : ?parent:tree_iter -> int -> tree_iter method insert_after : ?parent:tree_iter -> tree_iter -> tree_iter method insert_before : ?parent:tree_iter -> tree_iter -> tree_iter method is_ancestor : iter:tree_iter -> descendant:tree_iter -> bool method iter_depth : tree_iter -> int method iter_is_valid : tree_iter -> bool (** @since GTK 2.2 *) method move_after : iter:tree_iter -> pos:tree_iter -> bool (** @since GTK 2.2 *) method move_before : iter:tree_iter -> pos:tree_iter -> bool (** @since GTK 2.2 *) method prepend : ?parent:tree_iter -> unit -> tree_iter method remove : tree_iter -> bool method set : row:tree_iter -> column:'a column -> 'a -> unit method swap : tree_iter -> tree_iter -> bool (** @since GTK 2.2 *) end (** @gtkdoc gtk GtkTreeStore *) val tree_store : column_list -> tree_store (** @gtkdoc gtk GtkListStore *) class list_store : Gtk.list_store -> object inherit tree_sortable val obj : Gtk.list_store method append : unit -> tree_iter method clear : unit -> unit method insert : int -> tree_iter method insert_after : tree_iter -> tree_iter method insert_before : tree_iter -> tree_iter method iter_is_valid : tree_iter -> bool (** @since GTK 2.2 *) method move_after : iter:tree_iter -> pos:tree_iter -> bool (** @since GTK 2.2 *) method move_before : iter:tree_iter -> pos:tree_iter -> bool (** @since GTK 2.2 *) method prepend : unit -> tree_iter method remove : tree_iter -> bool method set : row:tree_iter -> column:'a column -> 'a -> unit method swap : tree_iter -> tree_iter -> bool (** @since GTK 2.2 *) end (** @gtkdoc gtk GtkListStore *) val list_store : column_list -> list_store (** Convenience function to map a caml list into a {!GTree.list_store} with a single column *) val store_of_list : 'a Gobject.data_conv -> 'a list -> list_store * 'a column (** @gtkdoc gtk GtkTreeModelSort *) class model_sort : Gtk.tree_model_sort -> object inherit tree_sortable val obj : Gtk.tree_model_sort method model : model method convert_child_path_to_path : Gtk.tree_path -> Gtk.tree_path method convert_child_iter_to_iter : Gtk.tree_iter -> Gtk.tree_iter method convert_path_to_child_path : Gtk.tree_path -> Gtk.tree_path method convert_iter_to_child_iter : Gtk.tree_iter -> Gtk.tree_iter method reset_default_sort_func : unit -> unit method iter_is_valid : Gtk.tree_iter -> bool (** @since GTK 2.2 *) end (** @gtkdoc gtk GtkTreeModelSort *) val model_sort : #model -> model_sort (** @since GTK 2.4 @gtkdoc gtk GtkTreeModelFilter *) class model_filter : Gtk.tree_model_filter -> object inherit model val obj : Gtk.tree_model_filter method connect : model_signals method child_model : model method virtual_root : Gtk.tree_path method set_visible_func : (model -> Gtk.tree_iter -> bool) -> unit method set_visible_column : bool column -> unit method convert_child_path_to_path : Gtk.tree_path -> Gtk.tree_path method convert_child_iter_to_iter : Gtk.tree_iter -> Gtk.tree_iter method convert_path_to_child_path : Gtk.tree_path -> Gtk.tree_path method convert_iter_to_child_iter : Gtk.tree_iter -> Gtk.tree_iter method refilter : unit -> unit end (** @since GTK 2.4 @gtkdoc gtk GtkTreeModelFilter *) val model_filter : ?virtual_root:Gtk.tree_path -> #model -> model_filter module Path : sig val create : int list -> Gtk.tree_path val copy : Gtk.tree_path -> Gtk.tree_path val get_indices : Gtk.tree_path -> int array val from_string : string -> Gtk.tree_path val to_string : Gtk.tree_path -> string val get_depth : Gtk.tree_path -> int val is_ancestor : Gtk.tree_path -> Gtk.tree_path -> bool (** {5 Mutating functions} *) val append_index : Gtk.tree_path -> int -> unit val prepend_index : Gtk.tree_path -> int -> unit val next : Gtk.tree_path -> unit val prev : Gtk.tree_path -> bool val up : Gtk.tree_path -> bool val down : Gtk.tree_path -> unit end (** {4 Selection} *) (** @gtkdoc gtk GtkTreeSelection *) class selection_signals : tree_selection -> object ('a) method after : 'a method changed : callback:(unit -> unit) -> GtkSignal.id end (** The selection object for {!GTree.view} @gtkdoc gtk GtkTreeSelection *) class selection : Gtk.tree_selection -> object val obj : Gtk.tree_selection method connect : selection_signals method misc : gobject_ops method count_selected_rows : int (** @since GTK 2.2 *) method get_mode : Tags.selection_mode method get_selected_rows : tree_path list method iter_is_selected : tree_iter -> bool method path_is_selected : tree_path -> bool method select_all : unit -> unit method select_iter : tree_iter -> unit method select_path : tree_path -> unit method select_range : tree_path -> tree_path -> unit method set_mode : Tags.selection_mode -> unit method set_select_function : (tree_path -> bool -> bool) -> unit method unselect_all : unit -> unit method unselect_iter : tree_iter -> unit method unselect_path : tree_path -> unit method unselect_range : tree_path -> tree_path -> unit (** @since GTK 2.2 *) end (** {4 Views} *) class type cell_renderer = object method as_renderer : Gtk.cell_renderer obj end (** @since GTK 2.4 @gtkdoc gtk GtkCellLayout *) class cell_layout : ([> Gtk.cell_layout] as 'a) Gtk.obj -> object method pack : ?expand:bool -> ?from:Tags.pack_type -> #cell_renderer -> unit (** @param expand default value is [false] @param from default value is [`START] *) method reorder : #cell_renderer -> int -> unit method clear : unit -> unit method add_attribute : #cell_renderer -> string -> 'b column -> unit method clear_attributes : #cell_renderer -> unit method set_cell_data_func : #cell_renderer -> (model -> Gtk.tree_iter -> unit) -> unit method unset_cell_data_func : #cell_renderer -> unit end (** @gtkdoc gtk GtkTreeViewColumn *) class view_column_signals : [> `gtk | `treeviewcolumn] obj -> object inherit GObj.gtkobj_signals method clicked : callback:(unit -> unit) -> GtkSignal.id end (** A visible column in a {!GTree.view} widget @gtkdoc gtk GtkTreeViewColumn *) class view_column : tree_view_column obj -> object inherit GObj.gtkobj inherit cell_layout val obj : tree_view_column obj method as_column : Gtk.tree_view_column obj method misc : GObj.gobject_ops method alignment : float method clickable : bool method connect : view_column_signals method expand : bool method fixed_width : int method get_sort_column_id : int method max_width : int method min_width : int method reorderable : bool method resizable : bool method set_alignment : float -> unit method set_clickable : bool -> unit method set_expand : bool -> unit method set_fixed_width : int -> unit method set_max_width : int -> unit method set_min_width : int -> unit method set_reorderable : bool -> unit method set_resizable : bool -> unit method set_sizing : Tags.tree_view_column_sizing -> unit method set_sort_column_id : int -> unit method set_sort_indicator : bool -> unit method set_sort_order : Tags.sort_type -> unit method set_title : string -> unit method set_visible : bool -> unit method set_widget : widget option -> unit method sizing : Tags.tree_view_column_sizing method sort_indicator : bool method sort_order : Tags.sort_type method title : string method visible : bool method widget : widget option method width : int end (** @gtkdoc gtk GtkTreeViewColumn *) val view_column : ?title:string -> ?renderer:(#cell_renderer * (string * 'a column) list) -> unit -> view_column (** @gtkdoc gtk GtkTreeView *) class view_signals : [> tree_view] obj -> object ('a) inherit GContainer.container_signals method columns_changed : callback:(unit -> unit) -> GtkSignal.id method cursor_changed : callback:(unit -> unit) -> GtkSignal.id method expand_collapse_cursor_row : callback:(logical:bool -> expand:bool -> all:bool -> bool) -> GtkSignal.id method move_cursor : callback:(Tags.movement_step -> int -> bool) -> GtkSignal.id method row_activated : callback:(tree_path -> view_column -> unit) -> GtkSignal.id method row_collapsed : callback:(tree_iter -> tree_path -> unit) -> GtkSignal.id method row_expanded : callback:(tree_iter -> tree_path -> unit) -> GtkSignal.id method select_all : callback:(unit -> bool) -> GtkSignal.id method select_cursor_parent : callback:(unit -> bool) -> GtkSignal.id method select_cursor_row : callback:(start_editing:bool -> bool) -> GtkSignal.id method start_interactive_search : callback:(unit -> bool) -> GtkSignal.id method test_collapse_row : callback:(tree_iter -> tree_path -> bool) -> GtkSignal.id method test_expand_row : callback:(tree_iter -> tree_path -> bool) -> GtkSignal.id method toggle_cursor_row : callback:(unit -> bool) -> GtkSignal.id method unselect_all : callback:(unit -> bool) -> GtkSignal.id method notify_enable_search : callback:(bool -> unit) -> GtkSignal.id method notify_enable_tree_lines : callback:(bool -> unit) -> GtkSignal.id method notify_enable_grid_lines : callback:(GtkEnums.tree_view_grid_lines -> unit) -> GtkSignal.id method notify_fixed_height_mode : callback:(bool -> unit) -> GtkSignal.id method notify_hadjustment : callback:(GData.adjustment -> unit) -> GtkSignal.id method notify_headers_visible : callback:(bool -> unit) -> GtkSignal.id method notify_hover_expand : callback:(bool -> unit) -> GtkSignal.id method notify_hover_selection : callback:(bool -> unit) -> GtkSignal.id method notify_reorderable : callback:(bool -> unit) -> GtkSignal.id method notify_rules_hint : callback:(bool -> unit) -> GtkSignal.id method notify_search_column : callback:(int -> unit) -> GtkSignal.id method notify_tooltip_column : callback:(int -> unit) -> GtkSignal.id method notify_vadjustment : callback:(GData.adjustment -> unit) -> GtkSignal.id end (** A widget for displaying both trees and lists @gtkdoc gtk GtkTreeView *) class view : tree_view obj -> object inherit GContainer.container val obj : tree_view obj method as_tree_view : Gtk.tree_view Gtk.obj method connect : view_signals method append_column : view_column -> int method collapse_all : unit -> unit method collapse_row : tree_path -> unit method enable_search : bool method event : GObj.event_ops method expand_all : unit -> unit method expand_row : ?all:bool -> tree_path -> unit (** @param all default value is [false] *) method expand_to_path : tree_path -> unit (** @since GTK 2.2 *) method expander_column : view_column option method fixed_height_mode : bool method get_column : int -> view_column method get_cursor : unit -> tree_path option * view_column option method get_path_at_pos : x:int -> y:int -> (tree_path * view_column * int * int) option method get_cell_area : ?path:tree_path -> ?col:view_column -> unit -> Gdk.Rectangle.t method get_visible_range : unit -> (tree_path * tree_path) option method hadjustment : GData.adjustment method headers_visible : bool method insert_column : view_column -> int -> int method model : model method move_column : view_column -> after:view_column -> int method remove_column : view_column -> int method reorderable : bool method row_activated : tree_path -> view_column -> unit method row_expanded : tree_path -> bool method rules_hint : bool method scroll_to_cell : ?align:float * float -> tree_path -> view_column -> unit method scroll_to_point : int -> int -> unit method search_column : int method selection : selection method set_cursor : ?cell:#cell_renderer -> ?edit:bool -> tree_path -> view_column -> unit (** @since GTK 2.2 *) (** @param edit default value is [false] *) method set_enable_search : bool -> unit method set_expander_column : view_column option -> unit method set_fixed_height_mode : bool -> unit method set_hadjustment : GData.adjustment -> unit method set_headers_clickable : bool -> unit method set_headers_visible : bool -> unit method set_model : model option -> unit method set_reorderable : bool -> unit method set_rules_hint : bool -> unit method set_search_column : int -> unit method set_tooltip_column : int -> unit method set_vadjustment : GData.adjustment -> unit method tooltip_column : int method vadjustment : GData.adjustment method hover_expand : bool (** @since GTK 2.6 *) method set_hover_expand : bool -> unit (** @since GTK 2.6 *) method hover_selection : bool (** @since GTK 2.6 *) method set_hover_selection : bool -> unit (** @since GTK 2.6 *) method set_row_separator_func : (model -> tree_iter -> bool) option -> unit (** @since GTK 2.6 *) method enable_grid_lines : GtkEnums.tree_view_grid_lines (** @since GTK 2.10 *) method enable_tree_lines : bool (** @since GTK 2.10 *) method set_enable_grid_lines : GtkEnums.tree_view_grid_lines -> unit (** @since GTK 2.10 *) method set_enable_tree_lines : bool -> unit (** @since GTK 2.10 *) end (** @gtkdoc gtk GtkTreeView *) val view : ?model:#model -> ?hadjustment:GData.adjustment -> ?vadjustment:GData.adjustment -> ?enable_search:bool -> ?fixed_height_mode:bool -> ?headers_clickable:bool -> ?headers_visible:bool -> ?reorderable:bool -> ?rules_hint:bool -> ?search_column:int -> ?tooltip_column:int -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> view (** @param enable_search default value is [true] @param fixed_height_mode default value is [false] @param headers_clickable default value is [false] @param headers_visible default value is [true] @param reorderable default value is [false] @param rules_hint default value is [false] *) (** {4 Cell Renderers} *) type cell_properties = [ `CELL_BACKGROUND of string | `CELL_BACKGROUND_GDK of Gdk.color | `CELL_BACKGROUND_SET of bool | `HEIGHT of int | `IS_EXPANDED of bool | `IS_EXPANDER of bool | `MODE of Tags.cell_renderer_mode | `VISIBLE of bool | `WIDTH of int | `XALIGN of float | `XPAD of int | `YALIGN of float | `YPAD of int ] type cell_properties_pixbuf = [ cell_properties | `PIXBUF of GdkPixbuf.pixbuf | `PIXBUF_EXPANDER_CLOSED of GdkPixbuf.pixbuf | `PIXBUF_EXPANDER_OPEN of GdkPixbuf.pixbuf | `STOCK_DETAIL of string | `STOCK_ID of string | `STOCK_SIZE of Tags.icon_size ] type cell_properties_text = [ cell_properties | `BACKGROUND of string | `BACKGROUND_GDK of Gdk.color | `BACKGROUND_SET of bool | `EDITABLE of bool | `FAMILY of string | `FONT of string | `FONT_DESC of Pango.font_description | `FOREGROUND of string | `FOREGROUND_GDK of Gdk.color | `FOREGROUND_SET of bool | `MARKUP of string | `RISE of int | `SCALE of Pango.Tags.scale | `SINGLE_PARAGRAPH_MODE of bool | `SIZE of int | `SIZE_POINTS of float | `STRETCH of Pango.Tags.stretch | `STRIKETHROUGH of bool | `STYLE of Pango.Tags.style | `TEXT of string | `UNDERLINE of Pango.Tags.underline | `VARIANT of Pango.Tags.variant | `WEIGHT of Pango.Tags.weight | `WRAP_MODE of Pango.Tags.wrap_mode | `WRAP_WIDTH of int ] type cell_properties_toggle = [ cell_properties | `ACTIVATABLE of bool | `ACTIVE of bool | `INCONSISTENT of bool | `RADIO of bool ] type cell_properties_progress = [ cell_properties | `VALUE of int | `TEXT of string option ] type cell_properties_combo = [ cell_properties_text | `MODEL of model option | `TEXT_COLUMN of string column | `HAS_ENTRY of bool ] type cell_properties_accel = [ cell_properties_text | `KEY of Gdk.keysym | `ACCEL_MODE of GtkEnums.cell_renderer_accel_mode | `MODS of GdkEnums.modifier list | `KEYCODE of int ] (** @gtkdoc gtk GtkCellRenderer *) class type ['a, 'b] cell_renderer_skel = object inherit GObj.gtkobj val obj : 'a obj method as_renderer : Gtk.cell_renderer obj method get_property : ('a, 'c) property -> 'c method set_properties : 'b list -> unit end (** @gtkdoc gtk GtkCellRenderer *) class virtual ['a, 'b] cell_renderer_impl : ([>Gtk.cell_renderer] as 'a) obj -> object inherit ['a,'b] cell_renderer_skel method private virtual param : 'b -> 'a param end (** @gtkdoc gtk GtkCellRendererPixbuf *) class cell_renderer_pixbuf : Gtk.cell_renderer_pixbuf obj -> object inherit[Gtk.cell_renderer_pixbuf,cell_properties_pixbuf] cell_renderer_skel method connect : GObj.gtkobj_signals end (** @gtkdoc gtk GtkCellRendererText *) class cell_renderer_text_signals : ([>Gtk.cell_renderer_text] as 'a) obj -> object inherit GObj.gtkobj_signals val obj : 'a obj method edited : callback:(Gtk.tree_path -> string -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkCellRendererText *) class cell_renderer_text : Gtk.cell_renderer_text obj -> object inherit [Gtk.cell_renderer_text,cell_properties_text] cell_renderer_skel method connect : cell_renderer_text_signals method set_fixed_height_from_font : int -> unit end (** @gtkdoc gtk GtkCellRendererToggle *) class cell_renderer_toggle_signals : Gtk.cell_renderer_toggle obj -> object inherit GObj.gtkobj_signals method toggled : callback:(Gtk.tree_path -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkCellRendererToggle *) class cell_renderer_toggle : Gtk.cell_renderer_toggle obj -> object inherit[Gtk.cell_renderer_toggle,cell_properties_toggle] cell_renderer_skel method connect : cell_renderer_toggle_signals end (** @since GTK 2.6 @gtkdoc gtk GtkCellRendererProgress *) class cell_renderer_progress : Gtk.cell_renderer_progress obj -> object inherit[Gtk.cell_renderer_progress,cell_properties_progress] cell_renderer_skel method connect : GObj.gtkobj_signals end (** @since GTK 2.6 @gtkdoc gtk GtkCellRendererCombo *) class cell_renderer_combo_signals : ([>Gtk.cell_renderer_combo] as 'a) obj -> object inherit cell_renderer_text_signals val obj : 'a obj method changed : callback:(Gtk.tree_path -> Gtk.tree_iter -> unit) -> GtkSignal.id end (** @since GTK 2.6 @gtkdoc gtk GtkCellRendererCombo *) class cell_renderer_combo : Gtk.cell_renderer_combo obj -> object inherit[Gtk.cell_renderer_combo,cell_properties_combo] cell_renderer_skel method connect : cell_renderer_combo_signals method set_fixed_height_from_font : int -> unit end (** @since GTK 2.10 @gtkdoc gtk GtkCellRendererText *) class cell_renderer_accel_signals : Gtk.cell_renderer_accel obj -> object inherit GObj.gtkobj_signals method edited : callback:(Gtk.tree_path -> string -> unit) -> GtkSignal.id method accel_edited : callback:(tree_path -> accel_key:int -> accel_mods:int -> hardware_keycode:int -> unit) -> GtkSignal.id method accel_cleared : callback:(tree_path -> unit) -> GtkSignal.id end (** @since GTK 2.10 @gtkdoc gtk GtkCellRendererAccel *) class cell_renderer_accel : Gtk.cell_renderer_accel obj -> object inherit[Gtk.cell_renderer_accel,cell_properties_accel] cell_renderer_skel method connect : cell_renderer_accel_signals end (** @gtkdoc gtk GtkCellRendererPixbuf *) val cell_renderer_pixbuf : cell_properties_pixbuf list -> cell_renderer_pixbuf (** @gtkdoc gtk GtkCellRendererText *) val cell_renderer_text : cell_properties_text list -> cell_renderer_text (** @gtkdoc gtk GtkCellRendererToggle *) val cell_renderer_toggle : cell_properties_toggle list -> cell_renderer_toggle (** @since GTK 2.6 @gtkdoc gtk GtkCellRendererProgress *) val cell_renderer_progress : cell_properties_progress list -> cell_renderer_progress (** @since GTK 2.6 @gtkdoc gtk GtkCellRendererCombo *) val cell_renderer_combo : cell_properties_combo list -> cell_renderer_combo (** @since GTK 2.10 @gtkdoc gtk GtkCellRendererAccel *) val cell_renderer_accel : cell_properties_accel list -> cell_renderer_accel (** {3 GtkIconView} *) (** @gtkdoc gtk GtkIconView @since GTK 2.6 *) class icon_view_signals : [> Gtk.icon_view] Gtk.obj -> object inherit GContainer.container_signals method item_activated : callback:(Gtk.tree_path -> unit) -> GtkSignal.id method selection_changed : callback:(unit -> unit) -> GtkSignal.id method notify_column_spacing : callback:(int -> unit) -> GtkSignal.id method notify_columns : callback:(int -> unit) -> GtkSignal.id method notify_item_width : callback:(int -> unit) -> GtkSignal.id method notify_margin : callback:(int -> unit) -> GtkSignal.id method notify_orientation : callback:(GtkEnums.orientation -> unit) -> GtkSignal.id method notify_row_spacing : callback:(int -> unit) -> GtkSignal.id method notify_selection_mode : callback:(GtkEnums.selection_mode -> unit) -> GtkSignal.id method notify_spacing : callback:(int -> unit) -> GtkSignal.id end (** A widget which displays a list of icons in a grid @gtkdoc gtk GtkIconView @since GTK 2.6 *) class icon_view : ([> Gtk.icon_view] as 'a) Gtk.obj -> object inherit GContainer.container val obj : 'a Gtk.obj method connect : icon_view_signals method event : GObj.event_ops (** Properties *) method model : model method set_model : model option -> unit method set_markup_column : string column -> unit method set_pixbuf_column : GdkPixbuf.pixbuf column -> unit method set_text_column : string column -> unit method orientation : GtkEnums.orientation method set_orientation : GtkEnums.orientation -> unit method selection_mode : GtkEnums.selection_mode method set_selection_mode : GtkEnums.selection_mode -> unit method column_spacing : int method set_column_spacing : int -> unit method item_width : int method set_item_width : int -> unit method margin : int method set_margin : int -> unit method columns : int method set_columns : int -> unit method row_spacing : int method set_row_spacing : int -> unit method spacing : int method set_spacing : int -> unit method get_path_at_pos : int -> int -> Gtk.tree_path option method selected_foreach : (Gtk.tree_path -> unit) -> unit method get_selected_items : Gtk.tree_path list method path_is_selected : Gtk.tree_path -> bool method select_path : Gtk.tree_path -> unit method unselect_path : Gtk.tree_path -> unit method select_all : unit -> unit method unselect_all : unit -> unit method item_activated : Gtk.tree_path -> unit end (** A widget which displays a list of icons in a grid @gtkdoc gtk GtkIconView @since GTK 2.6 *) val icon_view : ?model:#model -> ?columns:int -> ?orientation:GtkEnums.orientation -> ?selection_mode:GtkEnums.selection_mode -> ?border_width:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> icon_view class type virtual ['obj,'row,'a,'b,'c] custom_tree_model_type = object inherit model val obj : 'obj method connect : model_signals (** Signal emitters *) method custom_row_changed : Gtk.tree_path -> 'row -> unit method custom_row_deleted : Gtk.tree_path -> unit method custom_row_has_child_toggled : Gtk.tree_path -> 'row -> unit method custom_row_inserted : Gtk.tree_path -> 'row -> unit method custom_rows_reordered : Gtk.tree_path -> 'row option -> int array -> unit (** Override these to implement a cache of rows *) method custom_unref_node : 'row -> unit method custom_ref_node : 'row -> unit method custom_flags : GtkEnums.tree_model_flags list (** Functions of the custom model. They must act exactly as described in the documentation of Gtk orelse Gtk may emit fatal errors. *) method virtual custom_get_iter : Gtk.tree_path -> 'row option method virtual custom_get_path : 'row -> Gtk.tree_path method virtual custom_value : Gobject.g_type -> 'row -> column:int -> Gobject.basic (** [custom_value typ row ~column] is the value to set in [row] for column [column]. It must must be of the type [typ], i.e. the type declared for column [column]. *) method virtual custom_iter_children : 'row option -> 'row option method virtual custom_iter_has_child : 'row -> bool method virtual custom_iter_n_children : 'row option -> int method virtual custom_iter_next : 'row -> 'row option method virtual custom_iter_nth_child : 'row option -> int -> 'row option method virtual custom_iter_parent : 'row -> 'row option method virtual custom_decode_iter : 'a -> 'b -> 'c -> 'row method virtual custom_encode_iter : 'row -> 'a * 'b * 'c (** For internal use only. Do not override these methods. *) method custom_n_columns : int method custom_get_column_type : int -> Gobject.g_type method custom_get_value : 'row -> int -> Gobject.g_value -> unit end (** A base class to inherit from to make a custom tree model. *) class virtual ['row,'a,'b,'c] custom_tree_model : column_list -> [Gtk.tree_model_custom,'row,'a,'b,'c] custom_tree_model_type lablgtk-3.1.2/src/gUtil.ml0000644000650106067230000001003114161276610014200 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels open GObj let print_widget ppf (o : #widget) = Format.fprintf ppf "<%s@@0x%x>" o#misc#get_type o#get_oid class ['a] memo () = object val tbl : (int, 'a) Hashtbl.t = Hashtbl.create 7 method add (obj : 'a) = Hashtbl.add tbl obj#get_oid obj method find (obj : widget) = Hashtbl.find tbl obj#get_oid method remove (obj : widget) = Hashtbl.remove tbl obj#get_oid end let signal_id = ref 0 let next_callback_id () : GtkSignal.id = decr signal_id; Obj.magic (!signal_id : int) class ['a] signal () = object (self) val mutable callbacks : (GtkSignal.id * ('a -> unit)) list = [] method callbacks = callbacks method connect ~after ~callback = let id = next_callback_id () in callbacks <- if after then callbacks @ [id,callback] else (id,callback)::callbacks; id method call arg = List.exists callbacks ~f: begin fun (_,f) -> let old = GtkSignal.push_callback () in try f arg; GtkSignal.pop_callback old with exn -> GtkSignal.pop_callback old; raise exn end; () method disconnect key = List.mem_assoc key ~map:callbacks && (callbacks <- List.remove_assoc key callbacks; true) end class virtual ml_signals disconnectors = object (self) val after = false method after = {< after = true >} val mutable disconnectors : (GtkSignal.id -> bool) list = disconnectors method disconnect key = ignore (List.exists disconnectors ~f:(fun f -> f key)) end class virtual add_ml_signals obj disconnectors = object (self) val mutable disconnectors : (GtkSignal.id -> bool) list = disconnectors method disconnect key = if List.exists disconnectors ~f:(fun f -> f key) then () else GtkSignal.disconnect obj key end class ['a] variable_signals ~(set : 'a signal) ~(changed : 'a signal) = object inherit ml_signals [changed#disconnect; set#disconnect] method changed = changed#connect ~after method set = set#connect ~after end class ['a] variable x = object (self) val changed = new signal () val set = new signal () method connect = new variable_signals ~set ~changed val mutable x : 'a = x method get = x method set = set#call method private equal : 'a -> 'a -> bool = (=) method private real_set y = let x0 = x in x <- y; if changed#callbacks <> [] && not (self#equal x x0) then changed#call y initializer ignore (set#connect ~after:false ~callback:self#real_set) end lablgtk-3.1.2/src/gUtil.mli0000644000650106067230000001227414161276610014364 0ustar glondused(**************************************************************************) (* 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$ *) (** {3 Utility classes for programming with GTK objects} *) open GObj (** A nice function to use with [#install_printer] *) val print_widget : Format.formatter -> #widget -> unit (** The memo class provides an easy way to remember the real class of a widget. Insert all widgets of class in one single [t memo], and you can then recover their original ML object with [#find]. *) class ['a] memo : unit -> object constraint 'a = val tbl : (int, 'a) Hashtbl.t method add : 'a -> unit method find : widget -> 'a method remove : widget -> unit end (** {4 The ML signal mechanism} It allows one to add GTK-like signals to arbitrary objects. *) val next_callback_id : unit -> GtkSignal.id class ['a] signal : unit -> object val mutable callbacks : (GtkSignal.id * ('a -> unit)) list method callbacks : (GtkSignal.id * ('a -> unit)) list method call : 'a -> unit method connect : after:bool -> callback:('a -> unit) -> GtkSignal.id method disconnect : GtkSignal.id -> bool end (** As with GTK signals, you can use [GtkSignal.stop_emit] inside a callback to prevent other callbacks from being called. *) class virtual ml_signals : (GtkSignal.id -> bool) list -> object ('a) val after : bool method after : 'a method disconnect : GtkSignal.id -> unit val mutable disconnectors : (GtkSignal.id -> bool) list end class virtual add_ml_signals : 'a Gtk.obj -> (GtkSignal.id -> bool) list -> object method disconnect : GtkSignal.id -> unit val mutable disconnectors : (GtkSignal.id -> bool) list end (** To add ML signals to a LablGTK object: {[ class mywidget_signals obj ~mysignal1 ~mysignal2 = object inherit somewidget_signals obj inherit add_ml_signals obj [mysignal1#disconnect; mysignal2#disconnect] method mysignal1 = mysignal1#connect ~after method mysignal2 = mysignal2#connect ~after end class mywidget obj = object (self) inherit somewidget obj val mysignal1 = new signal obj val mysignal2 = new signal obj method connect = new mywidget_signals obj ~mysignal1 ~mysignal2 method call1 = mysignal1#call method call2 = mysignal2#call end ]} You can also add ML signals to an arbitrary object; just inherit from [ml_signals] in place of [widget_signals]+[add_ml_signals]. {[ class mysignals ~mysignal1 ~mysignal2 = object inherit ml_signals [mysignal1#disconnect; mysignal2#disconnect] method mysignal1 = mysignal1#connect ~after method mysignal2 = mysignal2#connect ~after end ]} *) (** {4 Propagating state modifications} The variable class provides an easy way to propagate state modifications. A new variable is created by [new variable init]. The [#set] method just calls the [set] signal, which by default only calls [real_set]. [real_set] sets the variable and calls [changed] when needed. Deep equality is used to compare values, but check is only done if there are callbacks for [changed]. *) class ['a] variable_signals : set:'a signal -> changed:'a signal -> object ('b) val after : bool method after : 'b method set : callback:('a -> unit) -> GtkSignal.id method changed : callback:('a -> unit) -> GtkSignal.id method disconnect : GtkSignal.id -> unit val mutable disconnectors : (GtkSignal.id -> bool) list end class ['a] variable : 'a -> object val set : 'a signal val changed : 'a signal val mutable x : 'a method connect : 'a variable_signals method get : 'a method set : 'a -> unit method private equal : 'a -> 'a -> bool method private real_set : 'a -> unit end lablgtk-3.1.2/src/gWindow.ml0000644000650106067230000002572014161276610014545 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gtk open GtkBase open GtkContainers open GtkWindow open GtkMisc open GObj open OgtkBaseProps open GContainer let set = Gobject.Property.set let get = Gobject.Property.get (** Window **) module P = Window.P class window_skel obj = object (self) inherit ['b] bin_impl obj inherit window_props method event = new GObj.event_ops obj method as_window = (obj :> Gtk.window obj) method activate_focus () = Window.activate_focus obj method activate_default () = Window.activate_default obj method add_accel_group = Window.add_accel_group obj method set_default_size ~width ~height = set obj P.default_width width; set obj P.default_height height method move = Window.move obj method parse_geometry = Window.parse_geometry obj method resize = Window.resize obj method set_geometry_hints ?min_size ?max_size ?base_size ?aspect ?resize_inc ?win_gravity ?pos ?user_pos ?user_size w = Window.set_geometry_hints obj ?min_size ?max_size ?base_size ?aspect ?resize_inc ?win_gravity ?pos ?user_pos ?user_size (as_widget w) method set_transient_for w = set obj P.transient_for (Some w) method set_wmclass = Window.set_wmclass obj method show () = Widget.show obj method present () = Window.present obj method iconify () = Window.iconify obj method deiconify () = Window.deiconify obj end class window obj = object inherit window_skel (obj : [> Gtk.window] obj) method connect = new container_signals_impl obj method maximize () = Window.maximize obj method unmaximize () = Window.unmaximize obj method fullscreen () = Window.fullscreen obj method unfullscreen () = Window.unfullscreen obj method stick () = Window.stick obj method unstick () = Window.unstick obj end let make_window ~create = Window.make_params ~cont:(fun pl ?wmclass -> Container.make_params pl ~cont:(fun pl ?(show=false) () -> let (w : #window_skel) = create pl in may (fun (name,clas) -> w#set_wmclass ~name ~clas) wmclass; if show then w#show (); w)) let window ?kind = make_window [] ~create:(fun pl -> new window (Window.create ?kind pl)) let cast_window (w : #widget) = new window (Window.cast w#as_widget) let toplevel (w : #widget) = try Some (cast_window w#misc#toplevel) with Gobject.Cannot_cast _ -> None (** Dialog **) class ['a] dialog_signals (obj : [>Gtk.dialog] obj) ~decode = object (self) inherit container_signals_impl obj method response ~(callback : 'a -> unit) = self#connect Dialog.S.response ~callback:(fun i -> callback (decode i)) method close = self#connect Dialog.S.close end let rec list_rassoc k = function | (a, b) :: _ when b = k -> a | _ :: l -> list_rassoc k l | [] -> raise Not_found let resp = Dialog.std_response let rnone = resp `NONE and rreject = resp `REJECT and raccept = resp `ACCEPT and rdelete = resp `DELETE_EVENT and rok = resp `OK and rcancel = resp `CANCEL and rclose = resp `CLOSE and ryes = resp `YES and rno = resp `NO and rapply = resp `APPLY and rhelp = resp `HELP class virtual ['a] dialog_base obj = object (self) inherit window_skel obj method action_area = new GPack.button_box (Dialog.action_area obj) method vbox = new GPack.box (Dialog.vbox obj) method private virtual encode : 'a -> int method private virtual decode : int -> 'a method response v = Dialog.response obj (self#encode v) method set_response_sensitive v s = Dialog.set_response_sensitive obj (self#encode v) s method set_default_response v = Dialog.set_default_response obj (self#encode v) method run () = let resp = Dialog.run obj in if resp = rnone then failwith "dialog destroyed" else self#decode resp end class ['a] dialog_skel obj = object inherit ['a] dialog_base obj val mutable tbl = [rdelete, `DELETE_EVENT] val mutable id = 0 method private encode (v : 'a) = list_rassoc v tbl method private decode r = try List.assoc r tbl with Not_found -> Format.eprintf "Warning: unknown response id:%d in dialog. \ Please report to lablgtk dev team.@." r; `DELETE_EVENT end class ['a] dialog_ext obj = object (self) inherit ['a] dialog_skel obj method add_button text (v : 'a) = tbl <- (id, v) :: tbl ; Dialog.add_button obj text id ; id <- succ id method add_button_stock s_id v = self#add_button (GtkStock.convert_id s_id) v end class ['a] dialog obj = object (self) inherit ['a] dialog_ext (obj :> Gtk.dialog obj) method connect : 'a dialog_signals = new dialog_signals obj (self#decode) end let make_dialog pl ?parent ?destroy_with_parent ~create = make_window ~create:(fun pl -> let d = create pl in may (fun p -> d#set_transient_for p#as_window) parent ; may d#set_destroy_with_parent destroy_with_parent ; d) pl let dialog ?parent = make_dialog [] ~create:(fun pl -> new dialog (Dialog.create pl)) ?parent type any_response = [GtkEnums.response | `OTHER of int] class dialog_any obj = object (self) inherit [any_response] dialog_base (obj :> Gtk.dialog obj) method private encode = function `OTHER n -> n | #GtkEnums.response as v -> Dialog.std_response v method private decode r = try (Dialog.decode_response r : GtkEnums.response :> [>GtkEnums.response]) with Invalid_argument _ -> `OTHER r method connect : any_response dialog_signals = new dialog_signals obj self#decode method add_button text v = Dialog.add_button obj text (self#encode v) method add_button_stock s_id v = self#add_button (GtkStock.convert_id s_id) v end (** MessageDialog **) type 'a buttons = Gtk.Tags.buttons_type * (int * 'a) list module Buttons = struct let ok = `OK, [ rok, `OK ] let close = `CLOSE, [ rclose, `CLOSE ] let yes_no = `YES_NO, [ ryes, `YES ; rno, `NO ] let ok_cancel = `OK_CANCEL, [ rok, `OK; rcancel, `CANCEL ] type color_selection = [`OK | `CANCEL | `HELP | `DELETE_EVENT] type file_selection = [`OK | `CANCEL | `HELP | `DELETE_EVENT] type font_selection = [`OK | `CANCEL | `APPLY | `DELETE_EVENT] type about = [`CANCEL | `CLOSE | `DELETE_EVENT] end class ['a] message_dialog obj ~(buttons : 'a buttons) = object (self) inherit ['a] dialog_skel obj inherit message_dialog_props method connect : 'a dialog_signals = new dialog_signals obj self#decode initializer tbl <- snd buttons @ tbl end let message_dialog ~buttons ?message_type ?message = MessageDialog.make_params [] ?message_type ?text:message ~cont:(fun pl -> make_dialog pl ~create:(fun pl -> let w = MessageDialog.create ~buttons:(fst buttons) pl in new message_dialog ~buttons w)) (** AboutDialog *) let namep = if GtkMain.Main.version >= (2,12,0) then GtkBaseProps.AboutDialog.P.program_name else GtkBaseProps.Widget.P.name class about_dialog obj = object (self) inherit [Buttons.about] dialog_skel obj inherit about_dialog_props as props method name = Gobject.get namep obj method set_name = Gobject.set namep obj method connect : Buttons.about dialog_signals = new dialog_signals obj self#decode method set_artists = AboutDialog.set_artists obj method artists = AboutDialog.get_artists obj method set_authors = AboutDialog.set_authors obj method authors = AboutDialog.get_authors obj method set_documenters = AboutDialog.set_documenters obj method documenters = AboutDialog.get_documenters obj initializer tbl <- [ rcancel, `CANCEL ; rclose, `CLOSE ] @ tbl end let about_dialog ?name ?authors = let pl = Gobject.Property.may_cons namep name [] in AboutDialog.make_params pl ~cont:(fun pl -> make_dialog pl ~create:(fun pl -> let d = AboutDialog.create () in Gobject.set_params d pl ; may (AboutDialog.set_authors d) authors ; new about_dialog d)) (** Plug **) class plug_signals obj = object inherit container_signals_impl (obj : [> plug] obj) inherit plug_sigs end class plug (obj : Gtk.plug obj) = object inherit window_skel obj method connect = new plug_signals obj end (* let plug ~window:xid = Container.make_params [] ~cont:(fun pl ?(show=false) () -> let w = Plug.create xid in Gobject.set_params w pl; if show then Widget.show w; new plug w) *) (** Socket **) class socket_signals obj = object inherit container_signals_impl (obj : [> socket] obj) inherit socket_sigs end class socket obj = object (self) inherit container (obj : Gtk.socket obj) method connect = new socket_signals obj method xwindow = self#misc#realize (); Gdk.Window.get_xwindow self#misc#window end let socket = pack_container [] ~create:(fun pl -> new socket (Socket.create pl)) (** FileChooser *) class ['a] file_chooser_dialog_signals obj ~decode = object inherit ['a] dialog_signals obj ~decode inherit OgtkFileProps.file_chooser_sigs end class ['a] file_chooser_dialog obj = object (self) inherit ['a] dialog_ext obj inherit GFile.chooser_impl method connect : 'a file_chooser_dialog_signals = new file_chooser_dialog_signals obj self#decode method add_select_button text v = tbl <- (raccept, v) :: tbl ; Dialog.add_button obj text raccept method add_select_button_stock s_id v = self#add_select_button (GtkStock.convert_id s_id) v end let file_chooser_dialog ~action ?filename = make_dialog [ Gobject.param GtkFile.FileChooser.P.action action ] ~create:(fun pl -> let w = GtkFile.FileChooser.dialog_create pl in let o = new file_chooser_dialog w in Gaux.may ~f:o#set_filename filename; o) lablgtk-3.1.2/src/gWindow.mli0000644000650106067230000003614414161276610014720 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk open GObj (** Windows *) (** {3 GtkWindow} *) (** @gtkdoc gtk GtkWindow *) class window_skel : 'a obj -> object inherit GContainer.bin constraint 'a = [> Gtk.window] val obj : 'a obj method activate_default : unit -> bool method activate_focus : unit -> bool method add_accel_group : accel_group -> unit method as_window : Gtk.window obj method deiconify : unit -> unit method event : event_ops method iconify : unit -> unit method move : x:int -> y:int -> unit method parse_geometry : string -> bool method present : unit -> unit method resize : width:int -> height:int -> unit method show : unit -> unit method set_accept_focus : bool -> unit method set_decorated : bool -> unit method set_default_height : int -> unit method set_default_size : width:int -> height:int -> unit method set_default_width : int -> unit method set_deletable : bool -> unit method set_destroy_with_parent : bool -> unit method set_focus_on_map : bool -> unit method set_geometry_hints : ?min_size:int * int -> ?max_size:int * int -> ?base_size:int * int -> ?aspect:float * float -> ?resize_inc:int * int -> ?win_gravity:Gdk.Tags.gravity -> ?pos:bool -> ?user_pos:bool -> ?user_size:bool -> GObj.widget -> unit method set_gravity : Gdk.Tags.gravity -> unit method set_icon : GdkPixbuf.pixbuf option -> unit method set_icon_name : string -> unit method set_modal : bool -> unit method set_opacity : float -> unit method set_position : Tags.window_position -> unit method set_resizable : bool -> unit method set_role : string -> unit method set_screen : Gdk.screen -> unit method set_skip_pager_hint : bool -> unit method set_skip_taskbar_hint : bool -> unit method set_title : string -> unit method set_transient_for : Gtk.window obj -> unit method set_type_hint : Gdk.Tags.window_type_hint -> unit method set_wmclass : name:string -> clas:string -> unit method accept_focus : bool method decorated : bool method default_height : int method default_width : int method deletable : bool method destroy_with_parent : bool method focus_on_map : bool method gravity : GdkEnums.gravity method has_toplevel_focus : bool method icon : GdkPixbuf.pixbuf option method icon_name : string method is_active : bool method kind : Tags.window_type method modal : bool method opacity : float method position : Tags.window_position method resizable : bool method role : string method screen : Gdk.screen method skip_pager_hint : bool method skip_taskbar_hint : bool method title : string method type_hint : Gdk.Tags.window_type_hint method set_urgency_hint : bool -> unit (** since Gtk 2.8 *) method urgency_hint : bool (** since Gtk 2.8 *) end (** Toplevel widget which can contain other widgets @gtkdoc gtk GtkWindow *) class window : ([> Gtk.window] as 'a) obj -> object inherit window_skel val obj : 'a obj method connect : GContainer.container_signals method fullscreen : unit -> unit (** @since GTK 2.2 *) method maximize : unit -> unit method stick : unit -> unit method unfullscreen : unit -> unit (** @since GTK 2.2 *) method unmaximize : unit -> unit method unstick : unit -> unit end (** @gtkdoc gtk GtkWindow *) val window : ?kind:Tags.window_type -> ?title:string -> ?decorated:bool -> ?deletable:bool -> ?focus_on_map:bool -> ?icon:GdkPixbuf.pixbuf -> ?icon_name:string -> ?modal:bool -> ?position:Tags.window_position -> ?resizable:bool -> ?screen:Gdk.screen -> ?type_hint:Gdk.Tags.window_type_hint -> ?urgency_hint:bool -> ?wmclass:(string * string) -> ?border_width:int -> ?width:int -> ?height:int -> ?show:bool -> unit -> window (** @param kind default value is [`TOPLEVEL] @param allow_grow default value is [true] @param allow_shrink default value is [false] @param modal default value is [false] @param resizable default value is [true] @param type_hint default value is [`NORMAL] @param position default value is [`NONE] *) val toplevel : #widget -> window option (** return the toplevel window of this widget, if existing *) (** {3 GtkDialog} *) (** @gtkdoc gtk GtkDialog *) class ['a] dialog_signals : ([> Gtk.dialog] as 'b) obj -> decode:(int -> 'a) -> object inherit GContainer.container_signals val obj : 'b obj method response : callback:('a -> unit) -> GtkSignal.id method close : callback:(unit -> unit) -> GtkSignal.id end (** @gtkdoc gtk GtkDialog *) class ['a] dialog_skel : ([>Gtk.dialog] as 'b) obj -> object constraint 'a = [> `DELETE_EVENT] inherit window_skel val obj : 'b obj method action_area : GPack.button_box method event : event_ops method vbox : GPack.box method response : 'a -> unit method set_response_sensitive : 'a -> bool -> unit method set_default_response : 'a -> unit method run : unit -> 'a method private encode : 'a -> int method private decode : int -> 'a end (** Create popup windows @gtkdoc gtk GtkDialog *) class ['a] dialog_ext : ([> Gtk.dialog] as 'b) obj -> object inherit ['a] dialog_skel val obj : 'b obj method add_button : string -> 'a -> unit method add_button_stock : GtkStock.id -> 'a -> unit end (** Create popup windows @gtkdoc gtk GtkDialog *) class ['a] dialog : [> Gtk.dialog] obj -> object inherit ['a] dialog_ext val obj : Gtk.dialog obj method connect : 'a dialog_signals end (** @gtkdoc gtk GtkDialog *) val dialog : ?parent:#window_skel -> ?destroy_with_parent:bool -> ?title:string -> ?decorated:bool -> ?deletable:bool -> ?focus_on_map:bool -> ?icon:GdkPixbuf.pixbuf -> ?icon_name:string -> ?modal:bool -> ?position:Tags.window_position -> ?resizable:bool -> ?screen:Gdk.screen -> ?type_hint:Gdk.Tags.window_type_hint -> ?urgency_hint:bool -> ?wmclass:(string * string) -> ?border_width:int -> ?width:int -> ?height:int -> ?show:bool -> unit -> 'a dialog (** @param no_separator default value is [false] @param destroy_with_parent default value is [false] *) (** Variation for safe typing *) type any_response = [GtkEnums.response | `OTHER of int] class dialog_any : [> Gtk.dialog] obj -> [any_response] dialog (** {3 GtkMessageDialog} *) type 'a buttons module Buttons : sig val ok : [>`OK] buttons val close : [>`CLOSE] buttons val yes_no : [>`YES|`NO] buttons val ok_cancel : [>`OK|`CANCEL] buttons type color_selection = [`OK | `CANCEL | `HELP | `DELETE_EVENT] type file_selection = [`OK | `CANCEL | `HELP | `DELETE_EVENT] type font_selection = [`OK | `CANCEL | `APPLY | `DELETE_EVENT] type about = [ `CANCEL | `CLOSE | `DELETE_EVENT ] end (** Convenient message window @gtkdoc gtk GtkMessageDialog *) class type ['a] message_dialog = object inherit ['a] dialog_skel val obj : [> Gtk.message_dialog] obj method connect : 'a dialog_signals method message_type : Tags.message_type method set_message_type : Tags.message_type -> unit method text : string method set_text : string -> unit method use_markup : bool method set_use_markup : bool -> unit method secondary_text : string method set_secondary_text : string -> unit method secondary_use_markup : bool method set_secondary_use_markup : bool -> unit end (** @gtkdoc gtk GtkMessageDialog *) val message_dialog : buttons:'a buttons -> ?message_type:Tags.message_type -> ?message:string -> ?use_markup:bool -> ?parent:#window_skel -> ?destroy_with_parent:bool -> ?title:string -> ?decorated:bool -> ?deletable:bool -> ?focus_on_map:bool -> ?icon:GdkPixbuf.pixbuf -> ?icon_name:string -> ?modal:bool -> ?position:Tags.window_position -> ?resizable:bool -> ?screen:Gdk.screen -> ?type_hint:Gdk.Tags.window_type_hint -> ?urgency_hint:bool -> ?wmclass:(string * string) -> ?border_width:int -> ?width:int -> ?height:int -> ?show:bool -> unit -> 'a message_dialog (** {3 GtkAboutDialog} *) (** @gtkdoc gtk GtkAboutDialog @since GTK 2.6 *) class about_dialog : ([> Gtk.about_dialog] as 'a) Gtk.obj -> object inherit [Buttons.about] dialog_skel val obj : 'a Gtk.obj method connect : Buttons.about dialog_signals method artists : string list method authors : string list method comments : string method copyright : string method documenters : string list method license : string method logo : GdkPixbuf.pixbuf method logo_icon_name : string (** The property [name] is left unchanged, but it will access [program-name] if version is higher than 2.12 *) method name : string method translator_credits : string method version : string method website : string method website_label : string method wrap_license : bool method set_artists : string list -> unit method set_authors : string list -> unit method set_comments : string -> unit method set_copyright : string -> unit method set_documenters : string list -> unit method set_license : string -> unit method set_logo : GdkPixbuf.pixbuf -> unit method set_logo_icon_name : string -> unit method set_name : string -> unit method set_translator_credits : string -> unit method set_version : string -> unit method set_website : string -> unit method set_website_label : string -> unit method set_wrap_license : bool -> unit end (** Display information about an application. In GTK+ 2.6.x and 2.8.x, a default handler is already connected to the [response] signal. It simply hides the dialog. This is no longer the case since GTK+ 2.10.x though. You could use it like this: {[let about_dialog = ref (fun () -> raise Not_found) let show_dialog () = try !about_dialog () with Not_found -> let dialog = GWindow.about_dialog ~name:"..." (* etc. *) () in about_dialog := dialog#present ; dialog#show () ]} @gtkdoc gtk GtkAboutDialog @since GTK 2.6 *) val about_dialog : ?name:string -> ?authors:string list -> ?comments:string -> ?copyright:string -> ?license:string -> ?logo:GdkPixbuf.pixbuf -> ?logo_icon_name:string -> ?translator_credits:string -> ?version:string -> ?website:string -> ?website_label:string -> ?wrap_license:bool -> ?parent:#window_skel -> ?destroy_with_parent:bool -> ?title:string -> ?decorated:bool -> ?deletable:bool -> ?focus_on_map:bool -> ?icon:GdkPixbuf.pixbuf -> ?icon_name:string -> ?modal:bool -> ?position:Tags.window_position -> ?resizable:bool -> ?screen:Gdk.screen -> ?type_hint:Gdk.Tags.window_type_hint -> ?urgency_hint:bool -> ?wmclass:(string * string) -> ?border_width:int -> ?width:int -> ?height:int -> ?show:bool -> unit -> about_dialog (** {3 File Chooser Dialog} *) (** @since GTK 2.4 @gtkdoc gtk GtkFileChooserDialog *) class ['a] file_chooser_dialog_signals : ([> Gtk.file_chooser|Gtk.dialog] as 'b) Gtk.obj -> decode:(int -> 'a) -> object inherit ['a] dialog_signals inherit GFile.chooser_signals val obj : 'b Gtk.obj end (** @since GTK 2.4 @gtkdoc gtk GtkFileChooserDialog *) class ['a] file_chooser_dialog : ([> Gtk.file_chooser|Gtk.dialog] as 'b) Gtk.obj -> object inherit ['a] dialog_ext inherit GFile.chooser val obj : 'b Gtk.obj method connect : 'a file_chooser_dialog_signals (** The following methods should be used to add the [OPEN] or [SAVE] button of a FileChooserDialog *) method add_select_button : string -> 'a -> unit (** ditto with a stock id *) method add_select_button_stock : GtkStock.id -> 'a -> unit end (** @since GTK 2.4 @gtkdoc gtk GtkFileChooserDialog *) val file_chooser_dialog : action:GtkEnums.file_chooser_action -> ?filename:string -> ?parent:#window_skel -> ?destroy_with_parent:bool -> ?title:string -> ?decorated:bool -> ?deletable:bool -> ?focus_on_map:bool -> ?icon:GdkPixbuf.pixbuf -> ?icon_name:string -> ?modal:bool -> ?position:Tags.window_position -> ?resizable:bool -> ?screen:Gdk.screen -> ?type_hint:Gdk.Tags.window_type_hint -> ?urgency_hint:bool -> ?wmclass:(string * string) -> ?border_width:int -> ?width:int -> ?height:int -> ?show:bool -> unit -> 'a file_chooser_dialog (** {3 GtkPlug} *) (** @gtkdoc gtk GtkPlug *) class plug_signals : ([> Gtk.plug] as 'a) obj -> object inherit GContainer.container_signals val obj : 'a obj method embedded : callback:(unit -> unit) -> GtkSignal.id end (** Toplevel for embedding into other processes @gtkdoc gtk GtkPlug *) class plug : Gtk.plug obj -> object inherit window_skel val obj : Gtk.plug obj method connect : plug_signals end (** @gtkdoc gtk GtkPlug *) (* val plug : window:Gdk.native_window -> ?border_width:int -> ?width:int -> ?height:int -> ?show:bool -> unit -> plug *) (** {3 GtkSocket} *) (** @gtkdoc gtk GtkSocket *) class socket_signals : ([>Gtk.socket] as 'a) obj -> object inherit GContainer.container_signals val obj : 'a obj method plug_added : callback:(unit -> unit) -> GtkSignal.id method plug_removed : callback:(unit -> unit) -> GtkSignal.id end (** Container for widgets from other processes @gtkdoc gtk GtkSocket *) class socket : Gtk.socket obj -> object inherit GContainer.container val obj : Gtk.socket obj method connect : socket_signals (** @deprecated "inherently unreliable" *) method xwindow : Gdk.xid end (** @gtkdoc gtk GtkSocket *) val socket : ?border_width:int -> ?width:int -> ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> socket lablgtk-3.1.2/src/gaux.ml0000644000650106067230000000361514161276610014072 0ustar glondused(**************************************************************************) (* 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$ *) (* Option handling *) let may ~f x = match x with None -> () | Some x -> let _ = f x in () let may_map ~f x = match x with None -> None | Some x -> Some (f x) let default x ~opt = match opt with None -> x | Some y -> y let may_default f x ~opt = match opt with None -> f x | Some y -> y lablgtk-3.1.2/src/gdk.ml0000644000650106067230000003302014161276610013664 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels open Gaux open Gobject type color type rgba (* Removed in gtk3 type colormap *) type visual type screen = [`gdkscreen] obj type region type gc type window = [`gdkwindow] obj type cairo = Cairo.context type atom type keysym = int type +'a event type drag_context = [`dragcontext] obj type cursor type xid = int32 type native_window type device type display exception Error of string let _ = Callback.register_exception "gdkerror" (Error"") external _gdk_init : unit -> unit = "ml_gdk_init" let () = _gdk_init () module Tags = struct include (GdkEnums : module type of GdkEnums with module Conv := GdkEnums.Conv and type xdata := GdkEnums.xdata) type xdata = [ `BYTES of string | `SHORTS of int array | `INT32S of int32 array ] type xdata_ret = [ xdata | `NONE ] end open Tags module Convert = struct external test_modifier : modifier -> int -> bool = "ml_test_GdkModifier_val" let modifier i = List.filter [`SHIFT;`LOCK;`CONTROL;`MOD1;`MOD2;`MOD3;`MOD4;`MOD5; `BUTTON1;`BUTTON2;`BUTTON3;`BUTTON4;`BUTTON5;`SUPER; `HYPER;`META;`RELEASE] ~f:(fun m -> test_modifier m i) external test_window_state : window_state -> int -> bool = "ml_test_GdkWindowState_val" let window_state i = List.filter [ `WITHDRAWN; `ICONIFIED; `MAXIMIZED; `STICKY ] ~f:(fun m -> test_window_state m i) end module Atom = struct external intern : string -> bool -> atom = "ml_gdk_atom_intern" let intern ?(dont_create=false) name = intern name dont_create external name : atom -> string = "ml_gdk_atom_name" let none = intern "NONE" let primary = intern "PRIMARY" let secondary = intern "SECONDARY" let clipboard = intern "CLIPBOARD" let string = intern "STRING" end module Property = struct external change : window -> property:atom -> typ:atom -> mode:property_mode -> xdata -> unit = "ml_gdk_property_change" let change ~window ~typ ?(mode=`REPLACE) property data = change window ~property ~typ ~mode data external get : window -> property:atom -> max_length:int -> delete:bool -> (atom * xdata) option = "ml_gdk_property_get" let get ~window ?(max_length=65000) ?(delete=false) property = get window ~property ~max_length ~delete external delete : window:window -> atom -> unit = "ml_gdk_property_delete" end module Screen = struct external get_width : screen -> int = "ml_gdk_screen_get_width" external width : unit -> int = "ml_gdk_screen_width" let width ?screen () = match screen with None -> width () | Some s -> get_width s external get_height : screen -> int = "ml_gdk_screen_get_height" external height : unit -> int = "ml_gdk_screen_height" let height ?screen () = match screen with None -> height () | Some s -> get_height s external get_pango_context_for : screen -> Pango.context = "ml_gdk_pango_context_get_for_screen" external get_pango_context : unit -> Pango.context = "ml_gdk_pango_context_get" let get_pango_context ?screen () = match screen with None -> get_pango_context () | Some s -> get_pango_context_for s (* Only with Gtk-2.2 *) external default : unit -> screen = "ml_gdk_screen_get_default" end module Visual = struct type visual_type = [ `STATIC_GRAY|`GRAYSCALE|`STATIC_COLOR |`PSEUDO_COLOR|`TRUE_COLOR|`DIRECT_COLOR ] external get_best : ?depth:int -> ?kind:visual_type -> unit -> visual = "ml_gdk_visual_get_best" external get_screen : visual -> screen = "ml_gdk_visual_get_screen" external get_type : visual -> visual_type = "ml_gdk_visual_get_visual_type" external depth : visual -> int = "ml_gdk_visual_get_depth" end module Color = struct (* Removed in GdkColor 3.0 external color_white : colormap -> color = "ml_gdk_color_white" external color_black : colormap -> color = "ml_gdk_color_black" *) external color_parse : string -> color = "ml_gdk_color_parse" external color_to_string : color -> string = "ml_gdk_color_to_string" (* Removed in GdkColor 3.0 external color_alloc : colormap -> color -> bool = "ml_gdk_color_alloc" *) external color_create : red:int -> green:int -> blue:int -> color = "ml_GdkColor" (* Removed in GdkColor 3.0 external get_system_colormap : unit -> colormap = "ml_gdk_colormap_get_system" external colormap_new : visual -> privat:bool -> colormap = "ml_gdk_colormap_new" let get_colormap ?(privat=false) vis = colormap_new vis ~privat external get_visual : colormap -> visual = "ml_gdk_colormap_get_visual" type spec = [ `BLACK | `NAME of string | `RGB of int * int * int | `WHITE] let color_alloc ~colormap color = if not (color_alloc colormap color) then raise (Error"Color.alloc"); color let alloc ~colormap color = match color with `WHITE -> color_white colormap | `BLACK -> color_black colormap | `NAME s -> color_alloc ~colormap (color_parse s) | `RGB (red,green,blue) -> color_alloc ~colormap (color_create ~red ~green ~blue) *) (* deprecated in 3.14 in favor of RGBA *) external red : color -> int = "ml_GdkColor_red" external blue : color -> int = "ml_GdkColor_blue" external green : color -> int = "ml_GdkColor_green" external pixel : color -> int = "ml_GdkColor_pixel" end module Rectangle = struct type t external create : x:int -> y:int -> width:int -> height:int -> t = "ml_GdkRectangle" external x : t -> int = "ml_GdkRectangle_x" external y : t -> int = "ml_GdkRectangle_y" external width : t -> int = "ml_GdkRectangle_width" external height : t -> int = "ml_GdkRectangle_height" end module Windowing = struct external get : unit -> [`QUARTZ | `WIN32 | `X11] = "ml_gdk_get_platform" let platform = get () end module Window = struct let cast w : window = Gobject.try_cast w "GdkWindow" external create_foreign : display -> xid -> window = "ml_gdk_x11_window_foreign_new_for_display" external get_parent : window -> window = "ml_gdk_window_get_parent" external get_position : window -> int * int = "ml_gdk_window_get_position" external get_origin : window -> int * int = "ml_gdk_window_get_origin" external get_pointer_location : window -> int * int = "ml_gdk_window_get_pointer_location" (* external root_parent : unit -> window = "ml_GDK_ROOT_PARENT" *) (* external set_back_pixmap : window -> pixmap -> int -> unit = "ml_gdk_window_set_back_pixmap" *) external set_cursor : window -> cursor -> unit = "ml_gdk_window_set_cursor" (* external clear : window -> unit = "ml_gdk_window_clear" external clear_area : window -> x:int -> y:int -> width:int -> height:int -> unit = "ml_gdk_window_clear" *) external get_xid : window -> xid = "ml_GDK_WINDOW_XID" let get_xwindow = get_xid external get_visual : window -> visual = "ml_gdk_window_get_visual" (* let set_back_pixmap w pix = let null_pixmap = (Obj.magic Gpointer.boxed_null : pixmap) in match pix with `NONE -> set_back_pixmap w null_pixmap 0 | `PARENT_RELATIVE -> set_back_pixmap w null_pixmap 1 | `PIXMAP(pixmap) -> set_back_pixmap w pixmap 0 (* anything OK, Maybe... *) *) let xid_of_native (w : native_window) : xid = if Windowing.platform = `X11 then Obj.magic w else failwith "Gdk.Window.xid_of_native only allowed for X11" let native_of_xid (id : xid) : native_window = if Windowing.platform = `X11 then Obj.magic id else failwith "Gdk.Window.native_of_xid only allowed for X11" external set_transient_for : window -> window -> unit = "ml_gdk_window_set_transient_for" end module DnD = struct external drag_status : drag_context -> drag_action option -> time:int32 -> unit = "ml_gdk_drag_status" external drag_context_suggested_action : drag_context -> drag_action = "ml_gdk_drag_context_get_suggested_action" external drag_context_targets : drag_context -> atom list = "ml_gdk_drag_context_list_targets" end (* module Truecolor = struct (* Truecolor quick color query *) type visual_shift_prec = { red_shift : int; red_prec : int; green_shift : int; green_prec : int; blue_shift : int; blue_prec : int } let shift_prec visual = { red_shift = Visual.red_shift visual; red_prec = Visual.red_prec visual; green_shift = Visual.green_shift visual; green_prec = Visual.green_prec visual; blue_shift = Visual.blue_shift visual; blue_prec = Visual.blue_prec visual; } let color_creator visual = match Visual.get_type visual with `TRUE_COLOR | `DIRECT_COLOR -> let shift_prec = shift_prec visual in (* Format.eprintf "red : %d %d, " shift_prec.red_shift shift_prec.red_prec; Format.eprintf "green : %d %d, " shift_prec.green_shift shift_prec.green_prec; Format.eprintf "blue : %d %d" shift_prec.blue_shift shift_prec.blue_prec; Format.pp_print_newline Format.err_formatter (); *) let red_lsr = 16 - shift_prec.red_prec and green_lsr = 16 - shift_prec.green_prec and blue_lsr = 16 - shift_prec.blue_prec in fun ~red: red ~green: green ~blue: blue -> (((red lsr red_lsr) lsl shift_prec.red_shift) lor ((green lsr green_lsr) lsl shift_prec.green_shift) lor ((blue lsr blue_lsr) lsl shift_prec.blue_shift)) | _ -> raise (Invalid_argument "Gdk.Truecolor.color_creator") let color_parser visual = match Visual.get_type visual with `TRUE_COLOR | `DIRECT_COLOR -> let shift_prec = shift_prec visual in let red_lsr = 16 - shift_prec.red_prec and green_lsr = 16 - shift_prec.green_prec and blue_lsr = 16 - shift_prec.blue_prec in let mask = 1 lsl 16 - 1 in fun pixel -> ((pixel lsr shift_prec.red_shift) lsl red_lsr) land mask, ((pixel lsr shift_prec.green_shift) lsl green_lsr) land mask, ((pixel lsr shift_prec.blue_shift) lsl blue_lsr) land mask | _ -> raise (Invalid_argument "Gdk.Truecolor.color_parser") end *) module X = struct (* X related functions *) external flush : unit -> unit = "ml_gdk_flush" external beep : unit -> unit = "ml_gdk_beep" end module Cursor = struct type cursor_type = [ | `X_CURSOR | `ARROW | `BASED_ARROW_DOWN | `BASED_ARROW_UP | `BOAT | `BOGOSITY | `BOTTOM_LEFT_CORNER | `BOTTOM_RIGHT_CORNER | `BOTTOM_SIDE | `BOTTOM_TEE | `BOX_SPIRAL | `CENTER_PTR | `CIRCLE | `CLOCK | `COFFEE_MUG | `CROSS | `CROSS_REVERSE | `CROSSHAIR | `DIAMOND_CROSS | `DOT | `DOTBOX | `DOUBLE_ARROW | `DRAFT_LARGE | `DRAFT_SMALL | `DRAPED_BOX | `EXCHANGE | `FLEUR | `GOBBLER | `GUMBY | `HAND1 | `HAND2 | `HEART | `ICON | `IRON_CROSS | `LEFT_PTR | `LEFT_SIDE | `LEFT_TEE | `LEFTBUTTON | `LL_ANGLE | `LR_ANGLE | `MAN | `MIDDLEBUTTON | `MOUSE | `PENCIL | `PIRATE | `PLUS | `QUESTION_ARROW | `RIGHT_PTR | `RIGHT_SIDE | `RIGHT_TEE | `RIGHTBUTTON | `RTL_LOGO | `SAILBOAT | `SB_DOWN_ARROW | `SB_H_DOUBLE_ARROW | `SB_LEFT_ARROW | `SB_RIGHT_ARROW | `SB_UP_ARROW | `SB_V_DOUBLE_ARROW | `SHUTTLE | `SIZING | `SPIDER | `SPRAYCAN | `STAR | `TARGET | `TCROSS | `TOP_LEFT_ARROW | `TOP_LEFT_CORNER | `TOP_RIGHT_CORNER | `TOP_SIDE | `TOP_TEE | `TREK | `UL_ANGLE | `UMBRELLA | `UR_ANGLE | `WATCH | `XTERM ] external create : cursor_type -> cursor = "ml_gdk_cursor_new" external create_from_pixbuf : [`pixbuf] obj -> x:int -> y:int -> cursor = "ml_gdk_cursor_new_from_pixbuf" (** @since GTK 2.4 *) external get_image : cursor -> [`pixbuf] obj = "ml_gdk_cursor_get_image" (** @since GTK 2.8 *) end module Display = struct (* since Gtk+-2.2 *) external default : unit -> display = "ml_gdk_display_get_default" external get_window_at_pointer : display -> (window * int * int) option = "ml_gdk_display_get_window_at_pointer" let window_at_pointer ?display () = get_window_at_pointer (match display with None -> default () | Some disp -> disp) end module Cairo = struct external create : window -> cairo = "ml_gdk_cairo_create" end lablgtk-3.1.2/src/gdk.mli0000644000650106067230000003212214161276610014037 0ustar glondused(**************************************************************************) (* 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$ *) open Gobject type color type rgba (* Removed in gtk3 type colormap *) type visual type screen = [`gdkscreen] obj type region type gc type window = [`gdkwindow] obj type cairo = Cairo.context type atom type keysym = int type +'a event type drag_context = [`dragcontext] obj type cursor type xid = int32 type native_window type device type display exception Error of string module Tags : sig (* gdkevents.h *) type event_type = [ `NOTHING | `DELETE | `DESTROY | `EXPOSE | `MOTION_NOTIFY | `BUTTON_PRESS | `TWO_BUTTON_PRESS | `THREE_BUTTON_PRESS | `BUTTON_RELEASE | `KEY_PRESS | `KEY_RELEASE | `ENTER_NOTIFY | `LEAVE_NOTIFY | `FOCUS_CHANGE | `CONFIGURE | `MAP | `UNMAP | `PROPERTY_NOTIFY | `SELECTION_CLEAR | `SELECTION_REQUEST | `SELECTION_NOTIFY | `PROXIMITY_IN | `PROXIMITY_OUT | `DRAG_ENTER | `DRAG_LEAVE | `DRAG_MOTION | `DRAG_STATUS | `DROP_START | `DROP_FINISHED | `CLIENT_EVENT | `VISIBILITY_NOTIFY | `SCROLL | `WINDOW_STATE | `SETTING | `OWNER_CHANGE | `GRAB_BROKEN | `DAMAGE | `TOUCH_BEGIN | `TOUCH_UPDATE | `TOUCH_END | `TOUCH_CANCEL | `TOUCHPAD_SWIPE | `TOUCHPAD_PINCH ] (* Since 3.22: | `PAD_BUTTON_PRESS | `PAD_BUTTON_RELEASE | `PAD_RING | `PAD_STRIP | `PAD_GROUP_MODE ] *) type visibility_state = [ `UNOBSCURED | `PARTIAL | `FULLY_OBSCURED ] type touchpad_gesture_phase = [ `BEGIN | `UPDATE | `END | `CANCEL ] type scroll_direction = [ `UP | `DOWN | `LEFT | `RIGHT | `SMOOTH ] type crossing_mode = [ `NORMAL | `GRAB | `UNGRAB | `GTK_GRAB | `GTK_UNGRAB | `STATE_CHANGED | `TOUCH_BEGIN | `TOUCH_END | `DEVICE_SWITCH ] type notify_type = [ `ANCESTOR | `VIRTUAL | `INFERIOR | `NONLINEAR | `NONLINEAR_VIRTUAL | `UNKNOWN ] type setting_action = [ `NEW | `CHANGED | `DELETED ] type owner_change = [ `NEW_OWNER | `DESTROY | `CLOSE ] type window_state = [ `WITHDRAWN | `ICONIFIED | `MAXIMIZED | `STICKY | `FULLSCREEN | `ABOVE | `BELOW | `FOCUSED | `TILED ] (* | `TOP_TILED | `TOP_RESIZABLE | `RIGHT_TILED | `RIGHT_RESIZABLE | `BOTTOM_TILED | `BOTTOM_RESIZABLE | `LEFT_TILED | `LEFT_RESIZABLE ] *) (* gdkdevice.h *) type input_source = [ `MOUSE | `PEN | `ERASER | `CURSOR | `KEYBOARD | `TOUCHSCREEN | `TOUCHPAD ] (* Since 3.22: | `TRACKPOINT | `TABLET_PAD *) type input_mode = [ `DISABLED | `SCREEN | `WINDOW ] type device_type = [ `MASTER | `SLAVE | `FLOATING ] (* gdkvisual.h *) type visual_type = [ `STATIC_GRAY | `GRAYSCALE | `STATIC_COLOR | `PSEUDO_COLOR | `TRUE_COLOR | `DIRECT_COLOR ] (* gdkdnd.h *) type drag_action = [ `DEFAULT | `COPY | `MOVE | `LINK | `PRIVATE | `ASK ] (* Since 3.22: type drag_cancel_reason = [ `NO_TARGET | `USER_CANCELLED | `ERROR ] *) type drag_protocol = [ `NONE | `MOTIF | `XDND | `ROOTWIN | `WIN32_DROPFILES | `OLE2 | `LOCAL | `WAYLAND ] type property_state = [ `NEW_VALUE | `DELETE ] type xdata = [ `BYTES of string | `SHORTS of int array | `INT32S of int32 array ] type xdata_ret = [ xdata | `NONE ] (* gdkproperty.h *) type property_mode = [ `REPLACE | `PREPEND | `APPEND ] (* gdkwindow.h *) type window_class = [ `INPUT_OUTPUT | `INPUT_ONLY ] type window_type = [ `ROOT | `TOPLEVEL | `CHILD | `TEMP | `FOREIGN | `OFFSCREEN | `SUBSURFACE ] type window_attributes_type = [ `TITLE | `X | `Y | `CURSOR | `VISUAL | `WMCLASS | `NOREDIR | `TYPE_HINT ] type window_hints = [ `POS | `MIN_SIZE | `MAX_SIZE | `BASE_SIZE | `ASPECT | `RESIZE_INC | `WIN_GRAVITY | `USER_POS | `USER_SIZE ] type wm_decoration = [ `ALL | `BORDER | `RESIZEH | `TITLE | `MENU | `MINIMIZE | `MAXIMIZE ] type wm_function = [ `ALL | `RESIZE | `MOVE | `MINIMIZE | `MAXIMIZE | `CLOSE ] type gravity = [ `NORTH_WEST | `NORTH | `NORTH_EAST | `WEST | `CENTER | `EAST | `SOUTH_WEST | `SOUTH | `SOUTH_EAST | `STATIC ] (* Since 3.22: type anchor_hints = [ `FLIP_X | `FLIP_Y | `SLIDE_X | `SLIDE_Y | `RESIZE_X | `RESIZE_Y | `FLIP | `SLIDE | `RESIZE ] *) type window_edge = [ `NORTH_WEST | `NORTH | `NORTH_EAST | `WEST | `EAST | `SOUTH_WEST | `SOUTH | `SOUTH_EAST ] type fullscreen_mode = [ `ON_CURRENT_MONITOR | `ON_ALL_MONITORS ] (* gdktypes.h *) type modifier = [ `SHIFT | `LOCK | `CONTROL | `MOD1 | `MOD2 | `MOD3 | `MOD4 | `MOD5 | `BUTTON1 | `BUTTON2 | `BUTTON3 | `BUTTON4 | `BUTTON5 | `SUPER | `HYPER | `META | `RELEASE ] type modifier_intent = [ `PRIMARY_ACCELERATOR | `CONTEXT_MENU | `EXTEND_SELECTION | `MODIFY_SELECTION | `NO_TEXT_INPUT | `SHIFT_GROUP | `DEFAULT_MOD_MASK ] type status = [ `OK | `ERROR | `ERROR_PARAM | `ERROR_FILE | `ERROR_MEM ] type grab_status = [ `SUCCESS | `ALREADY_GRABBED | `INVALID_TIME | `NOT_VIEWABLE | `FROZEN | `FAILED ] type grab_ownership = [ `NONE | `WINDOW | `APPLICATION ] type event_mask = [ `EXPOSURE | `POINTER_MOTION | `POINTER_MOTION_HINT | `BUTTON_MOTION | `BUTTON1_MOTION | `BUTTON2_MOTION | `BUTTON3_MOTION | `BUTTON_PRESS | `BUTTON_RELEASE | `KEY_PRESS | `KEY_RELEASE | `ENTER_NOTIFY | `LEAVE_NOTIFY | `FOCUS_CHANGE | `STRUCTURE | `PROPERTY_CHANGE | `VISIBILITY_NOTIFY | `PROXIMITY_IN | `PROXIMITY_OUT | `SUBSTRUCTURE | `SCROLL | `TOUCH | `SMOOTH_SCROLL | `TOUCHPAD_GESTURE (* Since 3.22: | `TABLET_PAD *) | `ALL_EVENTS ] type gl_error = [ `NOT_AVAILABLE | `UNSUPPORTED_FORMAT | `UNSUPPORTED_PROFILE ] type window_type_hint = [ `NORMAL | `DIALOG | `MENU | `TOOLBAR | `SPLASHSCREEN | `UTILITY | `DOCK | `DESKTOP | `DROPDOWN_MENU | `POPUP_MENU | `TOOLTIP | `NOTIFICATION | `COMBO | `DND ] type axis_use = [ `IGNORE | `X | `Y | `PRESSURE | `XTILT | `YTILT | `WHEEL | (* Since 3.22: `DISTANCE | `ROTATION | `SLIDER | *) `LAST ] (* Since 3.22: type axis_flags = [ `X | `Y | `PRESSURE | `XTILT | `YTILT | `WHEEL | `DISTANCE | `ROTATION | `SLIDER ] *) end module Convert : sig val test_modifier : Tags.modifier -> int -> bool val modifier : int -> Tags.modifier list val window_state : int -> Tags.window_state list end module Atom : sig (* Currently Gtk2 does not implement ?dont_create... *) val intern : ?dont_create:bool -> string -> atom val name : atom -> string val none : atom val primary : atom val secondary : atom val clipboard : atom val string : atom end module Property : sig val change : window:window -> typ:atom -> ?mode:Tags.property_mode -> atom -> Tags.xdata -> unit val get : window:window -> ?max_length:int -> ?delete:bool -> atom -> (atom * Tags.xdata) option val delete : window:window -> atom -> unit end module Screen : sig val width : ?screen:screen -> unit -> int val height : ?screen:screen -> unit -> int val get_pango_context : ?screen:screen -> unit -> Pango.context (* Screens are only supported with Gtk+-2.2 *) val default : unit -> screen end module Visual : sig type visual_type = [ `STATIC_GRAY|`GRAYSCALE|`STATIC_COLOR |`PSEUDO_COLOR|`TRUE_COLOR|`DIRECT_COLOR ] val get_best : ?depth:int -> ?kind:visual_type -> unit -> visual val get_type : visual -> visual_type val depth : visual -> int end module Color : sig (* Removed in GdkColor 3.0 val get_system_colormap : unit -> colormap val get_colormap : ?privat:bool -> visual -> colormap val get_visual : colormap -> visual type spec = [ | `BLACK | `NAME of string | `RGB of int * int * int | `WHITE ] val alloc : colormap:colormap -> spec -> color *) val red : color -> int val blue : color -> int val green : color -> int val pixel : color -> int val color_parse : string -> color val color_to_string : color -> string end module Rectangle : sig type t val create : x:int -> y:int -> width:int -> height:int -> t val x : t -> int val y : t -> int val width : t -> int val height : t -> int end module Window : sig val cast : 'a obj -> window val create_foreign : display -> xid -> window val get_parent : window -> window val get_position : window -> int * int val get_origin : window -> int * int val get_pointer_location : window -> int * int (* val root_parent : unit -> window val clear : window -> unit val clear_area : window -> x:int -> y:int -> width:int -> height:int -> unit *) val get_xwindow : window -> xid val native_of_xid : xid -> native_window val xid_of_native : native_window -> xid val set_cursor : window -> cursor -> unit val set_transient_for : window -> window -> unit (* for backward compatibility for lablgtk1 programs *) val get_visual : window -> visual end module DnD : sig val drag_status : drag_context -> Tags.drag_action option -> time:int32 -> unit val drag_context_suggested_action : drag_context -> Tags.drag_action val drag_context_targets : drag_context -> atom list end (* module Truecolor : sig val color_creator : visual -> (red: int -> green: int -> blue: int -> int) (* [color_creator visual] creates a function to calculate the pixel color id for given red, green and blue component value ([0..65535]) at the client side. [visual] must have `TRUE_COLOR or `DIRECT_COLOR type. This function improves the speed of the color query of true color visual greatly. *) (* WARN: this approach is not theoretically correct for true color visual, because we need gamma correction. *) val color_parser : visual -> int -> int * int * int end *) module X : (* X related functions *) sig val flush : unit -> unit (* also in GtkMain *) val beep : unit -> unit end module Cursor : sig type cursor_type = [ | `X_CURSOR | `ARROW | `BASED_ARROW_DOWN | `BASED_ARROW_UP | `BOAT | `BOGOSITY | `BOTTOM_LEFT_CORNER | `BOTTOM_RIGHT_CORNER | `BOTTOM_SIDE | `BOTTOM_TEE | `BOX_SPIRAL | `CENTER_PTR | `CIRCLE | `CLOCK | `COFFEE_MUG | `CROSS | `CROSS_REVERSE | `CROSSHAIR | `DIAMOND_CROSS | `DOT | `DOTBOX | `DOUBLE_ARROW | `DRAFT_LARGE | `DRAFT_SMALL | `DRAPED_BOX | `EXCHANGE | `FLEUR | `GOBBLER | `GUMBY | `HAND1 | `HAND2 | `HEART | `ICON | `IRON_CROSS | `LEFT_PTR | `LEFT_SIDE | `LEFT_TEE | `LEFTBUTTON | `LL_ANGLE | `LR_ANGLE | `MAN | `MIDDLEBUTTON | `MOUSE | `PENCIL | `PIRATE | `PLUS | `QUESTION_ARROW | `RIGHT_PTR | `RIGHT_SIDE | `RIGHT_TEE | `RIGHTBUTTON | `RTL_LOGO | `SAILBOAT | `SB_DOWN_ARROW | `SB_H_DOUBLE_ARROW | `SB_LEFT_ARROW | `SB_RIGHT_ARROW | `SB_UP_ARROW | `SB_V_DOUBLE_ARROW | `SHUTTLE | `SIZING | `SPIDER | `SPRAYCAN | `STAR | `TARGET | `TCROSS | `TOP_LEFT_ARROW | `TOP_LEFT_CORNER | `TOP_RIGHT_CORNER | `TOP_SIDE | `TOP_TEE | `TREK | `UL_ANGLE | `UMBRELLA | `UR_ANGLE | `WATCH | `XTERM ] val create : cursor_type -> cursor val create_from_pixbuf : [`pixbuf] Gobject.obj -> x:int -> y:int -> cursor (** @since GTK 2.4 *) val get_image : cursor -> [`pixbuf] obj (** @since GTK 2.8 *) (* val destroy : cursor -> unit -- done by GC *) end module Display : sig (** @since Gtk+-2.2 *) val default : unit -> display val window_at_pointer : ?display:display -> unit -> (window * int * int) option end module Windowing : sig val platform : [`QUARTZ | `WIN32 | `X11] end module Cairo : sig val create : window -> cairo end lablgtk-3.1.2/src/gdkEvent.ml0000644000650106067230000002121314161276610014667 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gdk open Tags external unsafe_copy : Gpointer.boxed -> [< event_type] event = "ml_gdk_event_copy" external copy : ([< event_type] as 'a) event -> 'a event = "ml_gdk_event_copy" external get_type : 'a event -> 'a = "ml_GdkEventAny_type" external get_window : 'a event -> window = "ml_GdkEventAny_window" external get_send_event : 'a event -> bool = "ml_GdkEventAny_send_event" type timed = [ `MOTION_NOTIFY | `BUTTON_PRESS | `TWO_BUTTON_PRESS | `THREE_BUTTON_PRESS | `BUTTON_RELEASE | `SCROLL | `KEY_PRESS | `KEY_RELEASE | `ENTER_NOTIFY | `LEAVE_NOTIFY | `PROPERTY_NOTIFY | `SELECTION_CLEAR | `SELECTION_REQUEST | `SELECTION_NOTIFY | `PROXIMITY_IN | `PROXIMITY_OUT | `DRAG_ENTER | `DRAG_LEAVE | `DRAG_MOTION | `DRAG_STATUS | `DROP_START | `DROP_FINISHED ] external get_time : [< timed] event -> int32 = "ml_gdk_event_get_time" external create : ([< event_type] as 'a) -> 'a event = "ml_gdk_event_new" external set_window : 'a event -> window -> unit = "ml_gdk_event_set_window" type any = event_type event external unsafe_cast : [< event_type] event -> [< event_type] event = "%identity" let cast ~(kind : ([< event_type] as 'a) list) (ev : any) : 'a event = if List.mem (Obj.magic (get_type ev) : [> ]) kind then unsafe_cast ev else invalid_arg "GdkEvent.cast" module Expose = struct type t = [ `EXPOSE ] event let cast ev : t = cast ev ~kind:[`EXPOSE] external area : t -> Rectangle.t = "ml_GdkEventExpose_area" (*external region : t -> region = "ml_GdkEventExpose_region"*) external count : t -> int = "ml_GdkEventExpose_count" end module Visibility = struct type t = [ `VISIBILITY_NOTIFY ] event let cast ev : t = cast ev ~kind:[`VISIBILITY_NOTIFY] external visibility : t -> visibility_state = "ml_GdkEventVisibility_state" end module Motion = struct type t = [ `MOTION_NOTIFY ] event let cast ev : t = cast ev ~kind:[`MOTION_NOTIFY] let time = get_time external x : t -> float = "ml_GdkEventMotion_x" external y : t -> float = "ml_GdkEventMotion_y" external axes : t -> (float * float) option = "ml_GdkEventMotion_axes" external state : t -> int = "ml_GdkEventMotion_state" external is_hint : t -> bool = "ml_GdkEventMotion_is_hint" external device : t -> device = "ml_GdkEventMotion_device" external x_root : t -> float = "ml_GdkEventMotion_x_root" external y_root : t -> float = "ml_GdkEventMotion_y_root" end module Button = struct type types = [ `BUTTON_PRESS|`TWO_BUTTON_PRESS|`THREE_BUTTON_PRESS|`BUTTON_RELEASE ] type t = types event let cast ev : t = cast ev ~kind:[`BUTTON_PRESS;`TWO_BUTTON_PRESS; `THREE_BUTTON_PRESS;`BUTTON_RELEASE] let time = get_time external x : t -> float = "ml_GdkEventButton_x" external y : t -> float = "ml_GdkEventButton_y" external axes : t -> (float * float) option = "ml_GdkEventButton_axes" external state : t -> int = "ml_GdkEventButton_state" external button : t -> int = "ml_GdkEventButton_button" external device : t -> device = "ml_GdkEventButton_device" external x_root : t -> float = "ml_GdkEventButton_x_root" external y_root : t -> float = "ml_GdkEventButton_y_root" external set_type : t -> [< types] -> unit = "ml_gdk_event_set_type" external set_button : t -> int -> unit = "ml_gdk_event_button_set_button" end module Scroll = struct type t = [ `SCROLL ] event let cast ev : t = cast ev ~kind:[`SCROLL] let time = get_time external x : t -> float = "ml_GdkEventScroll_x" external y : t -> float = "ml_GdkEventScroll_y" external state : t -> int = "ml_GdkEventScroll_state" external direction : t -> scroll_direction = "ml_GdkEventScroll_direction" external device : t -> device = "ml_GdkEventScroll_device" external x_root : t -> float = "ml_GdkEventScroll_x_root" external y_root : t -> float = "ml_GdkEventScroll_y_root" end module Key = struct type t = [ `KEY_PRESS|`KEY_RELEASE ] event let cast ev : t = cast ev ~kind:[`KEY_PRESS;`KEY_RELEASE] let time = get_time external state : t -> int = "ml_GdkEventKey_state" external keyval : t -> keysym = "ml_GdkEventKey_keyval" external string : t -> string = "ml_GdkEventKey_string" external hardware_keycode : t -> int = "ml_GdkEventKey_hardware_keycode" external group : t -> int = "ml_GdkEventKey_group" let state ev = Convert.modifier (state ev) end module Crossing = struct type t = [ `ENTER_NOTIFY|`LEAVE_NOTIFY ] event let cast ev : t = cast ev ~kind:[`ENTER_NOTIFY;`LEAVE_NOTIFY] external subwindow : t -> window = "ml_GdkEventCrossing_subwindow" let time = get_time external x : t -> float = "ml_GdkEventCrossing_x" external y : t -> float = "ml_GdkEventCrossing_y" external x_root : t -> float = "ml_GdkEventCrossing_x_root" external y_root : t -> float = "ml_GdkEventCrossing_y_root" external mode : t -> crossing_mode = "ml_GdkEventCrossing_mode" external detail : t -> notify_type = "ml_GdkEventCrossing_detail" external focus : t -> bool = "ml_GdkEventCrossing_focus" external state : t -> int = "ml_GdkEventCrossing_state" end module Focus = struct type t = [ `FOCUS_CHANGE ] event let cast ev : t = cast ev ~kind:[`FOCUS_CHANGE] external focus_in : t -> bool = "ml_GdkEventFocus_in" end module Configure = struct type t = [ `CONFIGURE ] event let cast ev : t = cast ev ~kind:[`CONFIGURE] external x : t -> int = "ml_GdkEventConfigure_x" external y : t -> int = "ml_GdkEventConfigure_y" external width : t -> int = "ml_GdkEventConfigure_width" external height : t -> int = "ml_GdkEventConfigure_height" end module Property = struct type t = [ `PROPERTY_NOTIFY ] event let cast ev : t = cast ev ~kind:[`PROPERTY_NOTIFY] external atom : t -> atom = "ml_GdkEventProperty_atom" let time = get_time external state : t -> int = "ml_GdkEventProperty_state" end module Selection = struct type t = [ `SELECTION_CLEAR|`SELECTION_REQUEST|`SELECTION_NOTIFY ] event let cast ev : t = cast ev ~kind:[`SELECTION_CLEAR;`SELECTION_REQUEST;`SELECTION_NOTIFY] external selection : t -> atom = "ml_GdkEventSelection_selection" external target : t -> atom = "ml_GdkEventSelection_target" external property : t -> atom = "ml_GdkEventSelection_property" external requestor : t -> native_window = "ml_GdkEventSelection_requestor" let time = get_time end module Proximity = struct type t = [ `PROXIMITY_IN|`PROXIMITY_OUT ] event let cast ev : t = cast ev ~kind:[`PROXIMITY_IN;`PROXIMITY_OUT] let time = get_time external device : t -> device = "ml_GdkEventProximity_device" end module Setting = struct type t = [ `SETTING ] event let cast ev : t = cast ev ~kind:[`SETTING] external action : t -> setting_action = "ml_GdkEventSetting_action" external name : t -> string = "ml_GdkEventSetting_name" end module WindowState = struct type t = [ `WINDOW_STATE ] event let cast ev : t = cast ev ~kind:[`WINDOW_STATE] external changed_mask : t -> int = "ml_GdkEventWindowState_changed_mask" external new_window_state : t -> int = "ml_GdkEventWindowState_new_window_state" let changed_mask ev = Convert.window_state (changed_mask ev) let new_window_state ev = Convert.window_state (new_window_state ev) end lablgtk-3.1.2/src/gdkKeysyms.ml0000644000650106067230000024142014161276610015256 0ustar glondused(**************************************************************************) (* 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$ *) open Gdk let _VoidSymbol : keysym = 0xffffff let _BackSpace : keysym = 0xff08 let _Tab : keysym = 0xff09 let _Linefeed : keysym = 0xff0a let _Clear : keysym = 0xff0b let _Return : keysym = 0xff0d let _Pause : keysym = 0xff13 let _Scroll_Lock : keysym = 0xff14 let _Sys_Req : keysym = 0xff15 let _Escape : keysym = 0xff1b let _Delete : keysym = 0xffff let _Multi_key : keysym = 0xff20 let _Codeinput : keysym = 0xff37 let _SingleCandidate : keysym = 0xff3c let _MultipleCandidate : keysym = 0xff3d let _PreviousCandidate : keysym = 0xff3e let _Kanji : keysym = 0xff21 let _Muhenkan : keysym = 0xff22 let _Henkan_Mode : keysym = 0xff23 let _Henkan : keysym = 0xff23 let _Romaji : keysym = 0xff24 let _Hiragana : keysym = 0xff25 let _Katakana : keysym = 0xff26 let _Hiragana_Katakana : keysym = 0xff27 let _Zenkaku : keysym = 0xff28 let _Hankaku : keysym = 0xff29 let _Zenkaku_Hankaku : keysym = 0xff2a let _Touroku : keysym = 0xff2b let _Massyo : keysym = 0xff2c let _Kana_Lock : keysym = 0xff2d let _Kana_Shift : keysym = 0xff2e let _Eisu_Shift : keysym = 0xff2f let _Eisu_toggle : keysym = 0xff30 let _Kanji_Bangou : keysym = 0xff37 let _Zen_Koho : keysym = 0xff3d let _Mae_Koho : keysym = 0xff3e let _Home : keysym = 0xff50 let _Left : keysym = 0xff51 let _Up : keysym = 0xff52 let _Right : keysym = 0xff53 let _Down : keysym = 0xff54 let _Prior : keysym = 0xff55 let _Page_Up : keysym = 0xff55 let _Next : keysym = 0xff56 let _Page_Down : keysym = 0xff56 let _End : keysym = 0xff57 let _Begin : keysym = 0xff58 let _Select : keysym = 0xff60 let _Print : keysym = 0xff61 let _Execute : keysym = 0xff62 let _Insert : keysym = 0xff63 let _Undo : keysym = 0xff65 let _Redo : keysym = 0xff66 let _Menu : keysym = 0xff67 let _Find : keysym = 0xff68 let _Cancel : keysym = 0xff69 let _Help : keysym = 0xff6a let _Break : keysym = 0xff6b let _Mode_switch : keysym = 0xff7e let _script_switch : keysym = 0xff7e let _Num_Lock : keysym = 0xff7f let _KP_Space : keysym = 0xff80 let _KP_Tab : keysym = 0xff89 let _KP_Enter : keysym = 0xff8d let _KP_F1 : keysym = 0xff91 let _KP_F2 : keysym = 0xff92 let _KP_F3 : keysym = 0xff93 let _KP_F4 : keysym = 0xff94 let _KP_Home : keysym = 0xff95 let _KP_Left : keysym = 0xff96 let _KP_Up : keysym = 0xff97 let _KP_Right : keysym = 0xff98 let _KP_Down : keysym = 0xff99 let _KP_Prior : keysym = 0xff9a let _KP_Page_Up : keysym = 0xff9a let _KP_Next : keysym = 0xff9b let _KP_Page_Down : keysym = 0xff9b let _KP_End : keysym = 0xff9c let _KP_Begin : keysym = 0xff9d let _KP_Insert : keysym = 0xff9e let _KP_Delete : keysym = 0xff9f let _KP_Equal : keysym = 0xffbd let _KP_Multiply : keysym = 0xffaa let _KP_Add : keysym = 0xffab let _KP_Separator : keysym = 0xffac let _KP_Subtract : keysym = 0xffad let _KP_Decimal : keysym = 0xffae let _KP_Divide : keysym = 0xffaf let _KP_0 : keysym = 0xffb0 let _KP_1 : keysym = 0xffb1 let _KP_2 : keysym = 0xffb2 let _KP_3 : keysym = 0xffb3 let _KP_4 : keysym = 0xffb4 let _KP_5 : keysym = 0xffb5 let _KP_6 : keysym = 0xffb6 let _KP_7 : keysym = 0xffb7 let _KP_8 : keysym = 0xffb8 let _KP_9 : keysym = 0xffb9 let _F1 : keysym = 0xffbe let _F2 : keysym = 0xffbf let _F3 : keysym = 0xffc0 let _F4 : keysym = 0xffc1 let _F5 : keysym = 0xffc2 let _F6 : keysym = 0xffc3 let _F7 : keysym = 0xffc4 let _F8 : keysym = 0xffc5 let _F9 : keysym = 0xffc6 let _F10 : keysym = 0xffc7 let _F11 : keysym = 0xffc8 let _L1 : keysym = 0xffc8 let _F12 : keysym = 0xffc9 let _L2 : keysym = 0xffc9 let _F13 : keysym = 0xffca let _L3 : keysym = 0xffca let _F14 : keysym = 0xffcb let _L4 : keysym = 0xffcb let _F15 : keysym = 0xffcc let _L5 : keysym = 0xffcc let _F16 : keysym = 0xffcd let _L6 : keysym = 0xffcd let _F17 : keysym = 0xffce let _L7 : keysym = 0xffce let _F18 : keysym = 0xffcf let _L8 : keysym = 0xffcf let _F19 : keysym = 0xffd0 let _L9 : keysym = 0xffd0 let _F20 : keysym = 0xffd1 let _L10 : keysym = 0xffd1 let _F21 : keysym = 0xffd2 let _R1 : keysym = 0xffd2 let _F22 : keysym = 0xffd3 let _R2 : keysym = 0xffd3 let _F23 : keysym = 0xffd4 let _R3 : keysym = 0xffd4 let _F24 : keysym = 0xffd5 let _R4 : keysym = 0xffd5 let _F25 : keysym = 0xffd6 let _R5 : keysym = 0xffd6 let _F26 : keysym = 0xffd7 let _R6 : keysym = 0xffd7 let _F27 : keysym = 0xffd8 let _R7 : keysym = 0xffd8 let _F28 : keysym = 0xffd9 let _R8 : keysym = 0xffd9 let _F29 : keysym = 0xffda let _R9 : keysym = 0xffda let _F30 : keysym = 0xffdb let _R10 : keysym = 0xffdb let _F31 : keysym = 0xffdc let _R11 : keysym = 0xffdc let _F32 : keysym = 0xffdd let _R12 : keysym = 0xffdd let _F33 : keysym = 0xffde let _R13 : keysym = 0xffde let _F34 : keysym = 0xffdf let _R14 : keysym = 0xffdf let _F35 : keysym = 0xffe0 let _R15 : keysym = 0xffe0 let _Shift_L : keysym = 0xffe1 let _Shift_R : keysym = 0xffe2 let _Control_L : keysym = 0xffe3 let _Control_R : keysym = 0xffe4 let _Caps_Lock : keysym = 0xffe5 let _Shift_Lock : keysym = 0xffe6 let _Meta_L : keysym = 0xffe7 let _Meta_R : keysym = 0xffe8 let _Alt_L : keysym = 0xffe9 let _Alt_R : keysym = 0xffea let _Super_L : keysym = 0xffeb let _Super_R : keysym = 0xffec let _Hyper_L : keysym = 0xffed let _Hyper_R : keysym = 0xffee let _ISO_Lock : keysym = 0xfe01 let _ISO_Level2_Latch : keysym = 0xfe02 let _ISO_Level3_Shift : keysym = 0xfe03 let _ISO_Level3_Latch : keysym = 0xfe04 let _ISO_Level3_Lock : keysym = 0xfe05 let _ISO_Level5_Shift : keysym = 0xfe11 let _ISO_Level5_Latch : keysym = 0xfe12 let _ISO_Level5_Lock : keysym = 0xfe13 let _ISO_Group_Shift : keysym = 0xff7e let _ISO_Group_Latch : keysym = 0xfe06 let _ISO_Group_Lock : keysym = 0xfe07 let _ISO_Next_Group : keysym = 0xfe08 let _ISO_Next_Group_Lock : keysym = 0xfe09 let _ISO_Prev_Group : keysym = 0xfe0a let _ISO_Prev_Group_Lock : keysym = 0xfe0b let _ISO_First_Group : keysym = 0xfe0c let _ISO_First_Group_Lock : keysym = 0xfe0d let _ISO_Last_Group : keysym = 0xfe0e let _ISO_Last_Group_Lock : keysym = 0xfe0f let _ISO_Left_Tab : keysym = 0xfe20 let _ISO_Move_Line_Up : keysym = 0xfe21 let _ISO_Move_Line_Down : keysym = 0xfe22 let _ISO_Partial_Line_Up : keysym = 0xfe23 let _ISO_Partial_Line_Down : keysym = 0xfe24 let _ISO_Partial_Space_Left : keysym = 0xfe25 let _ISO_Partial_Space_Right : keysym = 0xfe26 let _ISO_Set_Margin_Left : keysym = 0xfe27 let _ISO_Set_Margin_Right : keysym = 0xfe28 let _ISO_Release_Margin_Left : keysym = 0xfe29 let _ISO_Release_Margin_Right : keysym = 0xfe2a let _ISO_Release_Both_Margins : keysym = 0xfe2b let _ISO_Fast_Cursor_Left : keysym = 0xfe2c let _ISO_Fast_Cursor_Right : keysym = 0xfe2d let _ISO_Fast_Cursor_Up : keysym = 0xfe2e let _ISO_Fast_Cursor_Down : keysym = 0xfe2f let _ISO_Continuous_Underline : keysym = 0xfe30 let _ISO_Discontinuous_Underline : keysym = 0xfe31 let _ISO_Emphasize : keysym = 0xfe32 let _ISO_Center_Object : keysym = 0xfe33 let _ISO_Enter : keysym = 0xfe34 let _dead_grave : keysym = 0xfe50 let _dead_acute : keysym = 0xfe51 let _dead_circumflex : keysym = 0xfe52 let _dead_tilde : keysym = 0xfe53 let _dead_perispomeni : keysym = 0xfe53 let _dead_macron : keysym = 0xfe54 let _dead_breve : keysym = 0xfe55 let _dead_abovedot : keysym = 0xfe56 let _dead_diaeresis : keysym = 0xfe57 let _dead_abovering : keysym = 0xfe58 let _dead_doubleacute : keysym = 0xfe59 let _dead_caron : keysym = 0xfe5a let _dead_cedilla : keysym = 0xfe5b let _dead_ogonek : keysym = 0xfe5c let _dead_iota : keysym = 0xfe5d let _dead_voiced_sound : keysym = 0xfe5e let _dead_semivoiced_sound : keysym = 0xfe5f let _dead_belowdot : keysym = 0xfe60 let _dead_hook : keysym = 0xfe61 let _dead_horn : keysym = 0xfe62 let _dead_stroke : keysym = 0xfe63 let _dead_abovecomma : keysym = 0xfe64 let _dead_psili : keysym = 0xfe64 let _dead_abovereversedcomma : keysym = 0xfe65 let _dead_dasia : keysym = 0xfe65 let _dead_doublegrave : keysym = 0xfe66 let _dead_belowring : keysym = 0xfe67 let _dead_belowmacron : keysym = 0xfe68 let _dead_belowcircumflex : keysym = 0xfe69 let _dead_belowtilde : keysym = 0xfe6a let _dead_belowbreve : keysym = 0xfe6b let _dead_belowdiaeresis : keysym = 0xfe6c let _dead_invertedbreve : keysym = 0xfe6d let _dead_belowcomma : keysym = 0xfe6e let _dead_currency : keysym = 0xfe6f let _dead_a : keysym = 0xfe80 let _dead_A : keysym = 0xfe81 let _dead_e : keysym = 0xfe82 let _dead_E : keysym = 0xfe83 let _dead_i : keysym = 0xfe84 let _dead_I : keysym = 0xfe85 let _dead_o : keysym = 0xfe86 let _dead_O : keysym = 0xfe87 let _dead_u : keysym = 0xfe88 let _dead_U : keysym = 0xfe89 let _dead_small_schwa : keysym = 0xfe8a let _dead_capital_schwa : keysym = 0xfe8b let _dead_greek : keysym = 0xfe8c let _First_Virtual_Screen : keysym = 0xfed0 let _Prev_Virtual_Screen : keysym = 0xfed1 let _Next_Virtual_Screen : keysym = 0xfed2 let _Last_Virtual_Screen : keysym = 0xfed4 let _Terminate_Server : keysym = 0xfed5 let _AccessX_Enable : keysym = 0xfe70 let _AccessX_Feedback_Enable : keysym = 0xfe71 let _RepeatKeys_Enable : keysym = 0xfe72 let _SlowKeys_Enable : keysym = 0xfe73 let _BounceKeys_Enable : keysym = 0xfe74 let _StickyKeys_Enable : keysym = 0xfe75 let _MouseKeys_Enable : keysym = 0xfe76 let _MouseKeys_Accel_Enable : keysym = 0xfe77 let _Overlay1_Enable : keysym = 0xfe78 let _Overlay2_Enable : keysym = 0xfe79 let _AudibleBell_Enable : keysym = 0xfe7a let _Pointer_Left : keysym = 0xfee0 let _Pointer_Right : keysym = 0xfee1 let _Pointer_Up : keysym = 0xfee2 let _Pointer_Down : keysym = 0xfee3 let _Pointer_UpLeft : keysym = 0xfee4 let _Pointer_UpRight : keysym = 0xfee5 let _Pointer_DownLeft : keysym = 0xfee6 let _Pointer_DownRight : keysym = 0xfee7 let _Pointer_Button_Dflt : keysym = 0xfee8 let _Pointer_Button1 : keysym = 0xfee9 let _Pointer_Button2 : keysym = 0xfeea let _Pointer_Button3 : keysym = 0xfeeb let _Pointer_Button4 : keysym = 0xfeec let _Pointer_Button5 : keysym = 0xfeed let _Pointer_DblClick_Dflt : keysym = 0xfeee let _Pointer_DblClick1 : keysym = 0xfeef let _Pointer_DblClick2 : keysym = 0xfef0 let _Pointer_DblClick3 : keysym = 0xfef1 let _Pointer_DblClick4 : keysym = 0xfef2 let _Pointer_DblClick5 : keysym = 0xfef3 let _Pointer_Drag_Dflt : keysym = 0xfef4 let _Pointer_Drag1 : keysym = 0xfef5 let _Pointer_Drag2 : keysym = 0xfef6 let _Pointer_Drag3 : keysym = 0xfef7 let _Pointer_Drag4 : keysym = 0xfef8 let _Pointer_Drag5 : keysym = 0xfefd let _Pointer_EnableKeys : keysym = 0xfef9 let _Pointer_Accelerate : keysym = 0xfefa let _Pointer_DfltBtnNext : keysym = 0xfefb let _Pointer_DfltBtnPrev : keysym = 0xfefc let _ch : keysym = 0xfea0 let _Ch : keysym = 0xfea1 let _CH : keysym = 0xfea2 let _c_h : keysym = 0xfea3 let _C_h : keysym = 0xfea4 let _C_H : keysym = 0xfea5 let _3270_Duplicate : keysym = 0xfd01 let _3270_FieldMark : keysym = 0xfd02 let _3270_Right2 : keysym = 0xfd03 let _3270_Left2 : keysym = 0xfd04 let _3270_BackTab : keysym = 0xfd05 let _3270_EraseEOF : keysym = 0xfd06 let _3270_EraseInput : keysym = 0xfd07 let _3270_Reset : keysym = 0xfd08 let _3270_Quit : keysym = 0xfd09 let _3270_PA1 : keysym = 0xfd0a let _3270_PA2 : keysym = 0xfd0b let _3270_PA3 : keysym = 0xfd0c let _3270_Test : keysym = 0xfd0d let _3270_Attn : keysym = 0xfd0e let _3270_CursorBlink : keysym = 0xfd0f let _3270_AltCursor : keysym = 0xfd10 let _3270_KeyClick : keysym = 0xfd11 let _3270_Jump : keysym = 0xfd12 let _3270_Ident : keysym = 0xfd13 let _3270_Rule : keysym = 0xfd14 let _3270_Copy : keysym = 0xfd15 let _3270_Play : keysym = 0xfd16 let _3270_Setup : keysym = 0xfd17 let _3270_Record : keysym = 0xfd18 let _3270_ChangeScreen : keysym = 0xfd19 let _3270_DeleteWord : keysym = 0xfd1a let _3270_ExSelect : keysym = 0xfd1b let _3270_CursorSelect : keysym = 0xfd1c let _3270_PrintScreen : keysym = 0xfd1d let _3270_Enter : keysym = 0xfd1e let _space : keysym = 0x020 let _exclam : keysym = 0x021 let _quotedbl : keysym = 0x022 let _numbersign : keysym = 0x023 let _dollar : keysym = 0x024 let _percent : keysym = 0x025 let _ampersand : keysym = 0x026 let _apostrophe : keysym = 0x027 let _quoteright : keysym = 0x027 let _parenleft : keysym = 0x028 let _parenright : keysym = 0x029 let _asterisk : keysym = 0x02a let _plus : keysym = 0x02b let _comma : keysym = 0x02c let _minus : keysym = 0x02d let _period : keysym = 0x02e let _slash : keysym = 0x02f let _0 : keysym = 0x030 let _1 : keysym = 0x031 let _2 : keysym = 0x032 let _3 : keysym = 0x033 let _4 : keysym = 0x034 let _5 : keysym = 0x035 let _6 : keysym = 0x036 let _7 : keysym = 0x037 let _8 : keysym = 0x038 let _9 : keysym = 0x039 let _colon : keysym = 0x03a let _semicolon : keysym = 0x03b let _less : keysym = 0x03c let _equal : keysym = 0x03d let _greater : keysym = 0x03e let _question : keysym = 0x03f let _at : keysym = 0x040 let _A : keysym = 0x041 let _B : keysym = 0x042 let _C : keysym = 0x043 let _D : keysym = 0x044 let _E : keysym = 0x045 let _F : keysym = 0x046 let _G : keysym = 0x047 let _H : keysym = 0x048 let _I : keysym = 0x049 let _J : keysym = 0x04a let _K : keysym = 0x04b let _L : keysym = 0x04c let _M : keysym = 0x04d let _N : keysym = 0x04e let _O : keysym = 0x04f let _P : keysym = 0x050 let _Q : keysym = 0x051 let _R : keysym = 0x052 let _S : keysym = 0x053 let _T : keysym = 0x054 let _U : keysym = 0x055 let _V : keysym = 0x056 let _W : keysym = 0x057 let _X : keysym = 0x058 let _Y : keysym = 0x059 let _Z : keysym = 0x05a let _bracketleft : keysym = 0x05b let _backslash : keysym = 0x05c let _bracketright : keysym = 0x05d let _asciicircum : keysym = 0x05e let _underscore : keysym = 0x05f let _grave : keysym = 0x060 let _quoteleft : keysym = 0x060 let _a : keysym = 0x061 let _b : keysym = 0x062 let _c : keysym = 0x063 let _d : keysym = 0x064 let _e : keysym = 0x065 let _f : keysym = 0x066 let _g : keysym = 0x067 let _h : keysym = 0x068 let _i : keysym = 0x069 let _j : keysym = 0x06a let _k : keysym = 0x06b let _l : keysym = 0x06c let _m : keysym = 0x06d let _n : keysym = 0x06e let _o : keysym = 0x06f let _p : keysym = 0x070 let _q : keysym = 0x071 let _r : keysym = 0x072 let _s : keysym = 0x073 let _t : keysym = 0x074 let _u : keysym = 0x075 let _v : keysym = 0x076 let _w : keysym = 0x077 let _x : keysym = 0x078 let _y : keysym = 0x079 let _z : keysym = 0x07a let _braceleft : keysym = 0x07b let _bar : keysym = 0x07c let _braceright : keysym = 0x07d let _asciitilde : keysym = 0x07e let _nobreakspace : keysym = 0x0a0 let _exclamdown : keysym = 0x0a1 let _cent : keysym = 0x0a2 let _sterling : keysym = 0x0a3 let _currency : keysym = 0x0a4 let _yen : keysym = 0x0a5 let _brokenbar : keysym = 0x0a6 let _section : keysym = 0x0a7 let _diaeresis : keysym = 0x0a8 let _copyright : keysym = 0x0a9 let _ordfeminine : keysym = 0x0aa let _guillemotleft : keysym = 0x0ab let _notsign : keysym = 0x0ac let _hyphen : keysym = 0x0ad let _registered : keysym = 0x0ae let _macron : keysym = 0x0af let _degree : keysym = 0x0b0 let _plusminus : keysym = 0x0b1 let _twosuperior : keysym = 0x0b2 let _threesuperior : keysym = 0x0b3 let _acute : keysym = 0x0b4 let _mu : keysym = 0x0b5 let _paragraph : keysym = 0x0b6 let _periodcentered : keysym = 0x0b7 let _cedilla : keysym = 0x0b8 let _onesuperior : keysym = 0x0b9 let _masculine : keysym = 0x0ba let _guillemotright : keysym = 0x0bb let _onequarter : keysym = 0x0bc let _onehalf : keysym = 0x0bd let _threequarters : keysym = 0x0be let _questiondown : keysym = 0x0bf let _Agrave : keysym = 0x0c0 let _Aacute : keysym = 0x0c1 let _Acircumflex : keysym = 0x0c2 let _Atilde : keysym = 0x0c3 let _Adiaeresis : keysym = 0x0c4 let _Aring : keysym = 0x0c5 let _AE : keysym = 0x0c6 let _Ccedilla : keysym = 0x0c7 let _Egrave : keysym = 0x0c8 let _Eacute : keysym = 0x0c9 let _Ecircumflex : keysym = 0x0ca let _Ediaeresis : keysym = 0x0cb let _Igrave : keysym = 0x0cc let _Iacute : keysym = 0x0cd let _Icircumflex : keysym = 0x0ce let _Idiaeresis : keysym = 0x0cf let _ETH : keysym = 0x0d0 let _Eth : keysym = 0x0d0 let _Ntilde : keysym = 0x0d1 let _Ograve : keysym = 0x0d2 let _Oacute : keysym = 0x0d3 let _Ocircumflex : keysym = 0x0d4 let _Otilde : keysym = 0x0d5 let _Odiaeresis : keysym = 0x0d6 let _multiply : keysym = 0x0d7 let _Oslash : keysym = 0x0d8 let _Ooblique : keysym = 0x0d8 let _Ugrave : keysym = 0x0d9 let _Uacute : keysym = 0x0da let _Ucircumflex : keysym = 0x0db let _Udiaeresis : keysym = 0x0dc let _Yacute : keysym = 0x0dd let _THORN : keysym = 0x0de let _Thorn : keysym = 0x0de let _ssharp : keysym = 0x0df let _agrave : keysym = 0x0e0 let _aacute : keysym = 0x0e1 let _acircumflex : keysym = 0x0e2 let _atilde : keysym = 0x0e3 let _adiaeresis : keysym = 0x0e4 let _aring : keysym = 0x0e5 let _ae : keysym = 0x0e6 let _ccedilla : keysym = 0x0e7 let _egrave : keysym = 0x0e8 let _eacute : keysym = 0x0e9 let _ecircumflex : keysym = 0x0ea let _ediaeresis : keysym = 0x0eb let _igrave : keysym = 0x0ec let _iacute : keysym = 0x0ed let _icircumflex : keysym = 0x0ee let _idiaeresis : keysym = 0x0ef let _eth : keysym = 0x0f0 let _ntilde : keysym = 0x0f1 let _ograve : keysym = 0x0f2 let _oacute : keysym = 0x0f3 let _ocircumflex : keysym = 0x0f4 let _otilde : keysym = 0x0f5 let _odiaeresis : keysym = 0x0f6 let _division : keysym = 0x0f7 let _oslash : keysym = 0x0f8 let _ooblique : keysym = 0x0f8 let _ugrave : keysym = 0x0f9 let _uacute : keysym = 0x0fa let _ucircumflex : keysym = 0x0fb let _udiaeresis : keysym = 0x0fc let _yacute : keysym = 0x0fd let _thorn : keysym = 0x0fe let _ydiaeresis : keysym = 0x0ff let _Aogonek : keysym = 0x1a1 let _breve : keysym = 0x1a2 let _Lstroke : keysym = 0x1a3 let _Lcaron : keysym = 0x1a5 let _Sacute : keysym = 0x1a6 let _Scaron : keysym = 0x1a9 let _Scedilla : keysym = 0x1aa let _Tcaron : keysym = 0x1ab let _Zacute : keysym = 0x1ac let _Zcaron : keysym = 0x1ae let _Zabovedot : keysym = 0x1af let _aogonek : keysym = 0x1b1 let _ogonek : keysym = 0x1b2 let _lstroke : keysym = 0x1b3 let _lcaron : keysym = 0x1b5 let _sacute : keysym = 0x1b6 let _caron : keysym = 0x1b7 let _scaron : keysym = 0x1b9 let _scedilla : keysym = 0x1ba let _tcaron : keysym = 0x1bb let _zacute : keysym = 0x1bc let _doubleacute : keysym = 0x1bd let _zcaron : keysym = 0x1be let _zabovedot : keysym = 0x1bf let _Racute : keysym = 0x1c0 let _Abreve : keysym = 0x1c3 let _Lacute : keysym = 0x1c5 let _Cacute : keysym = 0x1c6 let _Ccaron : keysym = 0x1c8 let _Eogonek : keysym = 0x1ca let _Ecaron : keysym = 0x1cc let _Dcaron : keysym = 0x1cf let _Dstroke : keysym = 0x1d0 let _Nacute : keysym = 0x1d1 let _Ncaron : keysym = 0x1d2 let _Odoubleacute : keysym = 0x1d5 let _Rcaron : keysym = 0x1d8 let _Uring : keysym = 0x1d9 let _Udoubleacute : keysym = 0x1db let _Tcedilla : keysym = 0x1de let _racute : keysym = 0x1e0 let _abreve : keysym = 0x1e3 let _lacute : keysym = 0x1e5 let _cacute : keysym = 0x1e6 let _ccaron : keysym = 0x1e8 let _eogonek : keysym = 0x1ea let _ecaron : keysym = 0x1ec let _dcaron : keysym = 0x1ef let _dstroke : keysym = 0x1f0 let _nacute : keysym = 0x1f1 let _ncaron : keysym = 0x1f2 let _odoubleacute : keysym = 0x1f5 let _rcaron : keysym = 0x1f8 let _uring : keysym = 0x1f9 let _udoubleacute : keysym = 0x1fb let _tcedilla : keysym = 0x1fe let _abovedot : keysym = 0x1ff let _Hstroke : keysym = 0x2a1 let _Hcircumflex : keysym = 0x2a6 let _Iabovedot : keysym = 0x2a9 let _Gbreve : keysym = 0x2ab let _Jcircumflex : keysym = 0x2ac let _hstroke : keysym = 0x2b1 let _hcircumflex : keysym = 0x2b6 let _idotless : keysym = 0x2b9 let _gbreve : keysym = 0x2bb let _jcircumflex : keysym = 0x2bc let _Cabovedot : keysym = 0x2c5 let _Ccircumflex : keysym = 0x2c6 let _Gabovedot : keysym = 0x2d5 let _Gcircumflex : keysym = 0x2d8 let _Ubreve : keysym = 0x2dd let _Scircumflex : keysym = 0x2de let _cabovedot : keysym = 0x2e5 let _ccircumflex : keysym = 0x2e6 let _gabovedot : keysym = 0x2f5 let _gcircumflex : keysym = 0x2f8 let _ubreve : keysym = 0x2fd let _scircumflex : keysym = 0x2fe let _kra : keysym = 0x3a2 let _kappa : keysym = 0x3a2 let _Rcedilla : keysym = 0x3a3 let _Itilde : keysym = 0x3a5 let _Lcedilla : keysym = 0x3a6 let _Emacron : keysym = 0x3aa let _Gcedilla : keysym = 0x3ab let _Tslash : keysym = 0x3ac let _rcedilla : keysym = 0x3b3 let _itilde : keysym = 0x3b5 let _lcedilla : keysym = 0x3b6 let _emacron : keysym = 0x3ba let _gcedilla : keysym = 0x3bb let _tslash : keysym = 0x3bc let _ENG : keysym = 0x3bd let _eng : keysym = 0x3bf let _Amacron : keysym = 0x3c0 let _Iogonek : keysym = 0x3c7 let _Eabovedot : keysym = 0x3cc let _Imacron : keysym = 0x3cf let _Ncedilla : keysym = 0x3d1 let _Omacron : keysym = 0x3d2 let _Kcedilla : keysym = 0x3d3 let _Uogonek : keysym = 0x3d9 let _Utilde : keysym = 0x3dd let _Umacron : keysym = 0x3de let _amacron : keysym = 0x3e0 let _iogonek : keysym = 0x3e7 let _eabovedot : keysym = 0x3ec let _imacron : keysym = 0x3ef let _ncedilla : keysym = 0x3f1 let _omacron : keysym = 0x3f2 let _kcedilla : keysym = 0x3f3 let _uogonek : keysym = 0x3f9 let _utilde : keysym = 0x3fd let _umacron : keysym = 0x3fe let _Wcircumflex : keysym = 0x1000174 let _wcircumflex : keysym = 0x1000175 let _Ycircumflex : keysym = 0x1000176 let _ycircumflex : keysym = 0x1000177 let _Babovedot : keysym = 0x1001e02 let _babovedot : keysym = 0x1001e03 let _Dabovedot : keysym = 0x1001e0a let _dabovedot : keysym = 0x1001e0b let _Fabovedot : keysym = 0x1001e1e let _fabovedot : keysym = 0x1001e1f let _Mabovedot : keysym = 0x1001e40 let _mabovedot : keysym = 0x1001e41 let _Pabovedot : keysym = 0x1001e56 let _pabovedot : keysym = 0x1001e57 let _Sabovedot : keysym = 0x1001e60 let _sabovedot : keysym = 0x1001e61 let _Tabovedot : keysym = 0x1001e6a let _tabovedot : keysym = 0x1001e6b let _Wgrave : keysym = 0x1001e80 let _wgrave : keysym = 0x1001e81 let _Wacute : keysym = 0x1001e82 let _wacute : keysym = 0x1001e83 let _Wdiaeresis : keysym = 0x1001e84 let _wdiaeresis : keysym = 0x1001e85 let _Ygrave : keysym = 0x1001ef2 let _ygrave : keysym = 0x1001ef3 let _OE : keysym = 0x13bc let _oe : keysym = 0x13bd let _Ydiaeresis : keysym = 0x13be let _overline : keysym = 0x47e let _kana_fullstop : keysym = 0x4a1 let _kana_openingbracket : keysym = 0x4a2 let _kana_closingbracket : keysym = 0x4a3 let _kana_comma : keysym = 0x4a4 let _kana_conjunctive : keysym = 0x4a5 let _kana_middledot : keysym = 0x4a5 let _kana_WO : keysym = 0x4a6 let _kana_a : keysym = 0x4a7 let _kana_i : keysym = 0x4a8 let _kana_u : keysym = 0x4a9 let _kana_e : keysym = 0x4aa let _kana_o : keysym = 0x4ab let _kana_ya : keysym = 0x4ac let _kana_yu : keysym = 0x4ad let _kana_yo : keysym = 0x4ae let _kana_tsu : keysym = 0x4af let _kana_tu : keysym = 0x4af let _prolongedsound : keysym = 0x4b0 let _kana_A : keysym = 0x4b1 let _kana_I : keysym = 0x4b2 let _kana_U : keysym = 0x4b3 let _kana_E : keysym = 0x4b4 let _kana_O : keysym = 0x4b5 let _kana_KA : keysym = 0x4b6 let _kana_KI : keysym = 0x4b7 let _kana_KU : keysym = 0x4b8 let _kana_KE : keysym = 0x4b9 let _kana_KO : keysym = 0x4ba let _kana_SA : keysym = 0x4bb let _kana_SHI : keysym = 0x4bc let _kana_SU : keysym = 0x4bd let _kana_SE : keysym = 0x4be let _kana_SO : keysym = 0x4bf let _kana_TA : keysym = 0x4c0 let _kana_CHI : keysym = 0x4c1 let _kana_TI : keysym = 0x4c1 let _kana_TSU : keysym = 0x4c2 let _kana_TU : keysym = 0x4c2 let _kana_TE : keysym = 0x4c3 let _kana_TO : keysym = 0x4c4 let _kana_NA : keysym = 0x4c5 let _kana_NI : keysym = 0x4c6 let _kana_NU : keysym = 0x4c7 let _kana_NE : keysym = 0x4c8 let _kana_NO : keysym = 0x4c9 let _kana_HA : keysym = 0x4ca let _kana_HI : keysym = 0x4cb let _kana_FU : keysym = 0x4cc let _kana_HU : keysym = 0x4cc let _kana_HE : keysym = 0x4cd let _kana_HO : keysym = 0x4ce let _kana_MA : keysym = 0x4cf let _kana_MI : keysym = 0x4d0 let _kana_MU : keysym = 0x4d1 let _kana_ME : keysym = 0x4d2 let _kana_MO : keysym = 0x4d3 let _kana_YA : keysym = 0x4d4 let _kana_YU : keysym = 0x4d5 let _kana_YO : keysym = 0x4d6 let _kana_RA : keysym = 0x4d7 let _kana_RI : keysym = 0x4d8 let _kana_RU : keysym = 0x4d9 let _kana_RE : keysym = 0x4da let _kana_RO : keysym = 0x4db let _kana_WA : keysym = 0x4dc let _kana_N : keysym = 0x4dd let _voicedsound : keysym = 0x4de let _semivoicedsound : keysym = 0x4df let _kana_switch : keysym = 0xff7e let _Farsi_0 : keysym = 0x10006f0 let _Farsi_1 : keysym = 0x10006f1 let _Farsi_2 : keysym = 0x10006f2 let _Farsi_3 : keysym = 0x10006f3 let _Farsi_4 : keysym = 0x10006f4 let _Farsi_5 : keysym = 0x10006f5 let _Farsi_6 : keysym = 0x10006f6 let _Farsi_7 : keysym = 0x10006f7 let _Farsi_8 : keysym = 0x10006f8 let _Farsi_9 : keysym = 0x10006f9 let _Arabic_percent : keysym = 0x100066a let _Arabic_superscript_alef : keysym = 0x1000670 let _Arabic_tteh : keysym = 0x1000679 let _Arabic_peh : keysym = 0x100067e let _Arabic_tcheh : keysym = 0x1000686 let _Arabic_ddal : keysym = 0x1000688 let _Arabic_rreh : keysym = 0x1000691 let _Arabic_comma : keysym = 0x5ac let _Arabic_fullstop : keysym = 0x10006d4 let _Arabic_0 : keysym = 0x1000660 let _Arabic_1 : keysym = 0x1000661 let _Arabic_2 : keysym = 0x1000662 let _Arabic_3 : keysym = 0x1000663 let _Arabic_4 : keysym = 0x1000664 let _Arabic_5 : keysym = 0x1000665 let _Arabic_6 : keysym = 0x1000666 let _Arabic_7 : keysym = 0x1000667 let _Arabic_8 : keysym = 0x1000668 let _Arabic_9 : keysym = 0x1000669 let _Arabic_semicolon : keysym = 0x5bb let _Arabic_question_mark : keysym = 0x5bf let _Arabic_hamza : keysym = 0x5c1 let _Arabic_maddaonalef : keysym = 0x5c2 let _Arabic_hamzaonalef : keysym = 0x5c3 let _Arabic_hamzaonwaw : keysym = 0x5c4 let _Arabic_hamzaunderalef : keysym = 0x5c5 let _Arabic_hamzaonyeh : keysym = 0x5c6 let _Arabic_alef : keysym = 0x5c7 let _Arabic_beh : keysym = 0x5c8 let _Arabic_tehmarbuta : keysym = 0x5c9 let _Arabic_teh : keysym = 0x5ca let _Arabic_theh : keysym = 0x5cb let _Arabic_jeem : keysym = 0x5cc let _Arabic_hah : keysym = 0x5cd let _Arabic_khah : keysym = 0x5ce let _Arabic_dal : keysym = 0x5cf let _Arabic_thal : keysym = 0x5d0 let _Arabic_ra : keysym = 0x5d1 let _Arabic_zain : keysym = 0x5d2 let _Arabic_seen : keysym = 0x5d3 let _Arabic_sheen : keysym = 0x5d4 let _Arabic_sad : keysym = 0x5d5 let _Arabic_dad : keysym = 0x5d6 let _Arabic_tah : keysym = 0x5d7 let _Arabic_zah : keysym = 0x5d8 let _Arabic_ain : keysym = 0x5d9 let _Arabic_ghain : keysym = 0x5da let _Arabic_tatweel : keysym = 0x5e0 let _Arabic_feh : keysym = 0x5e1 let _Arabic_qaf : keysym = 0x5e2 let _Arabic_kaf : keysym = 0x5e3 let _Arabic_lam : keysym = 0x5e4 let _Arabic_meem : keysym = 0x5e5 let _Arabic_noon : keysym = 0x5e6 let _Arabic_ha : keysym = 0x5e7 let _Arabic_heh : keysym = 0x5e7 let _Arabic_waw : keysym = 0x5e8 let _Arabic_alefmaksura : keysym = 0x5e9 let _Arabic_yeh : keysym = 0x5ea let _Arabic_fathatan : keysym = 0x5eb let _Arabic_dammatan : keysym = 0x5ec let _Arabic_kasratan : keysym = 0x5ed let _Arabic_fatha : keysym = 0x5ee let _Arabic_damma : keysym = 0x5ef let _Arabic_kasra : keysym = 0x5f0 let _Arabic_shadda : keysym = 0x5f1 let _Arabic_sukun : keysym = 0x5f2 let _Arabic_madda_above : keysym = 0x1000653 let _Arabic_hamza_above : keysym = 0x1000654 let _Arabic_hamza_below : keysym = 0x1000655 let _Arabic_jeh : keysym = 0x1000698 let _Arabic_veh : keysym = 0x10006a4 let _Arabic_keheh : keysym = 0x10006a9 let _Arabic_gaf : keysym = 0x10006af let _Arabic_noon_ghunna : keysym = 0x10006ba let _Arabic_heh_doachashmee : keysym = 0x10006be let _Farsi_yeh : keysym = 0x10006cc let _Arabic_farsi_yeh : keysym = 0x10006cc let _Arabic_yeh_baree : keysym = 0x10006d2 let _Arabic_heh_goal : keysym = 0x10006c1 let _Arabic_switch : keysym = 0xff7e let _Cyrillic_GHE_bar : keysym = 0x1000492 let _Cyrillic_ghe_bar : keysym = 0x1000493 let _Cyrillic_ZHE_descender : keysym = 0x1000496 let _Cyrillic_zhe_descender : keysym = 0x1000497 let _Cyrillic_KA_descender : keysym = 0x100049a let _Cyrillic_ka_descender : keysym = 0x100049b let _Cyrillic_KA_vertstroke : keysym = 0x100049c let _Cyrillic_ka_vertstroke : keysym = 0x100049d let _Cyrillic_EN_descender : keysym = 0x10004a2 let _Cyrillic_en_descender : keysym = 0x10004a3 let _Cyrillic_U_straight : keysym = 0x10004ae let _Cyrillic_u_straight : keysym = 0x10004af let _Cyrillic_U_straight_bar : keysym = 0x10004b0 let _Cyrillic_u_straight_bar : keysym = 0x10004b1 let _Cyrillic_HA_descender : keysym = 0x10004b2 let _Cyrillic_ha_descender : keysym = 0x10004b3 let _Cyrillic_CHE_descender : keysym = 0x10004b6 let _Cyrillic_che_descender : keysym = 0x10004b7 let _Cyrillic_CHE_vertstroke : keysym = 0x10004b8 let _Cyrillic_che_vertstroke : keysym = 0x10004b9 let _Cyrillic_SHHA : keysym = 0x10004ba let _Cyrillic_shha : keysym = 0x10004bb let _Cyrillic_SCHWA : keysym = 0x10004d8 let _Cyrillic_schwa : keysym = 0x10004d9 let _Cyrillic_I_macron : keysym = 0x10004e2 let _Cyrillic_i_macron : keysym = 0x10004e3 let _Cyrillic_O_bar : keysym = 0x10004e8 let _Cyrillic_o_bar : keysym = 0x10004e9 let _Cyrillic_U_macron : keysym = 0x10004ee let _Cyrillic_u_macron : keysym = 0x10004ef let _Serbian_dje : keysym = 0x6a1 let _Macedonia_gje : keysym = 0x6a2 let _Cyrillic_io : keysym = 0x6a3 let _Ukrainian_ie : keysym = 0x6a4 let _Ukranian_je : keysym = 0x6a4 let _Macedonia_dse : keysym = 0x6a5 let _Ukrainian_i : keysym = 0x6a6 let _Ukranian_i : keysym = 0x6a6 let _Ukrainian_yi : keysym = 0x6a7 let _Ukranian_yi : keysym = 0x6a7 let _Cyrillic_je : keysym = 0x6a8 let _Serbian_je : keysym = 0x6a8 let _Cyrillic_lje : keysym = 0x6a9 let _Serbian_lje : keysym = 0x6a9 let _Cyrillic_nje : keysym = 0x6aa let _Serbian_nje : keysym = 0x6aa let _Serbian_tshe : keysym = 0x6ab let _Macedonia_kje : keysym = 0x6ac let _Ukrainian_ghe_with_upturn : keysym = 0x6ad let _Byelorussian_shortu : keysym = 0x6ae let _Cyrillic_dzhe : keysym = 0x6af let _Serbian_dze : keysym = 0x6af let _numerosign : keysym = 0x6b0 let _Serbian_DJE : keysym = 0x6b1 let _Macedonia_GJE : keysym = 0x6b2 let _Cyrillic_IO : keysym = 0x6b3 let _Ukrainian_IE : keysym = 0x6b4 let _Ukranian_JE : keysym = 0x6b4 let _Macedonia_DSE : keysym = 0x6b5 let _Ukrainian_I : keysym = 0x6b6 let _Ukranian_I : keysym = 0x6b6 let _Ukrainian_YI : keysym = 0x6b7 let _Ukranian_YI : keysym = 0x6b7 let _Cyrillic_JE : keysym = 0x6b8 let _Serbian_JE : keysym = 0x6b8 let _Cyrillic_LJE : keysym = 0x6b9 let _Serbian_LJE : keysym = 0x6b9 let _Cyrillic_NJE : keysym = 0x6ba let _Serbian_NJE : keysym = 0x6ba let _Serbian_TSHE : keysym = 0x6bb let _Macedonia_KJE : keysym = 0x6bc let _Ukrainian_GHE_WITH_UPTURN : keysym = 0x6bd let _Byelorussian_SHORTU : keysym = 0x6be let _Cyrillic_DZHE : keysym = 0x6bf let _Serbian_DZE : keysym = 0x6bf let _Cyrillic_yu : keysym = 0x6c0 let _Cyrillic_a : keysym = 0x6c1 let _Cyrillic_be : keysym = 0x6c2 let _Cyrillic_tse : keysym = 0x6c3 let _Cyrillic_de : keysym = 0x6c4 let _Cyrillic_ie : keysym = 0x6c5 let _Cyrillic_ef : keysym = 0x6c6 let _Cyrillic_ghe : keysym = 0x6c7 let _Cyrillic_ha : keysym = 0x6c8 let _Cyrillic_i : keysym = 0x6c9 let _Cyrillic_shorti : keysym = 0x6ca let _Cyrillic_ka : keysym = 0x6cb let _Cyrillic_el : keysym = 0x6cc let _Cyrillic_em : keysym = 0x6cd let _Cyrillic_en : keysym = 0x6ce let _Cyrillic_o : keysym = 0x6cf let _Cyrillic_pe : keysym = 0x6d0 let _Cyrillic_ya : keysym = 0x6d1 let _Cyrillic_er : keysym = 0x6d2 let _Cyrillic_es : keysym = 0x6d3 let _Cyrillic_te : keysym = 0x6d4 let _Cyrillic_u : keysym = 0x6d5 let _Cyrillic_zhe : keysym = 0x6d6 let _Cyrillic_ve : keysym = 0x6d7 let _Cyrillic_softsign : keysym = 0x6d8 let _Cyrillic_yeru : keysym = 0x6d9 let _Cyrillic_ze : keysym = 0x6da let _Cyrillic_sha : keysym = 0x6db let _Cyrillic_e : keysym = 0x6dc let _Cyrillic_shcha : keysym = 0x6dd let _Cyrillic_che : keysym = 0x6de let _Cyrillic_hardsign : keysym = 0x6df let _Cyrillic_YU : keysym = 0x6e0 let _Cyrillic_A : keysym = 0x6e1 let _Cyrillic_BE : keysym = 0x6e2 let _Cyrillic_TSE : keysym = 0x6e3 let _Cyrillic_DE : keysym = 0x6e4 let _Cyrillic_IE : keysym = 0x6e5 let _Cyrillic_EF : keysym = 0x6e6 let _Cyrillic_GHE : keysym = 0x6e7 let _Cyrillic_HA : keysym = 0x6e8 let _Cyrillic_I : keysym = 0x6e9 let _Cyrillic_SHORTI : keysym = 0x6ea let _Cyrillic_KA : keysym = 0x6eb let _Cyrillic_EL : keysym = 0x6ec let _Cyrillic_EM : keysym = 0x6ed let _Cyrillic_EN : keysym = 0x6ee let _Cyrillic_O : keysym = 0x6ef let _Cyrillic_PE : keysym = 0x6f0 let _Cyrillic_YA : keysym = 0x6f1 let _Cyrillic_ER : keysym = 0x6f2 let _Cyrillic_ES : keysym = 0x6f3 let _Cyrillic_TE : keysym = 0x6f4 let _Cyrillic_U : keysym = 0x6f5 let _Cyrillic_ZHE : keysym = 0x6f6 let _Cyrillic_VE : keysym = 0x6f7 let _Cyrillic_SOFTSIGN : keysym = 0x6f8 let _Cyrillic_YERU : keysym = 0x6f9 let _Cyrillic_ZE : keysym = 0x6fa let _Cyrillic_SHA : keysym = 0x6fb let _Cyrillic_E : keysym = 0x6fc let _Cyrillic_SHCHA : keysym = 0x6fd let _Cyrillic_CHE : keysym = 0x6fe let _Cyrillic_HARDSIGN : keysym = 0x6ff let _Greek_ALPHAaccent : keysym = 0x7a1 let _Greek_EPSILONaccent : keysym = 0x7a2 let _Greek_ETAaccent : keysym = 0x7a3 let _Greek_IOTAaccent : keysym = 0x7a4 let _Greek_IOTAdieresis : keysym = 0x7a5 let _Greek_IOTAdiaeresis : keysym = 0x7a5 let _Greek_OMICRONaccent : keysym = 0x7a7 let _Greek_UPSILONaccent : keysym = 0x7a8 let _Greek_UPSILONdieresis : keysym = 0x7a9 let _Greek_OMEGAaccent : keysym = 0x7ab let _Greek_accentdieresis : keysym = 0x7ae let _Greek_horizbar : keysym = 0x7af let _Greek_alphaaccent : keysym = 0x7b1 let _Greek_epsilonaccent : keysym = 0x7b2 let _Greek_etaaccent : keysym = 0x7b3 let _Greek_iotaaccent : keysym = 0x7b4 let _Greek_iotadieresis : keysym = 0x7b5 let _Greek_iotaaccentdieresis : keysym = 0x7b6 let _Greek_omicronaccent : keysym = 0x7b7 let _Greek_upsilonaccent : keysym = 0x7b8 let _Greek_upsilondieresis : keysym = 0x7b9 let _Greek_upsilonaccentdieresis : keysym = 0x7ba let _Greek_omegaaccent : keysym = 0x7bb let _Greek_ALPHA : keysym = 0x7c1 let _Greek_BETA : keysym = 0x7c2 let _Greek_GAMMA : keysym = 0x7c3 let _Greek_DELTA : keysym = 0x7c4 let _Greek_EPSILON : keysym = 0x7c5 let _Greek_ZETA : keysym = 0x7c6 let _Greek_ETA : keysym = 0x7c7 let _Greek_THETA : keysym = 0x7c8 let _Greek_IOTA : keysym = 0x7c9 let _Greek_KAPPA : keysym = 0x7ca let _Greek_LAMDA : keysym = 0x7cb let _Greek_LAMBDA : keysym = 0x7cb let _Greek_MU : keysym = 0x7cc let _Greek_NU : keysym = 0x7cd let _Greek_XI : keysym = 0x7ce let _Greek_OMICRON : keysym = 0x7cf let _Greek_PI : keysym = 0x7d0 let _Greek_RHO : keysym = 0x7d1 let _Greek_SIGMA : keysym = 0x7d2 let _Greek_TAU : keysym = 0x7d4 let _Greek_UPSILON : keysym = 0x7d5 let _Greek_PHI : keysym = 0x7d6 let _Greek_CHI : keysym = 0x7d7 let _Greek_PSI : keysym = 0x7d8 let _Greek_OMEGA : keysym = 0x7d9 let _Greek_alpha : keysym = 0x7e1 let _Greek_beta : keysym = 0x7e2 let _Greek_gamma : keysym = 0x7e3 let _Greek_delta : keysym = 0x7e4 let _Greek_epsilon : keysym = 0x7e5 let _Greek_zeta : keysym = 0x7e6 let _Greek_eta : keysym = 0x7e7 let _Greek_theta : keysym = 0x7e8 let _Greek_iota : keysym = 0x7e9 let _Greek_kappa : keysym = 0x7ea let _Greek_lamda : keysym = 0x7eb let _Greek_lambda : keysym = 0x7eb let _Greek_mu : keysym = 0x7ec let _Greek_nu : keysym = 0x7ed let _Greek_xi : keysym = 0x7ee let _Greek_omicron : keysym = 0x7ef let _Greek_pi : keysym = 0x7f0 let _Greek_rho : keysym = 0x7f1 let _Greek_sigma : keysym = 0x7f2 let _Greek_finalsmallsigma : keysym = 0x7f3 let _Greek_tau : keysym = 0x7f4 let _Greek_upsilon : keysym = 0x7f5 let _Greek_phi : keysym = 0x7f6 let _Greek_chi : keysym = 0x7f7 let _Greek_psi : keysym = 0x7f8 let _Greek_omega : keysym = 0x7f9 let _Greek_switch : keysym = 0xff7e let _leftradical : keysym = 0x8a1 let _topleftradical : keysym = 0x8a2 let _horizconnector : keysym = 0x8a3 let _topintegral : keysym = 0x8a4 let _botintegral : keysym = 0x8a5 let _vertconnector : keysym = 0x8a6 let _topleftsqbracket : keysym = 0x8a7 let _botleftsqbracket : keysym = 0x8a8 let _toprightsqbracket : keysym = 0x8a9 let _botrightsqbracket : keysym = 0x8aa let _topleftparens : keysym = 0x8ab let _botleftparens : keysym = 0x8ac let _toprightparens : keysym = 0x8ad let _botrightparens : keysym = 0x8ae let _leftmiddlecurlybrace : keysym = 0x8af let _rightmiddlecurlybrace : keysym = 0x8b0 let _topleftsummation : keysym = 0x8b1 let _botleftsummation : keysym = 0x8b2 let _topvertsummationconnector : keysym = 0x8b3 let _botvertsummationconnector : keysym = 0x8b4 let _toprightsummation : keysym = 0x8b5 let _botrightsummation : keysym = 0x8b6 let _rightmiddlesummation : keysym = 0x8b7 let _lessthanequal : keysym = 0x8bc let _notequal : keysym = 0x8bd let _greaterthanequal : keysym = 0x8be let _integral : keysym = 0x8bf let _therefore : keysym = 0x8c0 let _variation : keysym = 0x8c1 let _infinity : keysym = 0x8c2 let _nabla : keysym = 0x8c5 let _approximate : keysym = 0x8c8 let _similarequal : keysym = 0x8c9 let _ifonlyif : keysym = 0x8cd let _implies : keysym = 0x8ce let _identical : keysym = 0x8cf let _radical : keysym = 0x8d6 let _includedin : keysym = 0x8da let _includes : keysym = 0x8db let _intersection : keysym = 0x8dc let _union : keysym = 0x8dd let _logicaland : keysym = 0x8de let _logicalor : keysym = 0x8df let _partialderivative : keysym = 0x8ef let _function : keysym = 0x8f6 let _leftarrow : keysym = 0x8fb let _uparrow : keysym = 0x8fc let _rightarrow : keysym = 0x8fd let _downarrow : keysym = 0x8fe let _blank : keysym = 0x9df let _soliddiamond : keysym = 0x9e0 let _checkerboard : keysym = 0x9e1 let _ht : keysym = 0x9e2 let _ff : keysym = 0x9e3 let _cr : keysym = 0x9e4 let _lf : keysym = 0x9e5 let _nl : keysym = 0x9e8 let _vt : keysym = 0x9e9 let _lowrightcorner : keysym = 0x9ea let _uprightcorner : keysym = 0x9eb let _upleftcorner : keysym = 0x9ec let _lowleftcorner : keysym = 0x9ed let _crossinglines : keysym = 0x9ee let _horizlinescan1 : keysym = 0x9ef let _horizlinescan3 : keysym = 0x9f0 let _horizlinescan5 : keysym = 0x9f1 let _horizlinescan7 : keysym = 0x9f2 let _horizlinescan9 : keysym = 0x9f3 let _leftt : keysym = 0x9f4 let _rightt : keysym = 0x9f5 let _bott : keysym = 0x9f6 let _topt : keysym = 0x9f7 let _vertbar : keysym = 0x9f8 let _emspace : keysym = 0xaa1 let _enspace : keysym = 0xaa2 let _em3space : keysym = 0xaa3 let _em4space : keysym = 0xaa4 let _digitspace : keysym = 0xaa5 let _punctspace : keysym = 0xaa6 let _thinspace : keysym = 0xaa7 let _hairspace : keysym = 0xaa8 let _emdash : keysym = 0xaa9 let _endash : keysym = 0xaaa let _signifblank : keysym = 0xaac let _ellipsis : keysym = 0xaae let _doubbaselinedot : keysym = 0xaaf let _onethird : keysym = 0xab0 let _twothirds : keysym = 0xab1 let _onefifth : keysym = 0xab2 let _twofifths : keysym = 0xab3 let _threefifths : keysym = 0xab4 let _fourfifths : keysym = 0xab5 let _onesixth : keysym = 0xab6 let _fivesixths : keysym = 0xab7 let _careof : keysym = 0xab8 let _figdash : keysym = 0xabb let _leftanglebracket : keysym = 0xabc let _decimalpoint : keysym = 0xabd let _rightanglebracket : keysym = 0xabe let _marker : keysym = 0xabf let _oneeighth : keysym = 0xac3 let _threeeighths : keysym = 0xac4 let _fiveeighths : keysym = 0xac5 let _seveneighths : keysym = 0xac6 let _trademark : keysym = 0xac9 let _signaturemark : keysym = 0xaca let _trademarkincircle : keysym = 0xacb let _leftopentriangle : keysym = 0xacc let _rightopentriangle : keysym = 0xacd let _emopencircle : keysym = 0xace let _emopenrectangle : keysym = 0xacf let _leftsinglequotemark : keysym = 0xad0 let _rightsinglequotemark : keysym = 0xad1 let _leftdoublequotemark : keysym = 0xad2 let _rightdoublequotemark : keysym = 0xad3 let _prescription : keysym = 0xad4 let _permille : keysym = 0xad5 let _minutes : keysym = 0xad6 let _seconds : keysym = 0xad7 let _latincross : keysym = 0xad9 let _hexagram : keysym = 0xada let _filledrectbullet : keysym = 0xadb let _filledlefttribullet : keysym = 0xadc let _filledrighttribullet : keysym = 0xadd let _emfilledcircle : keysym = 0xade let _emfilledrect : keysym = 0xadf let _enopencircbullet : keysym = 0xae0 let _enopensquarebullet : keysym = 0xae1 let _openrectbullet : keysym = 0xae2 let _opentribulletup : keysym = 0xae3 let _opentribulletdown : keysym = 0xae4 let _openstar : keysym = 0xae5 let _enfilledcircbullet : keysym = 0xae6 let _enfilledsqbullet : keysym = 0xae7 let _filledtribulletup : keysym = 0xae8 let _filledtribulletdown : keysym = 0xae9 let _leftpointer : keysym = 0xaea let _rightpointer : keysym = 0xaeb let _club : keysym = 0xaec let _diamond : keysym = 0xaed let _heart : keysym = 0xaee let _maltesecross : keysym = 0xaf0 let _dagger : keysym = 0xaf1 let _doubledagger : keysym = 0xaf2 let _checkmark : keysym = 0xaf3 let _ballotcross : keysym = 0xaf4 let _musicalsharp : keysym = 0xaf5 let _musicalflat : keysym = 0xaf6 let _malesymbol : keysym = 0xaf7 let _femalesymbol : keysym = 0xaf8 let _telephone : keysym = 0xaf9 let _telephonerecorder : keysym = 0xafa let _phonographcopyright : keysym = 0xafb let _caret : keysym = 0xafc let _singlelowquotemark : keysym = 0xafd let _doublelowquotemark : keysym = 0xafe let _cursor : keysym = 0xaff let _leftcaret : keysym = 0xba3 let _rightcaret : keysym = 0xba6 let _downcaret : keysym = 0xba8 let _upcaret : keysym = 0xba9 let _overbar : keysym = 0xbc0 let _downtack : keysym = 0xbc2 let _upshoe : keysym = 0xbc3 let _downstile : keysym = 0xbc4 let _underbar : keysym = 0xbc6 let _jot : keysym = 0xbca let _quad : keysym = 0xbcc let _uptack : keysym = 0xbce let _circle : keysym = 0xbcf let _upstile : keysym = 0xbd3 let _downshoe : keysym = 0xbd6 let _rightshoe : keysym = 0xbd8 let _leftshoe : keysym = 0xbda let _lefttack : keysym = 0xbdc let _righttack : keysym = 0xbfc let _hebrew_doublelowline : keysym = 0xcdf let _hebrew_aleph : keysym = 0xce0 let _hebrew_bet : keysym = 0xce1 let _hebrew_beth : keysym = 0xce1 let _hebrew_gimel : keysym = 0xce2 let _hebrew_gimmel : keysym = 0xce2 let _hebrew_dalet : keysym = 0xce3 let _hebrew_daleth : keysym = 0xce3 let _hebrew_he : keysym = 0xce4 let _hebrew_waw : keysym = 0xce5 let _hebrew_zain : keysym = 0xce6 let _hebrew_zayin : keysym = 0xce6 let _hebrew_chet : keysym = 0xce7 let _hebrew_het : keysym = 0xce7 let _hebrew_tet : keysym = 0xce8 let _hebrew_teth : keysym = 0xce8 let _hebrew_yod : keysym = 0xce9 let _hebrew_finalkaph : keysym = 0xcea let _hebrew_kaph : keysym = 0xceb let _hebrew_lamed : keysym = 0xcec let _hebrew_finalmem : keysym = 0xced let _hebrew_mem : keysym = 0xcee let _hebrew_finalnun : keysym = 0xcef let _hebrew_nun : keysym = 0xcf0 let _hebrew_samech : keysym = 0xcf1 let _hebrew_samekh : keysym = 0xcf1 let _hebrew_ayin : keysym = 0xcf2 let _hebrew_finalpe : keysym = 0xcf3 let _hebrew_pe : keysym = 0xcf4 let _hebrew_finalzade : keysym = 0xcf5 let _hebrew_finalzadi : keysym = 0xcf5 let _hebrew_zade : keysym = 0xcf6 let _hebrew_zadi : keysym = 0xcf6 let _hebrew_qoph : keysym = 0xcf7 let _hebrew_kuf : keysym = 0xcf7 let _hebrew_resh : keysym = 0xcf8 let _hebrew_shin : keysym = 0xcf9 let _hebrew_taw : keysym = 0xcfa let _hebrew_taf : keysym = 0xcfa let _Hebrew_switch : keysym = 0xff7e let _Thai_kokai : keysym = 0xda1 let _Thai_khokhai : keysym = 0xda2 let _Thai_khokhuat : keysym = 0xda3 let _Thai_khokhwai : keysym = 0xda4 let _Thai_khokhon : keysym = 0xda5 let _Thai_khorakhang : keysym = 0xda6 let _Thai_ngongu : keysym = 0xda7 let _Thai_chochan : keysym = 0xda8 let _Thai_choching : keysym = 0xda9 let _Thai_chochang : keysym = 0xdaa let _Thai_soso : keysym = 0xdab let _Thai_chochoe : keysym = 0xdac let _Thai_yoying : keysym = 0xdad let _Thai_dochada : keysym = 0xdae let _Thai_topatak : keysym = 0xdaf let _Thai_thothan : keysym = 0xdb0 let _Thai_thonangmontho : keysym = 0xdb1 let _Thai_thophuthao : keysym = 0xdb2 let _Thai_nonen : keysym = 0xdb3 let _Thai_dodek : keysym = 0xdb4 let _Thai_totao : keysym = 0xdb5 let _Thai_thothung : keysym = 0xdb6 let _Thai_thothahan : keysym = 0xdb7 let _Thai_thothong : keysym = 0xdb8 let _Thai_nonu : keysym = 0xdb9 let _Thai_bobaimai : keysym = 0xdba let _Thai_popla : keysym = 0xdbb let _Thai_phophung : keysym = 0xdbc let _Thai_fofa : keysym = 0xdbd let _Thai_phophan : keysym = 0xdbe let _Thai_fofan : keysym = 0xdbf let _Thai_phosamphao : keysym = 0xdc0 let _Thai_moma : keysym = 0xdc1 let _Thai_yoyak : keysym = 0xdc2 let _Thai_rorua : keysym = 0xdc3 let _Thai_ru : keysym = 0xdc4 let _Thai_loling : keysym = 0xdc5 let _Thai_lu : keysym = 0xdc6 let _Thai_wowaen : keysym = 0xdc7 let _Thai_sosala : keysym = 0xdc8 let _Thai_sorusi : keysym = 0xdc9 let _Thai_sosua : keysym = 0xdca let _Thai_hohip : keysym = 0xdcb let _Thai_lochula : keysym = 0xdcc let _Thai_oang : keysym = 0xdcd let _Thai_honokhuk : keysym = 0xdce let _Thai_paiyannoi : keysym = 0xdcf let _Thai_saraa : keysym = 0xdd0 let _Thai_maihanakat : keysym = 0xdd1 let _Thai_saraaa : keysym = 0xdd2 let _Thai_saraam : keysym = 0xdd3 let _Thai_sarai : keysym = 0xdd4 let _Thai_saraii : keysym = 0xdd5 let _Thai_saraue : keysym = 0xdd6 let _Thai_sarauee : keysym = 0xdd7 let _Thai_sarau : keysym = 0xdd8 let _Thai_sarauu : keysym = 0xdd9 let _Thai_phinthu : keysym = 0xdda let _Thai_maihanakat_maitho : keysym = 0xdde let _Thai_baht : keysym = 0xddf let _Thai_sarae : keysym = 0xde0 let _Thai_saraae : keysym = 0xde1 let _Thai_sarao : keysym = 0xde2 let _Thai_saraaimaimuan : keysym = 0xde3 let _Thai_saraaimaimalai : keysym = 0xde4 let _Thai_lakkhangyao : keysym = 0xde5 let _Thai_maiyamok : keysym = 0xde6 let _Thai_maitaikhu : keysym = 0xde7 let _Thai_maiek : keysym = 0xde8 let _Thai_maitho : keysym = 0xde9 let _Thai_maitri : keysym = 0xdea let _Thai_maichattawa : keysym = 0xdeb let _Thai_thanthakhat : keysym = 0xdec let _Thai_nikhahit : keysym = 0xded let _Thai_leksun : keysym = 0xdf0 let _Thai_leknung : keysym = 0xdf1 let _Thai_leksong : keysym = 0xdf2 let _Thai_leksam : keysym = 0xdf3 let _Thai_leksi : keysym = 0xdf4 let _Thai_lekha : keysym = 0xdf5 let _Thai_lekhok : keysym = 0xdf6 let _Thai_lekchet : keysym = 0xdf7 let _Thai_lekpaet : keysym = 0xdf8 let _Thai_lekkao : keysym = 0xdf9 let _Hangul : keysym = 0xff31 let _Hangul_Start : keysym = 0xff32 let _Hangul_End : keysym = 0xff33 let _Hangul_Hanja : keysym = 0xff34 let _Hangul_Jamo : keysym = 0xff35 let _Hangul_Romaja : keysym = 0xff36 let _Hangul_Codeinput : keysym = 0xff37 let _Hangul_Jeonja : keysym = 0xff38 let _Hangul_Banja : keysym = 0xff39 let _Hangul_PreHanja : keysym = 0xff3a let _Hangul_PostHanja : keysym = 0xff3b let _Hangul_SingleCandidate : keysym = 0xff3c let _Hangul_MultipleCandidate : keysym = 0xff3d let _Hangul_PreviousCandidate : keysym = 0xff3e let _Hangul_Special : keysym = 0xff3f let _Hangul_switch : keysym = 0xff7e let _Hangul_Kiyeog : keysym = 0xea1 let _Hangul_SsangKiyeog : keysym = 0xea2 let _Hangul_KiyeogSios : keysym = 0xea3 let _Hangul_Nieun : keysym = 0xea4 let _Hangul_NieunJieuj : keysym = 0xea5 let _Hangul_NieunHieuh : keysym = 0xea6 let _Hangul_Dikeud : keysym = 0xea7 let _Hangul_SsangDikeud : keysym = 0xea8 let _Hangul_Rieul : keysym = 0xea9 let _Hangul_RieulKiyeog : keysym = 0xeaa let _Hangul_RieulMieum : keysym = 0xeab let _Hangul_RieulPieub : keysym = 0xeac let _Hangul_RieulSios : keysym = 0xead let _Hangul_RieulTieut : keysym = 0xeae let _Hangul_RieulPhieuf : keysym = 0xeaf let _Hangul_RieulHieuh : keysym = 0xeb0 let _Hangul_Mieum : keysym = 0xeb1 let _Hangul_Pieub : keysym = 0xeb2 let _Hangul_SsangPieub : keysym = 0xeb3 let _Hangul_PieubSios : keysym = 0xeb4 let _Hangul_Sios : keysym = 0xeb5 let _Hangul_SsangSios : keysym = 0xeb6 let _Hangul_Ieung : keysym = 0xeb7 let _Hangul_Jieuj : keysym = 0xeb8 let _Hangul_SsangJieuj : keysym = 0xeb9 let _Hangul_Cieuc : keysym = 0xeba let _Hangul_Khieuq : keysym = 0xebb let _Hangul_Tieut : keysym = 0xebc let _Hangul_Phieuf : keysym = 0xebd let _Hangul_Hieuh : keysym = 0xebe let _Hangul_A : keysym = 0xebf let _Hangul_AE : keysym = 0xec0 let _Hangul_YA : keysym = 0xec1 let _Hangul_YAE : keysym = 0xec2 let _Hangul_EO : keysym = 0xec3 let _Hangul_E : keysym = 0xec4 let _Hangul_YEO : keysym = 0xec5 let _Hangul_YE : keysym = 0xec6 let _Hangul_O : keysym = 0xec7 let _Hangul_WA : keysym = 0xec8 let _Hangul_WAE : keysym = 0xec9 let _Hangul_OE : keysym = 0xeca let _Hangul_YO : keysym = 0xecb let _Hangul_U : keysym = 0xecc let _Hangul_WEO : keysym = 0xecd let _Hangul_WE : keysym = 0xece let _Hangul_WI : keysym = 0xecf let _Hangul_YU : keysym = 0xed0 let _Hangul_EU : keysym = 0xed1 let _Hangul_YI : keysym = 0xed2 let _Hangul_I : keysym = 0xed3 let _Hangul_J_Kiyeog : keysym = 0xed4 let _Hangul_J_SsangKiyeog : keysym = 0xed5 let _Hangul_J_KiyeogSios : keysym = 0xed6 let _Hangul_J_Nieun : keysym = 0xed7 let _Hangul_J_NieunJieuj : keysym = 0xed8 let _Hangul_J_NieunHieuh : keysym = 0xed9 let _Hangul_J_Dikeud : keysym = 0xeda let _Hangul_J_Rieul : keysym = 0xedb let _Hangul_J_RieulKiyeog : keysym = 0xedc let _Hangul_J_RieulMieum : keysym = 0xedd let _Hangul_J_RieulPieub : keysym = 0xede let _Hangul_J_RieulSios : keysym = 0xedf let _Hangul_J_RieulTieut : keysym = 0xee0 let _Hangul_J_RieulPhieuf : keysym = 0xee1 let _Hangul_J_RieulHieuh : keysym = 0xee2 let _Hangul_J_Mieum : keysym = 0xee3 let _Hangul_J_Pieub : keysym = 0xee4 let _Hangul_J_PieubSios : keysym = 0xee5 let _Hangul_J_Sios : keysym = 0xee6 let _Hangul_J_SsangSios : keysym = 0xee7 let _Hangul_J_Ieung : keysym = 0xee8 let _Hangul_J_Jieuj : keysym = 0xee9 let _Hangul_J_Cieuc : keysym = 0xeea let _Hangul_J_Khieuq : keysym = 0xeeb let _Hangul_J_Tieut : keysym = 0xeec let _Hangul_J_Phieuf : keysym = 0xeed let _Hangul_J_Hieuh : keysym = 0xeee let _Hangul_RieulYeorinHieuh : keysym = 0xeef let _Hangul_SunkyeongeumMieum : keysym = 0xef0 let _Hangul_SunkyeongeumPieub : keysym = 0xef1 let _Hangul_PanSios : keysym = 0xef2 let _Hangul_KkogjiDalrinIeung : keysym = 0xef3 let _Hangul_SunkyeongeumPhieuf : keysym = 0xef4 let _Hangul_YeorinHieuh : keysym = 0xef5 let _Hangul_AraeA : keysym = 0xef6 let _Hangul_AraeAE : keysym = 0xef7 let _Hangul_J_PanSios : keysym = 0xef8 let _Hangul_J_KkogjiDalrinIeung : keysym = 0xef9 let _Hangul_J_YeorinHieuh : keysym = 0xefa let _Korean_Won : keysym = 0xeff let _Armenian_ligature_ew : keysym = 0x1000587 let _Armenian_full_stop : keysym = 0x1000589 let _Armenian_verjaket : keysym = 0x1000589 let _Armenian_separation_mark : keysym = 0x100055d let _Armenian_but : keysym = 0x100055d let _Armenian_hyphen : keysym = 0x100058a let _Armenian_yentamna : keysym = 0x100058a let _Armenian_exclam : keysym = 0x100055c let _Armenian_amanak : keysym = 0x100055c let _Armenian_accent : keysym = 0x100055b let _Armenian_shesht : keysym = 0x100055b let _Armenian_question : keysym = 0x100055e let _Armenian_paruyk : keysym = 0x100055e let _Armenian_AYB : keysym = 0x1000531 let _Armenian_ayb : keysym = 0x1000561 let _Armenian_BEN : keysym = 0x1000532 let _Armenian_ben : keysym = 0x1000562 let _Armenian_GIM : keysym = 0x1000533 let _Armenian_gim : keysym = 0x1000563 let _Armenian_DA : keysym = 0x1000534 let _Armenian_da : keysym = 0x1000564 let _Armenian_YECH : keysym = 0x1000535 let _Armenian_yech : keysym = 0x1000565 let _Armenian_ZA : keysym = 0x1000536 let _Armenian_za : keysym = 0x1000566 let _Armenian_E : keysym = 0x1000537 let _Armenian_e : keysym = 0x1000567 let _Armenian_AT : keysym = 0x1000538 let _Armenian_at : keysym = 0x1000568 let _Armenian_TO : keysym = 0x1000539 let _Armenian_to : keysym = 0x1000569 let _Armenian_ZHE : keysym = 0x100053a let _Armenian_zhe : keysym = 0x100056a let _Armenian_INI : keysym = 0x100053b let _Armenian_ini : keysym = 0x100056b let _Armenian_LYUN : keysym = 0x100053c let _Armenian_lyun : keysym = 0x100056c let _Armenian_KHE : keysym = 0x100053d let _Armenian_khe : keysym = 0x100056d let _Armenian_TSA : keysym = 0x100053e let _Armenian_tsa : keysym = 0x100056e let _Armenian_KEN : keysym = 0x100053f let _Armenian_ken : keysym = 0x100056f let _Armenian_HO : keysym = 0x1000540 let _Armenian_ho : keysym = 0x1000570 let _Armenian_DZA : keysym = 0x1000541 let _Armenian_dza : keysym = 0x1000571 let _Armenian_GHAT : keysym = 0x1000542 let _Armenian_ghat : keysym = 0x1000572 let _Armenian_TCHE : keysym = 0x1000543 let _Armenian_tche : keysym = 0x1000573 let _Armenian_MEN : keysym = 0x1000544 let _Armenian_men : keysym = 0x1000574 let _Armenian_HI : keysym = 0x1000545 let _Armenian_hi : keysym = 0x1000575 let _Armenian_NU : keysym = 0x1000546 let _Armenian_nu : keysym = 0x1000576 let _Armenian_SHA : keysym = 0x1000547 let _Armenian_sha : keysym = 0x1000577 let _Armenian_VO : keysym = 0x1000548 let _Armenian_vo : keysym = 0x1000578 let _Armenian_CHA : keysym = 0x1000549 let _Armenian_cha : keysym = 0x1000579 let _Armenian_PE : keysym = 0x100054a let _Armenian_pe : keysym = 0x100057a let _Armenian_JE : keysym = 0x100054b let _Armenian_je : keysym = 0x100057b let _Armenian_RA : keysym = 0x100054c let _Armenian_ra : keysym = 0x100057c let _Armenian_SE : keysym = 0x100054d let _Armenian_se : keysym = 0x100057d let _Armenian_VEV : keysym = 0x100054e let _Armenian_vev : keysym = 0x100057e let _Armenian_TYUN : keysym = 0x100054f let _Armenian_tyun : keysym = 0x100057f let _Armenian_RE : keysym = 0x1000550 let _Armenian_re : keysym = 0x1000580 let _Armenian_TSO : keysym = 0x1000551 let _Armenian_tso : keysym = 0x1000581 let _Armenian_VYUN : keysym = 0x1000552 let _Armenian_vyun : keysym = 0x1000582 let _Armenian_PYUR : keysym = 0x1000553 let _Armenian_pyur : keysym = 0x1000583 let _Armenian_KE : keysym = 0x1000554 let _Armenian_ke : keysym = 0x1000584 let _Armenian_O : keysym = 0x1000555 let _Armenian_o : keysym = 0x1000585 let _Armenian_FE : keysym = 0x1000556 let _Armenian_fe : keysym = 0x1000586 let _Armenian_apostrophe : keysym = 0x100055a let _Georgian_an : keysym = 0x10010d0 let _Georgian_ban : keysym = 0x10010d1 let _Georgian_gan : keysym = 0x10010d2 let _Georgian_don : keysym = 0x10010d3 let _Georgian_en : keysym = 0x10010d4 let _Georgian_vin : keysym = 0x10010d5 let _Georgian_zen : keysym = 0x10010d6 let _Georgian_tan : keysym = 0x10010d7 let _Georgian_in : keysym = 0x10010d8 let _Georgian_kan : keysym = 0x10010d9 let _Georgian_las : keysym = 0x10010da let _Georgian_man : keysym = 0x10010db let _Georgian_nar : keysym = 0x10010dc let _Georgian_on : keysym = 0x10010dd let _Georgian_par : keysym = 0x10010de let _Georgian_zhar : keysym = 0x10010df let _Georgian_rae : keysym = 0x10010e0 let _Georgian_san : keysym = 0x10010e1 let _Georgian_tar : keysym = 0x10010e2 let _Georgian_un : keysym = 0x10010e3 let _Georgian_phar : keysym = 0x10010e4 let _Georgian_khar : keysym = 0x10010e5 let _Georgian_ghan : keysym = 0x10010e6 let _Georgian_qar : keysym = 0x10010e7 let _Georgian_shin : keysym = 0x10010e8 let _Georgian_chin : keysym = 0x10010e9 let _Georgian_can : keysym = 0x10010ea let _Georgian_jil : keysym = 0x10010eb let _Georgian_cil : keysym = 0x10010ec let _Georgian_char : keysym = 0x10010ed let _Georgian_xan : keysym = 0x10010ee let _Georgian_jhan : keysym = 0x10010ef let _Georgian_hae : keysym = 0x10010f0 let _Georgian_he : keysym = 0x10010f1 let _Georgian_hie : keysym = 0x10010f2 let _Georgian_we : keysym = 0x10010f3 let _Georgian_har : keysym = 0x10010f4 let _Georgian_hoe : keysym = 0x10010f5 let _Georgian_fi : keysym = 0x10010f6 let _Xabovedot : keysym = 0x1001e8a let _Ibreve : keysym = 0x100012c let _Zstroke : keysym = 0x10001b5 let _Gcaron : keysym = 0x10001e6 let _Ocaron : keysym = 0x10001d1 let _Obarred : keysym = 0x100019f let _xabovedot : keysym = 0x1001e8b let _ibreve : keysym = 0x100012d let _zstroke : keysym = 0x10001b6 let _gcaron : keysym = 0x10001e7 let _ocaron : keysym = 0x10001d2 let _obarred : keysym = 0x1000275 let _SCHWA : keysym = 0x100018f let _schwa : keysym = 0x1000259 let _EZH : keysym = 0x10001b7 let _ezh : keysym = 0x1000292 let _Lbelowdot : keysym = 0x1001e36 let _lbelowdot : keysym = 0x1001e37 let _Abelowdot : keysym = 0x1001ea0 let _abelowdot : keysym = 0x1001ea1 let _Ahook : keysym = 0x1001ea2 let _ahook : keysym = 0x1001ea3 let _Acircumflexacute : keysym = 0x1001ea4 let _acircumflexacute : keysym = 0x1001ea5 let _Acircumflexgrave : keysym = 0x1001ea6 let _acircumflexgrave : keysym = 0x1001ea7 let _Acircumflexhook : keysym = 0x1001ea8 let _acircumflexhook : keysym = 0x1001ea9 let _Acircumflextilde : keysym = 0x1001eaa let _acircumflextilde : keysym = 0x1001eab let _Acircumflexbelowdot : keysym = 0x1001eac let _acircumflexbelowdot : keysym = 0x1001ead let _Abreveacute : keysym = 0x1001eae let _abreveacute : keysym = 0x1001eaf let _Abrevegrave : keysym = 0x1001eb0 let _abrevegrave : keysym = 0x1001eb1 let _Abrevehook : keysym = 0x1001eb2 let _abrevehook : keysym = 0x1001eb3 let _Abrevetilde : keysym = 0x1001eb4 let _abrevetilde : keysym = 0x1001eb5 let _Abrevebelowdot : keysym = 0x1001eb6 let _abrevebelowdot : keysym = 0x1001eb7 let _Ebelowdot : keysym = 0x1001eb8 let _ebelowdot : keysym = 0x1001eb9 let _Ehook : keysym = 0x1001eba let _ehook : keysym = 0x1001ebb let _Etilde : keysym = 0x1001ebc let _etilde : keysym = 0x1001ebd let _Ecircumflexacute : keysym = 0x1001ebe let _ecircumflexacute : keysym = 0x1001ebf let _Ecircumflexgrave : keysym = 0x1001ec0 let _ecircumflexgrave : keysym = 0x1001ec1 let _Ecircumflexhook : keysym = 0x1001ec2 let _ecircumflexhook : keysym = 0x1001ec3 let _Ecircumflextilde : keysym = 0x1001ec4 let _ecircumflextilde : keysym = 0x1001ec5 let _Ecircumflexbelowdot : keysym = 0x1001ec6 let _ecircumflexbelowdot : keysym = 0x1001ec7 let _Ihook : keysym = 0x1001ec8 let _ihook : keysym = 0x1001ec9 let _Ibelowdot : keysym = 0x1001eca let _ibelowdot : keysym = 0x1001ecb let _Obelowdot : keysym = 0x1001ecc let _obelowdot : keysym = 0x1001ecd let _Ohook : keysym = 0x1001ece let _ohook : keysym = 0x1001ecf let _Ocircumflexacute : keysym = 0x1001ed0 let _ocircumflexacute : keysym = 0x1001ed1 let _Ocircumflexgrave : keysym = 0x1001ed2 let _ocircumflexgrave : keysym = 0x1001ed3 let _Ocircumflexhook : keysym = 0x1001ed4 let _ocircumflexhook : keysym = 0x1001ed5 let _Ocircumflextilde : keysym = 0x1001ed6 let _ocircumflextilde : keysym = 0x1001ed7 let _Ocircumflexbelowdot : keysym = 0x1001ed8 let _ocircumflexbelowdot : keysym = 0x1001ed9 let _Ohornacute : keysym = 0x1001eda let _ohornacute : keysym = 0x1001edb let _Ohorngrave : keysym = 0x1001edc let _ohorngrave : keysym = 0x1001edd let _Ohornhook : keysym = 0x1001ede let _ohornhook : keysym = 0x1001edf let _Ohorntilde : keysym = 0x1001ee0 let _ohorntilde : keysym = 0x1001ee1 let _Ohornbelowdot : keysym = 0x1001ee2 let _ohornbelowdot : keysym = 0x1001ee3 let _Ubelowdot : keysym = 0x1001ee4 let _ubelowdot : keysym = 0x1001ee5 let _Uhook : keysym = 0x1001ee6 let _uhook : keysym = 0x1001ee7 let _Uhornacute : keysym = 0x1001ee8 let _uhornacute : keysym = 0x1001ee9 let _Uhorngrave : keysym = 0x1001eea let _uhorngrave : keysym = 0x1001eeb let _Uhornhook : keysym = 0x1001eec let _uhornhook : keysym = 0x1001eed let _Uhorntilde : keysym = 0x1001eee let _uhorntilde : keysym = 0x1001eef let _Uhornbelowdot : keysym = 0x1001ef0 let _uhornbelowdot : keysym = 0x1001ef1 let _Ybelowdot : keysym = 0x1001ef4 let _ybelowdot : keysym = 0x1001ef5 let _Yhook : keysym = 0x1001ef6 let _yhook : keysym = 0x1001ef7 let _Ytilde : keysym = 0x1001ef8 let _ytilde : keysym = 0x1001ef9 let _Ohorn : keysym = 0x10001a0 let _ohorn : keysym = 0x10001a1 let _Uhorn : keysym = 0x10001af let _uhorn : keysym = 0x10001b0 let _EcuSign : keysym = 0x10020a0 let _ColonSign : keysym = 0x10020a1 let _CruzeiroSign : keysym = 0x10020a2 let _FFrancSign : keysym = 0x10020a3 let _LiraSign : keysym = 0x10020a4 let _MillSign : keysym = 0x10020a5 let _NairaSign : keysym = 0x10020a6 let _PesetaSign : keysym = 0x10020a7 let _RupeeSign : keysym = 0x10020a8 let _WonSign : keysym = 0x10020a9 let _NewSheqelSign : keysym = 0x10020aa let _DongSign : keysym = 0x10020ab let _EuroSign : keysym = 0x20ac let _zerosuperior : keysym = 0x1002070 let _foursuperior : keysym = 0x1002074 let _fivesuperior : keysym = 0x1002075 let _sixsuperior : keysym = 0x1002076 let _sevensuperior : keysym = 0x1002077 let _eightsuperior : keysym = 0x1002078 let _ninesuperior : keysym = 0x1002079 let _zerosubscript : keysym = 0x1002080 let _onesubscript : keysym = 0x1002081 let _twosubscript : keysym = 0x1002082 let _threesubscript : keysym = 0x1002083 let _foursubscript : keysym = 0x1002084 let _fivesubscript : keysym = 0x1002085 let _sixsubscript : keysym = 0x1002086 let _sevensubscript : keysym = 0x1002087 let _eightsubscript : keysym = 0x1002088 let _ninesubscript : keysym = 0x1002089 let _partdifferential : keysym = 0x1002202 let _emptyset : keysym = 0x1002205 let _elementof : keysym = 0x1002208 let _notelementof : keysym = 0x1002209 let _containsas : keysym = 0x100220b let _squareroot : keysym = 0x100221a let _cuberoot : keysym = 0x100221b let _fourthroot : keysym = 0x100221c let _dintegral : keysym = 0x100222c let _tintegral : keysym = 0x100222d let _because : keysym = 0x1002235 let _approxeq : keysym = 0x1002248 let _notapproxeq : keysym = 0x1002247 let _notidentical : keysym = 0x1002262 let _stricteq : keysym = 0x1002263 let _braille_dot_1 : keysym = 0xfff1 let _braille_dot_2 : keysym = 0xfff2 let _braille_dot_3 : keysym = 0xfff3 let _braille_dot_4 : keysym = 0xfff4 let _braille_dot_5 : keysym = 0xfff5 let _braille_dot_6 : keysym = 0xfff6 let _braille_dot_7 : keysym = 0xfff7 let _braille_dot_8 : keysym = 0xfff8 let _braille_dot_9 : keysym = 0xfff9 let _braille_dot_10 : keysym = 0xfffa let _braille_blank : keysym = 0x1002800 let _braille_dots_1 : keysym = 0x1002801 let _braille_dots_2 : keysym = 0x1002802 let _braille_dots_12 : keysym = 0x1002803 let _braille_dots_3 : keysym = 0x1002804 let _braille_dots_13 : keysym = 0x1002805 let _braille_dots_23 : keysym = 0x1002806 let _braille_dots_123 : keysym = 0x1002807 let _braille_dots_4 : keysym = 0x1002808 let _braille_dots_14 : keysym = 0x1002809 let _braille_dots_24 : keysym = 0x100280a let _braille_dots_124 : keysym = 0x100280b let _braille_dots_34 : keysym = 0x100280c let _braille_dots_134 : keysym = 0x100280d let _braille_dots_234 : keysym = 0x100280e let _braille_dots_1234 : keysym = 0x100280f let _braille_dots_5 : keysym = 0x1002810 let _braille_dots_15 : keysym = 0x1002811 let _braille_dots_25 : keysym = 0x1002812 let _braille_dots_125 : keysym = 0x1002813 let _braille_dots_35 : keysym = 0x1002814 let _braille_dots_135 : keysym = 0x1002815 let _braille_dots_235 : keysym = 0x1002816 let _braille_dots_1235 : keysym = 0x1002817 let _braille_dots_45 : keysym = 0x1002818 let _braille_dots_145 : keysym = 0x1002819 let _braille_dots_245 : keysym = 0x100281a let _braille_dots_1245 : keysym = 0x100281b let _braille_dots_345 : keysym = 0x100281c let _braille_dots_1345 : keysym = 0x100281d let _braille_dots_2345 : keysym = 0x100281e let _braille_dots_12345 : keysym = 0x100281f let _braille_dots_6 : keysym = 0x1002820 let _braille_dots_16 : keysym = 0x1002821 let _braille_dots_26 : keysym = 0x1002822 let _braille_dots_126 : keysym = 0x1002823 let _braille_dots_36 : keysym = 0x1002824 let _braille_dots_136 : keysym = 0x1002825 let _braille_dots_236 : keysym = 0x1002826 let _braille_dots_1236 : keysym = 0x1002827 let _braille_dots_46 : keysym = 0x1002828 let _braille_dots_146 : keysym = 0x1002829 let _braille_dots_246 : keysym = 0x100282a let _braille_dots_1246 : keysym = 0x100282b let _braille_dots_346 : keysym = 0x100282c let _braille_dots_1346 : keysym = 0x100282d let _braille_dots_2346 : keysym = 0x100282e let _braille_dots_12346 : keysym = 0x100282f let _braille_dots_56 : keysym = 0x1002830 let _braille_dots_156 : keysym = 0x1002831 let _braille_dots_256 : keysym = 0x1002832 let _braille_dots_1256 : keysym = 0x1002833 let _braille_dots_356 : keysym = 0x1002834 let _braille_dots_1356 : keysym = 0x1002835 let _braille_dots_2356 : keysym = 0x1002836 let _braille_dots_12356 : keysym = 0x1002837 let _braille_dots_456 : keysym = 0x1002838 let _braille_dots_1456 : keysym = 0x1002839 let _braille_dots_2456 : keysym = 0x100283a let _braille_dots_12456 : keysym = 0x100283b let _braille_dots_3456 : keysym = 0x100283c let _braille_dots_13456 : keysym = 0x100283d let _braille_dots_23456 : keysym = 0x100283e let _braille_dots_123456 : keysym = 0x100283f let _braille_dots_7 : keysym = 0x1002840 let _braille_dots_17 : keysym = 0x1002841 let _braille_dots_27 : keysym = 0x1002842 let _braille_dots_127 : keysym = 0x1002843 let _braille_dots_37 : keysym = 0x1002844 let _braille_dots_137 : keysym = 0x1002845 let _braille_dots_237 : keysym = 0x1002846 let _braille_dots_1237 : keysym = 0x1002847 let _braille_dots_47 : keysym = 0x1002848 let _braille_dots_147 : keysym = 0x1002849 let _braille_dots_247 : keysym = 0x100284a let _braille_dots_1247 : keysym = 0x100284b let _braille_dots_347 : keysym = 0x100284c let _braille_dots_1347 : keysym = 0x100284d let _braille_dots_2347 : keysym = 0x100284e let _braille_dots_12347 : keysym = 0x100284f let _braille_dots_57 : keysym = 0x1002850 let _braille_dots_157 : keysym = 0x1002851 let _braille_dots_257 : keysym = 0x1002852 let _braille_dots_1257 : keysym = 0x1002853 let _braille_dots_357 : keysym = 0x1002854 let _braille_dots_1357 : keysym = 0x1002855 let _braille_dots_2357 : keysym = 0x1002856 let _braille_dots_12357 : keysym = 0x1002857 let _braille_dots_457 : keysym = 0x1002858 let _braille_dots_1457 : keysym = 0x1002859 let _braille_dots_2457 : keysym = 0x100285a let _braille_dots_12457 : keysym = 0x100285b let _braille_dots_3457 : keysym = 0x100285c let _braille_dots_13457 : keysym = 0x100285d let _braille_dots_23457 : keysym = 0x100285e let _braille_dots_123457 : keysym = 0x100285f let _braille_dots_67 : keysym = 0x1002860 let _braille_dots_167 : keysym = 0x1002861 let _braille_dots_267 : keysym = 0x1002862 let _braille_dots_1267 : keysym = 0x1002863 let _braille_dots_367 : keysym = 0x1002864 let _braille_dots_1367 : keysym = 0x1002865 let _braille_dots_2367 : keysym = 0x1002866 let _braille_dots_12367 : keysym = 0x1002867 let _braille_dots_467 : keysym = 0x1002868 let _braille_dots_1467 : keysym = 0x1002869 let _braille_dots_2467 : keysym = 0x100286a let _braille_dots_12467 : keysym = 0x100286b let _braille_dots_3467 : keysym = 0x100286c let _braille_dots_13467 : keysym = 0x100286d let _braille_dots_23467 : keysym = 0x100286e let _braille_dots_123467 : keysym = 0x100286f let _braille_dots_567 : keysym = 0x1002870 let _braille_dots_1567 : keysym = 0x1002871 let _braille_dots_2567 : keysym = 0x1002872 let _braille_dots_12567 : keysym = 0x1002873 let _braille_dots_3567 : keysym = 0x1002874 let _braille_dots_13567 : keysym = 0x1002875 let _braille_dots_23567 : keysym = 0x1002876 let _braille_dots_123567 : keysym = 0x1002877 let _braille_dots_4567 : keysym = 0x1002878 let _braille_dots_14567 : keysym = 0x1002879 let _braille_dots_24567 : keysym = 0x100287a let _braille_dots_124567 : keysym = 0x100287b let _braille_dots_34567 : keysym = 0x100287c let _braille_dots_134567 : keysym = 0x100287d let _braille_dots_234567 : keysym = 0x100287e let _braille_dots_1234567 : keysym = 0x100287f let _braille_dots_8 : keysym = 0x1002880 let _braille_dots_18 : keysym = 0x1002881 let _braille_dots_28 : keysym = 0x1002882 let _braille_dots_128 : keysym = 0x1002883 let _braille_dots_38 : keysym = 0x1002884 let _braille_dots_138 : keysym = 0x1002885 let _braille_dots_238 : keysym = 0x1002886 let _braille_dots_1238 : keysym = 0x1002887 let _braille_dots_48 : keysym = 0x1002888 let _braille_dots_148 : keysym = 0x1002889 let _braille_dots_248 : keysym = 0x100288a let _braille_dots_1248 : keysym = 0x100288b let _braille_dots_348 : keysym = 0x100288c let _braille_dots_1348 : keysym = 0x100288d let _braille_dots_2348 : keysym = 0x100288e let _braille_dots_12348 : keysym = 0x100288f let _braille_dots_58 : keysym = 0x1002890 let _braille_dots_158 : keysym = 0x1002891 let _braille_dots_258 : keysym = 0x1002892 let _braille_dots_1258 : keysym = 0x1002893 let _braille_dots_358 : keysym = 0x1002894 let _braille_dots_1358 : keysym = 0x1002895 let _braille_dots_2358 : keysym = 0x1002896 let _braille_dots_12358 : keysym = 0x1002897 let _braille_dots_458 : keysym = 0x1002898 let _braille_dots_1458 : keysym = 0x1002899 let _braille_dots_2458 : keysym = 0x100289a let _braille_dots_12458 : keysym = 0x100289b let _braille_dots_3458 : keysym = 0x100289c let _braille_dots_13458 : keysym = 0x100289d let _braille_dots_23458 : keysym = 0x100289e let _braille_dots_123458 : keysym = 0x100289f let _braille_dots_68 : keysym = 0x10028a0 let _braille_dots_168 : keysym = 0x10028a1 let _braille_dots_268 : keysym = 0x10028a2 let _braille_dots_1268 : keysym = 0x10028a3 let _braille_dots_368 : keysym = 0x10028a4 let _braille_dots_1368 : keysym = 0x10028a5 let _braille_dots_2368 : keysym = 0x10028a6 let _braille_dots_12368 : keysym = 0x10028a7 let _braille_dots_468 : keysym = 0x10028a8 let _braille_dots_1468 : keysym = 0x10028a9 let _braille_dots_2468 : keysym = 0x10028aa let _braille_dots_12468 : keysym = 0x10028ab let _braille_dots_3468 : keysym = 0x10028ac let _braille_dots_13468 : keysym = 0x10028ad let _braille_dots_23468 : keysym = 0x10028ae let _braille_dots_123468 : keysym = 0x10028af let _braille_dots_568 : keysym = 0x10028b0 let _braille_dots_1568 : keysym = 0x10028b1 let _braille_dots_2568 : keysym = 0x10028b2 let _braille_dots_12568 : keysym = 0x10028b3 let _braille_dots_3568 : keysym = 0x10028b4 let _braille_dots_13568 : keysym = 0x10028b5 let _braille_dots_23568 : keysym = 0x10028b6 let _braille_dots_123568 : keysym = 0x10028b7 let _braille_dots_4568 : keysym = 0x10028b8 let _braille_dots_14568 : keysym = 0x10028b9 let _braille_dots_24568 : keysym = 0x10028ba let _braille_dots_124568 : keysym = 0x10028bb let _braille_dots_34568 : keysym = 0x10028bc let _braille_dots_134568 : keysym = 0x10028bd let _braille_dots_234568 : keysym = 0x10028be let _braille_dots_1234568 : keysym = 0x10028bf let _braille_dots_78 : keysym = 0x10028c0 let _braille_dots_178 : keysym = 0x10028c1 let _braille_dots_278 : keysym = 0x10028c2 let _braille_dots_1278 : keysym = 0x10028c3 let _braille_dots_378 : keysym = 0x10028c4 let _braille_dots_1378 : keysym = 0x10028c5 let _braille_dots_2378 : keysym = 0x10028c6 let _braille_dots_12378 : keysym = 0x10028c7 let _braille_dots_478 : keysym = 0x10028c8 let _braille_dots_1478 : keysym = 0x10028c9 let _braille_dots_2478 : keysym = 0x10028ca let _braille_dots_12478 : keysym = 0x10028cb let _braille_dots_3478 : keysym = 0x10028cc let _braille_dots_13478 : keysym = 0x10028cd let _braille_dots_23478 : keysym = 0x10028ce let _braille_dots_123478 : keysym = 0x10028cf let _braille_dots_578 : keysym = 0x10028d0 let _braille_dots_1578 : keysym = 0x10028d1 let _braille_dots_2578 : keysym = 0x10028d2 let _braille_dots_12578 : keysym = 0x10028d3 let _braille_dots_3578 : keysym = 0x10028d4 let _braille_dots_13578 : keysym = 0x10028d5 let _braille_dots_23578 : keysym = 0x10028d6 let _braille_dots_123578 : keysym = 0x10028d7 let _braille_dots_4578 : keysym = 0x10028d8 let _braille_dots_14578 : keysym = 0x10028d9 let _braille_dots_24578 : keysym = 0x10028da let _braille_dots_124578 : keysym = 0x10028db let _braille_dots_34578 : keysym = 0x10028dc let _braille_dots_134578 : keysym = 0x10028dd let _braille_dots_234578 : keysym = 0x10028de let _braille_dots_1234578 : keysym = 0x10028df let _braille_dots_678 : keysym = 0x10028e0 let _braille_dots_1678 : keysym = 0x10028e1 let _braille_dots_2678 : keysym = 0x10028e2 let _braille_dots_12678 : keysym = 0x10028e3 let _braille_dots_3678 : keysym = 0x10028e4 let _braille_dots_13678 : keysym = 0x10028e5 let _braille_dots_23678 : keysym = 0x10028e6 let _braille_dots_123678 : keysym = 0x10028e7 let _braille_dots_4678 : keysym = 0x10028e8 let _braille_dots_14678 : keysym = 0x10028e9 let _braille_dots_24678 : keysym = 0x10028ea let _braille_dots_124678 : keysym = 0x10028eb let _braille_dots_34678 : keysym = 0x10028ec let _braille_dots_134678 : keysym = 0x10028ed let _braille_dots_234678 : keysym = 0x10028ee let _braille_dots_1234678 : keysym = 0x10028ef let _braille_dots_5678 : keysym = 0x10028f0 let _braille_dots_15678 : keysym = 0x10028f1 let _braille_dots_25678 : keysym = 0x10028f2 let _braille_dots_125678 : keysym = 0x10028f3 let _braille_dots_35678 : keysym = 0x10028f4 let _braille_dots_135678 : keysym = 0x10028f5 let _braille_dots_235678 : keysym = 0x10028f6 let _braille_dots_1235678 : keysym = 0x10028f7 let _braille_dots_45678 : keysym = 0x10028f8 let _braille_dots_145678 : keysym = 0x10028f9 let _braille_dots_245678 : keysym = 0x10028fa let _braille_dots_1245678 : keysym = 0x10028fb let _braille_dots_345678 : keysym = 0x10028fc let _braille_dots_1345678 : keysym = 0x10028fd let _braille_dots_2345678 : keysym = 0x10028fe let _braille_dots_12345678 : keysym = 0x10028ff let _Sinh_ng : keysym = 0x1000d82 let _Sinh_h2 : keysym = 0x1000d83 let _Sinh_a : keysym = 0x1000d85 let _Sinh_aa : keysym = 0x1000d86 let _Sinh_ae : keysym = 0x1000d87 let _Sinh_aee : keysym = 0x1000d88 let _Sinh_i : keysym = 0x1000d89 let _Sinh_ii : keysym = 0x1000d8a let _Sinh_u : keysym = 0x1000d8b let _Sinh_uu : keysym = 0x1000d8c let _Sinh_ri : keysym = 0x1000d8d let _Sinh_rii : keysym = 0x1000d8e let _Sinh_lu : keysym = 0x1000d8f let _Sinh_luu : keysym = 0x1000d90 let _Sinh_e : keysym = 0x1000d91 let _Sinh_ee : keysym = 0x1000d92 let _Sinh_ai : keysym = 0x1000d93 let _Sinh_o : keysym = 0x1000d94 let _Sinh_oo : keysym = 0x1000d95 let _Sinh_au : keysym = 0x1000d96 let _Sinh_ka : keysym = 0x1000d9a let _Sinh_kha : keysym = 0x1000d9b let _Sinh_ga : keysym = 0x1000d9c let _Sinh_gha : keysym = 0x1000d9d let _Sinh_ng2 : keysym = 0x1000d9e let _Sinh_nga : keysym = 0x1000d9f let _Sinh_ca : keysym = 0x1000da0 let _Sinh_cha : keysym = 0x1000da1 let _Sinh_ja : keysym = 0x1000da2 let _Sinh_jha : keysym = 0x1000da3 let _Sinh_nya : keysym = 0x1000da4 let _Sinh_jnya : keysym = 0x1000da5 let _Sinh_nja : keysym = 0x1000da6 let _Sinh_tta : keysym = 0x1000da7 let _Sinh_ttha : keysym = 0x1000da8 let _Sinh_dda : keysym = 0x1000da9 let _Sinh_ddha : keysym = 0x1000daa let _Sinh_nna : keysym = 0x1000dab let _Sinh_ndda : keysym = 0x1000dac let _Sinh_tha : keysym = 0x1000dad let _Sinh_thha : keysym = 0x1000dae let _Sinh_dha : keysym = 0x1000daf let _Sinh_dhha : keysym = 0x1000db0 let _Sinh_na : keysym = 0x1000db1 let _Sinh_ndha : keysym = 0x1000db3 let _Sinh_pa : keysym = 0x1000db4 let _Sinh_pha : keysym = 0x1000db5 let _Sinh_ba : keysym = 0x1000db6 let _Sinh_bha : keysym = 0x1000db7 let _Sinh_ma : keysym = 0x1000db8 let _Sinh_mba : keysym = 0x1000db9 let _Sinh_ya : keysym = 0x1000dba let _Sinh_ra : keysym = 0x1000dbb let _Sinh_la : keysym = 0x1000dbd let _Sinh_va : keysym = 0x1000dc0 let _Sinh_sha : keysym = 0x1000dc1 let _Sinh_ssha : keysym = 0x1000dc2 let _Sinh_sa : keysym = 0x1000dc3 let _Sinh_ha : keysym = 0x1000dc4 let _Sinh_lla : keysym = 0x1000dc5 let _Sinh_fa : keysym = 0x1000dc6 let _Sinh_al : keysym = 0x1000dca let _Sinh_aa2 : keysym = 0x1000dcf let _Sinh_ae2 : keysym = 0x1000dd0 let _Sinh_aee2 : keysym = 0x1000dd1 let _Sinh_i2 : keysym = 0x1000dd2 let _Sinh_ii2 : keysym = 0x1000dd3 let _Sinh_u2 : keysym = 0x1000dd4 let _Sinh_uu2 : keysym = 0x1000dd6 let _Sinh_ru2 : keysym = 0x1000dd8 let _Sinh_e2 : keysym = 0x1000dd9 let _Sinh_ee2 : keysym = 0x1000dda let _Sinh_ai2 : keysym = 0x1000ddb let _Sinh_o2 : keysym = 0x1000ddc let _Sinh_oo2 : keysym = 0x1000ddd let _Sinh_au2 : keysym = 0x1000dde let _Sinh_lu2 : keysym = 0x1000ddf let _Sinh_ruu2 : keysym = 0x1000df2 let _Sinh_luu2 : keysym = 0x1000df3 let _Sinh_kunddaliya : keysym = 0x1000df4 let _ModeLock : keysym = 0x1008ff01 let _MonBrightnessUp : keysym = 0x1008ff02 let _MonBrightnessDown : keysym = 0x1008ff03 let _KbdLightOnOff : keysym = 0x1008ff04 let _KbdBrightnessUp : keysym = 0x1008ff05 let _KbdBrightnessDown : keysym = 0x1008ff06 let _Standby : keysym = 0x1008ff10 let _AudioLowerVolume : keysym = 0x1008ff11 let _AudioMute : keysym = 0x1008ff12 let _AudioRaiseVolume : keysym = 0x1008ff13 let _AudioPlay : keysym = 0x1008ff14 let _AudioStop : keysym = 0x1008ff15 let _AudioPrev : keysym = 0x1008ff16 let _AudioNext : keysym = 0x1008ff17 let _HomePage : keysym = 0x1008ff18 let _Mail : keysym = 0x1008ff19 let _Start : keysym = 0x1008ff1a let _Search : keysym = 0x1008ff1b let _AudioRecord : keysym = 0x1008ff1c let _Calculator : keysym = 0x1008ff1d let _Memo : keysym = 0x1008ff1e let _ToDoList : keysym = 0x1008ff1f let _Calendar : keysym = 0x1008ff20 let _PowerDown : keysym = 0x1008ff21 let _ContrastAdjust : keysym = 0x1008ff22 let _RockerUp : keysym = 0x1008ff23 let _RockerDown : keysym = 0x1008ff24 let _RockerEnter : keysym = 0x1008ff25 let _Back : keysym = 0x1008ff26 let _Forward : keysym = 0x1008ff27 let _Stop : keysym = 0x1008ff28 let _Refresh : keysym = 0x1008ff29 let _PowerOff : keysym = 0x1008ff2a let _WakeUp : keysym = 0x1008ff2b let _Eject : keysym = 0x1008ff2c let _ScreenSaver : keysym = 0x1008ff2d let _WWW : keysym = 0x1008ff2e let _Sleep : keysym = 0x1008ff2f let _Favorites : keysym = 0x1008ff30 let _AudioPause : keysym = 0x1008ff31 let _AudioMedia : keysym = 0x1008ff32 let _MyComputer : keysym = 0x1008ff33 let _VendorHome : keysym = 0x1008ff34 let _LightBulb : keysym = 0x1008ff35 let _Shop : keysym = 0x1008ff36 let _History : keysym = 0x1008ff37 let _OpenURL : keysym = 0x1008ff38 let _AddFavorite : keysym = 0x1008ff39 let _HotLinks : keysym = 0x1008ff3a let _BrightnessAdjust : keysym = 0x1008ff3b let _Finance : keysym = 0x1008ff3c let _Community : keysym = 0x1008ff3d let _AudioRewind : keysym = 0x1008ff3e let _BackForward : keysym = 0x1008ff3f let _Launch0 : keysym = 0x1008ff40 let _Launch1 : keysym = 0x1008ff41 let _Launch2 : keysym = 0x1008ff42 let _Launch3 : keysym = 0x1008ff43 let _Launch4 : keysym = 0x1008ff44 let _Launch5 : keysym = 0x1008ff45 let _Launch6 : keysym = 0x1008ff46 let _Launch7 : keysym = 0x1008ff47 let _Launch8 : keysym = 0x1008ff48 let _Launch9 : keysym = 0x1008ff49 let _LaunchA : keysym = 0x1008ff4a let _LaunchB : keysym = 0x1008ff4b let _LaunchC : keysym = 0x1008ff4c let _LaunchD : keysym = 0x1008ff4d let _LaunchE : keysym = 0x1008ff4e let _LaunchF : keysym = 0x1008ff4f let _ApplicationLeft : keysym = 0x1008ff50 let _ApplicationRight : keysym = 0x1008ff51 let _Book : keysym = 0x1008ff52 let _CD : keysym = 0x1008ff53 let _WindowClear : keysym = 0x1008ff55 let _Close : keysym = 0x1008ff56 let _Copy : keysym = 0x1008ff57 let _Cut : keysym = 0x1008ff58 let _Display : keysym = 0x1008ff59 let _DOS : keysym = 0x1008ff5a let _Documents : keysym = 0x1008ff5b let _Excel : keysym = 0x1008ff5c let _Explorer : keysym = 0x1008ff5d let _Game : keysym = 0x1008ff5e let _Go : keysym = 0x1008ff5f let _iTouch : keysym = 0x1008ff60 let _LogOff : keysym = 0x1008ff61 let _Market : keysym = 0x1008ff62 let _Meeting : keysym = 0x1008ff63 let _MenuKB : keysym = 0x1008ff65 let _MenuPB : keysym = 0x1008ff66 let _MySites : keysym = 0x1008ff67 let _New : keysym = 0x1008ff68 let _News : keysym = 0x1008ff69 let _OfficeHome : keysym = 0x1008ff6a let _Open : keysym = 0x1008ff6b let _Option : keysym = 0x1008ff6c let _Paste : keysym = 0x1008ff6d let _Phone : keysym = 0x1008ff6e let _Reply : keysym = 0x1008ff72 let _Reload : keysym = 0x1008ff73 let _RotateWindows : keysym = 0x1008ff74 let _RotationPB : keysym = 0x1008ff75 let _RotationKB : keysym = 0x1008ff76 let _Save : keysym = 0x1008ff77 let _ScrollUp : keysym = 0x1008ff78 let _ScrollDown : keysym = 0x1008ff79 let _ScrollClick : keysym = 0x1008ff7a let _Send : keysym = 0x1008ff7b let _Spell : keysym = 0x1008ff7c let _SplitScreen : keysym = 0x1008ff7d let _Support : keysym = 0x1008ff7e let _TaskPane : keysym = 0x1008ff7f let _Terminal : keysym = 0x1008ff80 let _Tools : keysym = 0x1008ff81 let _Travel : keysym = 0x1008ff82 let _UserPB : keysym = 0x1008ff84 let _User1KB : keysym = 0x1008ff85 let _User2KB : keysym = 0x1008ff86 let _Video : keysym = 0x1008ff87 let _WheelButton : keysym = 0x1008ff88 let _Word : keysym = 0x1008ff89 let _Xfer : keysym = 0x1008ff8a let _ZoomIn : keysym = 0x1008ff8b let _ZoomOut : keysym = 0x1008ff8c let _Away : keysym = 0x1008ff8d let _Messenger : keysym = 0x1008ff8e let _WebCam : keysym = 0x1008ff8f let _MailForward : keysym = 0x1008ff90 let _Pictures : keysym = 0x1008ff91 let _Music : keysym = 0x1008ff92 let _Battery : keysym = 0x1008ff93 let _Bluetooth : keysym = 0x1008ff94 let _WLAN : keysym = 0x1008ff95 let _UWB : keysym = 0x1008ff96 let _AudioForward : keysym = 0x1008ff97 let _AudioRepeat : keysym = 0x1008ff98 let _AudioRandomPlay : keysym = 0x1008ff99 let _Subtitle : keysym = 0x1008ff9a let _AudioCycleTrack : keysym = 0x1008ff9b let _CycleAngle : keysym = 0x1008ff9c let _FrameBack : keysym = 0x1008ff9d let _FrameForward : keysym = 0x1008ff9e let _Time : keysym = 0x1008ff9f let _SelectButton : keysym = 0x1008ffa0 let _View : keysym = 0x1008ffa1 let _TopMenu : keysym = 0x1008ffa2 let _Red : keysym = 0x1008ffa3 let _Green : keysym = 0x1008ffa4 let _Yellow : keysym = 0x1008ffa5 let _Blue : keysym = 0x1008ffa6 let _Suspend : keysym = 0x1008ffa7 let _Hibernate : keysym = 0x1008ffa8 let _TouchpadToggle : keysym = 0x1008ffa9 let _TouchpadOn : keysym = 0x1008ffb0 let _TouchpadOff : keysym = 0x1008ffb1 let _AudioMicMute : keysym = 0x1008ffb2 let _Switch_VT_1 : keysym = 0x1008fe01 let _Switch_VT_2 : keysym = 0x1008fe02 let _Switch_VT_3 : keysym = 0x1008fe03 let _Switch_VT_4 : keysym = 0x1008fe04 let _Switch_VT_5 : keysym = 0x1008fe05 let _Switch_VT_6 : keysym = 0x1008fe06 let _Switch_VT_7 : keysym = 0x1008fe07 let _Switch_VT_8 : keysym = 0x1008fe08 let _Switch_VT_9 : keysym = 0x1008fe09 let _Switch_VT_10 : keysym = 0x1008fe0a let _Switch_VT_11 : keysym = 0x1008fe0b let _Switch_VT_12 : keysym = 0x1008fe0c let _Ungrab : keysym = 0x1008fe20 let _ClearGrab : keysym = 0x1008fe21 let _Next_VMode : keysym = 0x1008fe22 let _Prev_VMode : keysym = 0x1008fe23 let _LogWindowTree : keysym = 0x1008fe24 let _LogGrabInfo : keysym = 0x1008fe25 lablgtk-3.1.2/src/gdkPixbuf.ml0000644000650106067230000002605214161276610015051 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gdk type pixbuf = [`pixbuf] obj type colorspace = [ `RGB ] type alpha_mode = [ `BILEVEL | `FULL ] type interpolation = [ `NEAREST | `TILES | `BILINEAR | `HYPER ] type gdkpixbuferror = | ERROR_CORRUPT_IMAGE | ERROR_INSUFFICIENT_MEMORY | ERROR_BAD_OPTION | ERROR_UNKNOWN_TYPE | ERROR_UNSUPPORTED_OPERATION | ERROR_FAILED exception GdkPixbufError of gdkpixbuferror * string external _init : unit -> unit = "ml_gdkpixbuf_init" let () = _init () ; Callback.register_exception "gdk_pixbuf_error" (GdkPixbufError (ERROR_CORRUPT_IMAGE, "")) external set_marshal_use_rle : bool -> unit = "ml_gdk_pixbuf_set_marshal_use_rle" (* Accessors *) external get_n_channels : pixbuf -> int = "ml_gdk_pixbuf_get_n_channels" external get_has_alpha : pixbuf -> bool = "ml_gdk_pixbuf_get_has_alpha" external get_bits_per_sample : pixbuf -> int = "ml_gdk_pixbuf_get_bits_per_sample" external get_width : pixbuf -> int = "ml_gdk_pixbuf_get_width" external get_height : pixbuf -> int = "ml_gdk_pixbuf_get_height" external get_rowstride : pixbuf -> int = "ml_gdk_pixbuf_get_rowstride" external _get_pixels : pixbuf -> Obj.t * int = "ml_gdk_pixbuf_get_pixels" let get_pixels pixbuf = let obj, pos = _get_pixels pixbuf in let get_length (_, pixbuf) = get_rowstride pixbuf * get_height pixbuf + pos in let r = Gpointer.unsafe_create_region ~path:[|0|] ~get_length (obj, pixbuf) in Gpointer.sub ~pos r (* Constructors *) external _create : colorspace:colorspace -> has_alpha:bool -> bits:int -> width:int -> height:int -> pixbuf = "ml_gdk_pixbuf_new" let create ~width ~height ?(bits=8) ?(colorspace=`RGB) ?(has_alpha=false) () = _create ~colorspace ~has_alpha ~bits ~width ~height let cast o : pixbuf = Gobject.try_cast o "GdkPixbuf" external copy : pixbuf -> pixbuf = "ml_gdk_pixbuf_copy" external subpixbuf : pixbuf -> src_x:int -> src_y:int -> width:int -> height:int -> pixbuf = "ml_gdk_pixbuf_new_subpixbuf" external from_file : string -> pixbuf = "ml_gdk_pixbuf_new_from_file" external get_file_info : string -> string * int * int = "ml_gdk_pixbuf_get_file_info" external from_file_at_size : string -> width:int -> height:int -> pixbuf = "ml_gdk_pixbuf_new_from_file_at_size" external from_xpm_data : string array -> pixbuf = "ml_gdk_pixbuf_new_from_xpm_data" external _from_data : Gpointer.region -> has_alpha:bool -> bits:int -> width:int -> height:int -> rowstride:int -> pixbuf = "ml_gdk_pixbuf_new_from_data_bc" "ml_gdk_pixbuf_new_from_data" let from_data ~width ~height ?(bits=8) ?rowstride ?(has_alpha=false) data = let nc = if has_alpha then 4 else 3 in let rowstride = match rowstride with None -> width * nc | Some r -> r in if bits <> 8 || rowstride < width * nc || width <= 0 || height <= 0 || Gpointer.length data < rowstride * (height - 1) + width * nc then invalid_arg "GdkPixbuf.from_data"; _from_data data ~has_alpha ~bits ~width ~height ~rowstride (* GtkPixbuf removed in gtk3 external _get_from_drawable : pixbuf -> [>`drawable] obj -> colormap -> src_x:int -> src_y:int -> dest_x:int -> dest_y:int -> width:int -> height:int -> unit = "ml_gdk_pixbuf_get_from_drawable_bc" "ml_gdk_pixbuf_get_from_drawable" let get_from_drawable ~dest ?(dest_x=0) ?(dest_y=0) ?width ?height ?(src_x=0) ?(src_y=0) ?(colormap=Gdk.Rgb.get_cmap()) src = let dw, dh = Gdk.Drawable.get_size src in let mw = min (dw - src_x) (get_width dest - dest_x) and mh = min (dh - src_y) (get_height dest - dest_y) in let width = default mw ~opt:width and height = default mh ~opt:height in if src_x < 0 || src_y < 0 || dest_x < 0 || dest_y < 0 || width <= 0 || height <= 0 || width > mw || height > mh then invalid_arg "GdkPixbuf.get_from_drawable"; _get_from_drawable dest src colormap ~src_x ~src_y ~dest_x ~dest_y ~width ~height (* Render *) external _render_alpha : src:pixbuf -> bitmap -> src_x:int -> src_y:int -> dest_x:int -> dest_y:int -> width:int -> height:int -> threshold:int -> unit = "ml_gdk_pixbuf_render_threshold_alpha_bc" "ml_gdk_pixbuf_render_threshold_alpha" let render_alpha bm ?(dest_x=0) ?(dest_y=0) ?width ?height ?(threshold=128) ?(src_x=0) ?(src_y=0) src = let width = may_default get_width src ~opt:width and height = may_default get_height src ~opt:height in _render_alpha ~src bm ~src_x ~src_y ~dest_x ~dest_y ~width ~height ~threshold external _draw_pixbuf : src:pixbuf -> [>`drawable] obj -> gc -> src_x:int -> src_y:int -> dest_x:int -> dest_y:int -> width:int -> height:int -> dither:Tags.rgb_dither -> x_dither:int -> y_dither:int -> unit = "ml_gdk_pixbuf_render_to_drawable_bc" "ml_gdk_pixbuf_render_to_drawable" let draw_pixbuf dw gc ?(dest_x=0) ?(dest_y=0) ?width ?height ?(dither=`NONE) ?(x_dither=0) ?(y_dither=0) ?(src_x=0) ?(src_y=0) src = let width = may_default get_width src ~opt:width and height = may_default get_height src ~opt:height in _draw_pixbuf dw gc ~src ~src_x ~src_y ~dest_x ~dest_y ~width ~height ~dither ~x_dither ~y_dither let render_to_drawable dw ?(gc=Gdk.GC.create dw) = draw_pixbuf dw gc external _render_to_drawable_alpha : src:pixbuf -> [>`drawable] obj -> src_x:int -> src_y:int -> dest_x:int -> dest_y:int -> width:int -> height:int -> alpha:alpha_mode -> threshold:int -> dither:Tags.rgb_dither -> x_dither:int -> y_dither:int -> unit = "ml_gdk_pixbuf_render_to_drawable_alpha_bc" "ml_gdk_pixbuf_render_to_drawable_alpha" let render_to_drawable_alpha dw ?(dest_x=0) ?(dest_y=0) ?width ?height ?(alpha=`FULL) ?(threshold=128) ?(dither=`NONE) ?(x_dither=0) ?(y_dither=0) ?(src_x=0) ?(src_y=0) src = let width = may_default get_width src ~opt:width and height = may_default get_height src ~opt:height in _render_to_drawable_alpha ~src dw ~src_x ~src_y ~dest_x ~dest_y ~width ~height ~dither ~x_dither ~y_dither ~alpha ~threshold external _create_pixmap : pixbuf -> threshold:int -> pixmap * bitmap option = "ml_gdk_pixbuf_render_pixmap_and_mask" let create_pixmap ?(threshold=128) pb = _create_pixmap pb ~threshold *) (* Transform *) external _add_alpha : pixbuf -> subst:bool -> r:int -> g:int -> b:int -> pixbuf = "ml_gdk_pixbuf_add_alpha" let add_alpha ?transparent pb = match transparent with None -> _add_alpha pb ~subst:false ~r:0 ~g:0 ~b:0 | Some (r, g, b) -> _add_alpha pb ~subst:true ~r ~g ~b external fill : pixbuf -> int32 -> unit = "ml_gdk_pixbuf_fill" external _saturate_and_pixelate : pixbuf -> dest:pixbuf -> saturation:float -> pixelate:bool -> unit = "ml_gdk_pixbuf_saturate_and_pixelate" let saturate_and_pixelate ~dest ~saturation ~pixelate src = _saturate_and_pixelate src ~dest ~saturation ~pixelate external _copy_area : src:pixbuf -> src_x:int -> src_y:int -> width:int -> height:int -> dest:pixbuf -> dest_x:int -> dest_y:int -> unit = "ml_gdk_pixbuf_copy_area_bc" "ml_gdk_pixbuf_copy_area" let copy_area ~dest ?(dest_x=0) ?(dest_y=0) ?width ?height ?(src_x=0) ?(src_y=0) src = let mw = min (get_width src - src_x) (get_width dest - dest_x) and mh = min (get_height src - src_y) (get_height dest - dest_y) in let width = match width with Some w -> w | None -> mw and height = match height with Some h -> h | None -> mh in if src_x < 0 || src_y < 0 || dest_x < 0 || dest_y < 0 || width <= 0 || height <= 0 || width > mw || height > mh then invalid_arg "GdkPixbuf.copy_area"; _copy_area ~src ~src_x ~src_y ~width ~height ~dest ~dest_x ~dest_y let get_size sz sc ~ssrc ~sdest ~dest ~ofs = match sz, sc with None, None -> (sdest - dest, (float dest +. ofs) /. float ssrc) | None, Some sc -> (truncate(float ssrc *. sc -. ofs), sc) | Some sz, None -> (sz, (float sz +. ofs) /. float ssrc) | Some sz, Some sc -> (sz, sc) external _scale : src:pixbuf -> dest:pixbuf -> dest_x:int -> dest_y:int -> width:int -> height:int -> ofs_x:float -> ofs_y:float -> scale_x:float -> scale_y:float -> interp:interpolation -> unit = "ml_gdk_pixbuf_scale_bc" "ml_gdk_pixbuf_scale" let scale ~dest ?(dest_x=0) ?(dest_y=0) ?width ?height ?(ofs_x=0.) ?(ofs_y=0.) ?scale_x ?scale_y ?(interp=`BILINEAR) src = let width, scale_x = get_size width scale_x ~ssrc:(get_width src) ~sdest:(get_width dest) ~dest:dest_x ~ofs:ofs_x and height, scale_y = get_size height scale_y ~ssrc:(get_height src) ~sdest:(get_height dest) ~dest:dest_y ~ofs:ofs_y in _scale ~src ~dest ~dest_x ~dest_y ~width ~height ~ofs_x ~ofs_y ~scale_x ~scale_y ~interp external _composite : src:pixbuf -> dest:pixbuf -> dest_x:int -> dest_y:int -> width:int -> height:int -> ofs_x:float -> ofs_y:float -> scale_x:float -> scale_y:float -> interp:interpolation -> alpha:int -> unit = "ml_gdk_pixbuf_composite_bc" "ml_gdk_pixbuf_composite" let composite ~dest ~alpha ?(dest_x=0) ?(dest_y=0) ?width ?height ?(ofs_x=0.) ?(ofs_y=0.) ?scale_x ?scale_y ?(interp=`BILINEAR) src = let width, scale_x = get_size width scale_x ~ssrc:(get_width src) ~sdest:(get_width dest) ~dest:dest_x ~ofs:ofs_x and height, scale_y = get_size height scale_y ~ssrc:(get_height src) ~sdest:(get_height dest) ~dest:dest_y ~ofs:ofs_y in _composite ~src ~dest ~dest_x ~dest_y ~width ~height ~ofs_x ~ofs_y ~scale_x ~scale_y ~interp ~alpha (* Saving *) external save : filename:string -> typ:string -> ?options:(string * string) list -> pixbuf -> unit = "ml_gdk_pixbuf_save" external save_to_callback : pixbuf -> typ:string -> ?options:(string * string) list -> (string -> unit) -> unit = "ml_gdk_pixbuf_save_to_callback" let save_to_buffer pb ~typ ?options buffer = save_to_callback pb ~typ ?options (Buffer.add_string buffer) lablgtk-3.1.2/src/gdkPixbuf.mli0000644000650106067230000001544414161276610015225 0ustar glondused(**************************************************************************) (* 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$ *) (** Object for manipulating image data @gtkdoc gdk-pixbuf index *) (** {3 The GdkPixbuf Structure} *) (* Types *) (** @gtkdoc gdk-pixbuf gdk-pixbuf-gdk-pixbuf *) type pixbuf = [`pixbuf] Gobject.obj type colorspace = [ `RGB] type alpha_mode = [ `BILEVEL | `FULL] type interpolation = [ `BILINEAR | `HYPER | `NEAREST | `TILES] type gdkpixbuferror = | ERROR_CORRUPT_IMAGE | ERROR_INSUFFICIENT_MEMORY | ERROR_BAD_OPTION | ERROR_UNKNOWN_TYPE | ERROR_UNSUPPORTED_OPERATION | ERROR_FAILED exception GdkPixbufError of gdkpixbuferror * string external set_marshal_use_rle : bool -> unit = "ml_gdk_pixbuf_set_marshal_use_rle" (** {3 Creation} *) (** @gtkdoc gdk-pixbuf gdk-pixbuf-creating*) val create : width:int -> height:int -> ?bits:int -> ?colorspace:colorspace -> ?has_alpha:bool -> unit -> pixbuf val cast : 'a Gobject.obj -> pixbuf external copy : pixbuf -> pixbuf = "ml_gdk_pixbuf_copy" external subpixbuf : pixbuf -> src_x:int -> src_y:int -> width:int -> height:int -> pixbuf = "ml_gdk_pixbuf_new_subpixbuf" (** @gtkdoc gdk-pixbuf gdk-pixbuf-file-loading *) external from_file : string -> pixbuf = "ml_gdk_pixbuf_new_from_file" (** @since GTK 2.4 *) external get_file_info : string -> string * int * int = "ml_gdk_pixbuf_get_file_info" (** @since GTK 2.4 @gtkdoc gdk-pixbuf gdk-pixbuf-file-loading *) external from_file_at_size : string -> width:int -> height:int -> pixbuf = "ml_gdk_pixbuf_new_from_file_at_size" external from_xpm_data : string array -> pixbuf = "ml_gdk_pixbuf_new_from_xpm_data" val from_data : width:int -> height:int -> ?bits:int -> ?rowstride:int -> ?has_alpha:bool -> Gpointer.region -> pixbuf (* GtkPixbuf removed in gtk3 (** @gtkdoc gdk gdk-Pixbufs *) val get_from_drawable : dest:pixbuf -> ?dest_x:int -> ?dest_y:int -> ?width:int -> ?height:int -> ?src_x:int -> ?src_y:int -> ?colormap:Gdk.colormap -> [>`drawable] Gobject.obj -> unit *) (** {3 Accessors} *) external get_n_channels : pixbuf -> int = "ml_gdk_pixbuf_get_n_channels" external get_has_alpha : pixbuf -> bool = "ml_gdk_pixbuf_get_has_alpha" external get_bits_per_sample : pixbuf -> int = "ml_gdk_pixbuf_get_bits_per_sample" external get_width : pixbuf -> int = "ml_gdk_pixbuf_get_width" external get_height : pixbuf -> int = "ml_gdk_pixbuf_get_height" external get_rowstride : pixbuf -> int = "ml_gdk_pixbuf_get_rowstride" val get_pixels : pixbuf -> Gpointer.region (* GtkPixbuf removed in gtk3 (** {3 Rendering} *) (** @gtkdoc gdk gdk-Drawing-Primitives *) val draw_pixbuf : [>`drawable] Gobject.obj -> Gdk.gc -> ?dest_x:int -> ?dest_y:int -> ?width:int -> ?height:int -> ?dither:Gdk.Tags.rgb_dither -> ?x_dither:int -> ?y_dither:int -> ?src_x:int -> ?src_y:int -> pixbuf -> unit (** @gtkdoc gdk gdk-Pixbufs @deprecated use {!GdkPixbuf.draw_pixbuf} *) val render_to_drawable : [>`drawable] Gobject.obj -> ?gc:Gdk.gc -> ?dest_x:int -> ?dest_y:int -> ?width:int -> ?height:int -> ?dither:Gdk.Tags.rgb_dither -> ?x_dither:int -> ?y_dither:int -> ?src_x:int -> ?src_y:int -> pixbuf -> unit (** @gtkdoc gdk gdk-Pixbufs *) val render_alpha : Gdk.bitmap -> ?dest_x:int -> ?dest_y:int -> ?width:int -> ?height:int -> ?threshold:int -> ?src_x:int -> ?src_y:int -> pixbuf -> unit (** @gtkdoc gdk gdk-Pixbufs @deprecated use {!GdkPixbuf.draw_pixbuf} *) val render_to_drawable_alpha : [>`drawable] Gobject.obj -> ?dest_x:int -> ?dest_y:int -> ?width:int -> ?height:int -> ?alpha:alpha_mode -> ?threshold:int -> ?dither:Gdk.Tags.rgb_dither -> ?x_dither:int -> ?y_dither:int -> ?src_x:int -> ?src_y:int -> pixbuf -> unit (** @gtkdoc gdk gdk-Pixbufs *) val create_pixmap : ?threshold:int -> pixbuf -> Gdk.pixmap * Gdk.bitmap option *) (** {3 Transform} *) (** @gtkdoc gdk-pixbuf gdk-pixbuf-util *) val add_alpha : ?transparent:int * int * int -> pixbuf -> pixbuf (** @gtkdoc gdk-pixbuf gdk-pixbuf-util *) val fill : pixbuf -> int32 -> unit (** @gtkdoc gdk-pixbuf gdk-pixbuf-util *) val saturate_and_pixelate : dest:pixbuf -> saturation:float -> pixelate:bool -> pixbuf -> unit (** @gtkdoc gdk-pixbuf gdk-pixbuf-util *) val copy_area : dest:pixbuf -> ?dest_x:int -> ?dest_y:int -> ?width:int -> ?height:int -> ?src_x:int -> ?src_y:int -> pixbuf -> unit (** @gtkdoc gdk-pixbuf gdk-pixbuf-scaling *) val scale : dest:pixbuf -> ?dest_x:int -> ?dest_y:int -> ?width:int -> ?height:int -> ?ofs_x:float -> ?ofs_y:float -> ?scale_x:float -> ?scale_y:float -> ?interp:interpolation -> pixbuf -> unit (** @gtkdoc gdk-pixbuf gdk-pixbuf-scaling *) val composite : dest:pixbuf -> alpha:int -> ?dest_x:int -> ?dest_y:int -> ?width:int -> ?height:int -> ?ofs_x:float -> ?ofs_y:float -> ?scale_x:float -> ?scale_y:float -> ?interp:interpolation -> pixbuf -> unit (** {3 Saving} *) (** @gtkdoc gdk-pixbuf gdk-pixbuf-file-saving *) external save : filename:string -> typ:string -> ?options:(string * string) list -> pixbuf -> unit = "ml_gdk_pixbuf_save" (** @since GTK 2.4 *) external save_to_callback : pixbuf -> typ:string -> ?options:(string * string) list -> (string -> unit) -> unit = "ml_gdk_pixbuf_save_to_callback" (** @since GTK 2.4 *) val save_to_buffer : pixbuf -> typ:string -> ?options:(string * string) list -> Buffer.t -> unit lablgtk-3.1.2/src/gdk_tags.var0000644000650106067230000001675114161276610015076 0ustar glondused(* $Id$ *) package "gdk" type noconv platform = [ `X11 | `WIN32 | `QUARTZ ] (* gdkevents.h *) type event_type = "GDK_" [ `NOTHING | `DELETE | `DESTROY | `EXPOSE | `MOTION_NOTIFY | `BUTTON_PRESS | `TWO_BUTTON_PRESS "GDK_2BUTTON_PRESS" | `THREE_BUTTON_PRESS "GDK_3BUTTON_PRESS" | `BUTTON_RELEASE | `KEY_PRESS | `KEY_RELEASE | `ENTER_NOTIFY | `LEAVE_NOTIFY | `FOCUS_CHANGE | `CONFIGURE | `MAP | `UNMAP | `PROPERTY_NOTIFY | `SELECTION_CLEAR | `SELECTION_REQUEST | `SELECTION_NOTIFY | `PROXIMITY_IN | `PROXIMITY_OUT | `DRAG_ENTER | `DRAG_LEAVE | `DRAG_MOTION | `DRAG_STATUS | `DROP_START | `DROP_FINISHED | `CLIENT_EVENT | `VISIBILITY_NOTIFY | `SCROLL | `WINDOW_STATE | `SETTING | `OWNER_CHANGE | `GRAB_BROKEN | `DAMAGE | `TOUCH_BEGIN | `TOUCH_UPDATE | `TOUCH_END | `TOUCH_CANCEL | `TOUCHPAD_SWIPE | `TOUCHPAD_PINCH (* Since 3.22: | `PAD_BUTTON_PRESS | `PAD_BUTTON_RELEASE | `PAD_RING | `PAD_STRIP | `PAD_GROUP_MODE *) ] type visibility_state "gdkVisibilityState" = "GDK_VISIBILITY_" [ `UNOBSCURED | `PARTIAL | `FULLY_OBSCURED ] type touchpad_gesture_phase "GdkTouchpadGesturePhase" = "GDK_TOUCHPAD_GESTURE_PHASE_" [ `BEGIN | `UPDATE | `END | `CANCEL ] type scroll_direction "gdkScrollDirection" = "GDK_SCROLL_" [ `UP | `DOWN | `LEFT | `RIGHT | `SMOOTH ] type crossing_mode "gdkCrossingMode" = "GDK_CROSSING_" [ `NORMAL | `GRAB | `UNGRAB | `GTK_GRAB | `GTK_UNGRAB | `STATE_CHANGED | `TOUCH_BEGIN | `TOUCH_END | `DEVICE_SWITCH ] type notify_type "gdkNotifyType" = "GDK_NOTIFY_" [ `ANCESTOR | `VIRTUAL | `INFERIOR | `NONLINEAR | `NONLINEAR_VIRTUAL | `UNKNOWN ] type setting_action "gdkSettingAction" = "GDK_SETTING_ACTION_" [ `NEW | `CHANGED | `DELETED ] type owner_change "GdkOwnerChange" = "GDK_OWNER_CHANGE_" [ `NEW_OWNER | `DESTROY | `CLOSE ] type window_state "gdkWindowState" = "GDK_WINDOW_STATE_" [ `WITHDRAWN | `ICONIFIED | `MAXIMIZED | `STICKY | `FULLSCREEN | `ABOVE | `BELOW | `FOCUSED | `TILED ] (* The following are only available since 3.22.23 | `TOP_TILED | `TOP_RESIZABLE | `RIGHT_TILED | `RIGHT_RESIZABLE | `BOTTOM_TILED | `BOTTOM_RESIZABLE | `LEFT_TILED | `LEFT_RESIZABLE ] *) (* gdkdevice.h *) type input_source "gdkInputSource" = "GDK_SOURCE_" [ `MOUSE | `PEN | `ERASER | `CURSOR | `KEYBOARD | `TOUCHSCREEN | `TOUCHPAD (* Since 3.22: | `TRACKPOINT | `TABLET_PAD *) ] type input_mode "gdkInputMode" = "GDK_MODE_" [ `DISABLED | `SCREEN | `WINDOW ] type device_type "gdkDeviceType" = "GDK_DEVICE_TYPE_" [ `MASTER | `SLAVE | `FLOATING ] (* gdkvisual.h *) type visual_type "gdkVisualType" = "GDK_VISUAL_" [ `STATIC_GRAY | `GRAYSCALE | `STATIC_COLOR | `PSEUDO_COLOR | `TRUE_COLOR | `DIRECT_COLOR ] (* gdkdnd.h *) type drag_action "gdkDragAction" = "GDK_ACTION_" [ `DEFAULT | `COPY | `MOVE | `LINK | `PRIVATE | `ASK ] (* Since 3.20: type drag_cancel_reason "GdkDragCancelReason" = "GDK_DRAG_CANCEL_" [ `NO_TARGET | `USER_CANCELLED | `ERROR ] *) type drag_protocol "gdkDragProtocol" = "GDK_DRAG_PROTO_" [ `NONE | `MOTIF | `XDND | `ROOTWIN | `WIN32_DROPFILES | `OLE2 | `LOCAL | `WAYLAND ] type xdata = [ `BYTES "8" | `SHORTS "16" | `INT32S "32" | `NONE "0" ] type property_state = "GDK_PROPERTY_" [ `NEW_VALUE | `DELETE ] (* gdkproperty.h *) type property_mode = "GDK_PROP_MODE_" [ `REPLACE | `PREPEND | `APPEND ] (* gdkwindow.h *) type window_class "GdkWindowWindowClass" = "GDK_" [ `INPUT_OUTPUT | `INPUT_ONLY ] type window_type "GdkWindowType" = "GDK_WINDOW_" [ `ROOT | `TOPLEVEL | `CHILD | `TEMP | `FOREIGN | `OFFSCREEN | `SUBSURFACE ] type window_attributes_type = "GDK_WA_" [ `TITLE | `X | `Y | `CURSOR | `VISUAL | `WMCLASS | `NOREDIR | `TYPE_HINT ] type window_hints = "GDK_HINT_" [ `POS | `MIN_SIZE | `MAX_SIZE | `BASE_SIZE | `ASPECT | `RESIZE_INC | `WIN_GRAVITY | `USER_POS | `USER_SIZE ] type wm_decoration "GdkWMdecoration" = "GDK_DECOR_" [ `ALL | `BORDER | `RESIZEH | `TITLE | `MENU | `MINIMIZE | `MAXIMIZE ] type wm_function "GdkWMFunction" = "GDK_FUNC_" [ `ALL | `RESIZE | `MOVE | `MINIMIZE | `MAXIMIZE | `CLOSE ] type gravity = "GDK_GRAVITY_" [ `NORTH_WEST | `NORTH | `NORTH_EAST | `WEST | `CENTER | `EAST | `SOUTH_WEST | `SOUTH | `SOUTH_EAST | `STATIC ] (* Since 3.22: type anchor_hints = "GDK_ANCHOR_" [ `FLIP_X | `FLIP_Y | `SLIDE_X | `SLIDE_Y | `RESIZE_X | `RESIZE_Y | `FLIP | `SLIDE | `RESIZE ] *) type window_edge = "GDK_WINDOW_EDGE_" [ `NORTH_WEST | `NORTH | `NORTH_EAST | `WEST | `EAST | `SOUTH_WEST | `SOUTH | `SOUTH_EAST ] type fullscreen_mode = "GDK_FULLSCREEN_" [ `ON_CURRENT_MONITOR | `ON_ALL_MONITORS ] (* gdktypes.h *) type modifier "gdkModifier" = "GDK_" [ `SHIFT | `LOCK | `CONTROL | `MOD1 | `MOD2 | `MOD3 | `MOD4 | `MOD5 | `BUTTON1 | `BUTTON2 | `BUTTON3 | `BUTTON4 | `BUTTON5 | `SUPER | `HYPER | `META | `RELEASE ] "_MASK" type modifier_intent "gtkModifierIntent" = "GDK_MODIFIER_INTENT_" [ `PRIMARY_ACCELERATOR | `CONTEXT_MENU | `EXTEND_SELECTION | `MODIFY_SELECTION | `NO_TEXT_INPUT | `SHIFT_GROUP | `DEFAULT_MOD_MASK ] type status = "GDK_" [ `OK | `ERROR | `ERROR_PARAM | `ERROR_FILE | `ERROR_MEM ] type grab_status = "GDK_GRAB_" [ `SUCCESS | `ALREADY_GRABBED | `INVALID_TIME | `NOT_VIEWABLE | `FROZEN | `FAILED ] type grab_ownership = "GDK_OWNERSHIP_" [ `NONE | `WINDOW | `APPLICATION ] type flags event_mask = "GDK_" [ `EXPOSURE | `POINTER_MOTION | `POINTER_MOTION_HINT | `BUTTON_MOTION | `BUTTON1_MOTION | `BUTTON2_MOTION | `BUTTON3_MOTION | `BUTTON_PRESS | `BUTTON_RELEASE | `KEY_PRESS | `KEY_RELEASE | `ENTER_NOTIFY | `LEAVE_NOTIFY | `FOCUS_CHANGE | `STRUCTURE | `PROPERTY_CHANGE | `VISIBILITY_NOTIFY | `PROXIMITY_IN | `PROXIMITY_OUT | `SUBSTRUCTURE | `SCROLL | `TOUCH | `SMOOTH_SCROLL | `TOUCHPAD_GESTURE (* Since 3.22: | `TABLET_PAD *) | `ALL_EVENTS ] "_MASK" type gl_error = "GDK_GL_ERROR_" [ `NOT_AVAILABLE | `UNSUPPORTED_FORMAT | `UNSUPPORTED_PROFILE ] type window_type_hint = "GDK_WINDOW_TYPE_HINT_" [ `NORMAL | `DIALOG | `MENU | `TOOLBAR | `SPLASHSCREEN | `UTILITY | `DOCK | `DESKTOP | `DROPDOWN_MENU | `POPUP_MENU | `TOOLTIP | `NOTIFICATION | `COMBO | `DND ] type axis_use = "GDK_AXIS_" [ `IGNORE | `X | `Y | `PRESSURE | `XTILT | `YTILT | `WHEEL (* Since 3.22: | `DISTANCE | `ROTATION | `SLIDER *) | `LAST ] (* Since 3.22: type flags axis_flags = "GDK_AXIS_FLAG_" [ `X | `Y | `PRESSURE | `XTILT | `YTILT | `WHEEL | `DISTANCE | `ROTATION | `SLIDER ] *) (* gdkcursor.h *) type cursor_type "gdkCursorType" = "GDK_" [ | `X_CURSOR | `ARROW | `BASED_ARROW_DOWN | `BASED_ARROW_UP | `BOAT | `BOGOSITY | `BOTTOM_LEFT_CORNER | `BOTTOM_RIGHT_CORNER | `BOTTOM_SIDE | `BOTTOM_TEE | `BOX_SPIRAL | `CENTER_PTR | `CIRCLE | `CLOCK | `COFFEE_MUG | `CROSS | `CROSS_REVERSE | `CROSSHAIR | `DIAMOND_CROSS | `DOT | `DOTBOX | `DOUBLE_ARROW | `DRAFT_LARGE | `DRAFT_SMALL | `DRAPED_BOX | `EXCHANGE | `FLEUR | `GOBBLER | `GUMBY | `HAND1 | `HAND2 | `HEART | `ICON | `IRON_CROSS | `LEFT_PTR | `LEFT_SIDE | `LEFT_TEE | `LEFTBUTTON | `LL_ANGLE | `LR_ANGLE | `MAN | `MIDDLEBUTTON | `MOUSE | `PENCIL | `PIRATE | `PLUS | `QUESTION_ARROW | `RIGHT_PTR | `RIGHT_SIDE | `RIGHT_TEE | `RIGHTBUTTON | `RTL_LOGO | `SAILBOAT | `SB_DOWN_ARROW | `SB_H_DOUBLE_ARROW | `SB_LEFT_ARROW | `SB_RIGHT_ARROW | `SB_UP_ARROW | `SB_V_DOUBLE_ARROW | `SHUTTLE | `SIZING | `SPIDER | `SPRAYCAN | `STAR | `TARGET | `TCROSS | `TOP_LEFT_ARROW | `TOP_LEFT_CORNER | `TOP_RIGHT_CORNER | `TOP_SIDE | `TOP_TEE | `TREK | `UL_ANGLE | `UMBRELLA | `UR_ANGLE | `WATCH | `XTERM ] lablgtk-3.1.2/src/gdkpixbuf_tags.var0000644000650106067230000000033514161276610016303 0ustar glondused(* $Id$ *) (* package "gdkPixbuf" *) type colorspace = "GDK_COLORSPACE_" [ `RGB ] type alpha_mode = "GDK_PIXBUF_ALPHA_" [ `BILEVEL | `FULL ] type interpolation = "GDK_INTERP_" [ `NEAREST | `TILES | `BILINEAR | `HYPER ] lablgtk-3.1.2/src/gdkprivate-win32.h0000644000650106067230000003532314161276610016046 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ /* GDK - The GIMP Drawing Kit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * Copyright (C) 1998-2002 Tor Lillqvist * * This library 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; either * version 2 of the License, or (at your option) any later version. * * This library 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 library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __GDK_PRIVATE_WIN32_H__ #define __GDK_PRIVATE_WIN32_H__ #ifndef STRICT #define STRICT /* We want strict type checks */ #endif #include #include /* Make up for mingw32 header lossage */ /* PS_JOIN_MASK is missing from the mingw32 headers */ #ifndef PS_JOIN_MASK #define PS_JOIN_MASK (PS_JOIN_BEVEL|PS_JOIN_MITER|PS_JOIN_ROUND) #endif /* CLR_INVALID is missing */ #ifndef CLR_INVALID #define CLR_INVALID CLR_NONE #endif /* Some charsets are missing */ #ifndef JOHAB_CHARSET #define JOHAB_CHARSET 130 #endif #ifndef VIETNAMESE_CHARSET #define VIETNAMESE_CHARSET 163 #endif #ifndef FS_VIETNAMESE #define FS_VIETNAMESE 0x100 #endif #ifndef VM_OEM_PLUS #define VK_OEM_PLUS 0xBB #endif #ifndef VK_OEM_COMMA #define VK_OEM_COMMA 0xBC #endif #ifndef VK_OEM_MINUS #define VK_OEM_MINUS 0xBD #endif #ifndef VK_OEM_PERIOD #define VK_OEM_PERIOD 0xBE #endif #ifndef VK_OEM_1 #define VK_OEM_1 0xBA #endif #ifndef VK_OEM_2 #define VK_OEM_2 0xBF #endif #ifndef VK_OEM_3 #define VK_OEM_3 0xC0 #endif #ifndef VK_OEM_4 #define VK_OEM_4 0xDB #endif #ifndef VK_OEM_5 #define VK_OEM_5 0xDC #endif #ifndef VK_OEM_6 #define VK_OEM_6 0xDD #endif #ifndef VK_OEM_7 #define VK_OEM_7 0xDE #endif #ifndef VK_OEM_8 #define VK_OEM_8 0xDF #endif /* Missing messages */ #ifndef WM_SYNCPAINT #define WM_SYNCPAINT 0x88 #endif #ifndef WM_MOUSEWHEEL #define WM_MOUSEWHEEL 0X20A #endif #ifndef WM_GETOBJECT #define WM_GETOBJECT 0x003D #endif #ifndef WM_NCXBUTTONDOWN #define WM_NCXBUTTONDOWN 0x00AB #endif #ifndef WM_NCXBUTTONUP #define WM_NCXBUTTONUP 0x00AC #endif #ifndef WM_NCXBUTTONDBLCLK #define WM_NCXBUTTONDBLCLK 0x00AD #endif #ifndef WM_MENURBUTTONUP #define WM_MENURBUTTONUP 0x0122 #endif #ifndef WM_MENUDRAG #define WM_MENUDRAG 0x0123 #endif #ifndef WM_MENUGETOBJECT #define WM_MENUGETOBJECT 0x0124 #endif #ifndef WM_UNINITMENUPOPUP #define WM_UNINITMENUPOPUP 0x0125 #endif #ifndef WM_MENUCOMMAND #define WM_MENUCOMMAND 0x0126 #endif #ifndef WM_CHANGEUISTATE #define WM_CHANGEUISTATE 0x0127 #endif #ifndef WM_UPDATEUISTATE #define WM_UPDATEUISTATE 0x0128 #endif #ifndef WM_QUERYUISTATE #define WM_QUERYUISTATE 0x0129 #endif #ifndef WM_XBUTTONDOWN #define WM_XBUTTONDOWN 0x020B #endif #ifndef WM_XBUTTONUP #define WM_XBUTTONUP 0x020C #endif #ifndef WM_XBUTTONDBLCLK #define WM_XBUTTONDBLCLK 0x020D #endif #ifndef WM_IME_REQUEST #define WM_IME_REQUEST 0x0288 #endif #ifndef WM_MOUSEHOVER #define WM_MOUSEHOVER 0x02A1 #endif #ifndef WM_MOUSELEAVE #define WM_MOUSELEAVE 0x02A3 #endif #ifndef WM_NCMOUSEHOVER #define WM_NCMOUSEHOVER 0x02A0 #endif #ifndef WM_NCMOUSELEAVE #define WM_NCMOUSELEAVE 0x02A2 #endif #ifndef WM_APPCOMMAND #define WM_APPCOMMAND 0x0319 #endif #ifndef WM_HANDHELDFIRST #define WM_HANDHELDFIRST 0x0358 #endif #ifndef WM_HANDHELDLAST #define WM_HANDHELDLAST 0x035F #endif #ifndef WM_AFXFIRST #define WM_AFXFIRST 0x0360 #endif #ifndef WM_AFXLAST #define WM_AFXLAST 0x037F #endif #ifndef CopyCursor #define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur))) #endif #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /* Define some of the X11 constants also here, just for laziness */ /* Error codes */ #define Success 0 /* Grabbing status */ #define GrabSuccess 0 #define AlreadyGrabbed 2 typedef struct _GdkGCWin32Data GdkGCWin32Data; typedef struct _GdkDrawableWin32Data GdkDrawableWin32Data; typedef struct _GdkWindowWin32Data GdkWindowWin32Data; typedef struct _GdkColormapPrivateWin32 GdkColormapPrivateWin32; typedef struct _GdkCursorPrivate GdkCursorPrivate; typedef struct _GdkWin32SingleFont GdkWin32SingleFont; typedef struct _GdkFontPrivateWin32 GdkFontPrivateWin32; typedef struct _GdkImagePrivateWin32 GdkImagePrivateWin32; typedef struct _GdkVisualPrivate GdkVisualPrivate; typedef struct _GdkRegionPrivate GdkRegionPrivate; typedef struct _GdkICPrivate GdkICPrivate; #define GDK_DRAWABLE_WIN32DATA(win) ((GdkDrawableWin32Data *)(((GdkDrawablePrivate*)(win))->klass_data)) #define GDK_WINDOW_WIN32DATA(win) ((GdkWindowWin32Data *)(((GdkDrawablePrivate*)(win))->klass_data)) #define GDK_GC_WIN32DATA(gc) ((GdkGCWin32Data *)(((GdkGCPrivate*)(gc))->klass_data)) struct _GdkGCWin32Data { /* A Windows Device Context (DC) is not equivalent to an X11 * GC. We can use a DC only in the window for which it was * allocated, or (in the case of a memory DC) with the bitmap that * has been selected into it. Thus, we have to release and * reallocate a DC each time the GdkGC is used to paint into a new * window or pixmap. We thus keep all the necessary values in the * GdkGCWin32Data struct. */ HDC xgc; GdkGCValuesMask values_mask; gulong foreground; /* Pixel values from GdkColor, */ gulong background; /* not Win32 COLORREFs */ GdkFont *font; gint rop2; GdkFill fill_style; GdkPixmap *tile; GdkPixmap *stipple; HRGN clip_region; GdkSubwindowMode subwindow_mode; gint ts_x_origin; gint ts_y_origin; gint clip_x_origin; gint clip_y_origin; gint graphics_exposures; gint pen_width; DWORD pen_style; HANDLE hwnd; /* If a DC is allocated, for which window * or what bitmap is selected into it */ HPALETTE holdpal; }; struct _GdkDrawableWin32Data { HANDLE xid; GdkImage *image; /* For GdkPixmaps, a pointer to the GdkImage * containing the pixels. */ }; struct _GdkWindowWin32Data { GdkDrawableWin32Data drawable; DWORD owner_thread_id; /* We must keep the event mask here to filter them ourselves */ gint event_mask; /* Values for bg_type */ #define GDK_WIN32_BG_NORMAL 0 #define GDK_WIN32_BG_PIXEL 1 #define GDK_WIN32_BG_PIXMAP 2 #define GDK_WIN32_BG_PARENT_RELATIVE 3 #define GDK_WIN32_BG_TRANSPARENT 4 /* We draw the background ourselves at WM_ERASEBKGND */ guchar bg_type; gulong bg_pixel; /* GdkColor pixel, not COLORREF */ GdkPixmap *bg_pixmap; HCURSOR xcursor; /* Window size hints */ gint hint_flags; gint hint_x, hint_y; gint hint_min_width, hint_min_height; gint hint_max_width, hint_max_height; gboolean extension_events_selected; HKL input_locale; CHARSETINFO charset_info; }; struct _GdkCursorPrivate { GdkCursor cursor; HCURSOR xcursor; }; struct _GdkWin32SingleFont { HFONT xfont; UINT charset; UINT codepage; FONTSIGNATURE fs; GdkFont* font_set; }; struct _GdkFontPrivateWin32 { GdkFontPrivate base; GSList *fonts; /* List of GdkWin32SingleFonts */ GSList *names; }; struct _GdkVisualPrivate { GdkVisual visual; }; typedef enum { GDK_WIN32_PE_STATIC, GDK_WIN32_PE_AVAILABLE, GDK_WIN32_PE_INUSE } GdkWin32PalEntryState; struct _GdkColormapPrivateWin32 { GdkColormapPrivate base; HPALETTE hpal; gint current_size; /* Current size of hpal */ GdkWin32PalEntryState *use; gint private_val; GHashTable *hash; GdkColorInfo *info; }; struct _GdkImagePrivateWin32 { GdkImagePrivate base; GdkDrawable *pixmap; }; struct _GdkRegionPrivate { GdkRegion region; HRGN xregion; }; void gdk_win32_selection_init (void); void gdk_win32_dnd_exit (void); void gdk_xid_table_insert (HANDLE *hnd, gpointer data); void gdk_xid_table_remove (HANDLE xid); gpointer gdk_xid_table_lookup (HANDLE xid); GdkGC * _gdk_win32_gc_new (GdkDrawable *drawable, GdkGCValues *values, GdkGCValuesMask values_mask); COLORREF gdk_win32_colormap_color_pack (GdkColormapPrivateWin32 *colormap_private, gulong pixel); void gdk_win32_colormap_color_unpack (GdkColormapPrivateWin32 *colormap_private, COLORREF color, GdkColor *result); HDC gdk_gc_predraw (GdkDrawable *drawable, GdkGCPrivate *gc_private, GdkGCValuesMask usage); void gdk_gc_postdraw (GdkDrawable *drawable, GdkGCPrivate *gc_private, GdkGCValuesMask usage); void gdk_win32_clear_hdc_cache (void); void gdk_win32_clear_hdc_cache_for_hwnd (HWND hwnd); GdkPixmap* gdk_win32_pixmap_new (GdkWindow *window, GdkVisual *visual, gint width, gint height, gint depth); void gdk_win32_blit (gboolean use_fg_bg, GdkDrawable *drawable, GdkGC *gc, GdkPixmap *src, gint xsrc, gint ysrc, gint xdest, gint ydest, gint width, gint height); GdkImagePrivateWin32 *gdk_win32_image_alloc (void); HRGN gdk_win32_bitmap_to_region (GdkPixmap *pixmap); void gdk_win32_dropfiles_store(gchar *data); void gdk_selection_property_delete (GdkWindow *); gint gdk_nmbstowcs (GdkWChar *dest, const gchar *src, gint src_len, gint dest_max); gint gdk_nmbstowchar_ts (wchar_t *dest, const gchar *src, gint src_len, gint dest_max); gchar *gdk_nwchar_ts_to_mbs (const wchar_t *src, gint src_len); void gdk_wchar_text_handle (GdkFont *font, const wchar_t *wcstr, int wclen, void (*handler)(GdkWin32SingleFont *, const wchar_t *, int, void *), void *arg); void gdk_win32_api_failed (const gchar *where, gint line, const gchar *api); void gdk_other_api_failed (const gchar *where, gint line, const gchar *api); void gdk_win32_gdi_failed (const gchar *where, gint line, const gchar *api); #ifdef __GNUC__ #define WIN32_API_FAILED(api) gdk_win32_api_failed (__FILE__ ":" __PRETTY_FUNCTION__, __LINE__, api) #define WIN32_GDI_FAILED(api) gdk_win32_gdi_failed (__FILE__ ":" __PRETTY_FUNCTION__, __LINE__, api) #define OTHER_API_FAILED(api) gdk_other_api_failed (__FILE__ ":" __PRETTY_FUNCTION__, __LINE__, api) #else #define WIN32_API_FAILED(api) gdk_win32_api_failed (__FILE__, __LINE__, api) #define WIN32_GDI_FAILED(api) gdk_win32_gdi_failed (__FILE__, __LINE__, api) #define OTHER_API_FAILED(api) gdk_other_api_failed (__FILE__, __LINE__, api) #endif #ifdef G_ENABLE_DEBUG gchar *gdk_win32_color_to_string (const GdkColor *color); gchar *gdk_win32_cap_style_to_string (GdkCapStyle cap_style); gchar *gdk_win32_fill_style_to_string (GdkFill fill); gchar *gdk_win32_function_to_string (GdkFunction function); gchar *gdk_win32_join_style_to_string (GdkJoinStyle join_style); gchar *gdk_win32_line_style_to_string (GdkLineStyle line_style); gchar *gdk_win32_drawable_type_to_string (GdkDrawableType type); gchar *gdk_win32_drawable_description (GdkDrawable *d); gchar *gdk_win32_message_name (UINT msg); void gdk_win32_print_paletteentries (const PALETTEENTRY *pep, const int nentries); void gdk_win32_print_system_palette (void); void gdk_win32_print_hpalette (HPALETTE hpal); #endif extern LRESULT CALLBACK gdk_WindowProc (HWND, UINT, WPARAM, LPARAM); extern GdkDrawableClass _gdk_win32_drawable_class; extern HWND gdk_root_window; GDKVAR gchar *gdk_progclass; extern gboolean gdk_event_func_from_window_proc; extern gint gdk_max_colors; extern HDC gdk_DC; extern HINSTANCE gdk_DLLInstance; extern HINSTANCE gdk_ProgInstance; GDKVAR GdkAtom gdk_selection_property; extern GdkAtom text_uri_list_atom; extern GdkAtom compound_text_atom; extern GdkAtom gdk_clipboard_atom; extern GdkAtom gdk_win32_dropfiles_atom; extern GdkAtom gdk_ole2_dnd_atom; extern WORD cf_rtf; extern WORD cf_utf8_string; typedef enum { GDK_WIN32_DND_NONE = 0, GDK_WIN32_DND_PENDING = 1, GDK_WIN32_DND_DROPPED = 2, GDK_WIN32_DND_FAILED = 3, GDK_WIN32_DND_DRAGGING = 4, } GdkWin32DndState; extern GdkWin32DndState gdk_win32_dnd_target_state; extern GdkWin32DndState gdk_win32_dnd_source_state; extern DWORD windows_version; #define IS_WIN_NT(dwVersion) (dwVersion < 0x80000000) #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __GDK_PRIVATE_WIN32_H__ */ lablgtk-3.1.2/src/glib.ml0000644000650106067230000002420214161276610014036 0ustar glondused(**************************************************************************) (* 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$ *) type unichar = int type unistring = unichar array exception GError of string external _init : unit -> unit = "ml_glib_init" let () = _init () ; Callback.register_exception "gerror" (GError "") module Main = struct type t external create : bool -> t = "ml_g_main_new" external iteration : bool -> bool = "ml_g_main_iteration" external pending : unit -> bool = "ml_g_main_pending" external is_running : t -> bool = "ml_g_main_is_running" external quit : t -> unit = "ml_g_main_quit" external destroy : t -> unit = "ml_g_main_destroy" type locale_category = [ `ALL | `COLLATE | `CTYPE | `MESSAGES | `MONETARY | `NUMERIC | `TIME ] external setlocale : locale_category -> string option -> string = "ml_setlocale" external wrap_poll_func : unit -> unit = "ml_g_wrap_poll_func" end let int_of_priority = function | `HIGH -> -100 | `DEFAULT -> 0 | `HIGH_IDLE -> 100 | `DEFAULT_IDLE -> 200 | `LOW -> 300 module Timeout = struct type id external add : ?prio:int -> ms:int -> callback:(unit -> bool) -> id = "ml_g_timeout_add" let add = add ?prio:None external remove : id -> unit = "ml_g_source_remove" end module Idle = struct type id external add : ?prio:int -> (unit -> bool) -> id = "ml_g_idle_add" external remove : id -> unit = "ml_g_source_remove" end module Io = struct type channel type condition = [ `IN | `OUT | `PRI | `ERR | `HUP | `NVAL ] type id external channel_of_descr : Unix.file_descr -> channel = "ml_g_io_channel_unix_new" external remove : id -> unit = "ml_g_source_remove" external add_watch : cond:condition list -> callback:(condition list -> bool) -> ?prio:int -> channel -> id = "ml_g_io_add_watch" external read : channel -> buf:bytes -> pos:int -> len:int -> int = "ml_g_io_channel_read" external read_chars : channel -> buf:bytes -> pos:int -> len:int -> int = "ml_g_io_channel_read_chars" end module Message = struct type log_level = [ `ERROR | `CRITICAL | `WARNING | `MESSAGE | `INFO | `DEBUG | `FLAG_RECURSION | `FLAG_FATAL ] external _log_level : log_level -> int = "ml_Log_level_val" let log_level = function | `CUSTOM i -> i lsl 8 | #log_level as level -> _log_level level let int_of_log_levels levels = List.fold_left (fun acc lev -> acc lor (log_level lev)) 0 levels type log_handler external _set_log_handler : ?domain:string -> levels:int -> (level:int -> string -> unit) -> log_handler = "ml_g_log_set_handler" let set_log_handler ?domain ~levels f = _set_log_handler ?domain ~levels:(int_of_log_levels levels) f external remove_log_handler : log_handler -> unit = "ml_g_log_remove_handler" external _set_always_fatal : int -> unit = "ml_g_log_set_always_fatal" let set_always_fatal (levels : log_level list) = _set_always_fatal (int_of_log_levels levels) external _set_fatal_mask : ?domain:string -> int -> unit = "ml_g_log_set_fatal_mask" let set_fatal_mask ?domain levels = _set_fatal_mask ?domain (int_of_log_levels levels) external _log : string -> int -> string -> unit = "ml_g_log" let log ?(domain="") level fmt = Printf.kprintf (_log domain (log_level level)) fmt end (* module Thread = struct external init : unit -> unit = "ml_g_thread_init" (* Call only once! *) external enter : unit -> unit = "ml_gdk_threads_enter" external leave : unit -> unit = "ml_gdk_threads_leave" end *) module Convert = struct type error = | NO_CONVERSION | ILLEGAL_SEQUENCE | FAILED | PARTIAL_INPUT | BAD_URI | NOT_ABSOLUTE_PATH exception Error of error * string let () = Callback.register_exception "g_convert_error" (Error (NO_CONVERSION, "")) external convert : string -> to_codeset:string -> from_codeset:string -> string = "ml_g_convert" external convert_with_fallback : ?fallback:string -> to_codeset:string -> from_codeset:string -> string -> string = "ml_g_convert_with_fallback" (* [get_charset ()] returns the pair [u,s] where [u] is true if the current charset is UTF-8 encoded and [s] is the charset name. *) external get_charset : unit -> bool * string = "ml_g_get_charset" external utf8_validate : string -> bool = "ml_g_utf8_validate" let raise_bad_utf8 () = raise (Error (ILLEGAL_SEQUENCE, "Invalid byte sequence for UTF-8 string")) let locale_from_utf8 s = match get_charset () with | (true, _) -> if utf8_validate s then s else raise_bad_utf8 () | (false, to_codeset) -> convert s ~to_codeset ~from_codeset:"UTF-8" let locale_to_utf8 s = match get_charset () with | (true, _) -> if utf8_validate s then s else raise_bad_utf8 () | (false, from_codeset) -> convert s ~to_codeset:"UTF-8" ~from_codeset external filename_from_utf8 : string -> string = "ml_g_filename_from_utf8" external filename_to_utf8 : string -> string = "ml_g_filename_to_utf8" external filename_from_uri : string -> string option * string = "ml_g_filename_from_uri" external filename_to_uri : ?hostname:string -> string -> string = "ml_g_filename_to_uri" end module Unichar = struct external to_lower : unichar -> unichar = "ml_g_unichar_tolower" external to_upper : unichar -> unichar = "ml_g_unichar_toupper" external to_title : unichar -> unichar = "ml_g_unichar_totitle" external digit_value : unichar -> int = "ml_g_unichar_digit_value" external xdigit_value : unichar -> int = "ml_g_unichar_xdigit_value" external validate : unichar -> bool = "ml_g_unichar_validate" [@@noalloc] external isalnum : unichar -> bool = "ml_g_unichar_isalnum" external isalpha : unichar -> bool = "ml_g_unichar_isalpha" external iscntrl : unichar -> bool = "ml_g_unichar_iscntrl" external isdigit : unichar -> bool = "ml_g_unichar_isdigit" external isgraph : unichar -> bool = "ml_g_unichar_isgraph" external islower : unichar -> bool = "ml_g_unichar_islower" external isprint : unichar -> bool = "ml_g_unichar_isprint" external ispunct : unichar -> bool = "ml_g_unichar_ispunct" external isspace : unichar -> bool = "ml_g_unichar_isspace" external isupper : unichar -> bool = "ml_g_unichar_isupper" external isxdigit : unichar -> bool = "ml_g_unichar_isxdigit" external istitle : unichar -> bool = "ml_g_unichar_istitle" external isdefined : unichar -> bool = "ml_g_unichar_isdefined" external iswide : unichar -> bool = "ml_g_unichar_iswide" end module Utf8 = struct include Gutf8 external validate : string -> bool = "ml_g_utf8_validate" external length : string -> int = "ml_g_utf8_strlen" external offset_to_pos : string -> pos:int -> off:int -> int = "ml_g_utf8_offset_to_pointer" [@@noalloc] external uppercase : string -> string = "ml_g_utf8_strup" external lowercase : string -> string = "ml_g_utf8_strdown" type normalize_mode = [ `DEFAULT | `DEFAULT_COMPOSE | `ALL | `ALL_COMPOSE ] external normalize : string -> normalize_mode -> string = "ml_g_utf8_normalize" external casefold : string -> string = "ml_g_utf8_casefold" external collate : string -> string -> int = "ml_g_utf8_collate" external collate_key : string -> string = "ml_g_utf8_collate_key" end module Markup = struct type error = | BAD_UTF8 | EMPTY | PARSE | UNKNOWN_ELEMENT | UNKNOWN_ATTRIBUTE | INVALID_CONTENT exception Error of error * string let () = Callback.register_exception "g_markup_error" (Error (BAD_UTF8, "")) external escape_text : string -> string = "ml_g_markup_escape_text" end external get_prgname : unit -> string = "ml_g_get_prgname" external set_prgname : string -> unit = "ml_g_set_prgname" external get_application_name : unit -> string = "ml_g_get_application_name" external set_application_name : string -> unit = "ml_g_set_application_name" external get_user_name : unit -> string = "ml_g_get_user_name" external get_real_name : unit -> string = "ml_g_get_real_name" external get_home_dir : unit -> string option = "ml_g_get_home_dir" external get_tmp_dir : unit -> string = "ml_g_get_tmp_dir" external find_program_in_path : string -> string = "ml_g_find_program_in_path" external getenv : string -> string = "ml_g_getenv" external setenv : string -> string -> bool -> unit = "ml_g_setenv" external unsetenv : string -> unit = "ml_g_unsetenv" external get_user_cache_dir : unit -> string = "ml_g_get_user_cache_dir" external get_user_data_dir : unit -> string = "ml_g_get_user_data_dir" external get_user_config_dir : unit -> string = "ml_g_get_user_config_dir" external get_system_data_dirs : unit -> string list = "ml_g_get_system_data_dirs" external get_system_config_dirs : unit -> string list = "ml_g_get_system_config_dirs" external usleep : int -> unit = "ml_g_usleep" lablgtk-3.1.2/src/glib.mli0000644000650106067230000002374314161276610014220 0ustar glondused(**************************************************************************) (* 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$ *) (** Interface to Glib functions @gtkdoc glib index *) type unichar = int type unistring = unichar array exception GError of string (** {3 Main Event Loop} *) (** The Main Event Loop @gtkdoc glib glib-The-Main-Event-Loop *) module Main : sig type t val create : bool -> t val iteration : bool -> bool val pending : unit -> bool val is_running : t -> bool val quit : t -> unit val destroy : t -> unit type locale_category = [ `ALL | `COLLATE | `CTYPE | `MESSAGES | `MONETARY | `NUMERIC | `TIME ] val setlocale : locale_category -> string option -> string val wrap_poll_func : unit -> unit end val int_of_priority : [< `HIGH | `DEFAULT | `HIGH_IDLE | `DEFAULT_IDLE | `LOW] -> int (** @gtkdoc glib glib-The-Main-Event-Loop *) module Timeout : sig type id val add : ms:int -> callback:(unit -> bool) -> id val remove : id -> unit end (** @gtkdoc glib glib-The-Main-Event-Loop *) module Idle : sig type id val add : ?prio:int -> (unit -> bool) -> id val remove : id -> unit end (** {3 IO Channels} *) (** IO Channels @gtkdoc glib glib-IO-Channels *) module Io : sig (** Io condition, called from the main loop *) type channel type condition = [ `ERR | `HUP | `IN | `NVAL | `OUT | `PRI] type id val channel_of_descr : Unix.file_descr -> channel val add_watch : cond:condition list -> callback:(condition list -> bool) -> ?prio:int -> channel -> id val remove : id -> unit val read : channel -> buf:bytes -> pos:int -> len:int -> int val read_chars : channel -> buf:bytes -> pos:int -> len:int -> int end (** {3 Message Logging} *) (** @gtkdoc glib glib-Message-Logging *) module Message : sig type log_level = [ `CRITICAL | `DEBUG | `ERROR | `FLAG_FATAL | `FLAG_RECURSION | `INFO | `MESSAGE | `WARNING] val log_level : [< log_level|`CUSTOM of int] -> int type log_handler val set_log_handler : ?domain:string -> levels:log_level list -> (level:int -> string -> unit) -> log_handler val remove_log_handler : log_handler -> unit val set_always_fatal : log_level list -> unit val set_fatal_mask : ?domain:string -> [log_level|`CUSTOM of int] list -> unit val log : ?domain:string -> [log_level|`CUSTOM of int] -> ('a, unit, string, unit) format4 -> 'a end (* module Thread : sig val init : unit -> unit (* Call only once! *) val enter : unit -> unit val leave : unit -> unit end *) (** {3 Character Sets} *) (** Character Set Conversion @gtkdoc glib glib-Character-Set-Conversion *) module Convert : sig type error = | NO_CONVERSION (** Conversion between the requested character sets is not supported *) | ILLEGAL_SEQUENCE (** Invalid byte sequence in conversion input *) | FAILED (** Conversion failed for some reason *) | PARTIAL_INPUT (** Partial character sequence at end of input *) | BAD_URI (** URI is invalid *) | NOT_ABSOLUTE_PATH (** Pathname is not an absolute path *) exception Error of error * string val convert : string -> to_codeset:string -> from_codeset:string -> string (** @raise Error . *) val convert_with_fallback : ?fallback:string -> to_codeset:string -> from_codeset:string -> string -> string (** @raise Error . *) (** All internal strings are encoded in utf8: you should use the following conversion functions *) val locale_from_utf8 : string -> string (** Converts the input string from [UTF-8] to the encoding of the current locale. If the locale's encoding is [UTF-8], the string is simply validated and returned unmodified. @raise Error if the conversion fails @raise Error if the string is not a valid [UTF-8] string *) val locale_to_utf8 : string -> string (** @raise Error . *) (** Converts the input string from the encoding of the current locale to [UTF-8]. If the locale's encoding is [UTF-8], the string is simply validated and returned unmodified. @raise Error if the conversion fails @raise Error if the string is not a valid [UTF-8] string *) val filename_from_utf8 : string -> string (** @raise Error . *) val filename_to_utf8 : string -> string (** @raise Error . *) val filename_from_uri : string -> string option * string (** @raise Error . *) val filename_to_uri : ?hostname:string -> string -> string (** @raise Error . *) val get_charset : unit -> bool * string (** Obtains the character set for the current locale. @return the pair [u,s] where [u] is true if the character set is [UTF-8] and [s] is the character set name *) end (** Unicode Manipulation @gtkdoc glib glib-Unicode-Manipulation *) module Unichar : sig val to_lower : unichar -> unichar val to_upper : unichar -> unichar val to_title : unichar -> unichar val digit_value : unichar -> int val xdigit_value : unichar -> int val validate : unichar -> bool val isalnum : unichar -> bool val isalpha : unichar -> bool val iscntrl : unichar -> bool val isdigit : unichar -> bool val isgraph : unichar -> bool val islower : unichar -> bool val isprint : unichar -> bool val ispunct : unichar -> bool val isspace : unichar -> bool val isupper : unichar -> bool val isxdigit : unichar -> bool val istitle : unichar -> bool val isdefined : unichar -> bool val iswide : unichar -> bool end (** Unicode Manipulation @gtkdoc glib glib-Unicode-Manipulation *) module Utf8 : sig (** UTF-8 handling, and conversion to UCS-4 *) (** If you read an UTF-8 string from somewhere, you should validate it, or risk random segmentation faults *) val validate : string -> bool val length : string -> int (** [from_unichar 0xiii] converts a code point [iii] (usually in hexadecimal form) into a string containing the UTF-8 encoded character [0xiii]. See {{:http://www.unicode.org/}unicode.org} for charmaps. Does not check that the given code point is a valid unicode point. *) val from_unichar : unichar -> string val from_unistring : unistring -> string (** [to_unichar_validated] decodes an UTF-8 encoded code point and checks for incomplete characters, invalid characters and overlong encodings. @raise Convert.Error if invalid *) val to_unichar_validated : string -> pos:int ref -> unichar (** [to_unichar] decodes an UTF-8 encoded code point. Result is undefined if [pos] does not point to a valid UTF-8 encoded character. *) val to_unichar : string -> pos:int ref -> unichar (** [to_unistring] decodes an UTF-8 encoded string into an array of [unichar]. The string {e must} be valid. *) val to_unistring : string -> unistring val first_char : string -> unichar val offset_to_pos : string -> pos:int -> off:int -> int type normalize_mode = [ `DEFAULT | `DEFAULT_COMPOSE | `ALL | `ALL_COMPOSE ] val normalize : string -> normalize_mode -> string val uppercase : string -> string val lowercase : string -> string val casefold : string -> string val collate : string -> string -> int val collate_key : string -> string end (** @gtkdoc glib glib-Simple-XML-Subset-Parser *) module Markup : sig type error = | BAD_UTF8 | EMPTY | PARSE | UNKNOWN_ELEMENT | UNKNOWN_ATTRIBUTE | INVALID_CONTENT exception Error of error * string val escape_text : string -> string end (** {3 Miscellaneous Utility Functions} *) val get_prgname : unit -> string val set_prgname : string -> unit val get_application_name : unit -> string (** @since GTK 2.2 *) val set_application_name : string -> unit (** @since GTK 2.2 *) val get_user_name : unit -> string val get_real_name : unit -> string val get_home_dir : unit -> string option val get_tmp_dir : unit -> string val find_program_in_path : string -> string (** @raise Not_found if the program is not found in the path or is not executable *) val getenv : string -> string (** @raise Not_found if the environment variable is not found. *) val setenv : string -> string -> bool -> unit (** @raise Failure if the environment variable couldn't be set. @since GTK 2.4 *) val unsetenv : string -> unit (** @since GTK 2.4 *) val get_user_cache_dir : unit -> string (** @since GTK 2.6 *) val get_user_data_dir : unit -> string (** @since GTK 2.6 *) val get_user_config_dir : unit -> string (** @since GTK 2.6 *) val get_system_data_dirs : unit -> string list (** @since GTK 2.6 *) val get_system_config_dirs : unit -> string list (** @since GTK 2.6 *) val usleep : int -> unit lablgtk-3.1.2/src/glib_tags.var0000644000650106067230000000075014161276610015236 0ustar glondused(* $Id$ *) (* package "glib" *) type log_level = "G_LOG_LEVEL_" [ `ERROR | `CRITICAL | `WARNING | `MESSAGE | `INFO | `DEBUG | `FLAG_RECURSION "G_LOG_FLAG_RECURSION" | `FLAG_FATAL "G_LOG_FLAG_FATAL" ] type io_condition = "G_IO_" [ `IN | `OUT | `PRI | `ERR | `HUP | `NVAL ] type normalize_mode = "G_NORMALIZE_" [ `DEFAULT | `DEFAULT_COMPOSE | `ALL | `ALL_COMPOSE ] type locale_category = "LC_" [ `ALL | `COLLATE | `CTYPE | `MESSAGES | `MONETARY | `NUMERIC | `TIME ] lablgtk-3.1.2/src/gobject.ml0000644000650106067230000003535214161276610014546 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels open Gaux type -'a obj type g_type type g_class type g_value type g_closure type 'a objtype = g_type type basic = [ `CHAR of char | `CAML of Obj.t | `BOOL of bool | `INT of int | `FLOAT of float | `STRING of string option | `POINTER of Gpointer.boxed option | `INT64 of int64 ] type data_get = [ basic | `NONE | `OBJECT of unit obj option ] type 'a data_set = [ basic | `OBJECT of 'a obj option | `INT32 of int32 | `LONG of nativeint ] type base_data = [ `BOOLEAN | `CHAR | `UCHAR | `INT | `UINT | `LONG | `ULONG | `INT64 | `UINT64 | `ENUM | `FLAGS | `FLOAT | `DOUBLE | `STRING | `POINTER | `BOXED | `OBJECT ] type data_kind = [ `INT32 | `UINT32 | `OTHER of g_type | base_data ] type data_conv_get = [ `INT32 of int32 | data_get ] type 'a data_conv = { kind: data_kind; proj: (data_conv_get -> 'a); inj: ('a -> unit data_set) } type fundamental_type = [ `INVALID | `NONE | `INTERFACE | `PARAM | base_data ] type signal_type = [ `RUN_FIRST | `RUN_LAST | `NO_RECURSE | `ACTION | `NO_HOOKS ] external do_unref : unit -> unit = "ml_g_object_do_unref" let unref_alarm = Gc.create_alarm do_unref module Type = struct external init : unit -> unit = "ml_g_type_init" let () = init () external name : g_type -> string = "ml_g_type_name" external _from_name : string -> g_type = "ml_g_type_from_name" external parent : g_type -> g_type = "ml_g_type_parent" external depth : g_type -> int = "ml_g_type_depth" external is_a : g_type -> g_type -> bool = "ml_g_type_is_a" external fundamental : g_type -> fundamental_type = "ml_G_TYPE_FUNDAMENTAL" external of_fundamental : fundamental_type -> g_type = "ml_Fundamental_type_val" external interface_prerequisites : g_type -> g_type list = "ml_g_type_interface_prerequisites" (** @since GTK 2.2 *) external register_static : parent:g_type -> name:string -> g_type = "ml_g_type_register_static" let invalid = of_fundamental `INVALID let from_name s = let t = _from_name s in if t = invalid then failwith ("Gobject.Type.from_name: " ^ s); t external g_caml_get_type : unit -> g_type = "ml_g_caml_get_type" let caml = g_caml_get_type () end module Value = struct external create_empty : unit -> g_value = "ml_g_value_new" (* create a g_value owned by ML *) external init : g_value -> g_type -> unit = "ml_g_value_init" let create ty = let v = create_empty () in init v ty; v (* create and initialize a g_value *) external release : g_value -> unit = "ml_g_value_release" (* invalidate a g_value, releasing resources *) external get_type : g_value -> g_type = "ml_G_VALUE_TYPE" external copy : g_value -> g_value -> unit = "ml_g_value_copy" external reset : g_value -> unit = "ml_g_value_reset" external type_compatible : g_type -> g_type -> bool = "ml_g_value_type_compatible" external type_transformable : g_type -> g_type -> bool = "ml_g_value_type_transformable" external transform : g_value -> g_value -> bool = "ml_g_value_transform" external get : g_value -> data_get = "ml_g_value_get_mlvariant" external set : g_value -> 'a data_set -> unit = "ml_g_value_set_mlvariant" external get_pointer : g_value -> Gpointer.boxed = "ml_g_value_get_pointer" external get_nativeint : g_value -> nativeint = "ml_g_value_get_nativeint" external get_int32 : g_value -> int32 = "ml_g_value_get_int32" let get_conv kind v = try match kind with (* special case to get all 32 bits *) | `INT32 | `UINT32 -> `INT32 (get_int32 v) (* special case to avoid copy of boxed *) | `POINTER -> `POINTER (try Some (get_pointer v) with Gpointer.Null -> None) | _ -> (get v :> data_conv_get) with Failure ("Gobject.get_int32"|"Gobject.get_pointer") -> `NONE end module Closure = struct type args type argv = { result: g_value; nargs: int; args: args } external create : (argv -> unit) -> g_closure = "ml_g_closure_new" external _nth : args -> pos:int -> g_value = "ml_g_value_shift" let nth arg ~pos = if pos < 0 || pos >= arg.nargs then invalid_arg "Gobject.Closure.nth"; _nth arg.args ~pos let result argv = argv.result let get_result_type arg = Value.get_type (result arg) let get_type arg ~pos = Value.get_type (nth arg ~pos) let get arg ~pos = Value.get (nth arg ~pos) let set_result arg = Value.set (result arg) let get_args arg = let rec loop args ~pos = if pos < 0 then args else loop (get arg ~pos :: args) ~pos:(pos-1) in loop [] ~pos:(arg.nargs - 1) let get_pointer arg ~pos = Value.get_pointer (nth arg ~pos) let get_nativeint arg ~pos = Value.get_nativeint (nth arg ~pos) let get_int32 arg ~pos = Value.get_int32 (nth arg ~pos) end let objtype_from_name ~caller name = let t = Type._from_name name in let f = Type.fundamental t in if f = `INVALID then failwith (caller ^ " : type " ^ name ^ " is not yet defined"); if f <> `OBJECT then failwith (caller ^ " : " ^ name ^ " is not an object type"); t external get_type : 'a obj -> g_type = "ml_G_TYPE_FROM_INSTANCE" external get_object_type : 'a obj -> g_type = "ml_G_TYPE_FROM_INSTANCE" let is_a obj name = Type.is_a (get_type obj) (objtype_from_name ~caller:"Gobject.is_a" name) exception Cannot_cast of string * string external unsafe_cast : 'a obj -> 'b obj = "%identity" let try_cast w name = if is_a w name then unsafe_cast w else raise (Cannot_cast(Type.name(get_type w), name)) external coerce : 'a obj -> unit obj = "%identity" external coerce_option : 'a obj option -> unit obj option = "%identity" (* [coerce] is safe *) external unsafe_create : g_type -> (string * 'a data_set) list -> 'b obj = "ml_g_object_new" (* This is dangerous! *) external unsafe_unref : 'a obj -> unit = "ml_g_object_unref" external get_ref_count : 'a obj -> int = "ml_g_object_ref_count" type ('a,'b) property = { name: string; conv: 'b data_conv } type 'a param = string * unit data_set let dyn_param prop v = (prop, (Obj.magic (v : 'a data_set) : unit data_set)) let param (prop : ('a,'b) property) d : 'a param = dyn_param prop.name (prop.conv.inj d) let unsafe_create ~classe l = unsafe_create (objtype_from_name ~caller:"Gobject.unsafe_create" classe) l let get_oid (obj : 'a obj) : int = (snd (Obj.magic obj) lor 0) module Data = struct let boolean = { kind = `BOOLEAN; proj = (function `BOOL b -> b | _ -> failwith "Gobject.get_bool"); inj = (fun b -> `BOOL b) } let char = { kind = `CHAR; proj = (function `CHAR c -> c | _ -> failwith "Gobject.get_char"); inj = (fun c -> `CHAR c) } let uchar = {char with kind = `UCHAR} let int = { kind = `INT; proj = (function `INT c -> c | _ -> failwith "Gobject.get_int"); inj = (fun c -> `INT c) } let uint = {int with kind = `UINT} let long = {int with kind = `LONG} let ulong = {int with kind = `ULONG} let int32 = { kind = `INT32; proj = (function `INT32 c -> c | _ -> failwith "Gobject.get_int32"); inj = (fun c -> `INT32 c) } let uint32 = {int32 with kind = `UINT32} let flags tbl = { kind = `FLAGS; proj = (function `INT c -> Gpointer.decode_flags tbl c | _ -> failwith "Gobject.get_flags"); inj = (fun c -> `INT (Gpointer.encode_flags tbl c)) } let enum tbl = { kind = `ENUM; proj = (function `INT c -> Gpointer.decode_variant tbl c | _ -> failwith "Gobject.get_enum"); inj = (fun c -> `INT (Gpointer.encode_variant tbl c)) } let int64 = { kind = `INT64; proj = (function `INT64 c -> c | _ -> failwith "Gobject.get_int64"); inj = (fun c -> `INT64 c) } let uint64 = {int64 with kind = `UINT64} let float = { kind = `FLOAT; proj = (function `FLOAT c -> c | _ -> failwith "Gobject.get_float"); inj = (fun c -> `FLOAT c) } let double = {float with kind = `DOUBLE} let string = { kind = `STRING; proj = (function `STRING (Some s) -> s | `STRING None -> "" | _ -> failwith "Gobject.get_string"); inj = (fun s -> `STRING (Some s)) } let string_option = { kind = `STRING; proj = (function `STRING s -> s | _ -> failwith "Gobject.get_string_option"); inj = (fun s -> `STRING s) } let pointer = { kind = `POINTER; proj = (function `POINTER c -> c | _ -> failwith "Gobject.get_pointer"); inj = (fun c -> `POINTER c) } let unsafe_pointer = { kind = `POINTER; proj = (function `POINTER (Some c) -> Obj.magic c | _ -> failwith "Gobject.get_pointer"); inj = (fun c -> `POINTER (Some (Obj.magic c))) } let magic : 'a option -> 'b option = Obj.magic let unsafe_pointer_option = { kind = `POINTER; proj = (function `POINTER c -> magic c | _ -> failwith "Gobject.get_pointer"); inj = (fun c -> `POINTER (magic c)) } let boxed_type t = if Type.fundamental t <> `BOXED then failwith "Gobject.Data.boxed_type"; `OTHER t let boxed t = {pointer with kind = boxed_type t} let unsafe_boxed t = {unsafe_pointer with kind = boxed_type t} let unsafe_boxed_option t = {unsafe_pointer_option with kind = boxed_type t} let gobject_option = { kind = `OBJECT; proj = (function `OBJECT c -> may_map ~f:unsafe_cast c | _ -> failwith "Gobject.get_object"); inj = (fun c -> `OBJECT (may_map ~f:unsafe_cast c)) } let gobject = { kind = `OBJECT; proj = (function `OBJECT (Some c) -> unsafe_cast c | `OBJECT None -> raise Gpointer.Null | _ -> failwith "Gobject.get_object"); inj = (fun c -> `OBJECT (Some (unsafe_cast c))) } let gobject_by_name name = { gobject with kind = `OTHER (Type.from_name name) } let caml = { kind = `OTHER Type.caml; proj = (function `CAML v -> Obj.obj v | _ -> failwith "Gobject.get_caml") ; inj = (fun v -> `CAML (Obj.repr v)) } let caml_option = { kind = `OTHER Type.caml; proj = (function `CAML v -> Some (Obj.obj v) | `NONE -> None | _ -> failwith "Gobject.get_caml") ; inj = (function None -> `POINTER None | Some v -> `CAML (Obj.repr v)) } let wrap ~inj ~proj conv = { kind = conv.kind; proj = (fun x -> proj (conv.proj x)); inj = (fun x -> conv.inj (inj x)) } let of_value conv v = conv.proj (Value.get_conv conv.kind v) let type_of_kind = function | `INT32 -> Type.of_fundamental `INT | `UINT32 -> Type.of_fundamental `UINT | `OTHER t -> t | #base_data as x -> Type.of_fundamental x let get_type conv = type_of_kind conv.kind let to_value conv x = let v = Value.create (get_type conv) in Value.set v (conv.inj x); v end module Property = struct external freeze_notify : 'a obj -> unit = "ml_g_object_freeze_notify" external thaw_notify : 'a obj -> unit = "ml_g_object_thaw_notify" external notify : 'a obj -> string -> unit = "ml_g_object_notify" external set_value : 'a obj -> string -> g_value -> unit = "ml_g_object_set_property" external get_value : 'a obj -> string -> g_value -> unit = "ml_g_object_get_property" external get_type : 'a obj -> string -> g_type = "ml_my_g_object_get_property_type" (* [get_property_type o name] may raise [Invalid_argument name] *) (* Converted the following to C to avoid too many calls let set_dyn obj prop data = let t = get_type obj prop in let v = Value.create t in Value.set v data; set_value obj prop v let get_dyn obj prop = let t = get_type obj prop in let v = Value.create t in get_value obj prop v; Value.get v *) external set_dyn : 'a obj -> string -> 'b data_set -> unit = "ml_g_object_set_property_dyn" external get_dyn : 'a obj -> string -> data_get = "ml_g_object_get_property_dyn" let set (obj : 'a obj) (prop : ('a,_) property) x = set_dyn obj prop.name (prop.conv.inj x) let get (obj : 'a obj) (prop : ('a,_) property) = let v = match prop.conv.kind with (* Special cases: need to bypass normal conversion *) | `INT32 | `UINT32 | `POINTER as k -> let t = get_type obj prop.name in let v = Value.create t in get_value obj prop.name v; Value.get_conv k v | _ -> (get_dyn obj prop.name :> data_conv_get) in prop.conv.proj v let get_some obj prop = match get obj prop with Some x -> x | None -> failwith ("Gobject.Property.get_some: " ^ prop.name) let check obj prop = let tp obj = Type.name (get_object_type obj) in let _data = try get_dyn obj prop.name with Invalid_argument _ -> failwith (tp obj ^ " has no property " ^ prop.name) | exn -> prerr_endline ("exception while looking for " ^ tp obj ^ "->" ^ prop.name); raise exn in try ignore (get obj prop) with Failure s -> failwith (s ^ " cannot handle " ^ tp obj ^ "->" ^ prop.name) | exn -> failwith (tp obj ^ "->" ^ prop.name ^ " raised " ^ Printexc.to_string exn) let may_cons prop x l = match x with Some x -> param prop x :: l | None -> l let may_cons_opt prop x l = match x with Some _ -> param prop x :: l | None -> l end let set p o x = Property.set o p x let get p o = Property.get o p let set_params obj params = List.iter params ~f:(fun (prop,arg) -> Property.set_dyn obj prop arg) lablgtk-3.1.2/src/gobject.mli0000644000650106067230000002076314161276610014717 0ustar glondused(**************************************************************************) (* 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$ *) type -'a obj type g_type type g_class type g_value type g_closure type basic = [ `BOOL of bool | `CAML of Obj.t | `CHAR of char | `FLOAT of float | `INT of int | `INT64 of int64 | `POINTER of Gpointer.boxed option | `STRING of string option ] type data_get = [ basic | `NONE | `OBJECT of unit obj option ] type 'a data_set = [ basic | `OBJECT of 'a obj option | `INT32 of int32 | `LONG of nativeint ] type base_data = [ `BOOLEAN | `CHAR | `UCHAR | `INT | `UINT | `LONG | `ULONG | `INT64 | `UINT64 | `ENUM | `FLAGS | `FLOAT | `DOUBLE | `STRING | `POINTER | `BOXED | `OBJECT ] type data_kind = [ `INT32 | `UINT32 | `OTHER of g_type | base_data ] type data_conv_get = [ `INT32 of int32 | data_get ] type 'a data_conv = { kind : data_kind; proj : data_conv_get -> 'a; inj : 'a -> unit data_set } type ('a, 'b) property = { name : string; conv : 'b data_conv } type fundamental_type = [ `INVALID | `NONE | `INTERFACE | `PARAM | base_data ] type signal_type = [ `RUN_FIRST | `RUN_LAST | `NO_RECURSE | `ACTION | `NO_HOOKS ] exception Cannot_cast of string * string val get_type : 'a obj -> g_type val is_a : 'a obj -> string -> bool val try_cast : 'a obj -> string -> 'b obj val get_oid : 'a obj -> int external unsafe_cast : 'a obj -> 'b obj = "%identity" external coerce : 'a obj -> unit obj = "%identity" external coerce_option : 'a obj option -> unit obj option = "%identity" (* [coerce] and [coerce_option] are safe *) type +'a param val dyn_param : string -> 'a data_set -> 'b param val param : ('a,'b) property -> 'b -> 'a param val unsafe_create : classe:string -> 'a param list -> 'a obj (* This type is NOT safe *) val unsafe_unref : 'a obj -> unit (* Creates a NULL pointer; many places do not check for them! *) val get_ref_count : 'a obj -> int (* Number of references to an object (for debugging) *) val set : ('a, 'b) property -> 'a obj -> 'b -> unit (* Will not raise an exception but may emit a Glib warning and ignore the property if it does not exist. *) val get : ('a, 'b) property -> 'a obj -> 'b (* [get prop o] may raise [Invalid_argument prop_name] *) val set_params : 'a obj -> 'a param list -> unit (* May emit a Glib warning and ignore the non existent properties. *) module Type : sig val init : unit -> unit val name : g_type -> string val from_name : string -> g_type val parent : g_type -> g_type val depth : g_type -> int val is_a : g_type -> g_type -> bool val fundamental : g_type -> fundamental_type val of_fundamental : fundamental_type -> g_type val interface_prerequisites : g_type -> g_type list (* [Benjamin] Experimental stub: the new class has the same size as its parent. No init functions right now. *) val register_static : parent:g_type -> name:string -> g_type val caml : g_type end module Value : sig val create_empty : unit -> g_value val init : g_value -> g_type -> unit val create : g_type -> g_value val release : g_value -> unit val get_type : g_value -> g_type val copy : g_value -> g_value -> unit val reset : g_value -> unit val type_compatible : g_type -> g_type -> bool val type_transformable : g_type -> g_type -> bool val transform : g_value -> g_value -> bool val get : g_value -> data_get val set : g_value -> 'a data_set -> unit val get_pointer : g_value -> Gpointer.boxed val get_nativeint : g_value -> nativeint val get_int32 : g_value -> int32 val get_conv : data_kind -> g_value -> data_conv_get end module Closure : sig type args type argv = { result : g_value; nargs : int; args : args; } val create : (argv -> unit) -> g_closure val nth : argv -> pos:int -> g_value val result : argv -> g_value val get_result_type : argv -> g_type val get_type : argv -> pos:int -> g_type val get : argv -> pos:int -> data_get val set_result : argv -> 'a data_set -> unit val get_args : argv -> data_get list val get_pointer : argv -> pos:int -> Gpointer.boxed val get_nativeint : argv -> pos:int -> nativeint val get_int32 : argv -> pos:int -> int32 end module Data : sig val boolean : bool data_conv val char : char data_conv val uchar : char data_conv val int : int data_conv val uint : int data_conv val long : int data_conv val ulong : int data_conv val flags : ([> ] as 'a) Gpointer.variant_table -> 'a list data_conv val enum : ([> ] as 'a) Gpointer.variant_table -> 'a data_conv val int32 : int32 data_conv val uint32 : int32 data_conv val int64 : int64 data_conv val uint64 : int64 data_conv val float : float data_conv val double : float data_conv val string : string data_conv val string_option : string option data_conv (* pointers disable copy *) val pointer : Gpointer.boxed option data_conv val unsafe_pointer : 'a data_conv val unsafe_pointer_option : 'a option data_conv (* use boxed to enable copy of parameter *) val boxed : g_type -> Gpointer.boxed option data_conv val unsafe_boxed : g_type -> 'a data_conv val unsafe_boxed_option : g_type -> 'a option data_conv val gobject : 'a obj data_conv val gobject_option : 'a obj option data_conv val gobject_by_name : string -> 'a obj data_conv val caml : 'a data_conv val caml_option : 'a option data_conv val wrap : inj:('a -> 'b) -> proj:('b -> 'a) -> 'b data_conv -> 'a data_conv val of_value : 'a data_conv -> g_value -> 'a val to_value : 'a data_conv -> 'a -> g_value val get_type : 'a data_conv -> g_type end module Property : sig val freeze_notify : 'a obj -> unit val thaw_notify : 'a obj -> unit val notify : 'a obj -> string -> unit val set_value : 'a obj -> string -> g_value -> unit (* [set_value o name] may raise [Invalid_argument name] *) val get_value : 'a obj -> string -> g_value -> unit (* [get_value o name] may raise [Invalid_argument name] *) val get_type : 'a obj -> string -> g_type (* [get_type o name] may raise [Invalid_argument name] *) val set_dyn : 'a obj -> string -> 'b data_set -> unit (* Will not raise an exception but may emit a Glib warning and ignore the property if it does not exist. *) val get_dyn : 'a obj -> string -> data_get (* [set_type o name] may raise [Invalid_argument name] *) val set : 'a obj -> ('a, 'b) property -> 'b -> unit (* Will not raise an exception but may emit a Glib warning and ignore the property if it does not exist. *) val get : 'a obj -> ('a, 'b) property -> 'b (* [get o prop] may raise [Invalid_argument prop_name] *) val get_some : 'a obj -> ('a, 'b option) property -> 'b val check : 'a obj -> ('a, 'b) property -> unit val may_cons : ('a,'b) property -> 'b option -> 'a param list -> 'a param list val may_cons_opt : ('a,'b option) property -> 'b option -> 'a param list -> 'a param list end lablgtk-3.1.2/src/gobject_tags.var0000644000650106067230000000101014161276610015724 0ustar glondused(* $Id$ *) (* package "gobject" *) type fundamental_type = "G_TYPE_" [ `INVALID | `NONE | `INTERFACE | `CHAR | `UCHAR | `BOOLEAN | `INT | `UINT | `LONG | `ULONG | `INT64 | `UINT64 | `ENUM | `FLAGS | `FLOAT | `DOUBLE | `STRING | `POINTER | `BOXED | `PARAM | `OBJECT ] type noconv data = [ `NONE | `CHAR | `CAML | `BOOL | `INT | `FLOAT | `STRING | `OBJECT | `POINTER | `INT64 | `INT32 | `LONG ] type signal_type = "G_SIGNAL_" [ `RUN_FIRST | `RUN_LAST | `NO_RECURSE | `ACTION | `NO_HOOKS ] lablgtk-3.1.2/src/gpointer.ml0000644000650106067230000001174614161276610014761 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels (* marked pointers *) type 'a optaddr let optaddr : 'a option -> 'a optaddr = function None -> Obj.magic 0 | Some x -> Obj.magic x (* boxed pointers *) type boxed let boxed_null : boxed = Obj.magic Nativeint.zero external peek_string : ?pos:int -> ?len:int -> boxed -> string = "ml_string_at_pointer" external peek_int : boxed -> int = "ml_int_at_pointer" external poke_int : boxed -> int -> unit = "ml_set_int_at_pointer" external peek_nativeint : boxed -> nativeint = "ml_long_at_pointer" external poke_nativeint : boxed -> nativeint -> unit = "ml_set_long_at_pointer" type 'a optboxed let optboxed : 'a option -> 'a optboxed = function None -> Obj.magic boxed_null | Some obj -> Obj.magic obj let may_box ~f obj : 'a optboxed = match obj with None -> Obj.magic boxed_null | Some obj -> Obj.magic (f obj : 'a) (* Variant tables *) type 'a variant_table constraint 'a = [> ] external decode_variant : 'a variant_table -> int -> 'a = "ml_ml_lookup_from_c" external encode_variant : 'a variant_table -> 'a -> int = "ml_ml_lookup_to_c" let encode_flags tbl l = List.fold_left l ~init:0 ~f:(fun acc v -> acc lor (encode_variant tbl v)) let decode_flags tbl c = let l = ref [] in for i = 30 downto 0 do (* only 31-bits in ocaml usual integers *) let d = 1 lsl i in if c land d <> 0 then l := decode_variant tbl d :: !l done; !l (* Exceptions *) exception Null let _ = Callback.register_exception "null_pointer" Null (* Stable pointer *) type 'a stable external stable_copy : 'a -> 'a stable = "ml_stable_copy" (* Region pointers *) type region = { data: Obj.t; path: int array; offset:int; length: int } let length reg = reg.length let unsafe_create_region ~path ~get_length data = { data = Obj.repr data; path = path; offset = 0; length = get_length data } let sub ?(pos=0) ?len reg = let len = match len with Some x -> x | None -> reg.length - pos in if pos < 0 || pos > reg.length || pos + len > reg.length then invalid_arg "Gpointer.sub"; { reg with offset = reg.offset + pos; length = len } external unsafe_get_byte : region -> pos:int -> int = "ml_gpointer_get_char" external unsafe_set_byte : region -> pos:int -> int -> unit = "ml_gpointer_set_char" external unsafe_blit : src:region -> dst:region -> unit ="ml_gpointer_blit" (* handle with care, if allocation not static *) external get_addr : region -> nativeint = "ml_gpointer_get_addr" let get_byte reg ~pos = if pos >= reg.length then invalid_arg "Gpointer.get_char"; unsafe_get_byte reg ~pos let set_byte reg ~pos ch = if pos >= reg.length then invalid_arg "Gpointer.set_char"; unsafe_set_byte reg ~pos ch let blit ~src ~dst = if src.length <> dst.length then invalid_arg "Gpointer.blit"; unsafe_blit ~src ~dst (* Making a region from a string is easy *) let region_of_bytes = unsafe_create_region ~path:[||] ~get_length:Bytes.length let bytes_of_region reg = let s = Bytes.create reg.length in let reg' = region_of_bytes s in unsafe_blit reg reg'; s (* Access bigarrays breaking the abstraction... dirty *) type 'a bigarray = (int, Bigarray.int8_unsigned_elt, 'a) Bigarray.Array1.t let bigarray_size (arr : 'a bigarray) = let size = { data = Obj.repr arr; path = [|1+4|]; offset = 0; length = 0 } in Nativeint.to_int (get_addr size) let region_of_bigarray arr = unsafe_create_region ~path:[|1|] ~get_length:bigarray_size arr lablgtk-3.1.2/src/gpointer.mli0000644000650106067230000000726014161276610015126 0ustar glondused(**************************************************************************) (* 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$ *) (** [Gpointer]: various kinds of pointers to C data *) (** Marked pointers *) type 'a optaddr val optaddr : 'a option -> 'a optaddr (** Boxed pointers *) type boxed val boxed_null : boxed val peek_string : ?pos:int -> ?len:int -> boxed -> string val peek_int : boxed -> int val poke_int : boxed -> int -> unit val peek_nativeint : boxed -> nativeint val poke_nativeint : boxed -> nativeint -> unit type 'a optboxed val optboxed : 'a option -> 'a optboxed val may_box : f:('a -> 'b) -> 'a option -> 'b optboxed (** Variant tables *) type 'a variant_table constraint 'a = [> ] val decode_variant : 'a variant_table -> int -> 'a val encode_variant : 'a variant_table -> 'a -> int val decode_flags : 'a variant_table -> int -> 'a list val encode_flags : 'a variant_table -> 'a list -> int (** Null pointer exception *) exception Null (** Ensure a value is copied in the old generation *) type 'a stable val stable_copy : 'a -> 'a stable (** Region handling *) (** The abstract type of heap regions *) type region val length : region -> int (** the length of the region *) val get_addr : region -> nativeint (** the start address of the region *) val sub : ?pos:int -> ?len:int -> region -> region (** subregion of length [len] starting at offset [pos] *) val get_byte : region -> pos:int -> int val set_byte : region -> pos:int -> int -> unit val blit : src:region -> dst:region -> unit val region_of_bytes : bytes -> region (** create a region sharing a string *) val bytes_of_region : region -> bytes (** copy the contents of the region to a string *) type 'a bigarray = (int, Bigarray.int8_unsigned_elt, 'a) Bigarray.Array1.t val region_of_bigarray : 'a bigarray -> region (** create a region sharing a bigarray *) (** Unsafe access *) val unsafe_create_region : path:int array -> get_length:('a -> int) -> 'a -> region (** [unsafe_create_region ~path ~get_length] returns a function to build regions from a specific kind of data abstraction *) external unsafe_get_byte : region -> pos:int -> int = "ml_gpointer_get_char" external unsafe_set_byte : region -> pos:int -> int -> unit = "ml_gpointer_set_char" lablgtk-3.1.2/src/gtk.ml0000644000650106067230000001777414161276610013726 0ustar glondused(**************************************************************************) (* 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$ *) open Gobject exception Error of string type 'a optobj = 'a obj Gpointer.optboxed type clampf = float module Tags = struct type expand_type = [ `X|`Y|`BOTH|`NONE ] include (GtkEnums : module type of GtkEnums with module Conv := GtkEnums.Conv) type position = position_type end open Tags type gtk_class type accel_group type clipboard type style = [`style] obj type css_provider = [`css_provider] obj type style_context = [`style_context] obj type 'a group = 'a obj option type statusbar_message type statusbar_context type selection_data type rectangle = { x: int; y: int; width: int; height: int } type target_entry = { target: string; flags: target_flags list; info: int } type box_packing = { expand: bool; fill: bool; padding: int; pack_type: pack_type } type orientable = [`giu|`orientable] type adjustment = [`giu|`adjustment] type tooltips = [`giu|`tooltips] type widget = [`giu|`widget] type container = [widget|`container] type container' = container obj type bin = [container|`bin] type alignment = [bin|`alignment] type button = [bin|`button] type toggle_button = [button|`togglebutton] type radio_button = [button|`togglebutton|`radiobutton] type color_button = [button|`colorbutton] type font_button = [button|`fontbutton] type link_button = [button|`linkbutton] type scale_button = [button|`scalebutton] type option_menu = [button|`optionmenu] type event_box = [bin|`eventbox] type frame = [bin|`frame] type aspect_frame = [bin|`frame|`aspectframe] type handle_box = [bin|`handlebox] type invisible = [bin|`invisible] type item = [bin|`item] type list_item = [item|`listitem] type menu_item = [item|`menuitem] type image_menu_item = [menu_item| `imagemenuitem] type check_menu_item = [item|`menuitem|`checkmenuitem] type radio_menu_item = [item|`menuitem|`checkmenuitem|`radiomenuitem] type tree_item = [item|`treeitem] type builder = [`giu|`builder] type scrolled_window = [bin|`scrolledwindow] type viewport = [bin|`viewport] type window = [bin|`window] type assistant = [window|`assistant] type dialog = [window|`dialog] type message_dialog = [dialog|`messagedialog] type color_selection_dialog = [dialog|`colorselectiondialog] type input_dialog = [dialog|`inputdialog] type file_selection = [dialog|`fileselection] type font_selection_dialog = [dialog|`fontselectiondialog] type plug = [window|`plug] type box = [container|`box] type button_box = [container|`box|`buttonbox] type color_selection = [container|`box|`colorselection] type font_selection = [container|`box|`fontselection] type combo = [container|`box|`combo] type statusbar = [container|`box|`statusbar] type status_icon = [`gtkstatusicon] type gtk_status_icon = status_icon obj type fixed = [container|`fixed] type layout = [container|`layout] type menu_shell = [container|`menushell] type menu = [container|`menushell|`menu] type menu_bar = [container|`menushell|`menubar] type notebook = [container|`notebook] type packer = [container|`packer] type paned = [container|`paned] type socket = [container|`socket] type table = [container|`table] type grid = [container|`grid] type toolbar = [container|`toolbar|`orientable] type tool_item = [bin|`toolitem] type separator_tool_item = [tool_item|`separatortoolitem] type tool_button = [tool_item|`toolbutton] type toggle_tool_button = [tool_button|`toggletoolbutton] type radio_tool_button = [toggle_tool_button|`radiotoolbutton] type menu_tool_button = [tool_button|`menutoolbutton] type tree = [container|`tree] type calendar = [widget|`calendar] type drawing_area = [widget|`drawingarea] type curve = [drawing_area|`curve] type editable = [widget|`editable] type entry = [editable|`entry] type spin_button = [editable|`entry|`spinbutton] type old_editable = [editable|`oldeditable] type text = [old_editable|`text] type misc = [widget|`misc] type arrow = [misc|`arrow] type image = [misc|`image] type label = [misc|`label] type tips_query = [misc|`label|`tipsquery] type pixmap = [misc|`pixmap] type progress = [widget|`progress] type progress_bar = [widget|`progress|`progressbar] type range = [widget|`range] type scale = [widget|`range|`scale] type scrollbar = [widget|`range|`scrollbar] type ruler = [widget|`ruler] type separator = [widget|`separator] type text_view = [container|`textview] type text_buffer = [`textbuffer] obj type text_tag_table = [`texttagtable] obj type text_tag = [`texttag] obj type text_mark = [`textmark] obj type text_child_anchor = [`textchildanchor] obj type text_iter type tree_view = [container|`treeview] type tree_view_column = [`giu|`celllayout|`treeviewcolumn] type tree_selection = [`treeselection] obj type tree_model = [`treemodel] obj type tree_model_custom = [`custommodel|`treemodel] obj type tree_sortable = [`treemodel|`treesortable] obj type tree_model_sort = [`treemodelsort|`treesortable|`treemodel] obj type tree_model_filter = [`treemodelfilter|`treemodel] obj type tree_store = [`treestore|`treesortable|`treemodel] obj type list_store = [`liststore|`treesortable|`treemodel] obj type tree_iter type tree_path type row_reference type cell_renderer = [`giu|`cellrenderer] type cell_renderer_pixbuf = [cell_renderer|`cellrendererpixbuf] type cell_renderer_text = [cell_renderer|`cellrenderertext] type cell_renderer_toggle = [cell_renderer|`cellrenderertoggle] type cell_renderer_progress = [cell_renderer|`cellrendererprogress] type cell_renderer_combo = [cell_renderer_text|`cellrenderercombo] type cell_renderer_accel = [cell_renderer_text|`cellrendereraccel] type icon_source type icon_set type icon_factory = [`iconfactory] obj type size_group = [`sizegroup] obj (* New widgets in 2.4 *) type cell_layout = [`celllayout] type combo_box = [bin|`combobox|cell_layout] type combo_box_text = [combo_box|`comboboxtext] type expander = [bin|`expander] type file_filter = [`giu|`filefilter] type file_chooser = [widget|`filechooser] type entry_completion = [`entrycompletion|cell_layout] obj type action = [`action] type toggle_action = [action|`toggleaction] type radio_action = [toggle_action|`radioaction] type action_group = [`actiongroup] type ui_manager = [`uimanager] (* New widgets in 2.6 *) type icon_view = [container|`iconview] type about_dialog = [dialog|`aboutdialog] type file_chooser_button = [box|`filechooserbutton|`filechooser] (* New widgets in 2.12 *) type tooltip = [`tooltip] obj (* Widgets from GTK3 *) type stack = [container|`stack] type stack_switcher = [box|`stackswitcher] (* re-export Gobject.obj *) type 'a obj = 'a Gobject.obj (* constraint 'a = [> `giu] *) (* *Props modules break this *) lablgtk-3.1.2/src/gtkAction.props0000644000650106067230000000764314161276610015611 0ustar glondusedprefix "Gtk" initializer "ml_gtkaction_init" conversions { GtkStockId "GtkStock.conv" } class Action type "Gtk.action obj" wrap wrapsig gobject { "hide-if-empty" gboolean : Read / Write "is-important" gboolean : Read / Write "label" gchararray : Read / Write "icon-name" gchararray : Read / Write "name" gchararray : Read / Write / Construct Only "sensitive" gboolean : Read / Write "short-label" gchararray : Read / Write "stock-id" GtkStockId : Read / Write "tooltip" gchararray : Read / Write "visible" gboolean : Read / Write "visible-horizontal" gboolean : Read / Write "visible-vertical" gboolean : Read / Write signal activate method is_sensitive : "bool" method is_visible : "bool" method activate (* method connect_proxy : "Gtk.widget Gtk.obj -> unit" method disconnect_proxy : "Gtk.widget Gtk.obj -> unit" *) method get_proxies : "Gtk.widget Gtk.obj list" method connect_accelerator method disconnect_accelerator method set_accel_path : "string -> unit" method set_accel_group : "Gtk.accel_group -> unit" (* method block_activate_from : "Gtk.widget Gtk.obj -> unit" method unblock_activate_from : "Gtk.widget Gtk.obj -> unit" *) } class ToggleAction type "Gtk.toggle_action obj" wrap wrapsig gobject : Action { "draw-as-radio" gboolean : Read / Write signal toggled method toggled method set_active : "bool -> unit" method get_active : "bool" } class RadioAction type "Gtk.radio_action obj" wrap gobject : ToggleAction { "group" GtkRadioAction_opt : Write "value" gint : Read / Write signal changed : GtkRadioAction method get_current_value : "int" method set_group : "Gtk.radio_action Gtk.group -> unit" } class UIManager type "Gtk.ui_manager obj" wrap wrapsig gobject { "add-tearoffs" gboolean : Read / Write "ui" gchararray : Read signal actions_changed signal add_widget : GtkWidget signal connect_proxy : GtkAction GtkWidget / NoWrap signal disconnect_proxy : GtkAction GtkWidget / NoWrap signal post_activate : GtkAction / NoWrap signal pre_activate : GtkAction / NoWrap method insert_action_group : "Gtk.action_group obj -> int -> unit" method remove_action_group : "Gtk.action_group obj -> unit" method get_action_groups : "Gtk.action_group obj list" method get_accel_group : "Gtk.accel_group" method get_widget : "string -> Gtk.widget Gtk.obj" method get_toplevels : "GtkEnums.ui_manager_item_type list -> Gtk.widget Gtk.obj list" method get_action : "string -> Gtk.action obj" method add_ui_from_string : "string -> int" method add_ui_from_file: "string -> int" method new_merge_id : "int" method add_ui : "int -> path:string -> name:string -> action:string option -> GtkEnums.ui_manager_item_type -> top:bool -> unit" method remove_ui : "int -> unit" method ensure_update } class ActionGroup type "Gtk.action_group obj" wrap wrapsig gobject { "name" gchararray : Read / Write / Construct Only "sensitive" gboolean : Read / Write "visible" gboolean : Read / Write signal connect_proxy : GtkAction GtkWidget / NoWrap signal disconnect_proxy : GtkAction GtkWidget / NoWrap signal post_activate : GtkAction / NoWrap signal pre_activate : GtkAction / NoWrap method get_action : "string -> Gtk.action obj" method list_actions : "Gtk.action obj list" method add_action : "Gtk.action obj -> unit" method add_action_with_accel : "Gtk.action obj -> string option -> unit" method remove_action : "Gtk.action obj -> unit" } lablgtk-3.1.2/src/gtkAssistant.ml0000644000650106067230000000020114161276610015571 0ustar glondusedopen Gaux open Gobject open Gtk open Tags open GtkAssistantProps open GtkBase module Assistant = struct include Assistant end lablgtk-3.1.2/src/gtkAssistant.props0000644000650106067230000000251014161276610016331 0ustar glondused(* $Id: gtkButton.props 1341 2007-06-07 22:19:31Z monate $ *) prefix "Gtk" initializer "ml_gtkassistant_init" header { open Gtk } classes { GdkPixbuf "GdkPixbuf.pixbuf" } conversions { GtkAssistantPageType "GtkEnums.assistant_page_type_conv" } class Assistant wrapsig wrap : Window { signal apply signal cancel signal close signal leave signal prepare method get_current_page : "int" method set_current_page : "int->unit" method get_n_pages : "int" method get_nth_page : "int -> widget obj" method insert_page : "widget obj -> int -> int" method set_page_type : "widget obj -> GtkEnums.assistant_page_type -> unit" method get_page_type : "widget obj -> GtkEnums.assistant_page_type" method set_page_title : "widget obj -> string -> unit" method get_page_title : "widget obj -> string" method set_page_header_image : "widget obj -> GdkPixbuf.pixbuf -> unit" method get_page_header_image : "widget obj -> GdkPixbuf.pixbuf" method set_page_side_image :"widget obj -> GdkPixbuf.pixbuf -> unit" method get_page_side_image : "widget obj -> GdkPixbuf.pixbuf" method set_page_complete : "widget obj -> bool -> unit" method get_page_complete : "widget obj -> bool" method add_action_widget : "widget obj -> unit" method remove_action_widget : "widget obj -> unit" method update_buttons_state : "unit" } lablgtk-3.1.2/src/gtkBase.ml0000644000650106067230000004242014161276610014503 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gtk open Tags open GtkBaseProps module Object = struct include GtkObject let try_cast = Gobject.try_cast end module Widget = struct include Widget let size_params ~cont pl ?width ?height = let may_cons = Property.may_cons in cont ( may_cons P.width_request width ( may_cons P.height_request height pl)) external unparent : [>`widget] obj -> unit = "ml_gtk_widget_unparent" external show : [>`widget] obj -> unit = "ml_gtk_widget_show" external show_now : [>`widget] obj -> unit = "ml_gtk_widget_show_now" external show_all : [>`widget] obj -> unit = "ml_gtk_widget_show_all" external hide : [>`widget] obj -> unit = "ml_gtk_widget_hide" external map : [>`widget] obj -> unit = "ml_gtk_widget_map" external unmap : [>`widget] obj -> unit = "ml_gtk_widget_unmap" external realize : [>`widget] obj -> unit = "ml_gtk_widget_realize" external unrealize : [>`widget] obj -> unit = "ml_gtk_widget_unrealize" external queue_draw : [>`widget] obj -> unit = "ml_gtk_widget_queue_draw" external queue_resize : [>`widget] obj -> unit = "ml_gtk_widget_queue_resize" external draw : [>`widget] obj -> Gdk.cairo -> unit = "ml_gtk_widget_draw" external queue_draw_area : [>`widget] obj -> int -> int -> int -> int -> unit = "ml_gtk_widget_queue_draw_area" (* external draw_focus : [>`widget] obj -> unit = "ml_gtk_widget_draw_focus" external draw_default : [>`widget] obj -> unit = "ml_gtk_widget_draw_default" *) external event : [>`widget] obj -> 'a Gdk.event -> bool = "ml_gtk_widget_event" external activate : [>`widget] obj -> bool = "ml_gtk_widget_activate" external reparent : [>`widget] obj -> [>`widget] obj -> unit = "ml_gtk_widget_reparent" (* external popup : [>`widget] obj -> x:int -> y:int -> unit = "ml_gtk_widget_popup" *) external intersect : [>`widget] obj -> Gdk.Rectangle.t -> Gdk.Rectangle.t option = "ml_gtk_widget_intersect" (*external set_state : [>`widget] obj -> state_type -> unit = "ml_gtk_widget_set_state" external set_uposition : [>`widget] obj -> x:int -> y:int -> unit = "ml_gtk_widget_set_uposition"*) external add_events : [>`widget] obj -> Gdk.Tags.event_mask list -> unit = "ml_gtk_widget_add_events" external get_toplevel : [>`widget] obj -> widget obj = "ml_gtk_widget_get_toplevel" external get_ancestor : [>`widget] obj -> g_type -> widget obj = "ml_gtk_widget_get_ancestor" (*external get_colormap : [>`widget] obj -> Gdk.colormap = "ml_gtk_widget_get_colormap"*) external get_visual : [>`widget] obj -> Gdk.visual = "ml_gtk_widget_get_visual" external get_pointer : [>`widget] obj -> int * int = "ml_gtk_widget_get_pointer" external is_ancestor : [>`widget] obj -> [>`widget] obj -> bool = "ml_gtk_widget_is_ancestor" (* Deprecated since 3.0 *) external ensure_style : [>`widget] obj -> unit = "ml_gtk_widget_ensure_style" external modify_fg : [>`widget] obj -> state_type -> Gdk.color -> unit = "ml_gtk_widget_modify_fg" external modify_bg : [>`widget] obj -> state_type -> Gdk.color -> unit = "ml_gtk_widget_modify_bg" external modify_text : [>`widget] obj -> state_type -> Gdk.color -> unit = "ml_gtk_widget_modify_text" external modify_base : [>`widget] obj -> state_type -> Gdk.color -> unit = "ml_gtk_widget_modify_base" external modify_font : [>`widget] obj -> Pango.font_description -> unit = "ml_gtk_widget_modify_font" (* End deprecated since 3.0 *) external get_style_context : [>`widget] obj -> style_context = "ml_gtk_widget_get_style_context" external get_pango_context : [>`widget] obj -> Pango.context = "ml_gtk_widget_get_pango_context" external create_pango_context : [>`widget] obj -> Pango.context = "ml_gtk_widget_create_pango_context" external render_icon : [>`widget] obj -> string -> Gtk.Tags.icon_size -> GdkPixbuf.pixbuf = "ml_gtk_widget_render_icon_pixbuf" external add_accelerator : ([>`widget] as 'a) obj -> sgn:('a,unit->unit) GtkSignal.t -> accel_group -> key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> ?flags:accel_flag list -> unit = "ml_gtk_widget_add_accelerator_bc" "ml_gtk_widget_add_accelerator" external remove_accelerator : [>`widget] obj -> accel_group -> key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> unit = "ml_gtk_widget_remove_accelerator" external set_accel_path : [>`widget] obj -> string -> accel_group -> unit = "ml_gtk_widget_set_accel_path" (* external lock_accelerators : [>`widget] obj -> unit = "ml_gtk_widget_lock_accelerators" external unlock_accelerators : [>`widget] obj -> unit = "ml_gtk_widget_unlock_accelerators" external accelerators_locked : [>`widget] obj -> bool = "ml_gtk_widget_accelerators_locked" *) external window : [>`widget] obj -> Gdk.window = "ml_gtk_widget_get_window" external allocation : [>`widget] obj -> rectangle = "ml_gtk_widget_get_allocation" (* external set_colormap : [>`widget] obj -> Gdk.colormap -> unit = "ml_gtk_widget_set_colormap" *) external set_visual : [>`widget] obj -> Gdk.visual -> unit = "ml_gtk_widget_set_visual" (* external set_default_colormap : Gdk.colormap -> unit = "ml_gtk_widget_set_default_colormap" external set_default_visual : Gdk.visual -> unit = "ml_gtk_widget_set_default_visual" external get_default_colormap : unit -> Gdk.colormap = "ml_gtk_widget_get_default_colormap" external get_default_visual : unit -> Gdk.visual = "ml_gtk_widget_get_default_visual" external push_colormap : Gdk.colormap -> unit = "ml_gtk_widget_push_colormap" external push_visual : Gdk.visual -> unit = "ml_gtk_widget_push_visual" external pop_colormap : unit -> unit = "ml_gtk_widget_pop_colormap" external pop_visual : unit -> unit = "ml_gtk_widget_pop_visual" *) (** @since GTK 2.12 *) module Tooltip = struct external get_markup : [>`widget] obj -> string = "ml_gtk_widget_get_tooltip_markup" external set_markup : [>`widget] obj -> string -> unit = "ml_gtk_widget_set_tooltip_markup" external get_text : [>`widget] obj -> string = "ml_gtk_widget_get_tooltip_text" external set_text : [>`widget] obj -> string -> unit = "ml_gtk_widget_set_tooltip_text" external get_window : [>`widget] obj -> Gtk.window obj = "ml_gtk_widget_get_tooltip_window" external set_window : [>`widget] obj -> [>`window] obj -> unit = "ml_gtk_widget_set_tooltip_window" external get_has_tooltip : [>`widget] obj -> bool = "ml_gtk_widget_get_has_tooltip" external set_has_tooltip : [>`widget] obj -> bool -> unit = "ml_gtk_widget_set_has_tooltip" external trigger_query : [>`widget] obj -> unit = "ml_gtk_widget_trigger_tooltip_query" end module Signals = struct open GtkSignal let destroy = { name = "destroy"; classe = `widget; marshaller = marshal_unit } let marshal f _ = function | `OBJECT(Some p) :: _ -> f (cast p) | _ -> invalid_arg "GtkBase.Widget.Signals.marshal" let marshal_opt f _ = function | `OBJECT(Some obj) :: _ -> f (Some (cast obj)) | `OBJECT None :: _ -> f None | _ -> invalid_arg "GtkBase.Widget.Signals.marshal_opt" module Event = struct let marshal f argv = match Closure.get_args argv with | _ :: [`POINTER(Some p)] -> let ev = GdkEvent.unsafe_copy p in Closure.set_result argv (`BOOL(f ev)) | _ -> invalid_arg "GtkBase.Widget.Event.marshal" let any : ([>`widget], Gdk.Tags.event_type Gdk.event -> bool) t = { name = "event"; classe = `widget; marshaller = marshal } let button_press : ([>`widget], GdkEvent.Button.t -> bool) t = { name = "button_press_event"; classe = `widget; marshaller = marshal } let button_release : ([>`widget], GdkEvent.Button.t -> bool) t = { name = "button_release_event"; classe = `widget; marshaller = marshal } let motion_notify : ([>`widget], GdkEvent.Motion.t -> bool) t = { name = "motion_notify_event"; classe = `widget; marshaller = marshal } let delete : ([>`widget], [`DELETE] Gdk.event -> bool) t = { name = "delete_event"; classe = `widget; marshaller = marshal } let destroy : ([>`widget], [`DESTROY] Gdk.event -> bool) t = { name = "destroy_event"; classe = `widget; marshaller = marshal } let expose : ([>`widget], GdkEvent.Expose.t -> bool) t = { name = "expose_event"; classe = `widget; marshaller = marshal } let key_press : ([>`widget], GdkEvent.Key.t -> bool) t = { name = "key_press_event"; classe = `widget; marshaller = marshal } let key_release : ([>`widget], GdkEvent.Key.t -> bool) t = { name = "key_release_event"; classe = `widget; marshaller = marshal } let enter_notify : ([>`widget], GdkEvent.Crossing.t -> bool) t = { name = "enter_notify_event"; classe = `widget; marshaller = marshal } let leave_notify : ([>`widget], GdkEvent.Crossing.t -> bool) t = { name = "leave_notify_event"; classe = `widget; marshaller = marshal } let configure : ([>`widget], GdkEvent.Configure.t -> bool) t = { name = "configure_event"; classe = `widget; marshaller = marshal } let focus_in : ([>`widget], GdkEvent.Focus.t -> bool) t = { name = "focus_in_event"; classe = `widget; marshaller = marshal } let focus_out : ([>`widget], GdkEvent.Focus.t -> bool) t = { name = "focus_out_event"; classe = `widget; marshaller = marshal } let map : ([>`widget], [`MAP] Gdk.event -> bool) t = { name = "map_event"; classe = `widget; marshaller = marshal } let unmap : ([>`widget], [`UNMAP] Gdk.event -> bool) t = { name = "unmap_event"; classe = `widget; marshaller = marshal } let property_notify : ([>`widget], GdkEvent.Property.t -> bool) t = { name = "property_notify_event"; classe = `widget; marshaller = marshal } let scroll : ([>`widget], GdkEvent.Scroll.t -> bool) t = { name = "scroll_event"; classe = `widget; marshaller = marshal } let selection_clear : ([>`widget], GdkEvent.Selection.t -> bool) t = { name = "selection_clear_event"; classe = `widget; marshaller = marshal } let selection_request : ([>`widget], GdkEvent.Selection.t -> bool) t = { name = "selection_request_event"; classe = `widget; marshaller = marshal } let selection_notify : ([>`widget], GdkEvent.Selection.t -> bool) t = { name = "selection_notify_event"; classe = `widget; marshaller = marshal } let proximity_in : ([>`widget], GdkEvent.Proximity.t -> bool) t = { name = "proximity_in_event"; classe = `widget; marshaller = marshal } let proximity_out : ([>`widget], GdkEvent.Proximity.t -> bool) t = { name = "proximity_out_event"; classe = `widget; marshaller = marshal } let visibility_notify : ([>`widget], GdkEvent.Visibility.t -> bool) t = { name = "visibility_notify_event"; classe = `widget; marshaller = marshal } let window_state : ([>`widget], GdkEvent.WindowState.t -> bool) t = { name = "window_state_event"; classe = `widget; marshaller = marshal } end end end module Orientable = Orientable module Bin = Bin (* Clipboard provides high-level access to Selection *) module Clipboard = struct external get : Gdk.atom -> clipboard = "ml_gtk_clipboard_get" external clear : clipboard -> unit = "ml_gtk_clipboard_clear" external set_text : clipboard -> string -> unit = "ml_gtk_clipboard_set_text" external set_image : clipboard -> GdkPixbuf.pixbuf -> unit = "ml_gtk_clipboard_set_image" external wait_for_contents : clipboard -> target:Gdk.atom -> selection_data = "ml_gtk_clipboard_wait_for_contents" external wait_for_text : clipboard -> string option = "ml_gtk_clipboard_wait_for_text" external wait_for_image : clipboard -> GdkPixbuf.pixbuf option = "ml_gtk_clipboard_wait_for_image" external wait_for_targets : clipboard -> Gdk.atom list = "ml_gtk_clipboard_wait_for_targets" external request_contents : clipboard -> target:Gdk.atom -> callback:(selection_data -> unit) -> unit = "ml_gtk_clipboard_request_contents" external request_text : clipboard -> callback:(string option -> unit) -> unit = "ml_gtk_clipboard_request_text" end (* Use of Selection is deprecated: rather use simpler Clipboard module *) module Selection = struct external selection : selection_data -> Gdk.atom = "ml_gtk_selection_data_get_selection" external target : selection_data -> Gdk.atom = "ml_gtk_selection_data_get_target" external seltype : selection_data -> Gdk.atom = "ml_gtk_selection_data_get_data_type" external format : selection_data -> int = "ml_gtk_selection_data_get_format" external get_data : selection_data -> string = "ml_gtk_selection_data_get_data" (* May raise Gpointer.null *) external set : selection_data -> typ:Gdk.atom -> format:int -> data:string option -> unit = "ml_gtk_selection_data_set" (* Create a memory-managed copy of the data *) external copy : selection_data -> selection_data = "ml_gtk_selection_data_copy" external owner_set : [>`widget] obj -> sel:Gdk.atom -> time:int32 -> bool = "ml_gtk_selection_owner_set" external add_target : [>`widget] obj -> sel:Gdk.atom -> target:Gdk.atom -> info:int -> unit = "ml_gtk_selection_add_target" external convert : [> `widget] obj -> sel:Gdk.atom -> target:Gdk.atom -> time:int32 -> bool = "ml_gtk_selection_convert" external clear_targets : [>`widget] obj -> sel:Gdk.atom -> unit = "ml_gtk_selection_clear_targets" end module DnD = struct external dest_set : [>`widget] obj -> flags:dest_defaults list -> targets:target_entry array -> actions:Gdk.Tags.drag_action list -> unit = "ml_gtk_drag_dest_set" external dest_unset : [>`widget] obj -> unit = "ml_gtk_drag_dest_unset" external finish : Gdk.drag_context -> success:bool -> del:bool -> time:int32 -> unit = "ml_gtk_drag_finish" external get_data : [>`widget] obj -> Gdk.drag_context -> target:Gdk.atom -> time:int32 -> unit = "ml_gtk_drag_get_data" external get_source_widget : Gdk.drag_context -> widget obj = "ml_gtk_drag_get_source_widget" external highlight : [>`widget] obj -> unit = "ml_gtk_drag_highlight" external unhighlight : [>`widget] obj -> unit = "ml_gtk_drag_unhighlight" external set_icon_widget : Gdk.drag_context -> [>`widget] obj -> hot_x:int -> hot_y:int -> unit = "ml_gtk_drag_set_icon_widget" external set_icon_default : Gdk.drag_context -> unit = "ml_gtk_drag_set_icon_default" external source_set : [>`widget] obj -> ?modi:Gdk.Tags.modifier list -> targets:target_entry array -> actions:Gdk.Tags.drag_action list -> unit = "ml_gtk_drag_source_set" external source_unset : [>`widget] obj -> unit = "ml_gtk_drag_source_unset" (* external dest_handle_event : [>`widget] -> *) end (** @since GTK 2.12 *) module Tooltip = struct external set_markup : tooltip -> string -> unit = "ml_gtk_tooltip_set_markup" external set_text : tooltip -> string -> unit = "ml_gtk_tooltip_set_text" external set_icon : tooltip -> GdkPixbuf.pixbuf -> unit = "ml_gtk_tooltip_set_icon" external set_icon_from_stock : tooltip -> string -> Gtk.Tags.icon_size -> unit = "ml_gtk_tooltip_set_icon_from_stock" let set_icon_from_stock tt id = set_icon_from_stock tt (GtkStock.convert_id id) external set_custom : tooltip -> [>`widget] obj -> unit = "ml_gtk_tooltip_set_custom" external trigger_query : Gdk.display -> unit = "ml_gtk_tooltip_trigger_tooltip_query" external set_tip_area : tooltip -> Gdk.Rectangle.t -> unit = "ml_gtk_tooltip_set_tip_area" end lablgtk-3.1.2/src/gtkBase.props0000644000650106067230000002544214161276610015243 0ustar glondused(* $Id$ *) prefix "Gtk" header { open Gtk module Internal = struct external allocation_at_pointer : Gpointer.boxed -> rectangle = "ml_Val_GtkAllocation" let allocation = {kind=`POINTER;inj=(fun _ -> failwith "GtkProps.Internal.allocation"); proj=(function `POINTER(Some p) -> allocation_at_pointer p | _ -> failwith "GtkProps.Internal.allocation")} end } oheader{ open GtkBaseProps } conversions { GtkAllocation "Internal.allocation" GtkSelectionData_nocopy "(unsafe_pointer : Gtk.selection_data data_conv)" } boxed { GdkEvent "GdkEvent.any" GdkEventButton "GdkEvent.Button.t" GdkEventMotion "GdkEvent.Motion.t" GdkEventExpose "GdkEvent.Expose.t" GdkEventKey "GdkEvent.Key.t" GdkEventCrossing "GdkEvent.Crossing.t" GdkEventConfigure "GdkEvent.Configure.t" GdkEventFocus "GdkEvent.Focus.t" GdkEventProperty "GdkEvent.Property.t" GdkEventSelection "GdkEvent.Selection.t" GdkEventProximity "GdkEvent.Proximity.t" } classes { GdkPixbuf "GdkPixbuf.pixbuf" GtkContainer "Gtk.container'" } class Widget abstract wrap : Object { "app-paintable" gboolean : Read / Write "can-default" gboolean : Read / Write "can-focus" gboolean : Read / Write "composite-child" gboolean : Read "events" GdkEventMask : Read / Write "expand" gboolean : Read / Write "focus-on-click" gboolean : Read / Write "halign" GtkAlign : Read / Write "has-default" gboolean : Read / Write "has-focus" gboolean : Read / Write "has-tooltip" gboolean : Read / Write "height-request" gint : Read / Write "hexpand" gboolean : Read / Write "hexpand-set" gboolean : Read / Write "is-focus" gboolean : Read / Write "margin" gint : Read / Write "margin-bottom" gint : Read / Write "margin-end" gint : Read / Write "margin-left" gint : Read / Write "margin-right" gint : Read / Write "margin-start" gint : Read / Write "margin-top" gint : Read / Write "name" gchararray : Read / Write "no-show-all" gboolean : Read / Write "opacity" gdouble : Read / Write "parent" GtkContainer_opt : Read / Write "receives-default" gboolean : Read / Write "scale-factor" gint : Read "sensitive" gboolean : Read / Write "style" GtkStyle : Read / Write "tooltip-markup" gchararray : Read / Write "tooltip-text" gchararray : Read / Write "valign" GtkAlign : Read / Write "vexpand" gboolean : Read / Write "vexpand-set" gboolean : Read / Write "visible" gboolean : Read / Write "width-request" gint : Read / Write "window" GdkWindow_opt : Read signal destroy (* misc *) signal show signal hide signal map signal unmap signal draw : GdkCairo -> bool signal query_tooltip : x:int y:int kbd:bool GtkTooltip -> bool signal realize signal unrealize signal state_changed : GtkStateType signal parent_set : GtkWidget_opt signal size_allocate : GtkAllocation signal style_set : GtkStyle_opt (* selection *) signal selection_get : GtkSelectionData_nocopy info:int time:int32 signal selection_received : GtkSelectionData time:int32 (* dnd *) signal drag_begin : GdkDragContext signal drag_data_delete : GdkDragContext signal drag_data_get : GdkDragContext GtkSelectionData_nocopy info:int time:int32 signal drag_data_received : GdkDragContext x:int y:int GtkSelectionData info:int time:int32 signal drag_drop : GdkDragContext x:int y:int time:int32 -> bool signal drag_end : GdkDragContext signal drag_leave : GdkDragContext time:int32 signal drag_motion : GdkDragContext x:int y:int time:int32 -> bool (* events *) signal event : GdkEvent -> bool signal event_after : GdkEvent (* events share the same marshaller signal button_press_event : GdkEventButton -> bool signal button_release_event : GdkEventButton -> bool signal motion_notify_event : GdkEventMotion -> bool signal delete_event : GdkEvent -> bool signal destroy_event : GdkEvent -> bool signal expose_event : GdkEventExpose -> bool signal key_press_event : GdkEventKey -> bool signal key_release_event : GdkEventKey -> bool signal enter_notify_event : GdkEventCrossing -> bool signal leave_notify_event : GdkEventCrossing -> bool signal configure_event : GdkEventConfigure -> bool signal focus_in_event : GdkEventFocus -> bool signal focus_out_event : GdkEventFocus -> bool signal map_event : GdkEvent -> bool signal unmap_event : GdkEvent -> bool signal property_notify_event : GdkEventProperty -> bool signal selection_clear_event : GdkEventSelection -> bool signal selection_request_event : GdkEventSelection -> bool signal selection_notify_event : GdkEventSelection -> bool signal proximity_in_event : GdkEventProximity -> bool signal proximity_out_event : GdkEventProximity -> bool *) (* methods *) method destroy : "unit" method set_double_buffered : "bool -> unit" method style_get_property : "string -> g_value" } class Bin abstract : Container { method get_child : "widget obj" } class Adjustment set wrap wrapsig : Object { "lower" gdouble : Read / Write "page-increment" gdouble : Read / Write "page-size" gdouble : Read / Write "step-increment" gdouble : Read / Write "upper" gdouble : Read / Write "value" gdouble : Read / Write signal changed signal value_changed } class Orientable wrap : Object { "orientation" GtkOrientation : Read / Write method get_orientation : "GtkEnums.orientation" method set_orientation : "GtkEnums.orientation -> unit" } (* Window and Dialogs *) class Window set wrap : Bin { "title" gchararray : Read / Write "accept-focus" gboolean : Read / Write / NoSet "decorated" gboolean : Read / Write "default-height" gint : Read / Write / NoSet "default-width" gint : Read / Write / NoSet "deletable" gboolean : Read / Write "destroy-with-parent" gboolean : Read / Write / NoSet "focus-on-map" gboolean : Read / Write "gravity" GdkGravity : Read / Write / NoSet "has-toplevel-focus" gboolean : Read "icon" GdkPixbuf_opt : Read / Write "icon-name" gchararray : Read / Write "is-active" gboolean : Read "modal" gboolean : Read / Write "window-position"(position) GtkWindowPosition : Read / Write "opacity" gdouble : Read / Write / NoSet "resizable" gboolean : Read / Write "role" gchararray : Read / Write / NoSet "screen" GdkScreen : Read / Write "skip-pager-hint" gboolean : Read / Write / NoSet "skip-taskbar-hint" gboolean : Read / Write / NoSet "startup-id" gchararray : Write / NoWrap / NoSet "transient-for" GtkWindow_opt : Read / Write / NoWrap / NoSet "type" GtkWindowType : Read / Write / Construct Only "type-hint" GdkWindowTypeHint : Read / Write "urgency-hint" gboolean : Read / Write method present method iconify method deiconify method stick method unstick method maximize method unmaximize method fullscreen method unfullscreen method set_decorated : "bool -> unit" method set_mnemonic_modifier : "Gdk.Tags.modifier list -> unit" method move : "x:int -> y:int -> unit" method parse_geometry : "string -> bool" method reshow_with_initial_size method resize : "width:int -> height:int -> unit" method set_role : "string -> unit" method get_role : "string" signal activate_default signal activate_focus signal frame_event : GdkEvent signal keys_changed signal move_focus : GtkDirectionType signal set_focus : GtkWidget_opt } class Dialog wrap : Window { signal close signal response : gint } (* class InputDialog : Dialog {} *) class MessageDialog wrap : Dialog { "buttons" GtkButtonsType : Write / Construct Only "message-type" GtkMessageType : Read / Write / Construct / Set "image" GtkWidget : Read / Write / NoWrap "message-area" GtkWidget : Read / NoWrap "secondary-text" gchararray : Read / Write "secondary-use-markup" gboolean : Read / Write "text" gchararray : Read / Write / Set "use-markup" gboolean : Read / Write / Set } class AboutDialog abstract set wrap : Dialog { "program-name" (name) gchararray : Read / Write / NoWrap / NoSet (* "artists" GStrv : Read / Write *) (* "authors" GStrv : Read / Write *) "comments" gchararray : Read / Write "copyright" gchararray : Read / Write (* "documenters" GStrv : Read / Write *) "license" gchararray : Read / Write "logo" GdkPixbuf : Read / Write "logo-icon-name" gchararray : Read / Write "translator-credits" gchararray : Read / Write "version" gchararray : Read / Write "website" gchararray : Read / Write "website-label" gchararray : Read / Write "wrap-license" gboolean : Read / Write method set_artists : "string list -> unit" method get_artists : "string list" method set_authors : "string list -> unit" method get_authors : "string list" method set_documenters : "string list -> unit" method get_documenters : "string list" } class Plug abstract wrapsig : Bin { signal embedded } class Socket wrapsig : Container { (* method add_id : "Gdk.native_window -> unit" method get_id : "Gdk.native_window" method get_plug_window : "Gdk.window" *) signal plug_added signal plug_removed } lablgtk-3.1.2/src/gtkBin.ml0000644000650106067230000000364714161276610014351 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gtk open Tags open GtkBinProps open GtkBase module Alignment = Alignment module EventBox = EventBox module Frame = Frame module AspectFrame = AspectFrame module HandleBox = HandleBox module Viewport = Viewport module ScrolledWindow = ScrolledWindow module Invisible = Invisible module Expander = Expander lablgtk-3.1.2/src/gtkBin.props0000644000650106067230000000577614161276610015111 0ustar glondused(* $Id$ *) prefix "Gtk" initializer "ml_gtkbin_init" header { open Gtk } oheader{ open GtkPackProps } classes { GtkAdjustment "Gtk.adjustment obj" } class Bin abstract : Container {} class Alignment set wrap : Bin { "xalign" gfloat : Read / Write "yalign" gfloat : Read / Write "xscale" gfloat : Read / Write "yscale" gfloat : Read / Write "bottom-padding" guint : Read / Write / NoSet "left-padding" guint : Read / Write / NoSet "right-padding" guint : Read / Write / NoSet "top-padding" guint : Read / Write / NoSet } class Frame set wrap : Bin { "label" gchararray_opt : Read / Write "label-widget" GtkWidget_opt : Read / Write / NoSet "label-xalign" gfloat : Read / Write "label-yalign" gfloat : Read / Write "shadow-type" GtkShadowType : Read / Write } class AspectFrame set wrap : Frame { "obey-child" gboolean : Read / Write "ratio" gfloat : Read / Write "xalign" gfloat : Read / Write "yalign" gfloat : Read / Write } class EventBox : Bin {} class Invisible : Bin { "screen" GdkScreen : Read / Write } class HandleBox set wrap wrapsig : Bin { "handle-position" GtkPositionType : Read / Write "snap-edge" GtkPositionType : Read / Write "shadow_type" GtkShadowType : Read / Write "snap-edge-set" gboolean : Read / Write / NoSet / NoWrap signal child_attached : GtkWidget signal child_detached : GtkWidget } class ScrolledWindow set wrap : Bin { "hadjustment" GtkAdjustment : Read / Write / Construct "vadjustment" GtkAdjustment : Read / Write / Construct "hscrollbar-policy"(hpolicy) GtkPolicyType : Read / Write "vscrollbar-policy"(vpolicy) GtkPolicyType : Read / Write "window-placement"(placement) GtkCornerType : Read / Write "shadow-type" GtkShadowType : Read / Write method add_with_viewport : "[>`widget] obj -> unit" signal move_focus_out : GtkDirectionType signal scroll_child : GtkScrollType gboolean } class Viewport set wrap : Bin { "hadjustment" GtkAdjustment : Read / Write "vadjustment" GtkAdjustment : Read / Write "shadow-type" GtkShadowType : Read / Write } class Expander set wrap wrapsig : Bin { "expanded" gboolean : Read / Write / Construct "label" gchararray : Read / Write / Construct "label-widget" GtkWidget : Read / Write / NoSet "spacing" gint : Read / Write "use-underline" gboolean : Read / Write / Construct signal activate } lablgtk-3.1.2/src/gtkBuilder.ml0000644000650106067230000000363714161276610015226 0ustar glondused(**************************************************************************) (* 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$ *) open Gtk module Builder = struct include GtkBuilderProps.Builder external create : unit -> builder obj = "ml_gtk_builder_new" external create_from_file : string -> builder obj = "ml_gtk_builder_new_from_file" external create_from_string : string -> builder obj = "ml_gtk_builder_new_from_string" end lablgtk-3.1.2/src/gtkBuilder.props0000644000650106067230000000064514161276610015755 0ustar glondused(* $Id$ *) prefix "Gtk" initializer "ml_gtkbuilder_init" class Builder set wrap wrapsig : Object { "translation-domain" string : Read / Write method add_from_file : "string -> unit" method add_from_string : "string -> unit" method add_objects_from_file : "string -> string list -> unit" method add_objects_from_string : "string -> string list -> unit" method get_object : "string -> unit obj" } lablgtk-3.1.2/src/gtkButton.ml0000644000650106067230000001323214161276610015103 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gtk open Tags open GtkButtonProps open GtkBase module Button = struct include Button let make_params ~cont p ?label ?use_mnemonic ?stock = let label, use_stock = match stock with None -> label, None | Some id -> Some (GtkStock.convert_id id), Some true in make_params ~cont p ?label ?use_underline:use_mnemonic ?use_stock external pressed : [>`button] obj -> unit = "ml_gtk_button_pressed" external released : [>`button] obj -> unit = "ml_gtk_button_released" external clicked : [>`button] obj -> unit = "ml_gtk_button_clicked" external enter : [>`button] obj -> unit = "ml_gtk_button_enter" external leave : [>`button] obj -> unit = "ml_gtk_button_leave" end module ToggleButton = struct include ToggleButton let create_check pl : toggle_button obj = Object.make "GtkCheckButton" pl external toggled : [>`toggle] obj -> unit = "ml_gtk_toggle_button_toggled" end module RadioButton = struct include RadioButton let create ?group p = create (Property.may_cons P.group group p) end module Toolbar = struct include Toolbar (* external insert_space : [>`toolbar] obj -> pos:int -> unit = "ml_gtk_toolbar_insert_space" let insert_space w ?(pos = -1) () = insert_space w ~pos external insert_button : [>`toolbar] obj -> kind:[`BUTTON|`TOGGLEBUTTON|`RADIOBUTTON] -> text:string -> tooltip:string -> tooltip_private:string -> icon:[>`widget] optobj -> pos:int -> button obj = "ml_gtk_toolbar_insert_element_bc" "ml_gtk_toolbar_insert_element" let insert_button w ?(kind=`BUTTON) ?(text="") ?(tooltip="") ?(tooltip_private="") ?icon ?(pos = -1) ?callback () = let b =insert_button w ~kind ~text ~tooltip ~tooltip_private ~pos ~icon:(Gpointer.optboxed icon) in may callback ~f: (fun callback -> GtkSignal.connect b ~sgn:Button.S.clicked ~callback); b external insert_widget : [>`toolbar] obj -> [>`widget] obj -> tooltip:string -> tooltip_private:string -> pos:int -> unit = "ml_gtk_toolbar_insert_widget" let insert_widget w ?(tooltip="") ?(tooltip_private="") ?(pos = -1) w' = insert_widget w w' ~tooltip ~tooltip_private ~pos external set_tooltips : [>`toolbar] obj -> bool -> unit = "ml_gtk_toolbar_set_tooltips" external get_tooltips : [>`toolbar] obj -> bool = "ml_gtk_toolbar_get_tooltips" *) let set ?orientation ?style w = may style ~f:(set P.toolbar_style w); may orientation ~f:(Orientable.set_orientation w) external unset_style : [>`toolbar] obj -> unit = "ml_gtk_toolbar_unset_style" (* external get_icon_size : [>`toolbar] obj -> Tags.icon_size = "ml_gtk_toolbar_get_icon_size" external set_icon_size : [>`toolbar] obj -> Tags.icon_size -> unit = "ml_gtk_toolbar_set_icon_size" *) (* extended API in GTK 2.4 *) external insert : [>`toolbar] obj -> [>`toolitem] obj -> pos:int -> unit = "ml_gtk_toolbar_insert" external get_item_index : [>`toolbar] obj -> [>`toolitem] obj -> int = "ml_gtk_toolbar_get_item_index" external get_n_items : [>`toolbar] obj -> int = "ml_gtk_toolbar_get_n_items" external get_nth_item : [>`toolbar] obj -> int -> [`toolitem] obj = "ml_gtk_toolbar_get_nth_item" external get_drop_index : [>`toolbar] obj -> int -> int -> int = "ml_gtk_toolbar_get_drop_index" external set_drop_highlight_item : [>`toolbar] obj -> [>`toolitem] obj option -> int -> unit = "ml_gtk_toolbar_set_drop_highlight_item" external get_relief_style : [>`toolbar] obj -> GtkEnums.relief_style = "ml_gtk_toolbar_get_relief_style" end module ColorButton = ColorButton module FontButton = FontButton module LinkButton = struct include LinkButton external create : string -> [>`linkbutton] obj = "ml_gtk_link_button_new" external create_with_label : string -> string -> [>`linkbutton] obj = "ml_gtk_link_button_new_with_label" end module ToolItem = ToolItem module SeparatorToolItem = SeparatorToolItem module ToolButton = ToolButton module ToggleToolButton = ToggleToolButton module RadioToolButton = RadioToolButton module MenuToolButton = MenuToolButton lablgtk-3.1.2/src/gtkButton.props0000644000650106067230000001234114161276610015636 0ustar glondused(* $Id$ *) prefix "Gtk" initializer "ml_gtkbutton_init" header { open Gtk } oheader{ open GtkButtonProps } class Button set wrap wrapsig : Bin { "focus-on-click" gboolean : Read / Write / NoSet "image" GtkWidget : Read / Write / NoSet "image-position" GtkPositionType : Read / Write / NoSet "label" gchararray : Read / Write / Construct "use-stock" gboolean : Read / Write / Construct "use-underline" gboolean : Read / Write / Construct "relief" GtkReliefStyle : Read / Write "xalign" gfloat : Read / Write / NoSet "yalign" gfloat : Read / Write / NoSet signal activate / NoWrap signal clicked signal enter signal leave signal pressed signal released } class ToggleButton set : Button { "active" gboolean : Read / Write "draw-indicator" gboolean : Read / Write "inconsistent" gboolean : Read / Write / NoSet signal toggled } class CheckButton notype : ToggleButton {} class RadioButton : ToggleButton { "group" GtkRadioButton_opt : Write } class ColorButton wrap : Button { "alpha" guint : Read / Write "color" GdkColor : Read / Write / Set "rgba" GdkRGBA : Read / Write / Set "show-editor" gboolean : Read / Write "title" gchararray : Read / Write / Set "use-alpha" gboolean : Read / Write signal color_set } class FontButton wrap : Button { "font-name" gchararray : Read / Write / Set "show-size" gboolean : Read / Write "show-style" gboolean : Read / Write "title" gchararray : Read / Write / Set "use-font" gboolean : Read / Write "use-size" gboolean : Read / Write signal font_set } class ToolItem wrap : Bin { "is-important" gboolean : Read / Write "visible-horizontal" gboolean : Read / Write "visible-vertical" gboolean : Read / Write method set_homogeneous : "bool -> unit" method get_homogeneous : "bool" method set_expand : "bool -> unit" method get_expand : "bool" method set_use_drag_window : "bool -> unit" method get_use_drag_window : "bool" (* probably only useful when subclassing ToolItem signal create_menu_proxy : -> bool signal set_tooltip : GtkTooltips string string -> bool signal toolbar_reconfigured get_icon_size get_orientation get_toolbar_style get_relief_style retrieve_proxy_menu_item get_proxy_menu_item set_proxy_menu_item *) } class SeparatorToolItem : ToolItem { "draw" gboolean : Read / Write } conversions { GtkStockId "GtkStock.conv" } class ToolButton wrap : ToolItem { "icon-widget" GtkWidget : Read / Write "label" gchararray : Read / Write "label-widget" GtkWidget : Read / Write "stock-id" GtkStockId : Read / Write "use-underline" gboolean : Read / Write signal clicked } class ToggleToolButton : ToolButton { signal toggled method set_active : "bool -> unit" method get_active : "bool" } class RadioToolButton : ToggleToolButton { "group" GtkRadioToolButton_opt : Write } classes { GtkMenu "menu obj" } class MenuToolButton : ToolButton { "menu" GtkMenu : Read / Write (* signal show-menu *) method set_arrow_tooltip_text : "string -> unit" method set_arrow_tooltip_markup : "string -> unit" } class Toolbar set wrap wrapsig : Container { "icon-size" GtkIconSize : Read / Write "icon-size-set" gboolean : Read / Write "show-arrow" gboolean : Read / Write "toolbar-style" GtkToolbarStyle : Read / Write signal style_changed : GtkToolbarStyle signal focus_home_or_end : bool -> bool signal move_focus : GtkDirectionType -> bool signal popup_context_menu : int int int -> bool method insert : "[> `toolitem] obj -> int -> unit" method get_item_index : "[> `toolitem] obj -> int" method get_n_items : "int" method get_nth_item : "int -> tool_item obj" method unset_style : "unit" method get_drop_index : "int -> int -> int" method set_drop_highlight_item : "[>`toolitem] obj option -> int -> unit" method get_relief_style : "GtkEnums.relief_style" } class LinkButton wrap : LinkButton { "uri" gchararray : Read / Write signal activate_link } (* Not tested yet. For Gtk 2.12. class ScaleButton wrap : ScaleButton { "adjustement" GtkAdjustment : Read / Write "icons" GStrv : Read / Write "size" GtkIconSize : Read / Write "value" gdouble : Read / Write signal popdown signal popup signal value_changed : float -> unit } *) lablgtk-3.1.2/src/gtkContainers.ml0000644000650106067230000000367214161276610015744 0ustar glondused(**************************************************************************) (* 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$ *) open Gobject open GtkBase open GtkContainersProps module Container = struct include Container let make_params ~cont pl ?border_width = Widget.size_params pl ~cont:(fun p -> cont (Property.may_cons P.border_width border_width p)) let children w = let l = ref [] in foreach w ~f:(fun c -> l := c :: !l); List.rev !l end lablgtk-3.1.2/src/gtkContainers.props0000644000650106067230000000177314161276610016477 0ustar glondused prefix "Gtk" header { open Gtk } oheader{ open GtkContainersProps } class Container abstract : Widget { "border-width" guint : Read / Write / Wrap "child" GtkWidget : Write "resize-mode" GtkResizeMode : Read / Write / Wrap method check_resize method add : "[>`widget] obj -> unit" method remove : "[>`widget] obj -> unit" method forall : "f:(widget obj -> unit) -> unit" method foreach : "f:(widget obj -> unit) -> unit" (* Called by Widget.grab_focus *) method set_focus_child : "[>`widget] optobj -> unit" method set_focus_vadjustment : "[>`adjustment] optobj -> unit" method set_focus_hadjustment : "[>`adjustment] optobj -> unit" method child_set_property : "[>`widget] obj -> string -> g_value -> unit" method child_get_property : "[>`widget] obj -> string -> g_value -> unit" signal add : GtkWidget / Wrap signal remove : GtkWidget / Wrap signal check_resize signal set_focus : GtkWidget_opt } lablgtk-3.1.2/src/gtkData.ml0000644000650106067230000001702714161276610014507 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open GtkBaseProps open Gtk open Tags module AccelGroup = struct external create : unit -> accel_group = "ml_gtk_accel_group_new" external lock : accel_group -> unit = "ml_gtk_accel_group_lock" external unlock : accel_group -> unit = "ml_gtk_accel_group_unlock" external connect : accel_group -> key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> ?flags:accel_flag list -> callback:g_closure -> unit = "ml_gtk_accel_group_connect" let connect ~key ?modi ?flags ~callback g = connect g ~key ?modi ?flags ~callback:(Closure.create (fun _ -> callback ())) external disconnect : accel_group -> key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> bool = "ml_gtk_accel_group_disconnect_key" let disconnect ~key ?modi g = disconnect g ~key ?modi external groups_activate : 'a obj -> key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> bool = "ml_gtk_accel_groups_activate" let groups_activate ~key ?modi obj = groups_activate obj ~key ?modi (* XXX In the following functions, optional arguments are useless! *) (* Should remove the key label in lablgtk3 ? *) external valid : key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> bool = "ml_gtk_accelerator_valid" external set_default_mod_mask : Gdk.Tags.modifier list option -> unit = "ml_gtk_accelerator_set_default_mod_mask" external parse : string -> Gdk.keysym * Gdk.Tags.modifier list = "ml_gtk_accelerator_parse" external name : key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> string = "ml_gtk_accelerator_name" external get_label : key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> string = "ml_gtk_accelerator_get_label" end module AccelMap = struct external load : string -> unit = "ml_gtk_accel_map_load" external save : string -> unit = "ml_gtk_accel_map_save" external add_entry : string -> key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> unit = "ml_gtk_accel_map_add_entry" let add_entry ?(key=0) ?modi s = add_entry s ~key ?modi external change_entry : string -> Gdk.keysym -> Gdk.Tags.modifier list option -> bool -> bool = "ml_gtk_accel_map_change_entry" let change_entry ?(key=0) ?modi ?(replace=true) s = change_entry s key modi replace external foreach : (path:string -> key:int -> modi:Gdk.Tags.modifier list -> changed:bool -> unit) -> unit = "ml_gtk_accel_map_foreach" end module Style = struct external create : unit -> style = "ml_gtk_style_new" external copy : style -> style = "ml_gtk_style_copy" external attach : style -> Gdk.window -> style = "ml_gtk_style_attach" external detach : style -> unit = "ml_gtk_style_detach" external set_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" *) external get_bg : style -> state_type -> Gdk.color = "ml_gtk_style_get_bg" external set_bg : style -> state_type -> Gdk.color -> unit = "ml_gtk_style_set_bg" external get_fg : style -> state_type -> Gdk.color = "ml_gtk_style_get_fg" external set_fg : style -> state_type -> Gdk.color -> unit = "ml_gtk_style_set_fg" external get_light : style -> state_type -> Gdk.color = "ml_gtk_style_get_light" external set_light : style -> state_type -> Gdk.color -> unit = "ml_gtk_style_set_light" external get_dark : style -> state_type -> Gdk.color = "ml_gtk_style_get_dark" external set_dark : style -> state_type -> Gdk.color -> unit = "ml_gtk_style_set_dark" external get_mid : style -> state_type -> Gdk.color = "ml_gtk_style_get_mid" external set_mid : style -> state_type -> Gdk.color -> unit = "ml_gtk_style_set_mid" external get_base : style -> state_type -> Gdk.color = "ml_gtk_style_get_base" external set_base : style -> state_type -> Gdk.color -> unit = "ml_gtk_style_set_base" external get_text : style -> state_type -> Gdk.color = "ml_gtk_style_get_text" external set_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 *) end module Adjustment = struct include Adjustment external create : value:float -> lower:float -> upper:float -> step_incr:float -> page_incr:float -> page_size:float -> adjustment obj = "ml_gtk_adjustment_new_bc" "ml_gtk_adjustment_new" external clamp_page : [>`adjustment] obj -> lower:float -> upper:float -> unit = "ml_gtk_adjustment_clamp_page" end module CssProvider = struct external create : unit -> css_provider = "ml_gtk_css_provider_new" external load_from_data : css_provider -> string -> unit = "ml_gtk_css_provider_load_from_data" end module StyleContext = struct module ProviderPriority = struct type t = int let fallback : t = 1 let theme : t = 200 let settings : t = 400 let application : t = 600 let user : t = 800 end (** Does not cascade!! *) external add_provider : style_context -> css_provider -> ProviderPriority.t -> unit = "ml_gtk_style_context_add_provider" external add_provider_for_screen : Gdk.screen -> css_provider -> ProviderPriority.t -> unit = "ml_gtk_style_context_add_provider_for_screen" end lablgtk-3.1.2/src/gtkEdit.ml0000644000650106067230000000475214161276610014524 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels open Gaux open Gobject open Gtk open Tags open GtkEditProps open GtkBase module Editable = struct include Editable let marshal_insert f argv = match List.tl (Closure.get_args argv) with | `STRING _ :: `INT len :: `POINTER(Some p) :: _ -> (* XXX These two accesses are implementation-dependent *) let s = Gpointer.peek_string (Closure.get_pointer argv ~pos:1) ~len and pos = ref (Gpointer.peek_int p) in (f s ~pos : unit); Gpointer.poke_int p !pos | _ -> invalid_arg "GtkEdit.Editable.marshal_insert" let () = Internal.marshal_insert := marshal_insert end module Entry = Entry module SpinButton = struct include SpinButton let get_value_as_int w = truncate (floor (get P.value w +. 0.5)) end module ComboBox = GtkEditProps.ComboBox module ComboBoxText = GtkEditProps.ComboBoxText module EntryCompletion = GtkEditProps.EntryCompletion lablgtk-3.1.2/src/gtkEdit.props0000644000650106067230000001474414161276610015261 0ustar glondused(* $Id$ *) prefix "Gtk" initializer "ml_gtkedit_init" header { open Gtk module Internal = struct let marshal_insert = ref (fun (_ : string -> pos:int ref -> unit) -> failwith "GtkEditProps.Internal.marshal_insert") end } oheader{ open GtkEditProps } conversions { GtkStock "GtkStock.conv" } boxed { GdkEventButton "GdkEvent.Button.t" } classes { GtkAdjustment "Gtk.adjustment obj" GtkMenu "Gtk.menu obj" GdkPixbuf "GdkPixbuf.pixbuf" } class Editable abstract wrapsig : Widget { (* actually an interface *) method select_region : "start:int -> stop:int -> unit" method get_selection_bounds : "(int * int) option" method insert_text : "string -> pos:int -> int" method delete_text : "start:int -> stop:int -> unit" method get_chars : "start:int -> stop:int -> string" method cut_clipboard method copy_clipboard method paste_clipboard method delete_selection method get_position : "int" method set_position : "int -> unit" method get_editable : "bool" method set_editable : "bool -> unit" signal changed signal delete_text : start:int stop:int signal insert_text "(fun f -> !Internal.marshal_insert f)" } class Entry set wrap wrapsig : Editable { "text" gchararray : Read / Write "text-length" guint : Read "visibility" gboolean : Read / Write "max-length" gint : Read / Write "activates-default" gboolean : Read / Write "cursor-position" gint : Read / NoWrap "editable" gboolean : Read / Write / NoWrap "has-frame" gboolean : Read / Write "invisible-char" guint : Read / Write / NoSet "scroll-offset" gint : Read "selection-bound" gint : Read / NoWrap "width-chars" gint : Read / Write "xalign" gfloat : Read / Write (* Since 2.14 *) "overwrite-mode" gboolean : Read / Write / NoSet (* Since 2.16 *) "primary-icon-activatable" gboolean : Read / Write / NoSet "primary-icon-name" gchararray_opt : Read / Write / NoSet / NoWrap "primary-icon-pixbuf" GdkPixbuf : Read / Write / NoSet / NoGet "primary-icon-sensitive" gboolean : Read / Write / NoSet "primary-icon-stock" GtkStock : Read / Write / NoSet / NoGet "primary-icon-tooltip-markup" gchararray : Read / Write / NoSet / NoGet "primary-icon-tooltip-text" gchararray : Read / Write / NoSet / NoGet "secondary-icon-activatable" gboolean : Read / Write / NoSet "secondary-icon-name" gchararray_opt : Read / Write / NoSet / NoWrap "secondary-icon-pixbuf" GdkPixbuf : Read / Write / NoSet / NoGet "secondary-icon-sensitive" gboolean : Read / Write / NoSet "secondary-icon-stock" GtkStock : Read / Write / NoSet / NoGet "secondary-icon-tooltip-markup" gchararray : Read / Write / NoSet / NoGet "secondary-icon-tooltip-text" gchararray : Read / Write / NoSet / NoGet (* Since 3.2 *) "placeholder-text" gchararray : Read / Write method get_completion : "Gtk.entry_completion option" method set_completion : "Gtk.entry_completion -> unit" signal activate signal backspace signal copy_clipboard signal cut_clipboard signal delete_from_cursor : GtkDeleteType int signal insert_at_cursor : string signal move_cursor : GtkMovementStep gint extend:gboolean signal paste_clipboard signal populate_popup : GtkMenu / NoWrap signal toggle_overwrite (* Since 2.16 *) signal icon_press : GtkEntryIconPosition GdkEventButton signal icon_released : GtkEntryIconPosition GdkEventButton } class SpinButton set wrap wrapsig : Entry { "adjustment" GtkAdjustment : Read / Write "climb-rate"(rate) gdouble : Read / Write "digits" guint : Read / Write "numeric" gboolean : Read / Write "snap-to-ticks" gboolean : Read / Write "update-policy" GtkSpinButtonUpdatePolicy : Read / Write "value" gdouble : Read / Write "wrap" gboolean : Read / Write method spin : "Tags.spin_type -> unit" method update signal change_value : GtkScrollType signal input : -> int signal output : -> bool signal value_changed signal wrapped (* GTK+ 2.10 *) } class Combo set wrap : Box { "allow-empty" gboolean : Read / Write "case-sensitive" gboolean : Read / Write "enable-arrow-keys" gboolean : Read / Write "enable-arrows-always" gboolean : Read / Write / NoSet / NoWrap "value-in-list" gboolean : Read / Write } class ComboBox set wrap wrapsig : Bin { "model" GtkTreeModel : Read / Write / NoWrap "active" gint : Read / Write "add-tearoffs" gboolean : Read / Write (* GTK+ 2.6 *) "column-span-column" gint : Read / Write / NoSet / NoWrap "focus-on-click" gboolean : Read / Write (* GTK+ 2.6 *) "entry-text-column" gint : Read / Write (* GTK+ 2.24 *) "has-entry" gboolean : Read / Write (* GTK+ 2.24 *) "has-frame" gboolean : Read / Write (* GTK+ 2.6 *) "row-span-column" gint : Read / Write / NoSet / NoWrap "wrap-width" gint : Read / Write signal changed method get_active_iter : "Gtk.tree_iter option" method set_active_iter : "Gtk.tree_iter option -> unit" method set_row_separator_func : "(Gtk.tree_model -> Gtk.tree_iter -> bool) option -> unit" (* GTK+ 2.6 *) } class ComboBoxText set : ComboBox { } class EntryCompletion set gobject { "minimum-key-length" gint : Read / Write "model" GtkTreeModel : Read / Write signal action_activated : gint signal match_selected : GtkTreeModelFilter GtkTreeIter -> gboolean method get_entry : "Gtk.entry obj option" method complete method insert_action_text : "int -> string -> unit" method insert_action_markup : "int -> string -> unit" method delete_action : "int -> unit" method set_text_column : "int -> unit" method set_match_func : "(string -> Gtk.tree_iter -> bool) -> unit" } lablgtk-3.1.2/src/gtkFile.ml0000644000650106067230000001436614161276610014520 0ustar glondused(**************************************************************************) (* 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$ *) module FileFilter = struct external create : unit -> Gtk.file_filter Gtk.obj = "ml_gtk_file_filter_new" external set_name : [> Gtk.file_filter] Gtk.obj -> string -> unit = "ml_gtk_file_filter_set_name" external get_name : [> Gtk.file_filter] Gtk.obj -> string = "ml_gtk_file_filter_get_name" external add_mime_type : [> Gtk.file_filter] Gtk.obj -> string -> unit = "ml_gtk_file_filter_add_mime_type" external add_pattern : [> Gtk.file_filter] Gtk.obj -> string -> unit = "ml_gtk_file_filter_add_pattern" external add_custom : [> Gtk.file_filter] Gtk.obj -> GtkEnums.file_filter_flags list -> callback:((GtkEnums.file_filter_flags * string) list -> bool) -> unit = "ml_gtk_file_filter_add_custom" end module FileChooser = struct include GtkFileProps.FileChooser type error = | ERROR_NONEXISTENT | ERROR_BAD_FILENAME exception Error of error * string let () = Callback.register_exception "gtk_file_chooser_error" (Error (ERROR_NONEXISTENT, "")) external set_current_name : [> Gtk.file_chooser] Gtk.obj -> string -> unit = "ml_gtk_file_chooser_set_current_name" external get_filename : [> Gtk.file_chooser] Gtk.obj -> string option = "ml_gtk_file_chooser_get_filename" external set_filename : [> Gtk.file_chooser] Gtk.obj -> string -> bool = "ml_gtk_file_chooser_set_filename" external select_filename : [> Gtk.file_chooser] Gtk.obj -> string -> bool = "ml_gtk_file_chooser_select_filename" external unselect_filename : [> Gtk.file_chooser] Gtk.obj -> string -> unit = "ml_gtk_file_chooser_unselect_filename" external select_all : [> Gtk.file_chooser] Gtk.obj -> unit = "ml_gtk_file_chooser_select_all" external unselect_all : [> Gtk.file_chooser] Gtk.obj -> unit = "ml_gtk_file_chooser_unselect_all" external get_filenames : [> Gtk.file_chooser] Gtk.obj -> string list = "ml_gtk_file_chooser_get_filenames" external get_current_folder : [> Gtk.file_chooser] Gtk.obj -> string option = "ml_gtk_file_chooser_get_current_folder" external set_current_folder : [> Gtk.file_chooser] Gtk.obj -> string -> bool = "ml_gtk_file_chooser_set_current_folder" external get_uri : [> Gtk.file_chooser] Gtk.obj -> string option = "ml_gtk_file_chooser_get_uri" external set_uri : [> Gtk.file_chooser] Gtk.obj -> string -> bool = "ml_gtk_file_chooser_set_uri" external select_uri : [> Gtk.file_chooser] Gtk.obj -> string -> bool = "ml_gtk_file_chooser_select_uri" external unselect_uri : [> Gtk.file_chooser] Gtk.obj -> string -> unit = "ml_gtk_file_chooser_unselect_uri" external get_uris : [> Gtk.file_chooser] Gtk.obj -> string list = "ml_gtk_file_chooser_get_uris" external get_current_folder_uri : [> Gtk.file_chooser] Gtk.obj -> string = "ml_gtk_file_chooser_get_current_folder_uri" external set_current_folder_uri : [> Gtk.file_chooser] Gtk.obj -> string -> bool = "ml_gtk_file_chooser_set_current_folder_uri" external get_preview_filename : [> Gtk.file_chooser] Gtk.obj -> string option = "ml_gtk_file_chooser_get_preview_filename" external get_preview_uri : [> Gtk.file_chooser] Gtk.obj -> string option = "ml_gtk_file_chooser_get_preview_uri" external add_filter : [> Gtk.file_chooser] Gtk.obj -> Gtk.file_filter Gtk.obj -> unit = "ml_gtk_file_chooser_add_filter" external remove_filter : [> Gtk.file_chooser] Gtk.obj -> Gtk.file_filter Gtk.obj -> unit = "ml_gtk_file_chooser_remove_filter" external list_filters : [> Gtk.file_chooser] Gtk.obj -> Gtk.file_filter Gtk.obj list = "ml_gtk_file_chooser_list_filters" external add_shortcut_folder : [> Gtk.file_chooser] Gtk.obj -> string -> unit = "ml_gtk_file_chooser_add_shortcut_folder" external remove_shortcut_folder : [> Gtk.file_chooser] Gtk.obj -> string -> unit = "ml_gtk_file_chooser_remove_shortcut_folder" external list_shortcut_folders : [> Gtk.file_chooser] Gtk.obj -> string list = "ml_gtk_file_chooser_list_shortcut_folders" external add_shortcut_folder_uri : [> Gtk.file_chooser] Gtk.obj -> string -> unit = "ml_gtk_file_chooser_add_shortcut_folder_uri" external remove_shortcut_folder_uri : [> Gtk.file_chooser] Gtk.obj -> string -> unit = "ml_gtk_file_chooser_remove_shortcut_folder_uri" external list_shortcut_folder_uris : [> Gtk.file_chooser] Gtk.obj -> string list = "ml_gtk_file_chooser_list_shortcut_folder_uris" let dialog_create pl : [Gtk.dialog|Gtk.file_chooser] Gtk.obj = GtkObject.make "GtkFileChooserDialog" pl let widget_create pl : [Gtk.widget|Gtk.file_chooser] Gtk.obj = GtkObject.make "GtkFileChooserWidget" pl end module FileChooserButton = GtkFileProps.FileChooserButton lablgtk-3.1.2/src/gtkFile.props0000644000650106067230000000227014161276610015242 0ustar glondusedprefix "Gtk" initializer "ml_gtkfile_init" conversions { GtkFileFilter "(gobject : Gtk.file_filter Gtk.obj data_conv)" GtkFileChooserDialog "(gobject : [>`filechooser|`dialog] Gtk.obj data_conv)" } class FileChooser abstract wrap wrapsig { "action" GtkFileChooserAction : Read / Write "create-folders" gboolean : Read / Write "extra-widget" GtkWidget : Read / Write "filter" GtkFileFilter : Read / Write / NoWrap "local-only" gboolean : Read / Write "preview-widget" GtkWidget : Read / Write "preview-widget-active" gboolean : Read / Write "select-multiple" gboolean : Read / Write "show-hidden" gboolean : Read / Write "use-preview-label" gboolean : Read / Write "do-overwrite-confirmation" gboolean : Read / Write signal current_folder_changed signal file_activated signal selection_changed signal update_preview signal confirm_overwrite : -> GtkFileChooserConfirmation } class FileChooserButton wrap : HBox { (* "dialog" GtkFileChooserDialog : Write / Construct Only *) "title" gchararray : Read / Write "width-chars" gint : Read / Write } lablgtk-3.1.2/src/gtkMain.ml0000644000650106067230000001030614161276610014513 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels open Gtk let () = Callback.register_exception "gtkerror" (Error"") let () = Gc.set {(Gc.get()) with Gc.max_overhead = 1000000} module Main = struct external init : string array -> string array = "ml_gtk_init" (* external set_locale : unit -> string = "ml_gtk_set_locale" *) external disable_setlocale : unit -> unit = "ml_gtk_disable_setlocale" (* external main : unit -> unit = "ml_gtk_main" *) external _caml_sys_modify_argv : string array -> unit = "caml_sys_modify_argv" let init ?(setlocale=true) () = let setlocale = try Sys.getenv "GTK_SETLOCALE" <> "0" with Not_found -> setlocale in if not setlocale then disable_setlocale (); let argv = try init Sys.argv with Error err -> raise (Error ("GtkMain.init: initialization failed\n" ^ err)) in if setlocale then ignore (Glib.Main.setlocale `NUMERIC (Some "C")); _caml_sys_modify_argv argv; if setlocale then Glib.Main.setlocale `ALL None else "" open Glib let loops = ref [] let default_main () = let loop = (Main.create true) in loops := loop :: !loops; Glib.Main.wrap_poll_func (); (* mark polling as blocking *) while Main.is_running loop do Main.iteration true done; if !loops <> [] then loops := List.tl !loops let main_func = ref default_main let main () = !main_func () let quit () = if !loops <> [] then Main.quit (List.hd !loops) external get_version : unit -> int * int * int = "ml_gtk_get_version" let version = get_version () external get_current_event_time : unit -> int32 = "ml_gtk_get_current_event_time" end module Grab = struct external add : [>`widget] obj -> unit = "ml_gtk_grab_add" external remove : [>`widget] obj -> unit = "ml_gtk_grab_remove" external get_current : unit -> widget obj= "ml_gtk_grab_get_current" end module Event = struct (* May return GDK_CURRENT_TIME *) external get_current_time : unit -> int32 = "ml_gtk_get_current_event_time" (* May raise Gpointer.Null *) external get_current : unit -> GdkEvent.any = "ml_gtk_get_current_event" (* May raise Gpointer.Null *) external get_widget : 'a Gdk.event -> widget obj = "ml_gtk_get_event_widget" external propagate : [> `widget] obj -> 'a Gdk.event -> unit = "ml_gtk_propagate_event" end module Rc = struct external add_default_file : string -> unit = "ml_gtk_rc_add_default_file" external parse : file:string -> unit = "ml_gtk_rc_parse" external parse_string : string -> unit = "ml_gtk_rc_parse_string" end module Gc_custom = struct external set_speed : int -> unit = "ml_set_gc_speed" external get_speed : unit -> int = "ml_get_gc_speed" end lablgtk-3.1.2/src/gtkMenu.ml0000644000650106067230000000723614161276610014543 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gtk open GtkMenuProps open GtkBase module MenuItem = struct include MenuItem external create_with_label : string -> menu_item obj = "ml_gtk_menu_item_new_with_label" external create_with_mnemonic : string -> menu_item obj = "ml_gtk_menu_item_new_with_mnemonic" external separator_create : unit -> menu_item obj = "ml_gtk_separator_menu_item_new" let create ?(use_mnemonic=false) ?label () = match label with None -> create [] | Some label -> if use_mnemonic then create_with_mnemonic label else create_with_label label end module CheckMenuItem = struct include CheckMenuItem external create_with_label : string -> check_menu_item obj = "ml_gtk_check_menu_item_new_with_label" external create_with_mnemonic : string -> check_menu_item obj = "ml_gtk_check_menu_item_new_with_mnemonic" let create ?(use_mnemonic=false) ?label () = match label with None -> create [] | Some label -> if use_mnemonic then create_with_mnemonic label else create_with_label label let set ?active w = may active ~f:(set P.active w) end module RadioMenuItem = struct include RadioMenuItem external create : radio_menu_item group -> radio_menu_item obj = "ml_gtk_radio_menu_item_new" external create_with_label : radio_menu_item group -> string -> radio_menu_item obj = "ml_gtk_radio_menu_item_new_with_label" external create_with_mnemonic : radio_menu_item group -> string -> radio_menu_item obj = "ml_gtk_radio_menu_item_new_with_mnemonic" let create ?(group = None) ?(use_mnemonic=false) ?label () = match label with None -> create group | Some label -> if use_mnemonic then create_with_mnemonic group label else create_with_label group label end module MenuShell = MenuShell module Menu = struct include Menu let popup ?parent_menu ?parent_item w = popup w (Gpointer.optboxed parent_menu) (Gpointer.optboxed parent_item) let set ?active ?accel_group w = may active ~f:(set_active w); may accel_group ~f:(set_accel_group w) end module MenuBar = MenuBar lablgtk-3.1.2/src/gtkMenu.props0000644000650106067230000000443314161276610015272 0ustar glondused(* $Id$ *) prefix "Gtk" initializer "ml_gtkmenu_init" header { open Gtk } conversions { } class MenuItem : Item { method set_submenu : "[>`menu] obj option -> unit" method get_submenu : "widget obj option" method activate method select method deselect method set_accel_path : "string -> unit" method toggle_size_request : "int -> unit" method toggle_size_allocate : "int -> unit" signal activate signal activate_item (*signal toggle_size_allocate : gint signal toggle_size_request : gintref*) } class CheckMenuItem : MenuItem { "active" gboolean : Read / Write "inconsistent" gboolean : Read / Write method toggled signal toggled } class RadioMenuItem abstract : CheckMenuItem { method set_group : "radio_menu_item group -> unit" } (* class ImageMenuItem : MenuItem { "image" GtkWidget : Read / Write } class SeparatorMenuItem {} class TearoffMenuItem {} *) class MenuShell abstract : Container { method append : "[>`widget] obj -> unit" method prepend : "[>`widget] obj -> unit" method insert : "[>`widget] obj -> pos:int -> unit" method deactivate signal activate_current : gboolean signal cancel signal cycle_focus : GtkDirectionType signal deactivate signal move_current : GtkMenuDirectionType signal selection_done } class MenuBar : MenuShell { "child-pack-direction" GtkPackDirection : Read / Write "pack-direction" GtkPackDirection : Read / Write "internal-padding" gint : Read "shadow-type" GtkShadowType : Read } class Menu : MenuShell { "tearoff-title" gchararray : Read / Write method popup : "[>`menushell] optobj -> [>`menuitem] optobj -> button:int -> time:int32 -> unit" method popup_at : "?button:int -> ?time:int32 -> (x:int -> y:int -> pushed_in:bool -> int * int * bool) -> unit" method popdown method get_active : "widget obj" method set_active : "int -> unit" method set_accel_group : "accel_group -> unit" method get_accel_group : "accel_group" method set_accel_path : "string -> unit" method attach_to_widget : "[>`widget] obj -> unit" method get_attach_widget : "widget obj" method detach signal move_scroll : GtkScrollType } lablgtk-3.1.2/src/gtkMisc.ml0000644000650106067230000000410714161276610014524 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gtk open Tags open GtkMiscProps open GtkBase module ColorSelection = ColorSelection module Statusbar = Statusbar module StatusIcon = GtkStatusIcon module Calendar = Calendar module DrawingArea = DrawingArea module Misc = struct include Misc let all_params ~cont = make_params ~cont:(Widget.size_params ~cont) end module Arrow = Arrow module Image = Image module Label = Label module Separator = Separator module FontSelection = FontSelection lablgtk-3.1.2/src/gtkMisc.props0000644000650106067230000001363314161276610015263 0ustar glondused(* $Id$ *) initializer "ml_gtkmisc_init" header { open Gtk } conversions { GtkStock "GtkStock.conv" } boxed { GdkEventButton "GdkEvent.Button.t" } classes { GdkPixbuf "GdkPixbuf.pixbuf" GtkMenu "Gtk.menu obj" } prefix "" class GtkStatusIcon set wrap wrapsig : GObject { "screen" GdkScreen : Read / Write "visible" gboolean : Read / Write "tooltip_markup" gchararray : Read / Write "tooltip_text" gchararray : Read / Write method set_from_pixbuf : "GdkPixbuf.pixbuf -> unit" method set_from_file : "string -> unit" method set_from_stock : "string -> unit" method set_from_icon_name : "string -> unit" method get_pixbuf : "GdkPixbuf.pixbuf" method get_stock : "string" method get_icon_name : "string" method get_size : "int" method set_screen : "Gdk.screen -> unit" method get_screen : "Gdk.screen" method is_embedded : "bool" signal activate signal popup_menu : guint guint signal size_changed : gint } prefix "Gtk" class Misc abstract set wrap : Widget { "xalign" gfloat : Read / Write "yalign" gfloat : Read / Write "xpad" gint : Read / Write "ypad" gint : Read / Write } class Label set wrap : Misc { "label" gchararray : Read / Write "use-markup" gboolean : Read / Write "use-underline" gboolean : Read / Write "mnemonic-keyval" guint : Read "mnemonic-widget" GtkWidget_opt : Read / Write "justify" GtkJustification : Read / Write "wrap"(line_wrap) gboolean : Read / Write "pattern" gchararray : Write "selectable" gboolean : Read / Write "attributes" PangoAttrList : Read / Write "cursor-position" gint : Read "selection-bound" gint : Read (* new properties in GTK 2.6 *) "angle" gdouble : Read / Write / NoSet "ellipsize" PangoEllipsizeMode : Read / Write "max-width-chars" gint : Read / Write / NoSet "single-line-mode" gboolean : Read / Write / NoSet "width-chars" gint : Read / Write / NoSet method get_text : "string" method set_text : "string -> unit" method select_region : "int -> int -> unit" method get_selection_bounds : "(int * int) option" method get_layout : "Pango.layout" signal copy_clipboard signal move_cursor : GtkMovementStep gint gboolean signal populate_popup : GtkMenu } (* not in 3 class TipsQuery set wrap wrapsig : Label { "caller" GtkWidget_opt : Read / Write "emit-always" gboolean : Read / Write "label-inactive" gchararray : Read / Write "label-no-tip" gchararray : Read / Write method start_query method stop_query signal start_query signal stop_query signal widget_entered : GtkWidget_opt text:string privat:string signal widget_selected : GtkWidget_opt text:string privat:string GdkEventButton -> bool } *) class Arrow set wrap : Misc { "arrow-type"(kind) GtkArrowType : Read / Write "shadow-type"(shadow) GtkShadowType : Read / Write } class Image set wrap : Misc { "file" gchararray : Write "gicon" GIcon : Read / Write "icon-name" gchararray : Read / Write "icon-set" GtkIconSet : Read / Write "icon-size" GtkIconSize : Read / Write "pixbuf" GdkPixbuf : Read / Write "pixbuf-animation" GdkPixbufAnimation : Read / Write "pixel-size" gint : Read / Write "resource" gchararray : Read / Write "stock" GtkStock : Read / Write "storage-type" GtkImageType : Read "surface" CairoSurface : Read / Write "use-fallback" gboolean : Read / Write method clear } class ColorSelection set wrap : Box { "current-alpha"(alpha) guint : Read / Write "current-color"(color) GdkColor : Read / Write "has-opacity-control" gboolean : Read / Write "has-palette" gboolean : Read / Write signal color_changed } class FontSelection set wrap : Box { (* bug in Gtk: "font" GdkFont_opt : Read *) "font-name" gchararray : Read / Write "preview-text" gchararray : Read / Write } class Statusbar set : Box { "shadow-type" GtkShadowType : Read method get_context_id : "string -> statusbar_context" method push : "statusbar_context -> text:string -> statusbar_message" method pop : "statusbar_context -> unit" method remove : "statusbar_context -> statusbar_message -> unit" signal text_popped : guint gchararray signal text_pushed : guint gchararray } class Calendar wrap wrapsig : Widget { "day" gint : Read / Write "month" gint : Read / Write "year" gint : Read / Write method select_month : "month:int -> year:int -> unit" method select_day : "int -> unit" method mark_day : "int -> unit" method unmark_day : "int -> unit" method clear_marks method set_display_options : "Gtk.Tags.calendar_display_options list -> unit" method get_date : "int * int * int" (* year * month * day *) signal day_selected signal day_selected_double_click signal month_changed signal next_month signal next_year signal prev_month signal prev_year } class DrawingArea : Widget { } class Separator hv : Widget { "orientation" GtkOrientation : Read / Write / NoSet } lablgtk-3.1.2/src/gtkObject.ml0000644000650106067230000000350314161276610015036 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) open Gtk open Gobject let cast w : [`giu] obj = try_cast w "GInitiallyUnowned" external _ref_sink : [>`giu] obj -> unit = "ml_g_object_ref_sink" let make ~classe params = let obj = unsafe_create ~classe params in _ref_sink obj; obj lablgtk-3.1.2/src/gtkPack.ml0000644000650106067230000000625314161276610014513 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gtk open Tags open GtkPackProps open GtkBase module Box = struct include Box let pack box ?from:( dir = (`START : pack_type)) ?(expand=false) ?(fill=true) ?(padding=0) child = (match dir with `START -> pack_start | `END -> pack_end) box child ~expand ~fill ~padding end module BBox = ButtonBox module Fixed = Fixed module Layout = Layout module Paned = Paned module SizeGroup = struct include SizeGroup external new_ : unit -> size_group = "ml_gtk_size_group_new" end module Table = struct include Table let has_x : expand_type -> bool = function `X|`BOTH -> true | `Y|`NONE -> false let has_y : expand_type -> bool = function `Y|`BOTH -> true | `X|`NONE -> false let attach t ~left ~top ?(right=left+1) ?(bottom=top+1) ?(expand=`NONE) ?(fill=`BOTH) ?(shrink=`NONE) ?(xpadding=0) ?(ypadding=0) w = let xoptions = if has_x shrink then [`SHRINK] else [] in let xoptions = if has_x fill then `FILL::xoptions else xoptions in let xoptions = if has_x expand then `EXPAND::xoptions else xoptions in let yoptions = if has_y shrink then [`SHRINK] else [] in let yoptions = if has_y fill then `FILL::yoptions else yoptions in let yoptions = if has_y expand then `EXPAND::yoptions else yoptions in attach t w ~left ~top ~right ~bottom ~xoptions ~yoptions ~xpadding ~ypadding end module Grid = struct include Grid let attach t ~left ~top ?(width=1) ?(height=1) w = attach t w ~left ~top ~width ~height end module Notebook = Notebook module Stack = Stack module StackSwitcher = StackSwitcher lablgtk-3.1.2/src/gtkPack.props0000644000650106067230000001446714161276610015254 0ustar glondused(* $Id$ *) prefix "Gtk" initializer "ml_gtkpack_init" header { open Gtk } oheader{ open GtkPackProps } classes { GtkAdjustment "Gtk.adjustment obj" } class Box hv set wrap : Container { "homogeneous" gboolean : Read / Write "spacing" gint : Read / Write "orientation" GtkOrientation : Read / Write / NoSet method pack_start : "[>`widget] obj -> expand:bool -> fill:bool -> padding:int -> unit" method pack_end : "[>`widget] obj -> expand:bool -> fill:bool -> padding:int -> unit" method reorder_child : "[>`widget] obj -> pos:int -> unit" method query_child_packing : "[>`widget] obj -> box_packing" method set_child_packing : "[>`widget] obj -> ?expand:bool -> ?fill:bool -> ?padding:int -> ?from:Tags.pack_type -> unit" } class ButtonBox hv : Box { "layout-style" GtkButtonBoxStyle : Read / Write method get_child_secondary : "[> `widget] obj -> bool" method set_child_secondary : "[> `widget] obj -> bool -> unit" method get_child_non_homogeneous : "[> `widget] obj -> bool" method set_child_non_homogeneous : "[> `widget] obj -> bool -> unit" } class Fixed : Container { method put : "[>`widget] obj -> x:int -> y:int -> unit" method move : "[>`widget] obj -> x:int -> y:int -> unit" } class Paned hv wrap : Container { "position" gint : Read / Write "position-set" gboolean : Read / Write / NoWrap "max-position" gint : Read "min-position" gint : Read "orientation" GtkOrientation : Read / Write / NoSet method add1 : "[>`widget] obj -> unit" method add2 : "[>`widget] obj -> unit" method pack1 : "[>`widget] obj -> resize:bool -> shrink:bool -> unit" method pack2 : "[>`widget] obj -> resize:bool -> shrink:bool -> unit" method get_child1 : "widget obj" method get_child2 : "widget obj" (* omit signals *) } class Layout set : Container { "hadjustment" GtkAdjustment : Read / Write "height" guint : Read / Write "vadjustment" GtkAdjustment : Read / Write "width" guint : Read / Write method put : "[>`widget] obj -> x:int -> y:int -> unit" method move : "[>`widget] obj -> x:int -> y:int -> unit" method get_bin_window : "Gdk.window" } conversions { Pointer } class Notebook set wrap wrapsig : Container { "enable-popup" gboolean : Read / Write "group-name" string : Read / Write "page" gint : Read / Write / NoSet / NoWrap "scrollable" gboolean : Read / Write "show-border" gboolean : Read / Write "show-tabs" gboolean : Read / Write "tab-pos" GtkPositionType : Read / Write method insert_page_menu : "[>`widget] obj -> tab_label:[>`widget] optobj -> menu_label:[>`widget] optobj -> ?pos:int -> int" (* default is append to end *) method remove_page : "int -> unit" method get_current_page : "int" method get_nth_page : "int -> widget obj" method page_num : "[>`widget] obj -> int" method next_page method prev_page method get_tab_label : "[>`widget] obj -> widget obj" method set_tab_label : "[>`widget] obj -> [>`widget] obj -> unit" method get_menu_label : "[>`widget] obj -> widget obj" method set_menu_label : "[>`widget] obj -> [>`widget] obj -> unit" method reorder_child : "[>`widget] obj -> int -> unit" method set_tab_reorderable : "[>`widget] obj -> bool -> unit" method get_tab_reorderable : "[>`widget] obj -> bool" signal switch_page : GtkWidget gint / NoWrap signal select_page : gboolean signal reorder_tab : GtkDirectionType gboolean signal change_current_page : gint signal move_focus_out : GtkDirectionType signal page_added : GtkWidget guint (* GTK+ 2.10 *) signal page_removed : GtkWidget guint (* GTK+ 2.10 *) signal page_reordered : GtkWidget guint (* GTK+ 2.10 *) signal create_window : page:GtkWidget x:gint y:gint (* GTK+ 2.12 *) } class Table set wrap :Container { "n-columns"(columns) guint : Read / Write "n-rows"(rows) guint : Read / Write "homogeneous" gboolean : Read / Write "row-spacing"(row_spacings) guint : Read / Write "column-spacing"(col_spacings) guint : Read / Write method attach : "[>`widget] obj -> left:int -> right:int -> top:int -> bottom:int -> xoptions:Tags.attach_options list -> yoptions:Tags.attach_options list -> xpadding:int -> ypadding:int -> unit" method set_row_spacing : "int -> int -> unit" method set_col_spacing : "int -> int -> unit" } class Grid set wrap : Container { "baseline-row"(baseline_row) guint : Read / Write "row-homogeneous"(row_homogeneous) gboolean : Read / Write "column-homogeneous"(col_homogeneous) gboolean : Read / Write "row-spacing"(row_spacings) guint : Read / Write "column-spacing"(col_spacings) guint : Read / Write method attach : "[>`widget] obj -> left:int -> top:int -> width:int -> height:int -> unit" } class SizeGroup set wrap : GObject { "mode" GtkSizeGroupMode : Read / Write method add_widget : "[>`widget] obj -> unit" method remove_widget : "[>`widget] obj -> unit" } class Stack set wrap wrapsig : Container { method add_named : "[>`widget] obj -> string -> unit" method add_titled : "[>`widget] obj -> string -> string -> unit" method get_child_by_name : "string -> [>`widget] obj" method set_visible_child_full : "string -> Tags.stack_transition_type -> unit" "hhomogeneous" gboolean : Read / Write "homogeneous" gboolean : Read / Write "interpolate-size" gboolean : Read / Write "transition-duration" guint : Read / Write "transition-running" gboolean : Read "transition-type" GtkStackTransitionType : Read / Write "vhomogeneous" gboolean : Read / Write "visible-child" GtkWidget : Read / Write "visible-child-name" string : Read / Write } class StackSwitcher set wrap wrapsig : Box { "icon-size" gint : Read / Write (** GTK 3.20 *) "stack" GtkStack : Read / Write / Construct } lablgtk-3.1.2/src/gtkRange.ml0000644000650106067230000000341014161276610014661 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gtk open Tags open GtkRangeProps open GtkBase module ProgressBar = ProgressBar module Range = Range module Scale = Scale module Scrollbar = Scrollbar lablgtk-3.1.2/src/gtkRange.props0000644000650106067230000000374714161276610015431 0ustar glondused(* $Id$ *) prefix "Gtk" initializer "ml_gtkrange_init" header { open Gtk } classes { GtkAdjustment "Gtk.adjustment obj" } class Range abstract set wrap wrapsig : Widget { "adjustment" GtkAdjustment : Read / Write / Construct "fill-level" gdouble : Read / Write "inverted" gboolean : Read / Write "restrict-to-fill-level" gboolean : Read / Write "round-digits" gint : Read / Write "show-fill-level" gboolean : Read / Write "lower-stepper-sensitivity" GtkSensitivityType : Read / Write "upper-stepper-sensitivity" GtkSensitivityType : Read / Write "orientation" GtkOrientation : Read / Write / NoSet signal adjust_bounds : gdouble signal move_slider : GtkScrollType signal change_value : GtkScrollType gdouble signal value_changed } class Scale hv set wrap : Range { "digits" gint : Read / Write "draw-value" gboolean : Read / Write "has-origin" gboolean : Read / Write "value-pos" GtkPositionType : Read / Write signal format_value : gdouble -> string } class Scrollbar hv : Range {} (* deprecated class Progress abstract : Widget { "activity-mode" gboolean : Read / Write "show-text" gboolean : Read / Write "text-xalign" gfloat : Read / Write / NoSet "text-yalign" gfloat : Read / Write / NoSet } *) class ProgressBar : Widget { "fraction" gdouble : Read / Write / Wrap "inverted" gboolean : Read / Write / Wrap "show-text" gboolean : Read / Write / Wrap "pulse-step" gdouble : Read / Write / Set / Wrap "text" gchararray : Read / Write / Wrap "ellipsize" PangoEllipsizeMode : Read / Write / Wrap method pulse } lablgtk-3.1.2/src/gtkSignal.ml0000644000650106067230000001662414161276610015055 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) open StdLabels open Gobject type id type 'a marshaller = 'a -> Closure.argv -> unit type ('a,'b) t = { name: string; classe: 'a; marshaller: 'b marshaller } type query = { id : int; signal_name : string; itype : string; flags : int; return : string; params : string array; } let enter_callback = ref (fun () -> ()) and exit_callback = ref (fun () -> ()) let stop_emit_ref = ref false let stop_emit () = stop_emit_ref := true type saved_state = State of bool let push_callback () = !enter_callback (); let old = !stop_emit_ref in stop_emit_ref := false; State old let pop_callback (State old) = let res = !stop_emit_ref in stop_emit_ref := old; !exit_callback (); res let user_handler = ref raise let safe_call ?(where="function call") f x = try f x with exn -> try !user_handler exn with exn -> Printf.eprintf "In %s, uncaught exception: %s\n" where (Printexc.to_string exn); if Printexc.backtrace_status () then Printexc.print_backtrace stderr; flush stderr external signal_new : string -> g_type -> Gobject.signal_type list -> unit = "ml_g_signal_new_me" external query : int -> query = "ml_g_signal_query" external list_ids : g_type -> int array = "ml_g_signal_list_ids" external connect_by_name : 'a obj -> name:string -> callback:g_closure -> after:bool -> id = "ml_g_signal_connect_closure" external emit_stop_by_name : 'a obj -> name:string -> unit = "ml_g_signal_stop_emission_by_name" external handler_block : 'a obj -> id -> unit = "ml_g_signal_handler_block" external handler_unblock : 'a obj -> id -> unit = "ml_g_signal_handler_unblock" external disconnect : 'a obj -> id -> unit = "ml_g_signal_handler_disconnect" external is_connected : 'a obj -> id -> bool = "ml_g_signal_handler_is_connected" let marshal_unit f _ = f () let marshal_int f argv = match Closure.get_args argv with | _ :: `INT n :: _ -> f n | _ -> invalid_arg "GtkSignal.marshal_int" let marshal_string f argv = match Closure.get_args argv with | _ :: `STRING (Some s) :: _ -> f s | _ -> invalid_arg "GtkSignal.marshal_string" let marshal1 conv1 name f argv = let arg1 = try Data.of_value conv1 (Closure.nth argv 1) with _ -> failwith ("GtkSignal.marshal1 : " ^ name) in f arg1 let marshal2 conv1 conv2 name f argv = let get conv pos = Data.of_value conv (Closure.nth argv ~pos) in let arg1, arg2 = try get conv1 1, get conv2 2 with _ -> failwith ("GtkSignal.marshal2 : " ^ name) in f arg1 arg2 let marshal3 conv1 conv2 conv3 name f argv = let get conv pos = Data.of_value conv (Closure.nth argv ~pos) in let arg1, arg2, arg3 = try get conv1 1, get conv2 2, get conv3 3 with _ -> failwith ("GtkSignal.marshal3 : " ^ name) in f arg1 arg2 arg3 let marshal4 conv1 conv2 conv3 conv4 name f argv = let get conv pos = Data.of_value conv (Closure.nth argv ~pos) in let arg1, arg2, arg3, arg4 = try get conv1 1, get conv2 2, get conv3 3, get conv4 4 with _ -> failwith ("GtkSignal.marshal4 : " ^ name) in f arg1 arg2 arg3 arg4 let marshal5 conv1 conv2 conv3 conv4 conv5 name f argv = let get conv pos = Data.of_value conv (Closure.nth argv ~pos) in let arg1, arg2, arg3, arg4, arg5 = try get conv1 1, get conv2 2, get conv3 3, get conv4 4, get conv5 5 with _ -> failwith ("GtkSignal.marshal5 : " ^ name) in f arg1 arg2 arg3 arg4 arg5 let marshal6 conv1 conv2 conv3 conv4 conv5 conv6 name f argv = let get conv pos = Data.of_value conv (Closure.nth argv ~pos) in let arg1, arg2, arg3, arg4, arg5, arg6 = try get conv1 1, get conv2 2, get conv3 3, get conv4 4, get conv5 5, get conv6 6 with _ -> failwith ("GtkSignal.marshal6 : " ^ name) in f arg1 arg2 arg3 arg4 arg5 arg6 let set_result conv argv res = Closure.set_result argv (conv.inj res) let marshal0_ret ~ret f argv = set_result ret argv (f ()) let marshal1_ret ~ret conv1 name f argv = set_result ret argv (marshal1 conv1 name f argv) let marshal2_ret ~ret conv1 conv2 name f argv = set_result ret argv (marshal2 conv1 conv2 name f argv) let marshal3_ret ~ret conv1 conv2 conv3 name f argv = set_result ret argv (marshal3 conv1 conv2 conv3 name f argv) let marshal4_ret ~ret conv1 conv2 conv3 conv4 name f argv = set_result ret argv (marshal4 conv1 conv2 conv3 conv4 name f argv) external emit_by_name : 'a obj -> name:string -> params:'b data_set array -> g_value = "ml_g_signal_emit_by_name" let emit_by_name_unit obj ~name ~params = ignore (emit_by_name obj ~name ~params) let emit (obj : 'a obj) ~(sgn : ('a, 'b) t) ~(emitter : cont:(_ data_set array -> 'c) -> 'b) ~(conv : g_value -> 'c) = emitter ~cont: (fun params -> conv(emit_by_name obj ~name:sgn.name ~params)) let emit_unit obj = emit obj ~emitter:(fun ~cont () -> cont [||]) ~conv:ignore () let emit_int = emit ~emitter:(fun ~cont n -> cont [|`INT n|]) ~conv:ignore external _override_class_closure : string -> g_type -> g_closure -> unit = "ml_g_signal_override_class_closure" let override_class_closure { name = name } t c = _override_class_closure name t c external chain_from_overridden : Closure.argv -> unit = "ml_g_signal_chain_from_overridden" let connect_aux ~name ~marshaller ~callback ?(after = false) (obj : 'a obj) = let callback argv = let old = push_callback () in (safe_call (marshaller callback) argv ~where: ("callback for signal " ^ name); if pop_callback old then emit_stop_by_name obj ~name else ()) in connect_by_name obj ~name ~callback: (Closure.create callback) ~after let connect ~sgn: ((sgn:('a, _) t)) ~callback ?after (obj : 'a obj) = connect_aux ~name:sgn.name ~marshaller:sgn.marshaller ~callback ?after obj let connect_property ~(prop:('a, _) property) ~callback (obj : 'a obj) = let name = "notify::" ^ prop.Gobject.name in let callback = fun () -> callback (get prop obj) in connect_aux ~name ~marshaller:marshal_unit ~callback obj lablgtk-3.1.2/src/gtkSignal.mli0000644000650106067230000001377514161276610015232 0ustar glondused(**************************************************************************) (* 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$ *) open Gobject (** Signals *) type id type 'a marshaller = 'a -> Closure.argv -> unit type ('a,'b) t = { name: string; classe: 'a; marshaller: 'b marshaller } (** When writing marshallers, beware that the list omits the 0th argument of argv, which is the referent object *) type query = { id : int; signal_name : string; itype : string; flags : int; return : string; params : string array; } val stop_emit : unit -> unit (** Call [stop_emit ()] in a callback to prohibit further handling of the current signal invocation, by calling [emit_stop_by_name]. Be careful about where you use it, since the concept of current signal may be tricky. *) val connect : sgn:('a, 'b) t -> callback:'b -> ?after:bool -> 'a obj -> id (** You may use [stop_emit] inside the callback *) val connect_property : prop:('a, 'b) Gobject.property -> callback:('b -> unit) -> 'a Gobject.obj -> id (** Connect to the "notify::foo" signal associated with a property. These are emitted each time the property "foo" is set (including when it is set to the same value). *) val user_handler : (exn -> unit) ref (** A hook to allow changing the behaviour of exceptions in callbacks The default behaviour of printing the exception and ignoring it is obtained when [user_handler] is set to [Pervasives.raise] *) val safe_call : ?where:string -> ('a -> unit) -> 'a -> unit (** Safe wrapper for function calls. Tries to handle exceptions with user_handler, and reports an error otherwise. *) external signal_new : string -> g_type -> Gobject.signal_type list -> unit = "ml_g_signal_new_me" external list_ids : g_type -> int array = "ml_g_signal_list_ids" external query : int -> query = "ml_g_signal_query" external connect_by_name : 'a obj -> name:string -> callback:g_closure -> after:bool -> id = "ml_g_signal_connect_closure" external disconnect : 'a obj -> id -> unit = "ml_g_signal_handler_disconnect" external emit_stop_by_name : 'a obj -> name:string -> unit = "ml_g_signal_stop_emission_by_name" (** Unsafe: use [stop_emit] instead. *) external handler_block : 'a obj -> id -> unit = "ml_g_signal_handler_block" external handler_unblock : 'a obj -> id -> unit = "ml_g_signal_handler_unblock" (** {4 Marshallers} Some marshaller functions, to build signals *) val marshal_unit : (unit -> unit) marshaller val marshal_int : (int -> unit) marshaller val marshal_string : (string -> unit) marshaller val marshal1 : 'a data_conv -> string -> ('a -> unit) marshaller val marshal2 : 'a data_conv -> 'b data_conv -> string -> ('a -> 'b -> unit) marshaller val marshal3 : 'a data_conv -> 'b data_conv -> 'c data_conv -> string -> ('a -> 'b -> 'c -> unit) marshaller val marshal4 : 'a data_conv -> 'b data_conv -> 'c data_conv -> 'd data_conv -> string -> ('a -> 'b -> 'c -> 'd -> unit) marshaller val marshal5 : 'a data_conv -> 'b data_conv -> 'c data_conv -> 'd data_conv -> 'e data_conv -> string -> ('a -> 'b -> 'c -> 'd -> 'e -> unit) marshaller val marshal6 : 'a data_conv -> 'b data_conv -> 'c data_conv -> 'd data_conv -> 'e data_conv -> 'f data_conv -> string -> ('a -> 'b -> 'c -> 'd -> 'e -> 'f -> unit) marshaller val marshal0_ret : ret:'a data_conv -> (unit -> 'a) marshaller val marshal1_ret : ret:'a data_conv -> 'b data_conv -> string -> ('b -> 'a) marshaller val marshal2_ret : ret:'a data_conv -> 'b data_conv -> 'c data_conv -> string -> ('b -> 'c -> 'a) marshaller val marshal3_ret : ret:'a data_conv -> 'b data_conv -> 'c data_conv -> 'd data_conv -> string -> ('b -> 'c -> 'd -> 'a) marshaller val marshal4_ret : ret:'a data_conv -> 'b data_conv -> 'c data_conv -> 'd data_conv -> 'e data_conv -> string -> ('b -> 'c -> 'd -> 'e -> 'a) marshaller (** {4 Emitter functions} *) val emit : 'a Gobject.obj -> sgn:('a, 'b) t -> emitter:(cont:('c Gobject.data_set array -> 'd) -> 'b) -> conv:(Gobject.g_value -> 'd) -> 'b val emit_unit : 'a obj -> sgn:('a, unit -> unit) t -> unit val emit_int : 'a obj -> sgn:('a, int -> unit) t -> int -> unit (** {4 Default handler override} *) val override_class_closure : ('a, 'b) t -> g_type -> g_closure -> unit external chain_from_overridden : Closure.argv -> unit = "ml_g_signal_chain_from_overridden" (**/**) (* Internal functions. *) val enter_callback : (unit -> unit) ref val exit_callback : (unit -> unit) ref type saved_state val push_callback : unit -> saved_state val pop_callback : saved_state -> bool lablgtk-3.1.2/src/gtkStock.ml0000644000650106067230000002663714161276610014730 0ustar glondused(**************************************************************************) (* 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$ *) open Gobject open Gtk (** Stock Items: prebuilt common menu/toolbar items and corresponding icons *) external _gtkstock_init : unit -> unit = "ml_gtkstock_init" let () = _gtkstock_init () type gtk_stock_id = [ | `ABOUT (** since GTK 2.6 *) | `ADD | `APPLY | `BOLD | `CANCEL | `CAPS_LOCK_WARNING (** since GTK 2.16 *) | `CDROM | `CLEAR | `CLOSE | `COLOR_PICKER (** since GTK 2.2 *) | `CONVERT | `CONNECT (** since GTK 2.6 *) | `COPY | `CUT | `DELETE | `DIALOG_AUTHENTICATION (** since GTK 2.4 *) | `DIALOG_INFO | `DIALOG_WARNING | `DIALOG_ERROR | `DIALOG_QUESTION | `DIRECTORY (** since GTK 2.6 *) | `DISCONNECT (** since GTK 2.6 *) | `DND | `DND_MULTIPLE | `EDIT (** since GTK 2.6 *) | `EXECUTE | `FILE (** since GTK 2.6 *) | `FIND | `FIND_AND_REPLACE | `FLOPPY | `FULLSCREEN (** since GTK 2.8 *) | `GOTO_BOTTOM | `GOTO_FIRST | `GOTO_LAST | `GOTO_TOP | `GO_BACK | `GO_DOWN | `GO_FORWARD | `GO_UP | `HARDDISK (** since GTK 2.4 *) | `HELP | `HOME | `INDEX | `INDENT (** since GTK 2.4 *) | `INFO (** since GTK 2.8 *) | `ITALIC | `JUMP_TO | `JUSTIFY_CENTER | `JUSTIFY_FILL | `JUSTIFY_LEFT | `JUSTIFY_RIGHT | `LEAVE_FULLSCREEN (** since GTK 2.8 *) | `MISSING_IMAGE | `MEDIA_FORWARD (** since GTK 2.6 *) | `MEDIA_NEXT (** since GTK 2.6 *) | `MEDIA_PAUSE (** since GTK 2.6 *) | `MEDIA_PLAY (** since GTK 2.6 *) | `MEDIA_PREVIOUS (** since GTK 2.6 *) | `MEDIA_RECORD (** since GTK 2.6 *) | `MEDIA_REWIND (** since GTK 2.6 *) | `MEDIA_STOP (** since GTK 2.6 *) | `NETWORK (** since GTK 2.4 *) | `NEW | `NO | `OK | `OPEN | `ORIENTATION_LANDSCAPE (** since GTK 2.10 *) | `ORIENTATION_PORTRAIT (** since GTK 2.10 *) | `ORIENTATION_REVERSE_LANDSCAPE (** since GTK 2.10 *) | `ORIENTATION_REVERSE_PORTRAIT (** since GTK 2.10 *) | `PAGE_SETUP (** since GTK 2.14 *) | `PASTE | `PREFERENCES | `PRINT | `PRINT_ERROR | `PRINT_PAUSED | `PRINT_PREVIEW | `PRINT_REPORT | `PRINT_WARNING | `PROPERTIES | `QUIT | `REDO | `REFRESH | `REMOVE | `REVERT_TO_SAVED | `SAVE | `SAVE_AS | `SELECT_ALL (** since GTK 2.10 *) | `SELECT_COLOR | `SELECT_FONT | `SORT_ASCENDING | `SORT_DESCENDING | `SPELL_CHECK | `STOP | `STRIKETHROUGH | `UNDELETE | `UNDERLINE | `UNDO | `UNINDENT (** since GTK 2.4 *) | `YES | `ZOOM_100 | `ZOOM_FIT | `ZOOM_IN | `ZOOM_OUT ] type id = [gtk_stock_id | `STOCK of string] let id_table = Hashtbl.create 37 let convert_id : id -> string = function | `STOCK s -> s | id -> Hashtbl.find id_table id let conv = { kind = `STRING; proj = (function `STRING (Some s) -> `STOCK s | _ -> failwith "GtkStock.get_id"); inj = (fun id -> `STRING (Some (convert_id id))) } (* awk '/^#define GTK_STOCK_/ { sub(/GTK_STOCK_/, "", $2) ; print "`" $2 ", " $3 ";"}' /mnt/garnome/root-cvs/include/gtk-2.0/gtk/gtkstock.h *) let () = List.iter (fun (k,d) -> Hashtbl.add id_table k d) [ `DIALOG_AUTHENTICATION, "gtk-dialog-authentication"; `DIALOG_INFO, "gtk-dialog-info"; `DIALOG_WARNING, "gtk-dialog-warning"; `DIALOG_ERROR, "gtk-dialog-error"; `DIALOG_QUESTION, "gtk-dialog-question"; `DND, "gtk-dnd"; `DND_MULTIPLE, "gtk-dnd-multiple"; `ABOUT, "gtk-about"; `ADD, "gtk-add"; `APPLY, "gtk-apply"; `BOLD, "gtk-bold"; `CANCEL, "gtk-cancel"; `CAPS_LOCK_WARNING, "gtk-caps-lock-warning"; `CDROM, "gtk-cdrom"; `CLEAR, "gtk-clear"; `CLOSE, "gtk-close"; `COLOR_PICKER, "gtk-color-picker"; `CONVERT, "gtk-convert"; `CONNECT, "gtk-connect"; `COPY, "gtk-copy"; `CUT, "gtk-cut"; `DELETE, "gtk-delete"; `DIRECTORY, "gtk-directory"; `DISCONNECT, "gtk-disconnect"; `EDIT, "gtk-edit"; `EXECUTE, "gtk-execute"; `FILE, "gtk-file"; `FIND, "gtk-find"; `FIND_AND_REPLACE, "gtk-find-and-replace"; `FLOPPY, "gtk-floppy"; `FULLSCREEN, "gtk-fullscreen"; `GOTO_BOTTOM, "gtk-goto-bottom"; `GOTO_FIRST, "gtk-goto-first"; `GOTO_LAST, "gtk-goto-last"; `GOTO_TOP, "gtk-goto-top"; `GO_BACK, "gtk-go-back"; `GO_DOWN, "gtk-go-down"; `GO_FORWARD, "gtk-go-forward"; `GO_UP, "gtk-go-up"; `HARDDISK, "gtk-harddisk"; `HELP, "gtk-help"; `HOME, "gtk-home"; `INDEX, "gtk-index"; `INDENT, "gtk-indent"; `INFO, "gtk-info"; `ITALIC, "gtk-italic"; `JUMP_TO, "gtk-jump-to"; `JUSTIFY_CENTER, "gtk-justify-center"; `JUSTIFY_FILL, "gtk-justify-fill"; `JUSTIFY_LEFT, "gtk-justify-left"; `JUSTIFY_RIGHT, "gtk-justify-right"; `LEAVE_FULLSCREEN, "gtk-leave-fullscreen"; (*@ *) `MISSING_IMAGE, "gtk-missing-image"; `MEDIA_FORWARD, "gtk-media-forward"; `MEDIA_NEXT, "gtk-media-next"; `MEDIA_PAUSE, "gtk-media-pause"; `MEDIA_PLAY, "gtk-media-play"; `MEDIA_PREVIOUS, "gtk-media-previous"; `MEDIA_RECORD, "gtk-media-record"; `MEDIA_REWIND, "gtk-media-rewind"; `MEDIA_STOP, "gtk-media-stop"; `NETWORK, "gtk-network"; `NEW, "gtk-new"; `NO, "gtk-no"; `OK, "gtk-ok"; `OPEN, "gtk-open"; `ORIENTATION_PORTRAIT, "gtk-orientation-portrait"; `ORIENTATION_LANDSCAPE, "gtk-orientation-landscape"; `ORIENTATION_REVERSE_LANDSCAPE, "gtk-orientation-reverse-landscape"; `ORIENTATION_REVERSE_PORTRAIT, "gtk-orientation-reverse-portrait"; `PAGE_SETUP, "gtk-page-setup"; `PASTE, "gtk-paste"; `PREFERENCES, "gtk-preferences"; `PRINT, "gtk-print"; `PRINT_ERROR, "gtk-print-error"; `PRINT_PAUSED, "gtk-print-paused"; `PRINT_PREVIEW, "gtk-print-preview"; `PRINT_REPORT, "gtk-print-report"; `PRINT_WARNING, "gtk-print-warning"; `PROPERTIES, "gtk-properties"; `QUIT, "gtk-quit"; `REDO, "gtk-redo"; `REFRESH, "gtk-refresh"; `REMOVE, "gtk-remove"; `REVERT_TO_SAVED, "gtk-revert-to-saved"; `SAVE, "gtk-save"; `SAVE_AS, "gtk-save-as"; `SELECT_ALL, "gtk-select-all"; (*@ *) `SELECT_COLOR, "gtk-select-color"; `SELECT_FONT, "gtk-select-font"; `SORT_ASCENDING, "gtk-sort-ascending"; `SORT_DESCENDING, "gtk-sort-descending"; `SPELL_CHECK, "gtk-spell-check"; `STOP, "gtk-stop"; `STRIKETHROUGH, "gtk-strikethrough"; `UNDELETE, "gtk-undelete"; `UNDERLINE, "gtk-underline"; `UNDO, "gtk-undo"; `UNINDENT, "gtk-unindent"; `YES, "gtk-yes"; `ZOOM_100, "gtk-zoom-100"; `ZOOM_FIT, "gtk-zoom-fit"; `ZOOM_IN, "gtk-zoom-in"; `ZOOM_OUT, "gtk-zoom-out"; ] module Icon_source = struct external new_icon_source : unit -> icon_source = "ml_gtk_icon_source_new" external set_filename : icon_source -> string -> unit = "ml_gtk_icon_source_set_filename" external set_pixbuf : icon_source -> GdkPixbuf.pixbuf -> unit = "ml_gtk_icon_source_set_pixbuf" external set_direction_wildcarded : icon_source -> bool -> unit = "ml_gtk_icon_source_set_direction_wildcarded" external set_state_wildcarded : icon_source -> bool -> unit = "ml_gtk_icon_source_set_state_wildcarded" external set_size_wildcarded : icon_source -> bool -> unit = "ml_gtk_icon_source_set_size_wildcarded" external set_direction : icon_source -> Gtk.Tags.text_direction -> unit = "ml_gtk_icon_source_set_direction" external set_state : icon_source -> Gtk.Tags.state_type -> unit = "ml_gtk_icon_source_set_state" external set_size : icon_source -> Gtk.Tags.icon_size -> unit = "ml_gtk_icon_source_set_size" end module Icon_set = struct external new_icon_set : unit -> icon_set = "ml_gtk_icon_set_new" external new_from_pixbuf : GdkPixbuf.pixbuf -> icon_set = "ml_gtk_icon_set_new_from_pixbuf" external add_source : icon_set -> icon_source -> unit = "ml_gtk_icon_set_add_source" external get_sizes : icon_set -> Gtk.Tags.icon_size list = "ml_gtk_icon_set_get_sizes" end module Icon_factory = struct external new_factory : unit -> icon_factory = "ml_gtk_icon_factory_new" external add : icon_factory -> string -> icon_set -> unit = "ml_gtk_icon_factory_add" external lookup : icon_factory -> string -> icon_set = "ml_gtk_icon_factory_lookup" external add_default : icon_factory -> unit = "ml_gtk_icon_factory_add_default" external remove_default : icon_factory -> unit = "ml_gtk_icon_factory_remove_default" external lookup_default : string -> icon_set = "ml_gtk_icon_factory_lookup_default" end let make_icon_source ?filename ?pixbuf ?direction ?state ?size () = let s = Icon_source.new_icon_source () in Gaux.may (Icon_source.set_filename s) filename ; Gaux.may (Icon_source.set_pixbuf s) pixbuf ; Gaux.may (fun p -> Icon_source.set_direction_wildcarded s false ; Icon_source.set_direction s p) direction ; Gaux.may (fun p -> Icon_source.set_state_wildcarded s false ; Icon_source.set_state s p) state ; Gaux.may (fun p -> Icon_source.set_size_wildcarded s false ; Icon_source.set_size s p) size ; s let make_icon_set ?pixbuf sources = let s = match pixbuf with | None -> Icon_set.new_icon_set () | Some pb -> Icon_set.new_from_pixbuf pb in List.iter (Icon_set.add_source s) sources ; s let make_icon_factory ?(default = true) ?icons () = let f = Icon_factory.new_factory () in Gaux.may icons ~f:(List.iter (fun (n, i) -> Icon_factory.add f (convert_id n) i)) ; if default then Icon_factory.add_default f ; f type item = { stock_id : string ; label : string ; modifier : Gdk.Tags.modifier list ; keyval : Gdk.keysym ; } module Item = struct external add : item -> unit = "ml_gtk_stock_add" external list_ids : unit -> string list = "ml_gtk_stock_list_ids" external lookup : string -> item = "ml_gtk_stock_lookup" let lookup id = lookup (convert_id id) end lablgtk-3.1.2/src/gtkText.ml0000644000650106067230000004522414161276610014562 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gtk open Tags open GtkTextProps open GtkBase exception No_such_mark of string module Mark = TextMark module Tag = TextTag module TagTable = TextTagTable module Buffer = struct open Gpointer include TextBuffer external get_line_count : text_buffer -> int = "ml_gtk_text_buffer_get_line_count" external get_char_count : text_buffer -> int = "ml_gtk_text_buffer_get_char_count" (* external get_tag_table : text_buffer -> text_tag_table = "ml_gtk_text_buffer_get_tag_table" *) external insert : text_buffer -> text_iter -> string stable -> unit = "ml_gtk_text_buffer_insert" let insert a b c = insert a b (stable_copy c) external insert_at_cursor : text_buffer -> string stable -> unit = "ml_gtk_text_buffer_insert_at_cursor" let insert_at_cursor a b = insert_at_cursor a (stable_copy b) external insert_interactive : text_buffer -> text_iter -> string stable -> bool -> bool = "ml_gtk_text_buffer_insert_interactive" let insert_interactive a b c = insert_interactive a b (stable_copy c) external insert_interactive_at_cursor : text_buffer -> string stable -> bool -> bool = "ml_gtk_text_buffer_insert_interactive_at_cursor" let insert_interactive_at_cursor a b = insert_interactive_at_cursor a (stable_copy b) external insert_range : text_buffer -> text_iter -> text_iter -> text_iter -> unit = "ml_gtk_text_buffer_insert_range" external insert_range_interactive : text_buffer -> text_iter -> text_iter -> text_iter -> bool -> bool = "ml_gtk_text_buffer_insert_range_interactive" external delete : text_buffer -> text_iter -> text_iter -> unit = "ml_gtk_text_buffer_delete" external delete_interactive : text_buffer -> text_iter -> text_iter -> bool -> bool = "ml_gtk_text_buffer_delete_interactive" external set_text : text_buffer -> string stable -> unit = "ml_gtk_text_buffer_set_text" let set_text b s = set_text b (stable_copy s) external get_text : text_buffer -> text_iter -> text_iter -> bool -> string = "ml_gtk_text_buffer_get_text" external get_slice : text_buffer -> text_iter -> text_iter -> bool -> string = "ml_gtk_text_buffer_get_slice" external insert_pixbuf : text_buffer -> text_iter -> GdkPixbuf.pixbuf -> unit = "ml_gtk_text_buffer_insert_pixbuf" external create_mark : text_buffer -> string option -> text_iter -> bool -> text_mark = "ml_gtk_text_buffer_create_mark" external move_mark : text_buffer -> text_mark -> text_iter -> unit = "ml_gtk_text_buffer_move_mark" external move_mark_by_name : text_buffer -> string -> text_iter -> unit = "ml_gtk_text_buffer_move_mark_by_name" external delete_mark : text_buffer -> text_mark -> unit = "ml_gtk_text_buffer_delete_mark" external delete_mark_by_name : text_buffer -> string -> unit = "ml_gtk_text_buffer_delete_mark_by_name" external get_mark : text_buffer -> string -> text_mark option = "ml_gtk_text_buffer_get_mark" external get_insert : text_buffer -> text_mark = "ml_gtk_text_buffer_get_insert" external get_selection_bound : text_buffer -> text_mark = "ml_gtk_text_buffer_get_selection_bound" external place_cursor : text_buffer -> text_iter -> unit = "ml_gtk_text_buffer_place_cursor" external select_range : text_buffer -> text_iter -> text_iter -> unit = "ml_gtk_text_buffer_select_range" external apply_tag : text_buffer -> text_tag -> text_iter -> text_iter -> unit = "ml_gtk_text_buffer_apply_tag" external remove_tag : text_buffer -> text_tag -> text_iter -> text_iter -> unit = "ml_gtk_text_buffer_remove_tag" external apply_tag_by_name : text_buffer -> string -> text_iter -> text_iter -> unit = "ml_gtk_text_buffer_apply_tag_by_name" external remove_tag_by_name : text_buffer -> string -> text_iter -> text_iter -> unit = "ml_gtk_text_buffer_remove_tag_by_name" external remove_all_tags : text_buffer -> text_iter -> text_iter -> unit = "ml_gtk_text_buffer_remove_all_tags" external create_tag_0 : text_buffer -> string option -> text_tag = "ml_gtk_text_buffer_create_tag_0" external create_tag_2 : text_buffer -> string option -> string -> string -> text_tag = "ml_gtk_text_buffer_create_tag_2" external get_iter_at_line_offset : text_buffer -> int -> int -> text_iter = "ml_gtk_text_buffer_get_iter_at_line_offset" external get_iter_at_offset : text_buffer -> int -> text_iter = "ml_gtk_text_buffer_get_iter_at_offset" external get_iter_at_line : text_buffer -> int -> text_iter = "ml_gtk_text_buffer_get_iter_at_line" external get_iter_at_line_index : text_buffer -> int -> int -> text_iter = "ml_gtk_text_buffer_get_iter_at_line_index" external get_iter_at_mark : text_buffer -> text_mark -> text_iter = "ml_gtk_text_buffer_get_iter_at_mark" external get_start_iter : text_buffer -> text_iter = "ml_gtk_text_buffer_get_start_iter" external get_end_iter : text_buffer -> text_iter = "ml_gtk_text_buffer_get_end_iter" external get_bounds : text_buffer -> text_iter * text_iter = "ml_gtk_text_buffer_get_bounds" external get_modified : text_buffer -> bool = "ml_gtk_text_buffer_get_modified" external set_modified : text_buffer -> bool -> unit = "ml_gtk_text_buffer_set_modified" external delete_selection : text_buffer -> bool -> bool -> bool = "ml_gtk_text_buffer_delete_selection" external get_selection_bounds : text_buffer -> text_iter * text_iter = "ml_gtk_text_buffer_get_selection_bounds" external begin_user_action : text_buffer -> unit = "ml_gtk_text_buffer_begin_user_action" external end_user_action : text_buffer -> unit = "ml_gtk_text_buffer_end_user_action" external create_child_anchor : text_buffer -> text_iter -> text_child_anchor = "ml_gtk_text_buffer_create_child_anchor" external insert_child_anchor : text_buffer -> text_iter -> text_child_anchor -> unit = "ml_gtk_text_buffer_insert_child_anchor" external paste_clipboard : text_buffer -> clipboard -> text_iter option -> bool -> unit = "ml_gtk_text_buffer_paste_clipboard" external copy_clipboard : text_buffer -> clipboard -> unit = "ml_gtk_text_buffer_copy_clipboard" external cut_clipboard : text_buffer -> clipboard -> bool -> unit = "ml_gtk_text_buffer_cut_clipboard" external add_selection_clipboard : text_buffer -> clipboard -> unit = "ml_gtk_text_buffer_add_selection_clipboard" external remove_selection_clipboard : text_buffer -> clipboard -> unit = "ml_gtk_text_buffer_remove_selection_clipboard" end module ChildAnchor = TextChildAnchor module View = struct include TextView external create_with_buffer : text_buffer -> text_view obj = "ml_gtk_text_view_new_with_buffer" external set_buffer : [>`textview] obj -> text_buffer -> unit = "ml_gtk_text_view_set_buffer" external get_buffer : [>`textview] obj -> text_buffer = "ml_gtk_text_view_get_buffer" external scroll_to_mark : [>`textview] obj -> text_mark -> float -> bool -> float -> float -> unit = "ml_gtk_text_view_scroll_to_mark_bc" "ml_gtk_text_view_scroll_to_mark" external scroll_to_iter : [>`textview] obj -> text_iter -> float -> bool -> float -> float -> bool = "ml_gtk_text_view_scroll_to_iter_bc" "ml_gtk_text_view_scroll_to_iter" external scroll_mark_onscreen : [>`textview] obj -> text_mark -> unit = "ml_gtk_text_view_scroll_mark_onscreen" external move_mark_onscreen : [>`textview] obj -> text_mark -> bool = "ml_gtk_text_view_move_mark_onscreen" external place_cursor_onscreen : [>`textview] obj -> bool = "ml_gtk_text_view_place_cursor_onscreen" external get_visible_rect : [>`textview] obj -> Gdk.Rectangle.t = "ml_gtk_text_view_get_visible_rect" external get_iter_location : [>`textview] obj -> text_iter -> Gdk.Rectangle.t = "ml_gtk_text_view_get_iter_location" external get_line_at_y : [>`textview] obj -> int -> text_iter*int = "ml_gtk_text_view_get_line_at_y" external get_line_yrange : [>`textview] obj -> text_iter -> int*int = "ml_gtk_text_view_get_line_yrange" external get_iter_at_location : [>`textview] obj -> int -> int -> text_iter = "ml_gtk_text_view_get_iter_at_location" external buffer_to_window_coords : [>`textview] obj -> Gtk.Tags.text_window_type -> int -> int -> int*int = "ml_gtk_text_view_buffer_to_window_coords" external window_to_buffer_coords : [>`textview] obj -> Gtk.Tags.text_window_type -> int -> int -> int*int = "ml_gtk_text_view_window_to_buffer_coords" external get_window : [>`textview] obj -> Gtk.Tags.text_window_type -> Gdk.window option = "ml_gtk_text_view_get_window" external get_window_type : [>`textview] obj -> Gdk.window -> Gtk.Tags.text_window_type = "ml_gtk_text_view_get_window_type" external set_border_window_size : [>`textview] obj -> [ `BOTTOM | `LEFT | `RIGHT | `TOP] -> int -> unit = "ml_gtk_text_view_set_border_window_size" external get_border_window_size : [>`textview] obj -> [ `BOTTOM | `LEFT | `RIGHT | `TOP] -> int = "ml_gtk_text_view_get_border_window_size" external forward_display_line : [>`textview] obj -> text_iter -> bool = "ml_gtk_text_view_forward_display_line" external backward_display_line : [>`textview] obj -> text_iter -> bool = "ml_gtk_text_view_backward_display_line" external forward_display_line_end : [>`textview] obj -> text_iter -> bool = "ml_gtk_text_view_forward_display_line_end" external backward_display_line_start : [>`textview] obj -> text_iter -> bool = "ml_gtk_text_view_backward_display_line_start" external starts_display_line : [>`textview] obj -> text_iter -> bool = "ml_gtk_text_view_starts_display_line" external move_visually : [>`textview] obj -> text_iter -> int -> bool = "ml_gtk_text_view_move_visually" external add_child_at_anchor : [>`textview] obj -> [>`widget] obj -> text_child_anchor -> unit = "ml_gtk_text_view_add_child_at_anchor" external add_child_in_window : [>`textview] obj -> [>`widget] obj -> text_window_type -> int -> int -> unit = "ml_gtk_text_view_add_child_in_window" external move_child : [>`textview] obj -> [>`widget] obj -> int -> int -> unit = "ml_gtk_text_view_move_child" end module Iter = struct external copy : text_iter -> text_iter = "ml_gtk_text_iter_copy" external assign : text_iter -> text_iter -> unit = "ml_gtk_text_iter_assign" external get_buffer : text_iter -> text_buffer = "ml_gtk_text_iter_get_buffer" external get_offset : text_iter -> int = "ml_gtk_text_iter_get_offset" external get_line : text_iter -> int = "ml_gtk_text_iter_get_line" external get_line_offset : text_iter -> int = "ml_gtk_text_iter_get_line_offset" external get_line_index : text_iter -> int = "ml_gtk_text_iter_get_line_index" external get_visible_line_index : text_iter -> int = "ml_gtk_text_iter_get_visible_line_index" external get_visible_line_offset : text_iter -> int = "ml_gtk_text_iter_get_visible_line_offset" external get_char : text_iter -> Glib.unichar = "ml_gtk_text_iter_get_char" external get_slice : text_iter -> text_iter -> string = "ml_gtk_text_iter_get_slice" external get_text : text_iter -> text_iter -> string = "ml_gtk_text_iter_get_text" external get_visible_slice : text_iter -> text_iter -> string = "ml_gtk_text_iter_get_visible_slice" external get_visible_text : text_iter -> text_iter -> string = "ml_gtk_text_iter_get_visible_text" external get_pixbuf : text_iter -> GdkPixbuf.pixbuf option = "ml_gtk_text_iter_get_pixbuf" external get_marks : text_iter -> text_mark list = "ml_gtk_text_iter_get_marks" external get_toggled_tags : text_iter -> bool -> text_tag list = "ml_gtk_text_iter_get_toggled_tags" external get_child_anchor : text_iter -> text_child_anchor option ="ml_gtk_text_iter_get_child_anchor" external begins_tag : text_iter -> text_tag option -> bool = "ml_gtk_text_iter_begins_tag" external ends_tag : text_iter -> text_tag option -> bool = "ml_gtk_text_iter_ends_tag" external toggles_tag : text_iter -> text_tag option -> bool = "ml_gtk_text_iter_toggles_tag" external has_tag : text_iter -> text_tag -> bool = "ml_gtk_text_iter_has_tag" external get_tags : text_iter -> text_tag list = "ml_gtk_text_iter_get_tags" external editable : text_iter -> default:bool -> bool = "ml_gtk_text_iter_editable" external can_insert : text_iter -> default:bool -> bool = "ml_gtk_text_iter_can_insert" external starts_word : text_iter -> bool = "ml_gtk_text_iter_starts_word" external ends_word : text_iter -> bool = "ml_gtk_text_iter_ends_word" external inside_word : text_iter -> bool = "ml_gtk_text_iter_inside_word" external starts_line : text_iter -> bool = "ml_gtk_text_iter_starts_line" external ends_line : text_iter -> bool = "ml_gtk_text_iter_ends_line" external starts_sentence : text_iter -> bool = "ml_gtk_text_iter_starts_sentence" external ends_sentence : text_iter -> bool = "ml_gtk_text_iter_ends_sentence" external inside_sentence : text_iter -> bool = "ml_gtk_text_iter_inside_sentence" external is_cursor_position : text_iter -> bool = "ml_gtk_text_iter_is_cursor_position" external get_chars_in_line : text_iter -> int = "ml_gtk_text_iter_get_chars_in_line" external get_bytes_in_line : text_iter -> int = "ml_gtk_text_iter_get_bytes_in_line" external get_language : text_iter -> Pango.language = "ml_gtk_text_iter_get_language" external is_end : text_iter -> bool = "ml_gtk_text_iter_is_end" external is_start : text_iter -> bool = "ml_gtk_text_iter_is_start" external forward_char : text_iter -> bool = "ml_gtk_text_iter_forward_char" external backward_char : text_iter -> bool = "ml_gtk_text_iter_backward_char" external forward_chars : text_iter -> int -> bool = "ml_gtk_text_iter_forward_chars" external backward_chars : text_iter -> int -> bool = "ml_gtk_text_iter_backward_chars" external forward_line : text_iter -> bool = "ml_gtk_text_iter_forward_line" external backward_line : text_iter -> bool = "ml_gtk_text_iter_backward_line" external forward_lines : text_iter -> int -> bool = "ml_gtk_text_iter_forward_lines" external backward_lines : text_iter -> int -> bool = "ml_gtk_text_iter_backward_lines" external forward_word_end : text_iter -> bool = "ml_gtk_text_iter_forward_word_end" external forward_word_ends : text_iter -> int -> bool = "ml_gtk_text_iter_forward_word_ends" external backward_word_start : text_iter -> bool = "ml_gtk_text_iter_backward_word_start" external backward_word_starts : text_iter -> int -> bool = "ml_gtk_text_iter_backward_word_starts" external forward_cursor_position : text_iter -> bool = "ml_gtk_text_iter_forward_cursor_position" external backward_cursor_position : text_iter -> bool = "ml_gtk_text_iter_backward_cursor_position" external forward_cursor_positions : text_iter -> int -> bool = "ml_gtk_text_iter_forward_cursor_positions" external backward_cursor_positions : text_iter -> int -> bool = "ml_gtk_text_iter_backward_cursor_positions" external forward_sentence_end : text_iter -> bool = "ml_gtk_text_iter_forward_sentence_end" external backward_sentence_start : text_iter -> bool = "ml_gtk_text_iter_backward_sentence_start" external forward_sentence_ends : text_iter -> int -> bool = "ml_gtk_text_iter_forward_sentence_ends" external backward_sentence_starts : text_iter -> int -> bool = "ml_gtk_text_iter_backward_sentence_starts" external set_offset : text_iter -> int -> unit = "ml_gtk_text_iter_set_offset" external set_line : text_iter -> int -> unit = "ml_gtk_text_iter_set_line" external set_line_offset : text_iter -> int -> unit = "ml_gtk_text_iter_set_line_offset" external set_line_index : text_iter -> int -> unit = "ml_gtk_text_iter_set_line_index" external set_visible_line_index : text_iter -> int -> unit = "ml_gtk_text_iter_set_visible_line_index" external set_visible_line_offset : text_iter -> int -> unit = "ml_gtk_text_iter_set_visible_line_offset" external forward_to_end : text_iter -> unit = "ml_gtk_text_iter_forward_to_end" external forward_to_line_end : text_iter -> bool = "ml_gtk_text_iter_forward_to_line_end" external forward_to_tag_toggle : text_iter -> text_tag option -> bool = "ml_gtk_text_iter_forward_to_tag_toggle" external backward_to_tag_toggle : text_iter -> text_tag option -> bool = "ml_gtk_text_iter_backward_to_tag_toggle" external equal : text_iter -> text_iter -> bool = "ml_gtk_text_iter_equal" external compare : text_iter -> text_iter -> int = "ml_gtk_text_iter_compare" external in_range : text_iter -> text_iter -> text_iter -> bool = "ml_gtk_text_iter_in_range" external order : text_iter -> text_iter -> unit = "ml_gtk_text_iter_order" external forward_search : text_iter -> string -> ?flags:text_search_flag list -> text_iter option -> (text_iter * text_iter) option = "ml_gtk_text_iter_forward_search" external backward_search : text_iter -> string -> ?flags:text_search_flag list -> text_iter option -> (text_iter * text_iter) option = "ml_gtk_text_iter_backward_search" external forward_find_char : text_iter -> (Glib.unichar -> bool) -> text_iter option -> bool = "ml_gtk_text_iter_forward_find_char" external backward_find_char : text_iter -> (Glib.unichar -> bool) -> text_iter option -> bool = "ml_gtk_text_iter_backward_find_char" end lablgtk-3.1.2/src/gtkText.props0000644000650106067230000002013614161276610015310 0ustar glondused(* $Id$ *) prefix "Gtk" initializer "ml_gtktext_init" header { open Gtk } boxed { GdkEvent "GdkEvent.any" } classes { GdkPixbuf "GdkPixbuf.pixbuf" GtkAdjustment "Gtk.adjustment obj" GtkMenu "Gtk.menu obj" } class TextView wrap wrapsig : Container { "editable" gboolean : Read / Write / Set "cursor-visible" gboolean : Read / Write / Set "indent" gint : Read / Write "justification" GtkJustification : Read / Write / Set "hadjustment" GtkAdjustment : Read / Write "left-margin" gint : Read / Write "pixels-above-lines" gint : Read / Write "pixels-below-lines" gint : Read / Write "pixels-inside-wrap" gint : Read / Write "right-margin" gint : Read / Write "tabs" PangoTabArray : Read / Write "wrap-mode" GtkWrapMode : Read / Write / Set "accepts-tab" gboolean : Read / Write / Set "bottom-margin" gint : Read / Write "buffer" GtkTextBuffer : Read / Write / NoWrap "im-module" gchararray : Read / Write "input-hints" GtkInputHints : Read / Write "input-purpose" GtkInputPurpose : Read / Write "monospace" gboolean : Read / Write "overwrite" gboolean : Read / Write "populate-all" gboolean : Read / Write "top-margin" gint : Read / Write "vadjustment" GtkAdjustment : Read / Write signal copy_clipboard signal cut_clipboard signal delete_from_cursor : GtkDeleteType gint signal insert_at_cursor : gchararray signal move_cursor : GtkMovementStep gint extend:gboolean signal move_focus : GtkDirectionType signal page_horizontally : gint extend:gboolean signal paste_clipboard signal populate_popup : GtkMenu signal set_anchor signal toggle_overwrite } class TextBuffer wrap : GObject { "tag-table" GtkTextTagTable : Read / Write / Construct Only "cursor-position" gint : Read "has-selection" gboolean : Read signal apply_tag : GtkTextTag GtkTextIter GtkTextIter signal begin_user_action / Wrap signal changed / Wrap signal delete_range : GtkTextIter GtkTextIter signal end_user_action / Wrap signal insert_child_anchor : GtkTextIter GtkTextChildAnchor signal insert_pixbuf : GtkTextIter GdkPixbuf signal insert_text : GtkTextIter string (*len:int*) signal mark_deleted : GtkTextMark / Wrap signal mark_set : GtkTextIter GtkTextMark signal modified_changed / Wrap signal remove_tag : GtkTextTag GtkTextIter GtkTextIter } class TextChildAnchor : GObject { method get_widgets : "widget obj list" method get_deleted : "bool" } class TextMark : GObject { method set_visible : "bool -> unit" method get_visible : "bool" method get_deleted : "bool" method get_name : "string option" method get_buffer : "text_buffer option" method get_left_gravity : "bool" } class TextTag vset : GObject { "accumulative-margin" gboolean : Read / Write "background" gchararray : Write "background-full-height" gboolean : Read / Write "background-full-height-set" gboolean : Read / Write "background-gdk" GdkColor : Read / Write "background-rgba" GdkRGBA : Read / Write "background-set" gboolean : Read / Write "direction" GtkTextDirection : Read / Write "editable" gboolean : Read / Write "editable-set" gboolean : Read / Write "fallback" gboolean : Read / Write "fallback-set" gboolean : Read / Write "family" gchararray : Read / Write "family-set" gboolean : Read / Write "font" gchararray : Read / Write "font-desc" PangoFontDescription : Read / Write "font-features" gchararray : Read / Write "font-features-set" gboolean : Read / Write "foreground" gchararray : Write "foreground-gdk" GdkColor : Read / Write "foreground-rgba" GdkRGBA : Read / Write "foreground-set" gboolean : Read / Write "indent" gint : Read / Write "indent-set" gboolean : Read / Write "invisible" gboolean : Read / Write "invisible-set" gboolean : Read / Write "justification" GtkJustification : Read / Write "justification-set" gboolean : Read / Write "language" gchararray : Read / Write "language-set" gboolean : Read / Write "left-margin" gint : Read / Write "left-margin-set" gboolean : Read / Write "letter-spacing" gint : Read / Write "letter-spacing-set" gboolean : Read / Write "name" gchararray : Read / Write / Construct Only "paragraph-background" gchararray : Write "paragraph-background-gdk" GdkColor : Read / Write "paragraph-background-rgba" GdkRGBA : Read / Write "paragraph-background-set" gboolean : Read / Write "pixels-above-lines" gint : Read / Write "pixels-above-lines-set" gboolean : Read / Write "pixels-below-lines" gint : Read / Write "pixels-below-lines-set" gboolean : Read / Write "pixels-inside-wrap" gint : Read / Write "pixels-inside-wrap-set" gboolean : Read / Write "right-margin" gint : Read / Write "right-margin-set" gboolean : Read / Write "rise" gint : Read / Write "rise-set" gboolean : Read / Write "scale" gdouble : Read / Write "scale-set" gboolean : Read / Write "size" gint : Read / Write "size-points" gdouble : Read / Write "size-set" gboolean : Read / Write "stretch" PangoStretch : Read / Write "stretch-set" gboolean : Read / Write "strikethrough" gboolean : Read / Write "strikethrough-rgba" GdkRGBA : Read / Write "strikethrough-set" gboolean : Read / Write "style" PangoStyle : Read / Write "style-set" gboolean : Read / Write "tabs" PangoTabArray : Read / Write "tabs-set" gboolean : Read / Write "underline" PangoUnderline : Read / Write "underline-rgba" GdkRGBA : Read / Write "underline-rgba-set" gboolean : Read / Write "underline-set" gboolean : Read / Write "variant" PangoVariant : Read / Write "variant-set" gboolean : Read / Write "weight" gint : Read / Write "weight-set" gboolean : Read / Write "wrap-mode" GtkWrapMode : Read / Write "wrap-mode-set" gboolean : Read / Write method get_priority : "int" method set_priority : "int -> unit" method event : "'a obj -> 'b Gdk.event -> text_iter -> bool" signal event : origin:GObject GdkEvent GtkTextIter -> bool } class TextTagTable wrapsig : GObject { method add : "text_tag -> unit" method remove : "text_tag -> unit" method lookup : "string -> text_tag option" method get_size : "int" signal tag_added : GtkTextTag signal tag_changed : GtkTextTag size:bool signal tag_removed : GtkTextTag } lablgtk-3.1.2/src/gtkThread.ml0000644000650106067230000001073214161276610015041 0ustar glondused(**************************************************************************) (* 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$ *) open GtkMain (* Job handling for Windows *) let jobs : (unit -> unit) Queue.t = Queue.create () let m = Mutex.create () let with_jobs f = Mutex.lock m; let y = f jobs in Mutex.unlock m; y let loop_id = ref None let reset () = loop_id := None let cannot_sync () = match !loop_id with None -> true | Some id -> Thread.id (Thread.self ()) = id let gui_safe () = not (Sys.os_type = "Win32") || !loop_id = Some(Thread.id (Thread.self ())) let has_jobs () = not (with_jobs Queue.is_empty) let n_jobs () = with_jobs Queue.length let do_next_job () = with_jobs Queue.take () let has_timeout = ref false let async j x = with_jobs (fun jobs -> Queue.add (fun () -> GtkSignal.safe_call j x ~where:"asynchronous call") jobs; if not !has_timeout then begin has_timeout := true; ignore (Glib.Timeout.add 1 (fun () -> has_timeout := false; false)) end) type 'a result = Val of 'a | Exn of exn | NA let sync f x = if cannot_sync () then f x else let m = Mutex.create () in let res = ref NA in Mutex.lock m; let c = Condition.create () in let j x = let y = try Val (f x) with e -> Exn e in Mutex.lock m; res := y; Mutex.unlock m; Condition.signal c in async j x; while !res = NA do Condition.wait c m done; match !res with Val y -> y | Exn e -> raise e | NA -> assert false let do_jobs_delay = ref 0.013;; let set_do_jobs_delay d = do_jobs_delay := max 0. d;; let do_jobs () = for i = 1 to n_jobs () do do_next_job () done; true (* We check first whether there are some event pending, and run some iterations. We then need to delay, thus focing a thread switch. *) let busy_waiting = ref (try Sys.getenv "LABLGTK_BUSY_WAIT" <> "0" with _ -> false) let thread_main_real () = try let loop = (Glib.Main.create true) in Main.loops := loop :: !Main.loops; Glib.Main.wrap_poll_func (); (* mark polling as blocking *) loop_id := Some (Thread.id (Thread.self ())); while Glib.Main.is_running loop do if not !busy_waiting then ignore (Glib.Main.iteration true) (* blocking *) else begin let i = ref 0 in (* Non blocking busy waiting *) Thread.delay !do_jobs_delay; while !i < 100 && Glib.Main.pending () do Glib.Main.iteration true; incr i done end; do_jobs () done; Main.loops := List.tl !Main.loops; with exn -> Main.loops := List.tl !Main.loops; raise exn let thread_main () = sync thread_main_real () let main () = GtkMain.Main.main_func := thread_main; thread_main () let start () = reset (); Thread.create main () (* The code below would do nothing... let _ = let mutex = Mutex.create () in let depth = ref 0 in GtkSignal.enter_callback := (fun () -> if !depth = 0 then Mutex.lock mutex; incr depth); GtkSignal.exit_callback := (fun () -> decr depth; if !depth = 0 then Mutex.unlock mutex) *) lablgtk-3.1.2/src/gtkThread.mli0000644000650106067230000000762414161276610015220 0ustar glondused(**************************************************************************) (* 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$ *) (* Basic functions *) (** The main loop to use with threads. [GMain.main] does not work! This changes [GMain.main] to call [threaded_main] rather than [GtkMain.Main.default_main], so subsequent calls will work. The first call sets the GUI thread, and subsequent calls to [main] will be automatically routed through [sync]. With system threads, the ocaml giant lock is now released on polling, so that other ocaml threads can run without busy wait. *) val main : unit -> unit (** Setting [busy_waiting] to [true] forces the main loop to be non-blocking. This is required with VM threads. The default value is set to [true] at startup if the environment variable [LABLGTK_BUSY_WAIT] is set to something other than [0]. *) val busy_waiting : bool ref (** Start the main loop in a new GUI thread. Do not use recursively. Do not use with the Quartz backend, as the GUI must imperatively run in the main thread. *) val start : unit -> Thread.t (** The real main function *) val thread_main : unit -> unit (** Forget the current GUI thread. The next call to [main] will register its caller as GUI thread. *) val reset : unit -> unit (* Jobs are needed for windows and quartz, as you cannot do GTK work from another thread. Even under Unix some calls need to come from the main thread. The basic idea is to either use async (if you don't need a result) or sync whenever you call a GTK related function from another thread (for instance with the threaded toplevel). With sync, beware of deadlocks! *) (** Add an asynchronous job (to do in the main thread) *) val async : ('a -> unit) -> 'a -> unit (** Add a synchronous job (to do in the main thread) *) val sync : ('a -> 'b) -> 'a -> 'b (** Whether it is safe to call most GTK functions directly from the current thread *) val gui_safe : unit -> bool (** Allow other threads to run, and process the message queue. The following ensures that messages will be processed even if another main loop is running: [Glib.Timeout.add ~ms:100 ~callback:GtkThread.do_jobs] *) val do_jobs : unit -> bool (** Set the delay used in the main loop when [busy_waiting] is [true]. Higher value will make the application less CPU-consuming, but (relatively) less reactive. Default value is [0.013] .*) val set_do_jobs_delay : float -> unit lablgtk-3.1.2/src/gtkTree.ml0000644000650106067230000004762414161276610014543 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gtk open Tags open GtkTreeProps open GtkBase module TreePath = struct external create_ : unit -> tree_path = "ml_gtk_tree_path_new" external from_string : string -> tree_path = "ml_gtk_tree_path_new_from_string" external to_string : tree_path -> string = "ml_gtk_tree_path_to_string" external append_index : tree_path -> int -> unit = "ml_gtk_tree_path_append_index" let create l = let p = create_ () in List.iter (append_index p) l; p external prepend_index : tree_path -> int -> unit = "ml_gtk_tree_path_prepend_index" external get_depth : tree_path -> int = "ml_gtk_tree_path_get_depth" external get_indices : tree_path -> int array = "ml_gtk_tree_path_get_indices" external copy : tree_path -> tree_path = "ml_gtk_tree_path_copy" external next : tree_path -> unit = "ml_gtk_tree_path_next" external prev : tree_path -> bool = "ml_gtk_tree_path_prev" external up : tree_path -> bool = "ml_gtk_tree_path_up" external down : tree_path -> unit = "ml_gtk_tree_path_down" external is_ancestor : tree_path -> tree_path -> bool = "ml_gtk_tree_path_is_ancestor" open Gobject open Data let () = Internal.tree_path_string := {kind=`STRING; inj=(fun x -> string.inj (to_string x)); proj=(fun x -> from_string (string.proj x))}; Internal.tree_path_copy := {kind=`POINTER; inj=unsafe_pointer.inj; proj=(fun x -> copy (unsafe_pointer.proj x))} end module RowReference = struct external create : [>`treemodel] obj -> tree_path -> row_reference = "ml_gtk_tree_row_reference_new" external get_path : row_reference -> tree_path = "ml_gtk_tree_row_reference_get_path" external valid : row_reference -> bool = "ml_gtk_tree_row_reference_valid" end module TreeModel = struct let cast w : tree_model = Object.try_cast w "GtkTreeModel" external get_flags : [>`treemodel] obj -> GtkEnums.tree_model_flags list = "ml_gtk_tree_model_get_flags" external get_n_columns : [>`treemodel] obj -> int = "ml_gtk_tree_model_get_n_columns" external get_column_type : [>`treemodel] obj -> int -> Gobject.g_type = "ml_gtk_tree_model_get_column_type" external alloc_iter : unit -> tree_iter = "ml_alloc_GtkTreeIter" external copy_iter : tree_iter -> tree_iter = "ml_gtk_tree_iter_copy" external get_iter : [>`treemodel] obj -> tree_iter -> tree_path -> bool = "ml_gtk_tree_model_get_iter" let get_iter m p = let i = alloc_iter () in if get_iter m i p then i else failwith "GtkTree.TreeModel.get_iter" external get_path : [>`treemodel] obj -> tree_iter -> tree_path = "ml_gtk_tree_model_get_path" external get_value : [>`treemodel] obj -> row:tree_iter -> column:int -> Gobject.g_value -> unit = "ml_gtk_tree_model_get_value" external _get_iter_first : [>`treemodel] obj -> tree_iter -> bool = "ml_gtk_tree_model_get_iter_first" let get_iter_first m = let i = alloc_iter () in if _get_iter_first m i then Some i else None external iter_next : [>`treemodel] obj -> tree_iter -> bool = "ml_gtk_tree_model_iter_next" external iter_has_child : [>`treemodel] obj -> tree_iter -> bool = "ml_gtk_tree_model_iter_has_child" external iter_n_children : [>`treemodel] obj -> tree_iter option -> int = "ml_gtk_tree_model_iter_n_children" external iter_nth_child : [>`treemodel] obj -> tree_iter -> parent:tree_iter option -> int -> bool = "ml_gtk_tree_model_iter_nth_child" let iter_children m ?(nth=0) p = let i = alloc_iter () in if iter_nth_child m i p nth then i else invalid_arg "GtkTree.TreeModel.iter_children" external iter_parent : [>`treemodel] obj -> tree_iter -> child:tree_iter -> bool = "ml_gtk_tree_model_iter_parent" let iter_parent m child = let i = alloc_iter () in if iter_parent m i ~child then Some i else None external foreach : [>`treemodel] obj -> (tree_path -> tree_iter -> bool) -> unit = "ml_gtk_tree_model_foreach" external row_changed : [>`treemodel] obj -> tree_path -> tree_iter -> unit = "ml_gtk_tree_model_row_changed" end module TreeStore = struct open TreeModel let cast w : tree_store = Object.try_cast w "GtkTreeStore" external create : Gobject.g_type array -> tree_store = "ml_gtk_tree_store_newv" external set_value : tree_store -> row:tree_iter -> column:int -> Gobject.g_value -> unit = "ml_gtk_tree_store_set_value" external remove : tree_store -> tree_iter -> bool = "ml_gtk_tree_store_remove" external insert : tree_store -> iter:tree_iter -> ?parent:tree_iter -> int -> unit = "ml_gtk_tree_store_insert" let insert st ?parent pos = let iter = alloc_iter () in insert st ~iter ?parent pos; iter external insert_before : tree_store -> iter:tree_iter -> ?parent:tree_iter -> tree_iter -> unit = "ml_gtk_tree_store_insert_before" let insert_before st ?parent pos = let iter = alloc_iter () in insert_before st ~iter ?parent pos; iter external insert_after : tree_store -> iter:tree_iter -> ?parent:tree_iter -> tree_iter -> unit = "ml_gtk_tree_store_insert_after" let insert_after st ?parent pos = let iter = alloc_iter () in insert_after st ~iter ?parent pos; iter external append : tree_store -> iter:tree_iter -> ?parent:tree_iter -> unit = "ml_gtk_tree_store_append" let append st ?parent () = let iter = alloc_iter () in append st ~iter ?parent; iter external prepend : tree_store -> iter:tree_iter -> ?parent:tree_iter -> unit = "ml_gtk_tree_store_prepend" let prepend st ?parent () = let iter = alloc_iter () in prepend st ~iter ?parent; iter external is_ancestor : tree_store -> iter:tree_iter -> descendant:tree_iter -> bool = "ml_gtk_tree_store_is_ancestor" external iter_depth : tree_store -> tree_iter -> int = "ml_gtk_tree_store_iter_depth" external clear : tree_store -> unit = "ml_gtk_tree_store_clear" external iter_is_valid : tree_store -> tree_iter -> bool = "ml_gtk_tree_store_iter_is_valid" external swap : tree_store -> tree_iter -> tree_iter -> bool = "ml_gtk_tree_store_swap" external move_before : tree_store -> iter:tree_iter -> pos:tree_iter -> bool = "ml_gtk_tree_store_move_before" external move_after : tree_store -> iter:tree_iter -> pos:tree_iter -> bool = "ml_gtk_tree_store_move_after" end module ListStore = struct open TreeModel let cast w : list_store = Object.try_cast w "GtkListStore" external create : Gobject.g_type array -> list_store = "ml_gtk_list_store_newv" external set_value : list_store -> row:tree_iter -> column:int -> Gobject.g_value -> unit = "ml_gtk_list_store_set_value" external remove : list_store -> tree_iter -> bool = "ml_gtk_list_store_remove" external insert : list_store -> iter:tree_iter -> int -> unit = "ml_gtk_list_store_insert" let insert st pos = let iter = alloc_iter () in insert st ~iter pos; iter external insert_before : list_store -> iter:tree_iter -> tree_iter -> unit = "ml_gtk_list_store_insert_before" let insert_before st pos = let iter = alloc_iter () in insert_before st ~iter pos; iter external insert_after : list_store -> iter:tree_iter -> tree_iter -> unit = "ml_gtk_list_store_insert_after" let insert_after st pos = let iter = alloc_iter () in insert_after st ~iter pos; iter external append : list_store -> iter:tree_iter -> unit = "ml_gtk_list_store_append" let append st () = let iter = alloc_iter () in append st ~iter; iter external prepend : list_store -> iter:tree_iter -> unit = "ml_gtk_list_store_prepend" let prepend st () = let iter = alloc_iter () in prepend st ~iter; iter external clear : list_store -> unit = "ml_gtk_list_store_clear" external iter_is_valid : list_store -> tree_iter -> bool = "ml_gtk_list_store_iter_is_valid" external swap : list_store -> tree_iter -> tree_iter -> bool = "ml_gtk_list_store_swap" external move_before : list_store -> iter:tree_iter -> pos:tree_iter -> bool = "ml_gtk_list_store_move_before" external move_after : list_store -> iter:tree_iter -> pos:tree_iter -> bool = "ml_gtk_list_store_move_after" end module TreeSelection = struct include TreeSelection external set_mode : tree_selection -> selection_mode -> unit = "ml_gtk_tree_selection_set_mode" external get_mode : tree_selection -> selection_mode = "ml_gtk_tree_selection_get_mode" external set_select_function : tree_selection -> (tree_path -> bool -> bool) -> unit = "ml_gtk_tree_selection_set_select_function" external selected_foreach : tree_selection -> (tree_path -> unit) -> unit = "ml_gtk_tree_selection_selected_foreach" let get_selected_rows s = let l = ref [] in selected_foreach s (fun p -> l := p :: !l); List.rev !l external count_selected_rows : tree_selection -> int = "ml_gtk_tree_selection_count_selected_rows" external select_path : tree_selection -> tree_path -> unit = "ml_gtk_tree_selection_select_path" external path_is_selected : tree_selection -> tree_path -> bool = "ml_gtk_tree_selection_path_is_selected" external unselect_path : tree_selection -> tree_path -> unit = "ml_gtk_tree_selection_unselect_path" external select_iter : tree_selection -> tree_iter -> unit = "ml_gtk_tree_selection_select_iter" external unselect_iter : tree_selection -> tree_iter -> unit = "ml_gtk_tree_selection_unselect_iter" external iter_is_selected : tree_selection -> tree_iter -> bool = "ml_gtk_tree_selection_iter_is_selected" external select_all : tree_selection -> unit = "ml_gtk_tree_selection_select_all" external unselect_all : tree_selection -> unit = "ml_gtk_tree_selection_unselect_all" external select_range : tree_selection -> tree_path -> tree_path -> unit = "ml_gtk_tree_selection_select_range" external unselect_range : tree_selection -> tree_path -> tree_path -> unit = "ml_gtk_tree_selection_unselect_range" end module TreeViewColumn = struct include TreeViewColumn external clear : [>`treeviewcolumn] obj -> unit = "ml_gtk_tree_view_column_clear" external pack_start : [>`treeviewcolumn] obj -> [>`cellrenderer] obj -> bool -> unit = "ml_gtk_tree_view_column_pack_start" external pack_end : [>`treeviewcolumn] obj -> [>`cellrenderer] obj -> bool -> unit = "ml_gtk_tree_view_column_pack_end" external clear_attributes : [>`treeviewcolumn] obj -> [>`cellrenderer] obj -> unit = "ml_gtk_tree_view_column_clear_attributes" let pack obj ?(expand=true) ?(from:[`START|`END]=`START) crr = (if from = `START then pack_start else pack_end) obj crr expand external add_attribute : [>`treeviewcolumn] obj -> [>`cellrenderer] obj -> string -> int -> unit = "ml_gtk_tree_view_column_add_attribute" external set_sort_column_id : [>`treeviewcolumn] obj -> int -> unit = "ml_gtk_tree_view_column_set_sort_column_id" external get_sort_column_id : [>`treeviewcolumn] obj -> int = "ml_gtk_tree_view_column_get_sort_column_id" external set_cell_data_func : [>`treeviewcolumn] obj -> [>`cellrenderer] obj -> ([`treemodel] obj -> tree_iter -> unit) option -> unit = "ml_gtk_tree_view_column_set_cell_data_func" external get_button : [>`treeviewcolumn] obj -> Gtk.button obj = "ml_gtk_tree_view_column_get_button" end module TreeView = struct include TreeView external get_selection : [>`treeview] obj -> tree_selection = "ml_gtk_tree_view_get_selection" external columns_autosize : [>`treeview] obj -> unit = "ml_gtk_tree_view_columns_autosize" external append_column : [>`treeview] obj -> [>`treeviewcolumn] obj -> int = "ml_gtk_tree_view_append_column" external remove_column : [>`treeview] obj -> [>`treeviewcolumn] obj -> int = "ml_gtk_tree_view_remove_column" external insert_column : [>`treeview] obj -> [>`treeviewcolumn] obj -> int -> int = "ml_gtk_tree_view_insert_column" external get_column : [>`treeview] obj -> int -> tree_view_column obj = "ml_gtk_tree_view_get_column" external move_column_after : [>`treeview] obj -> [>`treeviewcolumn] obj -> [>`treeviewcolumn] obj -> int = "ml_gtk_tree_view_move_column_after" external scroll_to_point : [>`treeview] obj -> int -> int -> unit = "ml_gtk_tree_view_scroll_to_point" external scroll_to_cell : [>`treeview] obj -> tree_path -> [>`treeviewcolumn] obj -> ?align:(float * float) -> unit = "ml_gtk_tree_view_scroll_to_cell" let scroll_to_cell v ?align = scroll_to_cell v ?align external row_activated : [>`treeview] obj -> tree_path -> [>`treeviewcolumn] obj -> unit = "ml_gtk_tree_view_row_activated" external expand_all : [>`treeview] obj -> unit = "ml_gtk_tree_view_expand_all" external collapse_all : [>`treeview] obj -> unit = "ml_gtk_tree_view_collapse_all" external expand_row : [>`treeview] obj -> tree_path -> all:bool -> unit = "ml_gtk_tree_view_expand_row" external expand_to_path : [>`treeview] obj -> tree_path -> unit = "ml_gtk_tree_view_expand_to_path" external collapse_row : [>`treeview] obj -> tree_path -> unit = "ml_gtk_tree_view_collapse_row" external row_expanded : [>`treeview] obj -> tree_path -> bool = "ml_gtk_tree_view_row_expanded" external set_cursor : [>`treeview] obj -> tree_path -> [>`treeviewcolumn] obj -> edit:bool -> unit = "ml_gtk_tree_view_set_cursor" external set_cursor_on_cell : [>`treeview] obj -> tree_path -> [>`treeviewcolumn] obj -> [>`cellrenderer] obj -> edit:bool -> unit = "ml_gtk_tree_view_set_cursor_on_cell" external get_cursor : [>`treeview] obj -> tree_path option * tree_view_column obj option = "ml_gtk_tree_view_get_cursor" external get_path_at_pos : [>`treeview] obj -> x:int -> y:int -> (tree_path * tree_view_column obj * int * int) option = "ml_gtk_tree_view_get_path_at_pos" external get_cell_area : [>`treeview] obj -> ?path:tree_path -> ?col:tree_view_column obj -> unit -> Gdk.Rectangle.t = "ml_gtk_tree_view_get_cell_area" external set_row_separator_func : [>`treeview] obj -> (Gtk.tree_model -> Gtk.tree_iter -> bool) option -> unit = "ml_gtk_tree_view_set_row_separator_func" (** @since GTK 2.12 *) module Tooltip = struct external set_cell : [>`treeview] obj -> Gtk.tooltip -> ?path:Gtk.tree_path -> ?col:tree_view_column obj -> ?cell:[>`cellrenderer] obj -> unit -> unit = "ml_gtk_tree_view_set_tooltip_cell_bc" "ml_gtk_tree_view_set_tooltip_cell" external set_row : [>`treeview] obj -> Gtk.tooltip -> Gtk.tree_path -> unit = "ml_gtk_tree_view_set_tooltip_row" external get_context : [>`treeview] obj -> x: int -> y: int -> kbd: bool -> (int * int * (Gtk.tree_model * Gtk.tree_path * Gtk.tree_iter) option) = "ml_gtk_tree_view_get_tooltip_context" external get_column : [>`treeview] obj -> int = "ml_gtk_tree_view_get_tooltip_column" external set_column : [>`treeview] obj -> int -> unit = "ml_gtk_tree_view_set_tooltip_column" end module Dnd = struct external get_dest_row_at_pos : [>`treeview] obj -> x: int -> y: int -> ( Gtk.tree_path * GtkEnums.tree_view_drop_position ) option = "ml_gtk_tree_view_get_dest_row_at_pos" external enable_model_drag_dest : [>`treeview] obj -> targets: target_entry array -> actions: Gdk.Tags.drag_action list -> unit = "ml_gtk_tree_view_enable_model_drag_dest" external unset_rows_drag_dest : [>`treeview] obj -> unit = "ml_gtk_tree_view_unset_rows_drag_dest" external enable_model_drag_source : [>`treeview] obj -> ?modi: Gdk.Tags.modifier list -> targets: target_entry array -> actions: Gdk.Tags.drag_action list -> unit = "ml_gtk_tree_view_enable_model_drag_source" external unset_rows_drag_source : [>`treeview] obj -> unit = "ml_gtk_tree_view_unset_rows_drag_source" end end module CellRenderer = CellRenderer module CellRendererPixbuf = CellRendererPixbuf module CellRendererText = CellRendererText module CellRendererToggle = CellRendererToggle module CellRendererProgress = CellRendererProgress module CellRendererCombo = CellRendererCombo module CellRendererAccel = CellRendererAccel module CellLayout = struct include GtkTreeProps.CellLayout let pack layout ?(expand=false) ?from:( dir = (`START : pack_type)) renderer = (match dir with `START -> pack_start | `END -> pack_end) layout renderer ~expand end module TreeModelSort = TreeModelSort module TreeSortable = TreeSortable module TreeModelFilter = TreeModelFilter module IconView = IconView module CustomModel = struct (* Do not change the name of this methods: they are hard coded in ml_gtktree.c. They must remain public. *) class virtual ['row,'a,'b,'c] callback = object method virtual custom_encode_iter : 'row -> 'a * 'b * 'c method virtual custom_decode_iter : 'a -> 'b -> 'c -> 'row method virtual custom_n_columns : int method virtual custom_get_column_type : int -> Gobject.g_type method virtual custom_get_iter : Gtk.tree_path -> 'row option method virtual custom_get_path : 'row -> Gtk.tree_path method virtual custom_get_value : 'row -> int -> Gobject.g_value -> unit method virtual custom_iter_next : 'row -> 'row option method virtual custom_iter_children : 'row option -> 'row option method virtual custom_iter_has_child : 'row -> bool method virtual custom_iter_n_children : 'row option -> int method virtual custom_iter_nth_child : 'row option -> int -> 'row option method virtual custom_iter_parent : 'row -> 'row option method custom_ref_node (_:'row) : unit = () method custom_unref_node (_:'row) : unit = () end external create : unit -> tree_model_custom = "ml_custom_model_create" external register_callback : tree_model_custom -> ('row,'a,'b,'c) #callback -> unit = "ml_register_custom_model_callback_object" external custom_row_inserted : tree_model_custom -> Gtk.tree_path -> 'row -> unit = "ml_custom_model_row_inserted" external custom_row_changed : tree_model_custom -> Gtk.tree_path -> 'row -> unit = "ml_custom_model_row_changed" external custom_row_has_child_toggled : tree_model_custom -> Gtk.tree_path -> 'row -> unit = "ml_custom_model_row_has_child_toggled" external custom_row_deleted : tree_model_custom -> 'row -> unit = "ml_custom_model_row_deleted" external custom_rows_reordered : tree_model_custom -> Gtk.tree_path -> 'row option -> int array -> unit = "ml_custom_model_rows_reordered" end lablgtk-3.1.2/src/gtkTree.props0000644000650106067230000003031214161276610015260 0ustar glondused(* $Id$ *) prefix "Gtk" initializer "ml_gtktree_init" header { open Gtk module Internal = struct let tree_path_string = ref (unsafe_pointer : tree_path data_conv) let tree_path_copy = ref (unsafe_pointer : tree_path data_conv) end } conversions { GtkTreePathString "!Internal.tree_path_string" GtkTreePathCopy "!Internal.tree_path_copy" } classes { GdkPixbuf "GdkPixbuf.pixbuf" GtkAdjustment "Gtk.adjustment obj" GtkTreeModel "Gtk.tree_model obj" } class TreeView set wrap wrapsig : Container { "enable-search" gboolean : Read / Write "expander-column" GtkTreeViewColumn_opt: Read / Write / NoSet / NoWrap "fixed-height-mode" gboolean : Read / Write "hadjustment" GtkAdjustment : Read / Write "headers-clickable" gboolean : Write "headers-visible" gboolean : Read / Write "model" GtkTreeModel_opt : Read / Write / NoWrap "reorderable" gboolean : Read / Write "rules-hint" gboolean : Read / Write "search-column" gint : Read / Write "vadjustment" GtkAdjustment : Read / Write (* new properties in GTK+ 2.6 *) "hover-expand" gboolean : Read / Write / NoSet "hover-selection" gboolean : Read / Write / NoSet (* new properties in GTK+ 2.10 *) "enable-grid-lines" GtkTreeViewGridLines : Read / Write / NoSet "enable-tree-lines" gboolean : Read / Write / NoSet (* new properties in GTK+ 2.12 *) "tooltip-column" gint : Read / Write method get_visible_range : "(tree_path * tree_path) option" signal columns_changed signal cursor_changed signal expand_collapse_cursor_row : logical:gboolean expand:gboolean all:gboolean -> gboolean signal move_cursor : GtkMovementStep gint -> gboolean signal row_activated : GtkTreePathCopy GtkTreeViewColumn / NoWrap signal row_collapsed : GtkTreeIter GtkTreePathCopy signal row_expanded : GtkTreeIter GtkTreePathCopy signal select_all : -> gboolean signal select_cursor_parent : -> gboolean signal select_cursor_row : start_editing:gboolean -> gboolean signal start_interactive_search : -> gboolean signal test_collapse_row : GtkTreeIter GtkTreePathCopy -> gboolean signal test_expand_row : GtkTreeIter GtkTreePathCopy -> gboolean signal toggle_cursor_row : -> gboolean signal unselect_all : -> gboolean } class CellRenderer vset : Object { "cell-background" gchararray : Write "cell-background-gdk" GdkColor : Read / Write "cell-background-set" gboolean : Read / Write "height" gint : Read / Write "is-expanded" gboolean : Read / Write "is-expander" gboolean : Read / Write "mode" GtkCellRendererMode : Read / Write "visible" gboolean : Read / Write "width" gint : Read / Write "xalign" gfloat : Read / Write "xpad" guint : Read / Write "yalign" gfloat : Read / Write "ypad" guint : Read / Write } class CellRendererPixbuf vset : CellRenderer { "pixbuf" GdkPixbuf : Read / Write "pixbuf-expander-closed" GdkPixbuf : Read / Write "pixbuf-expander-open" GdkPixbuf : Read / Write "stock-detail" gchararray : Read / Write "stock-id" gchararray : Read / Write "stock-size" GtkIconSize : Read / Write } class CellRendererText vset : CellRenderer { "attributes" PangoAttrList : Read / Write "background" gchararray : Write "background-gdk" GdkColor : Read / Write "background-set" gboolean : Read / Write "editable" gboolean : Read / Write "editable-set" gboolean : Read / Write / NoVSet "family" gchararray : Read / Write "family-set" gboolean : Read / Write / NoVSet "font" gchararray : Read / Write "font-desc" PangoFontDescription : Read / Write "foreground" gchararray : Write "foreground-gdk" GdkColor : Read / Write "foreground-set" gboolean : Read / Write "markup" gchararray : Write "rise" gint : Read / Write "rise-set" gboolean : Read / Write / NoVSet "scale" gdouble : Read / Write "scale-set" gboolean : Read / Write / NoVSet "single-paragraph-mode" gboolean : Read / Write "size" gint : Read / Write "size-points" gdouble : Read / Write "size-set" gboolean : Read / Write / NoVSet "stretch" PangoStretch : Read / Write "stretch-set" gboolean : Read / Write / NoVSet "strikethrough" gboolean : Read / Write "strikethrough-set" gboolean : Read / Write / NoVSet "style" PangoStyle : Read / Write "style-set" gboolean : Read / Write / NoVSet "text" gchararray : Read / Write "underline" PangoUnderline : Read / Write "underline-set" gboolean : Read / Write / NoVSet "variant" PangoVariant : Read / Write "variant-set" gboolean : Read / Write / NoVSet "weight" gint : Read / Write "weight-set" gboolean : Read / Write / NoVSet "wrap-mode" PangoWrapMode : Read / Write "wrap-width" gint : Read / Write method set_fixed_height_from_font : "int -> unit" signal edited : GtkTreePathString string } class CellRendererToggle vset : CellRenderer { "activatable" gboolean : Read / Write "active" gboolean : Read / Write "inconsistent" gboolean : Read / Write "radio" gboolean : Read / Write signal toggled : GtkTreePathString } class CellRendererProgress vset : CellRenderer { "value" gint : Read / Write "text" gchararray_opt : Read / Write } class CellRendererCombo : CellRendererText { "model" GtkTreeModel_opt : Read / Write / NoWrap "text_column" gint : Read / Write / NoWrap "has_entry" gboolean : Read / Write signal changed : GtkTreePathString GtkTreeIter } class CellRendererAccel : CellRendererText { "accel-key" gint : Read / Write "accel-mode" GtkCellRendererAccelMode : Read / Write "accel-mods" gint : Read / Write "keycode" gint : Read / Write signal accel_cleared : GtkTreePathString signal accel_edited : GtkTreePathString accel_key:int accel_mods:int hardware_keycode:int } class CellLayout abstract : Object { method pack_start : "Gtk.cell_renderer Gtk.obj -> expand:bool -> unit" method pack_end : "Gtk.cell_renderer Gtk.obj -> expand:bool -> unit" method reorder : "Gtk.cell_renderer Gtk.obj -> int -> unit" method clear method add_attribute : "Gtk.cell_renderer Gtk.obj -> string -> int -> unit" method clear_attributes : "Gtk.cell_renderer Gtk.obj -> unit" method set_cell_data_func : "Gtk.cell_renderer Gtk.obj -> ([`treemodel] obj -> tree_iter -> unit) option -> unit" } class TreeViewColumn wrap : Object { "alignment" gfloat : Read / Write "clickable" gboolean : Read / Write "expand" gboolean : Read / Write "fixed-width" gint : Read / Write "max-width" gint : Read / Write "min-width" gint : Read / Write "reorderable" gboolean : Read / Write "resizable" gboolean : Read / Write "sizing" GtkTreeViewColumnSizing : Read / Write "sort-indicator" gboolean : Read / Write "sort-order" GtkSortType : Read / Write "title" gchararray : Read / Write "visible" gboolean : Read / Write "widget" GtkWidget_opt : Read / Write "width" gint : Read signal clicked } class TreeSelection abstract : GObject { signal changed } class TreeModel abstract wrapsig : GObject { signal row_changed : GtkTreePathCopy GtkTreeIter signal row_deleted : GtkTreePathCopy signal row_has_child_toggled : GtkTreePathCopy GtkTreeIter signal row_inserted : GtkTreePathCopy GtkTreeIter signal rows_reordered : GtkTreePathCopy GtkTreeIter (* gpointer *) } (* class ListStore : TreeModel {} *) class TreeModelSort : GObject { "model" GtkTreeModel : Read / Write / Construct Only method convert_child_path_to_path : "Gtk.tree_path -> Gtk.tree_path" method convert_child_iter_to_iter : "Gtk.tree_iter -> Gtk.tree_iter" method convert_path_to_child_path : "Gtk.tree_path -> Gtk.tree_path" method convert_iter_to_child_iter : "Gtk.tree_iter -> Gtk.tree_iter" method reset_default_sort_func (* method clear_cache *) method iter_is_valid : "Gtk.tree_iter -> bool" } class TreeSortable abstract wrapsig : GObject { signal sort_column_changed method sort_column_changed method get_sort_column_id : "(int * Gtk.Tags.sort_type) option" method set_sort_column_id : "int -> Gtk.Tags.sort_type -> unit" method set_sort_func : "int -> ([`treemodel] Gobject.obj -> Gtk.tree_iter -> Gtk.tree_iter -> int) -> unit" method set_default_sort_func : "([`treemodel] Gobject.obj -> Gtk.tree_iter -> Gtk.tree_iter -> int) -> unit" method has_default_sort_func : "bool" } class TreeModelFilter : GObject { "child-model" GtkTreeModel : Read / Write / Construct Only "virtual-root" GtkTreePath : Read / Write / Construct Only method set_visible_func : "([`treemodel] Gobject.obj -> Gtk.tree_iter -> bool) -> unit" method set_visible_column : "int -> unit" method convert_child_path_to_path : "Gtk.tree_path -> Gtk.tree_path" method convert_child_iter_to_iter : "Gtk.tree_iter -> Gtk.tree_iter" method convert_path_to_child_path : "Gtk.tree_path -> Gtk.tree_path" method convert_iter_to_child_iter : "Gtk.tree_iter -> Gtk.tree_iter" method refilter (* method clear_cache *) } class IconView set wrap wrapsig : Container { "column-spacing" gint : Read / Write / NoSet "columns" gint : Read / Write "item-width" gint : Read / Write / NoSet "margin" gint : Read / Write / NoSet "markup-column" gint : Read / Write / NoWrap / NoSet "model" GtkTreeModel_opt : Read / Write / NoWrap "orientation" GtkOrientation : Read / Write "pixbuf-column" gint : Read / Write / NoWrap / NoSet "row-spacing" gint : Read / Write / NoSet "selection-mode" GtkSelectionMode : Read / Write "spacing" gint : Read / Write / NoSet "text-column" gint : Read / Write / NoWrap / NoSet signal item_activated : GtkTreePath signal selection_changed (* signal set_scroll_adjustments : GtkAdjustment GtkAdjustment *) method get_path_at_pos : "int -> int -> Gtk.tree_path option" method selected_foreach : "(Gtk.tree_path -> unit) -> unit" method select_path : "Gtk.tree_path -> unit" method unselect_path : "Gtk.tree_path -> unit" method path_is_selected : "Gtk.tree_path -> bool" method get_selected_items : "Gtk.tree_path list" method select_all method unselect_all method item_activated : "Gtk.tree_path -> unit" } lablgtk-3.1.2/src/gtkWindow.ml0000644000650106067230000001130614161276610015077 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject open Gtk open Tags open GtkBaseProps open GtkBase external _gtkwindow_init : unit -> unit = "ml_gtkwindow_init" let () = _gtkwindow_init () module Window = struct include Window external set_wmclass : [>`window] obj -> name:string -> clas:string -> unit = "ml_gtk_window_set_wmclass" external add_accel_group : [>`window] obj -> accel_group -> unit = "ml_gtk_window_add_accel_group" external remove_accel_group : [>`window] obj -> accel_group -> unit = "ml_gtk_window_remove_accel_group" external activate_focus : [>`window] obj -> bool = "ml_gtk_window_activate_focus" external activate_default : [>`window] obj -> bool = "ml_gtk_window_activate_default" external set_geometry_hints : [>`window] obj -> ?pos: bool -> ?min_size: int * int -> ?max_size: int * int -> ?base_size: int * int -> ?aspect: float * float -> ?resize_inc: int * int -> ?win_gravity: Gdk.Tags.gravity -> ?user_pos: bool -> ?user_size: bool -> [>`widget] obj -> unit = "ml_gtk_window_set_geometry_hints_bc" "ml_gtk_window_set_geometry_hints" external list_toplevels : unit -> window obj list = "ml_gtk_window_list_toplevels" external add_mnemonic : [>`window] obj -> Gdk.keysym -> [>`widget] obj -> unit = "ml_gtk_window_add_mnemonic" external remove_mnemonic : [>`window] obj -> Gdk.keysym -> [>`widget] obj -> unit = "ml_gtk_window_remove_mnemonic" external activate_mnemonic : [>`window] obj -> ?modi: Gdk.Tags.modifier list -> Gdk.keysym -> unit = "ml_gtk_window_mnemonic_activate" external get_focus : [>`window] obj -> widget obj = "ml_gtk_window_get_focus" (* set_focus/default are called by Widget.grab_focus/default *) external set_focus : [>`window] obj -> [>`widget] obj -> unit = "ml_gtk_window_set_focus" external set_default : [>`window] obj -> [>`widget] obj -> unit = "ml_gtk_window_set_default" (* see gtk.props for others *) end module Dialog = struct include Dialog external action_area : [>`dialog] obj -> button_box obj = "ml_gtk_dialog_get_action_area" external vbox : [>`dialog] obj -> box obj = "ml_gtk_dialog_get_content_area" external add_button : [>`dialog] obj -> string -> int -> unit = "ml_gtk_dialog_add_button" external response : [>`dialog] obj -> int -> unit = "ml_gtk_dialog_response" external set_response_sensitive : [>`dialog] obj -> int -> bool -> unit = "ml_gtk_dialog_set_response_sensitive" external set_default_response : [>`dialog] obj -> int -> unit = "ml_gtk_dialog_set_default_response" external run : [>`dialog] obj -> int = "ml_gtk_dialog_run" let std_response = Gpointer.encode_variant GtkEnums.Conv.response_tbl let decode_response = Gpointer.decode_variant GtkEnums.Conv.response_tbl end module MessageDialog = MessageDialog module AboutDialog = struct include AboutDialog external create : unit -> Gtk.about_dialog obj = "ml_gtk_about_dialog_new" end module Plug = struct include Plug (* external create : Gdk.native_window -> plug obj = "ml_gtk_plug_new"*) end module Socket = Socket lablgtk-3.1.2/src/gtk_tags.var0000644000650106067230000002455614161276610015120 0ustar glondused(* Tags for GTK *) package "gtk" (* gtkenums.h *) type align = "GTK_ALIGN_" [ `FILL | `START | `END | `CENTER | `BASELINE ] type arrow_type = "GTK_ARROW_" [ `UP | `DOWN | `LEFT | `RIGHT | `NONE ] type attach_options = "GTK_" [ `EXPAND | `SHRINK | `FILL ] type baseline_position = "GTK_BASELINE_POSITION_" [ `TOP | `CENTER | `BOTTOM ] type delete_type = "GTK_DELETE_" [ `CHARS | `WORD_ENDS | `WORDS | `DISPLAY_LINES | `DISPLAY_LINE_ENDS | `PARAGRAPH_ENDS | `PARAGRAPHS | `WHITESPACE ] type direction_type = "GTK_DIR_" [ `TAB_FORWARD | `TAB_BACKWARD | `UP | `DOWN | `LEFT | `RIGHT ] type icon_size = "GTK_ICON_SIZE_" [ `INVALID | `MENU | `SMALL_TOOLBAR | `LARGE_TOOLBAR | `BUTTON | `DND | `DIALOG ] type sensitivity_type = "GTK_SENSITIVITY_" [ `AUTO | `ON | `OFF ] type text_direction = "GTK_TEXT_DIR_" [ `NONE | `LTR | `RTL ] type justification = "GTK_JUSTIFY_" [ `LEFT | `RIGHT | `CENTER | `FILL ] type menu_direction_type = "GTK_MENU_DIR_" [ `PARENT | `CHILD | `NEXT | `PREV ] type message_type = "GTK_MESSAGE_" [ `INFO | `WARNING | `QUESTION | `ERROR | `OTHER ] (* type metric_type = "GTK_" [ `PIXELS | `INCHES | `CENTIMETERS ] *) type movement_step = "GTK_MOVEMENT_" [ `LOGICAL_POSITIONS | `VISUAL_POSITIONS | `WORDS | `DISPLAY_LINES | `DISPLAY_LINE_ENDS | `PARAGRAPH_ENDS | `PARAGRAPHS | `PAGES | `BUFFER_ENDS | `HORIZONTAL_PAGES ] type orientation = "GTK_ORIENTATION_" [ `HORIZONTAL | `VERTICAL ] type pack_type = "GTK_PACK_" [ `START | `END ] (* type path_priority = "GTK_PATH_PRIO_" [ `LOWEST | `GTK | `APPLICATION | `THEME | `RC | `HIGHEST ] type path_type = "GTK_PATH_" [ `WIDGET | `WIDGET_CLASS | `CLASS ] type policy_type = "GTK_POLICY_" [ `ALWAYS | `AUTOMATIC | `NEVER ] *) type position_type = "GTK_POS_" [ `LEFT | `RIGHT | `TOP | `BOTTOM ] (* type preview_type = "GTK_PREVIEW_" [ `COLOR | `GRAYSCALE ] *) type relief_style = "GTK_RELIEF_" [ `NORMAL | `HALF | `NONE ] (* type resize_mode = "GTK_RESIZE_" [ `PARENT | `QUEUE | `IMMEDIATE ] type signal_run_type = "GTK_RUN_" [ `FIRST | `LAST | `BOTH | `NO_RECURSE | `ACTION | `NO_HOOKS ] *) type scroll_step = "GTK_SCROLL_" [ `STEPS | `PAGES | `END | `HORIZONTAL_STEPS | `HORIZONTAL_PAGES | `HORIZONTAL_ENDS ] type scroll_type = "GTK_SCROLL_" [ `NONE | `JUMP | `STEP_FORWARD | `STEP_BACKWARD | `PAGE_BACKWARD | `PAGE_FORWARD | `STEP_UP | `STEP_DOWN | `PAGE_UP | `PAGE_DOWN | `STEP_LEFT | `STEP_RIGHT | `PAGE_LEFT | `PAGE_RIGHT | `START | `END ] type selection_mode = "GTK_SELECTION_" [ `NONE | `SINGLE | `BROWSE | `MULTIPLE ] type shadow_type = "GTK_SHADOW_" [ `NONE | `IN | `OUT | `ETCHED_IN | `ETCHED_OUT ] type state_type = "GTK_STATE_" [ `NORMAL | `ACTIVE | `PRELIGHT | `SELECTED | `INSENSITIVE | `INCONSISTENT | `FOCUSED ] (* type submenu_direction = "GTK_DIRECTION_" [ `LEFT | `RIGHT ] type submenu_placement = "GTK_" [ `TOP_BOTTOM | `LEFT_RIGHT ] *) type toolbar_style = "GTK_TOOLBAR_" [ `ICONS | `TEXT | `BOTH | `BOTH_HORIZ ] (* type update_type = "GTK_UPDATE_" [ `CONTINUOUS | `DISCONTINUOUS | `DELAYED ] type visibility = "GTK_VISIBILITY_" [ `NONE | `PARTIAL | `FULL ] *) type wrap_mode = "GTK_WRAP_" [ `NONE | `CHAR | `WORD | `WORD_CHAR ] type sort_type = "GTK_SORT_" [ `ASCENDING | `DESCENDING ] type pack_direction = "GTK_PACK_DIRECTION_" [ `LTR | `RTL | `TTB | `BTT ] type print_pages = "GTK_PRINT_PAGES_" [ `ALL | `CURRENT | `RANGES | `SELECTION ] type page_set = "GTK_PAGE_SET_" [ `ALL | `EVEN | `ODD ] type number_up_layout = "GTK_NUMBER_UP_LAYOUT_" [ `LEFT_TO_RIGHT_TOP_TO_BOTTOM | `LEFT_TO_RIGHT_BOTTOM_TO_TOP | `RIGHT_TO_LEFT_TOP_TO_BOTTOM | `RIGHT_TO_LEFT_BOTTOM_TO_TOP | `TOP_TO_BOTTOM_LEFT_TO_RIGHT | `TOP_TO_BOTTOM_RIGHT_TO_LEFT | `BOTTOM_TO_TOP_LEFT_TO_RIGHT | `BOTTOM_TO_TOP_RIGHT_TO_LEFT ] type page_orientation = "GTK_PAGE_ORIENTATION_" [ `PORTRAIT | `LANDSCAPE | `REVERSE_PORTRAIT | `REVERSE_LANDSCAPE ] type print_quality = "GTK_PRINT_QUALITY_" [ `LOW | `NORMAL | `HIGH | `DRAFT ] type print_duplex = "GTK_PRINT_DUPLEX_" [ `SIMPLEX | `HORIZONTAL | `VERTICAL ] type gtk_unit = "GTK_UNIT_" [ `NONE | `POINTS | `INCH | `MM | `PIXEL ] type tree_view_grid_lines = "GTK_TREE_VIEW_GRID_LINES_" [ `NONE | `HORIZONTAL | `VERTICAL | `BOTH ] type drag_result = "GTK_DRAG_RESULT_" [ `SUCCESS | `NO_TARGET | `USER_CANCELLED | `TIMEOUT_EXPIRED | `GRAB_BROKEN | `ERROR ] type size_group_mode = "GTK_SIZE_GROUP_" [ `NONE | `HORIZONTAL | `VERTICAL | `BOTH ] type size_request_mode = "GTK_SIZE_REQUEST_" [ `HEIGHT_FOR_WIDTH | `WIDTH_FOR_HEIGHT | `CONSTANT_SIZE ] type scrollable_policy = "GTK_SCROLL_" [ `MINIMUM | `NATURAL ] type flags state_flag = "GTK_STATE_FLAG_" [ `NORMAL | `ACTIVE | `PRELIGHT | `SELECTED | `INSENSITIVE | `INCONSISTENT | `FOCUSED | `BACKDROP | `DIR_LTR | `DIR_RTL | `LINK | `VISITED | `CHECKED (* 3.20 | `DROP_ACTIVE *) ] type flags region_flag = "GTK_REGION_" [ `EVEN | `ODD | `FIRST | `LAST | `ONLY | `SORTED ] type junction_sides = "GTK_JUNCTION_" [ `NONE | `CORNER_TOPLEFT | `CORNER_TOPRIGHT | `CORNER_BOTTOMLEFT | `CORNER_BOTTOMRIGHT | `TOP | `BOTTOM | `LEFT | `RIGHT ] type border_style = "GTK_BORDER_STYLE_" [ `NONE | `SOLID | `INSET | `OUTSET | `HIDDEN | `DOTTED | `DASHED | `DOUBLE | `GROOVE | `RIDGE ] type level_bar_mode = "GTK_LEVEL_BAR_MODE_" [ `CONTINUOUS | `DISCRETE ] type input_purpose = "GTK_INPUT_PURPOSE_" [ `FREE_FORM | `ALPHA | `DIGITS | `NUMBER | `PHONE | `URL | `EMAIL | `NAME | `PASSWORD | `PIN ] type input_hints = "GTK_INPUT_HINT_" [ `NONE | `SPELLCHECK | `NO_SPELLCHECK | `WORD_COMPLETION | `LOWERCASE | `UPPERCASE_CHARS | `UPPERCASE_WORDS | `UPPERCASE_SENTENCES | `INHIBIT_OSK (* >= 3.18 | `VERTICAL_WRITING *) (* >= 3.22 | `EMOJI | `NO_EMOJI *) ] type propagation_phase = "GTK_PHASE_" [ `NONE | `CAPTURE | `BUBBLE | `TARGET ] type event_sequence_state = "GTK_EVENT_SEQUENCE_" [ `NONE | `CLAIMED | `DENIED ] type pan_direction = "GTK_PAN_DIRECTION_" [ `LEFT | `RIGHT | `UP | `DOWN ] type stack_transition_type = "GTK_STACK_TRANSITION_TYPE_" [ `NONE | `CROSSFADE | `SLIDE_RIGHT | `SLIDE_LEFT | `SLIDE_UP | `SLIDE_DOWN | `SLIDE_LEFT_RIGHT | `SLIDE_UP_DOWN | `OVER_UP | `OVER_DOWN | `OVER_LEFT | `OVER_RIGHT | `UNDER_UP | `UNDER_DOWN | `UNDER_LEFT | `UNDER_RIGHT | `OVER_UP_DOWN | `OVER_DOWN_UP | `OVER_LEFT_RIGHT | `OVER_RIGHT_LEFT ] (* >= 3.20 type popover_constraint = "GTK_POPOVER_CONSTRAINT_" [ `NONE | `WINDOW ] *) (* gtktextview.h *) type text_window_type = "GTK_TEXT_WINDOW_" [ `PRIVATE | `WIDGET | `TEXT | `LEFT | `RIGHT | `TOP | `BOTTOM ] type text_view_layer = "GTK_TEXT_VIEW_LAYER_" [ `BELOW | `ABOVE (* Since 3.20: | `BELOW_TEXT | `ABOVE_TEXT *) ] type text_extend_selection = "GTK_TEXT_EXTEND_SELECTION_" [ `WORD | `LINE ] (* gtktextiter.h *) type text_search_flag = "GTK_TEXT_SEARCH_" [ `VISIBLE_ONLY | `TEXT_ONLY | `CASE_INSENSITIVE ] (* gtktoolbar.h *) type toolbar_space_style = "GTK_TOOLBAR_SPACE_" [ `EMPTY | `LINE ] (* gtkspinbutton.h *) type spin_button_update_policy = "GTK_UPDATE_" [ `ALWAYS | `IF_VALID ] type spin_type = "GTK_SPIN_" [ `STEP_FORWARD | `STEP_BACKWARD | `PAGE_FORWARD | `PAGE_BACKWARD | `HOME | `END | `USER_DEFINED ] (* gtkaccelgroup.h *) type accel_flag = "GTK_ACCEL_" [ `VISIBLE | `LOCKED ] (* gtkbbox.h *) type button_box_style = "GTK_BUTTONBOX_" [ `SPREAD | `EDGE | `START | `END | `CENTER | `EXPAND ] (* gtkcalendar.h *) type calendar_display_options = "GTK_CALENDAR_" [ `SHOW_HEADING | `SHOW_DAY_NAMES | `NO_MONTH_CHANGE | `SHOW_WEEK_NUMBERS | `SHOW_DETAILS ] (* gtkcontainer.h *) type resize_mode = "GTK_RESIZE_" [ `PARENT | `QUEUE | `IMMEDIATE ] (* gtkdragdest.h *) type dest_defaults = "GTK_DEST_DEFAULT_" [ `MOTION | `HIGHLIGHT | `DROP | `ALL ] (* gtkselection.h *) type target_flags = "GTK_TARGET_" [ `SAME_APP | `SAME_WIDGET | `OTHER_APP | `OTHER_WIDGET ] (* gtkscrolledwindow.h *) type corner_type = "GTK_CORNER_" [ `TOP_LEFT | `BOTTOM_LEFT | `TOP_RIGHT | `BOTTOM_RIGHT ] type policy_type = "GTK_POLICY_" [ `ALWAYS | `AUTOMATIC | `NEVER | `EXTERNAL ] (* gtktreemodel.h *) type tree_model_flags = "GTK_TREE_MODEL_" [ `ITERS_PERSIST | `LIST_ONLY ] (* gtktreeview.h *) type tree_view_drop_position = "GTK_TREE_VIEW_DROP_" [ `BEFORE | `AFTER | `INTO_OR_BEFORE | `INTO_OR_AFTER ] (* gtktreeviewcolumn.h *) type tree_view_column_sizing = "GTK_TREE_VIEW_COLUMN_" [ `GROW_ONLY | `AUTOSIZE | `FIXED ] (* gtkcellrenderer.h *) type cell_renderer_state = "GTK_CELL_RENDERER_" [ `SELECTED | `PRELIT | `INSENSITIVE | `SORTED | `FOCUSED | `EXPANDABLE | `EXPANDED ] type cell_renderer_mode = "GTK_CELL_RENDERER_MODE_" [ `INERT | `ACTIVATABLE | `EDITABLE ] (* gtkcellrendereraccel.h *) type cell_renderer_accel_mode = "GTK_CELL_RENDERER_ACCEL_MODE_" [ `GTK | `OTHER ] (* gtkmessagedialog.h *) type buttons_type = "GTK_BUTTONS_" [ `NONE | `OK | `CLOSE | `CANCEL | `YES_NO | `OK_CANCEL ] (* gtkdialog.h *) type dialog_flag = "GTK_DIALOG_" [ `MODAL | `DESTROY_WITH_PARENT | `USE_HEADER_BAR ] type response = "GTK_RESPONSE_" [ `NONE | `REJECT | `ACCEPT | `DELETE_EVENT | `OK | `CANCEL | `CLOSE | `YES | `NO | `APPLY | `HELP ] (* gtkwidget.h *) type widget_help_type = "GTK_WIDGET_HELP_" [ `TOOLTIP | `WHATS_THIS ] (* gtkwindow.h *) type window_position = "GTK_WIN_POS_" [ `NONE | `CENTER | `MOUSE | `CENTER_ALWAYS | `CENTER_ON_PARENT ] type window_type = "GTK_WINDOW_" [ `TOPLEVEL | `POPUP ] (* gtkimage.h *) type image_type = "GTK_IMAGE_" [ `EMPTY | `PIXBUF | `STOCK | `ICON_SET | `ANIMATION | `ICON_NAME | `GICON | `SURFACE ] (* gtkfilechooser.h *) type file_chooser_action = "GTK_FILE_CHOOSER_ACTION_" [ `OPEN | `SAVE | `SELECT_FOLDER | `CREATE_FOLDER ] type file_chooser_confirmation = "GTK_FILE_CHOOSER_CONFIRMATION_" [ `CONFIRM | `ACCEPT_FILENAME | `SELECT_AGAIN ] type file_chooser_errot = "GTK_FILE_CHOOSER_ERROR_" [ `NONEXISTENT | `BAD_FILENAME | `ALREADY_EXISTS | `INCOMPLETE_HOSTNAME ] (* gtkfilefilter.h *) type file_filter_flags = "GTK_FILE_FILTER_" [ `FILENAME | `URI | `DISPLAY_NAME | `MIME_TYPE ] (* gtkuimanager.h *) type protect HASGTK24 ui_manager_item_type = "GTK_UI_MANAGER_" [ `AUTO | `MENUBAR | `MENU | `TOOLBAR | `PLACEHOLDER | `POPUP | `MENUITEM | `TOOLITEM | `SEPARATOR | `ACCELERATOR | `POPUP_WITH_ACCELS ] (* gtkassistant.h *) type protect HASGTK210 assistant_page_type = "GTK_ASSISTANT_PAGE_" [ `CONTENT | `INTRO | `CONFIRM | `SUMMARY | `PROGRESS | `CUSTOM ] (* gtkentry.h *) type entry_icon_position = "GTK_ENTRY_ICON_" [ `PRIMARY | `SECONDARY ] lablgtk-3.1.2/src/gutf8.ml0000644000650106067230000001150114161276610014154 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) open StdLabels type unichar = int type unistring = unichar array module Error = struct type error = | NO_CONVERSION | ILLEGAL_SEQUENCE | FAILED | PARTIAL_INPUT | BAD_URI | NOT_ABSOLUTE_PATH exception Error of error * string let raise_bad_utf8 () = raise (Error (ILLEGAL_SEQUENCE, "Invalid byte sequence for UTF-8 string")) end open Error let rec log64 n = if n = 0 then 0 else 1 + log64 (n lsr 5) let utf8_storage_len n = if n < 0x80 then 1 else log64 (n lsr 1) (* this function is not exported, so it's OK to do a few 'unsafe' things *) let write_unichar s ~pos (c : unichar) = let len = utf8_storage_len c in let p = !pos in if len = 1 then Bytes.unsafe_set s p (Char.unsafe_chr c) else begin Bytes.unsafe_set s p (Char.unsafe_chr (((1 lsl len - 1) lsl (8-len)) lor (c lsr ((len-1)*6)))); for i = 1 to len-1 do Bytes.unsafe_set s (p+i) (Char.unsafe_chr (((c lsr ((len-1-i)*6)) land 0x3f) lor 0x80)) done; end; pos := p + len let sub_string s ~pos ~len = Bytes.sub_string s pos len let from_unichar (n : unichar) = let s = Bytes.create 6 and pos = ref 0 in write_unichar s ~pos n; sub_string s ~pos:0 ~len:!pos let from_unistring (s : unistring) = let len = Array.length s in let r = Bytes.create (len*6) in let pos = ref 0 in for i = 0 to len-1 do write_unichar r ~pos s.(i) done; sub_string r ~pos:0 ~len:!pos let rec hi_bits n = if n land 0x80 = 0 then 0 else 1 + hi_bits (n lsl 1) let to_unichar s ~pos : unichar = let c = Char.code s.[!pos] in incr pos; let n = hi_bits c in if n = 0 then c else (* if string is valid then 2 <= n <= 6 *) let u = ref (c land (1 lsl (7-n) - 1)) in for i = 1 to n-1 do let c = Char.code s.[!pos] in u := !u lsl 6 + c land 0x3f ; incr pos done; !u let first_char s = to_unichar s ~pos:(ref 0) let validate c = c < 0x110000 && (c land 0x7FFFF800) <> 0xD800 && (c < 0xFDD0 || c > 0xFDEF) && (c land 0xFFFE) <> 0xFFFE let to_unichar_validated s ~pos : unichar = let c = Char.code s.[!pos] in incr pos; let n = hi_bits c in if n = 0 then c else begin if n = 1 || n > 6 then raise_bad_utf8 () ; if !pos + n > String.length s then raise (Error(PARTIAL_INPUT, "partial UTF-8 character")); let u = ref (c land (1 lsl (7-n) - 1)) in for i = 1 to n-1 do let c = Char.code s.[!pos] in if c lsr 6 <> 0b10 then raise_bad_utf8 () ; u := !u lsl 6 + c land 0x3f ; incr pos done; let v = !u in (* reject overlong sequences && invalid values *) if utf8_storage_len v <> n || not (validate v) then raise_bad_utf8 () ; v end let rec end_of_char s ~pos = let c = Char.code s.[pos] in if (c land 0xc0) = 0x80 then end_of_char s ~pos:(pos+1) else pos let next s ~pos = let c = Char.code s.[pos] in let n = hi_bits c in if n = 0 then pos + 1 else if n = 1 then end_of_char s ~pos:(pos+1) else pos + n let length s = let len = String.length s in let rec loop count ~pos = if pos >= len then count else loop (count+1) ~pos:(next s ~pos) in loop 0 ~pos:0 let to_unistring s : unistring = let len = length s in let us = Array.make len 0 in let pos = ref 0 in for i = 0 to len - 1 do us.(i) <- to_unichar s ~pos done; us lablgtk-3.1.2/src/gutf8.mli0000644000650106067230000000703514161276610014334 0ustar glondused(**************************************************************************) (* 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$ *) (** Pure ocaml module for conversion between UCS and UTF8 *) type unichar = int type unistring = unichar array (** [from_unichar 0xiii] converts a code point [iii] (usually in hexadecimal form) into a string containing the UTF-8 encoded character [0xiii]. See {{:http://www.unicode.org/}unicode.org} for charmaps. Does not check that the given code point is a valid unicode point. *) val from_unichar : unichar -> string val from_unistring : unistring -> string (** [to_unichar_validated] decodes an UTF-8 encoded code point and checks for incomplete characters, invalid characters and overlong encodings. @raise Convert.Error if invalid *) val to_unichar_validated : string -> pos:int ref -> unichar (** [to_unichar] decodes an UTF-8 encoded code point. Result is undefined if [pos] does not point to a valid UTF-8 encoded character. *) val to_unichar : string -> pos:int ref -> unichar (** [to_unistring] decodes an UTF-8 encoded string into an array of [unichar]. The string {e must} be valid. *) val to_unistring : string -> unistring (** [first_char] returns the first UTF-8 encoded code point. *) val first_char : string -> unichar (** [next] returns the position of the code point following the one at [pos]. *) val next : string -> pos:int -> int (** [length] returns the number of code-points in the UTF-8 encode string *) val length : string -> int (** [to_unichar_validated] may raise [PARTIAL_INPUT] or [ILLEGAL_SEQUENCE] *) module Error : sig type error = | NO_CONVERSION (** Conversion between the requested character sets is not supported *) | ILLEGAL_SEQUENCE (** Invalid byte sequence in conversion input *) | FAILED (** Conversion failed for some reason *) | PARTIAL_INPUT (** Partial character sequence at end of input *) | BAD_URI (** URI is invalid *) | NOT_ABSOLUTE_PATH (** Pathname is not an absolute path *) exception Error of error * string val raise_bad_utf8 : unit -> 'a end lablgtk-3.1.2/src/ml_gdk.c0000644000650106067230000004757114161276610014206 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #if defined(_WIN32) || defined(__MINGW32__) #include #else #if defined(HAS_GTKQUARTZ) #else #include #endif #endif #include #include #include #include #include #include "wrappers.h" #include "ml_gpointer.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_pango.h" #include "ml_gdk.h" #include "ml_gdkpixbuf.h" #include "gdk_tags.h" lookup_info *ml_table_extension_events; CAMLprim void ml_raise_gdk (const char *errmsg) { static const value * exn = NULL; if (exn == NULL) exn = caml_named_value ("gdkerror"); raise_with_string (*exn, (char*)errmsg); } CAMLprim value ml_gdk_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gdk_color_get_type(); return Val_GType(t); } #include "gdk_tags.c" Make_OptFlags_val (GdkModifier_val) Make_Flags_val (GdkModifier_val) Make_Flags_val (Event_mask_val) #include #define Make_test(conv) \ CAMLprim value ml_test_##conv (value mask, value test) \ { return Val_bool (conv(mask) & Int_val(test)); } Make_test(GdkModifier_val) Make_test(GdkWindowState_val) /* Platform */ value ml_gdk_get_platform() { #ifdef GDK_WINDOWING_WIN32 return MLTAG_WIN32; #elif defined(GDK_WINDOWING_QUARTZ) return MLTAG_QUARTZ; #else return MLTAG_X11; #endif } /* Colormap */ /* not in 3 ML_0 (gdk_colormap_get_system, Val_GdkColormap) */ /* Screen geometry */ ML_0 (gdk_screen_width, Val_int) ML_0 (gdk_screen_height, Val_int) ML_0 (gdk_pango_context_get, Val_PangoContext_new) #ifdef GDK_SCREEN ML_1 (gdk_screen_get_width, GdkScreen_val, Val_int) ML_1 (gdk_screen_get_height, GdkScreen_val, Val_int) ML_0 (gdk_screen_get_default, Val_GdkScreen) ML_1 (gdk_pango_context_get_for_screen, GdkScreen_val, Val_PangoContext_new) #else Unsupported (gdk_screen_get_width) Unsupported (gdk_screen_get_height) Unsupported (gdk_screen_get_default) Unsupported (gdk_pango_context_get_for_screen) #endif /* Visual */ CAMLprim value ml_gdk_visual_get_best (value depth, value type) { GdkVisual *vis; if (type == Val_unit) if (depth == Val_unit) vis = gdk_visual_get_best (); else vis = gdk_visual_get_best_with_depth (Int_val(Field(depth,0))); else if (depth == Val_unit) vis = gdk_visual_get_best_with_type (GdkVisualType_val(Field(type,0))); else vis = gdk_visual_get_best_with_both (Int_val(Field(depth,0)),GdkVisualType_val(Field(type,0))); if (!vis) ml_raise_gdk("Gdk.Visual.get_best"); return Val_GdkVisual(vis); } ML_1 (gdk_visual_get_screen, GdkVisual_val, Val_GdkScreen) ML_1 (gdk_visual_get_visual_type, GdkVisual_val, Val_gdkVisualType) ML_1 (gdk_visual_get_depth, GdkVisual_val, Val_int) /* RGBA */ /* TODO */ /* Color */ /* not in 3 ML_2 (gdk_colormap_new, GdkVisual_val, Bool_val, Val_GdkColormap) ML_1 (gdk_colormap_get_visual, GdkColormap_val, Val_GdkVisual) CAMLprim value ml_gdk_color_white (value cmap) { GdkColor color; gdk_color_white (GdkColormap_val(cmap), &color); return Val_copy(color); } CAMLprim value ml_gdk_color_black (value cmap) { GdkColor color; gdk_color_black (GdkColormap_val(cmap), &color); return Val_copy(color); } */ CAMLprim value ml_gdk_color_parse (char *spec) { GdkColor color; if (!gdk_color_parse (spec, &color)) ml_raise_gdk ("color_parse"); return Val_copy(color); } ML_1 (gdk_color_to_string, GdkColor_val, Val_string) /* Removed in GdkColor 3.0 ML_2 (gdk_color_alloc, GdkColormap_val, GdkColor_val, Val_bool) */ CAMLprim value ml_GdkColor (value red, value green, value blue) { GdkColor color; color.red = Int_val(red); color.green = Int_val(green); color.blue = Int_val(blue); color.pixel = 0; return Val_copy(color); } /* Deprecated: 3.14: Use #GdkRGBA */ Make_Extractor (GdkColor, GdkColor_val, red, Val_int) Make_Extractor (GdkColor, GdkColor_val, green, Val_int) Make_Extractor (GdkColor, GdkColor_val, blue, Val_int) Make_Extractor (GdkColor, GdkColor_val, pixel, Val_int) /* Rectangle */ CAMLprim value ml_GdkRectangle (value x, value y, value width, value height) { GdkRectangle rectangle; rectangle.x = Int_val(x); rectangle.y = Int_val(y); rectangle.width = Int_val(width); rectangle.height = Int_val(height); return Val_copy(rectangle); } Make_Extractor (GdkRectangle, GdkRectangle_val, x, Val_int) Make_Extractor (GdkRectangle, GdkRectangle_val, y, Val_int) Make_Extractor (GdkRectangle, GdkRectangle_val, width, Val_int) Make_Extractor (GdkRectangle, GdkRectangle_val, height, Val_int) /* Drawable */ /* not in 3 ML_1 (gdk_drawable_get_visual, GdkDrawable_val, Val_GdkVisual) ML_1 (gdk_drawable_get_colormap, GdkDrawable_val, Val_GdkColormap) ML_1 (gdk_drawable_get_depth, GdkDrawable_val, Val_int) CAMLprim value ml_gdk_drawable_get_size (value drawable) { int x, y; value ret; gdk_drawable_get_size (GdkDrawable_val(drawable), &x, &y); ret = alloc_small (2,0); Field(ret,0) = Val_int(x); Field(ret,1) = Val_int(y); return ret; } */ /* Window */ //ML_3 (gdk_window_set_back_pixmap, GdkWindow_val, GdkPixmap_val, Int_val, Unit) ML_2 (gdk_window_set_cursor, GdkWindow_val, GdkCursor_val, Unit) ML_1 (gdk_window_get_parent, GdkWindow_val, Val_GdkWindow) ML_2 (gdk_window_set_transient_for, GdkWindow_val, GdkWindow_val, Unit) ML_1 (gdk_window_get_visual, GdkWindow_val, Val_GdkVisual) /* not in 3 ML_1 (gdk_window_clear, GdkWindow_val, Unit) ML_5 (gdk_window_clear_area, GdkWindow_val, Int_val, Int_val, Int_val, Int_val, Unit) ML_0 (GDK_ROOT_PARENT, Val_GdkWindow) ML_1 (gdk_window_foreign_new, GdkNativeWindow_val, Val_GdkWindow) */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(HAS_GTKQUARTZ) CAMLprim value ml_GDK_WINDOW_XID() { ml_raise_gdk ("ml_GDK_WINDOW_XID: only for X11"); return Val_unit; } CAMLprim value ml_gdk_x11_window_foreign_new_for_display() { ml_raise_gdk ("ml_GDK_WINDOW_XID: only for X11"); return Val_unit; } #else ML_1 (GDK_WINDOW_XID, GdkWindow_val, Val_XID) ML_2 (gdk_x11_window_foreign_new_for_display, GdkDisplay_val, XID_val, Val_GdkWindow) #endif CAMLprim value ml_gdk_window_get_position (value window) { int x, y; value ret; gdk_window_get_position (GdkWindow_val(window), &x, &y); ret = alloc_small (2,0); Field(ret,0) = Val_int(x); Field(ret,1) = Val_int(y); return ret; } CAMLprim value ml_gdk_window_get_origin (value window) { int x, y; value ret; gdk_window_get_origin (GdkWindow_val(window), &x, &y); ret = alloc_small (2,0); Field(ret,0) = Val_int(x); Field(ret,1) = Val_int(y); return ret; } CAMLprim value ml_gdk_window_get_pointer_location (value window) { int x = 0; int y = 0; value ret; gdk_window_get_pointer (GdkWindow_val(window), &x, &y, NULL); ret = alloc_small (2, 0); Field(ret, 0) = Val_int(x); Field(ret, 1) = Val_int(y); return ret; } /* Cursor */ Make_Val_final_pointer_ext (GdkCursor, _new, Ignore, gdk_cursor_unref, 20) ML_1 (gdk_cursor_new, GdkCursorType_val, Val_GdkCursor_new) /* ML_6 (gdk_cursor_new_from_pixmap, GdkPixmap_val, GdkPixmap_val, GdkColor_val, GdkColor_val, Int_val, Int_val, Val_GdkCursor_new) ML_bc6 (ml_gdk_cursor_new_from_pixmap) */ #ifdef HASGTK24 ML_3 (gdk_cursor_new_from_pixbuf, Insert(gdk_display_get_default ()) GdkPixbuf_val, Int_val, Int_val, Val_GdkCursor_new) #else Unsupported_24(gdk_cursor_new_from_pixbuf) #endif #ifdef HASGTK28 ML_1 (gdk_cursor_get_image, GdkCursor_val, Val_GdkPixbuf_new) #else Unsupported_28(gdk_cursor_get_image) #endif /* Display */ #ifdef HASGTK22 ML_0 (gdk_display_get_default, Val_GdkDisplay) CAMLprim value ml_gdk_display_get_window_at_pointer (value display) { gint x; gint y; GdkWindow *gwin; if ((gwin = gdk_display_get_window_at_pointer (GdkDisplay_val (display), &x, &y))) { /* return Some */ CAMLparam0 (); CAMLlocal1(tup); tup = alloc_tuple(3); Store_field(tup,0,Val_GdkWindow(gwin)); Store_field(tup,1,Val_int(x)); Store_field(tup,2,Val_int(y)); CAMLreturn(ml_some (tup)); } return Val_unit; } #else Unsupported_22(gdk_display_get_default) Unsupported_22(gdk_display_get_window_at_pointer) #endif /* Cairo */ Make_Val_final_pointer(cairo_t, cairo_reference, cairo_destroy, 1) Make_Val_final_pointer_ext(cairo_t, _new, Ignore, cairo_destroy, 5) ML_1 (gdk_cairo_create, GdkWindow_val, Val_cairo_t_new) /* Properties */ ML_2 (gdk_atom_intern, String_val, Int_val, Val_GdkAtom) ML_1 (gdk_atom_name, GdkAtom_val, Val_string) CAMLprim value ml_gdk_property_change (value window, value property, value type, value mode, value xdata) { int format = Xdata_val (Field(xdata,0)); value data = Field(xdata,1); int nelems = (format == 8 ? string_length (data) : Wosize_val(data)); guchar *sdata; int i; switch (format) { case 16: sdata = calloc(nelems, sizeof(short)); for (i=0; iany.send_event = TRUE; return Val_GdkEvent(event); } #else CAMLprim value ml_gdk_event_new (value event_type) { GdkEvent event; memset (&event, 0, sizeof(GdkEvent)); event.type = Event_type_val(event_type); event.any.send_event = TRUE; return Val_copy(event); } #endif ML_1 (gdk_event_get_time, GdkEvent_val, copy_int32) #define GdkEvent_arg(type) (GdkEvent##type*)GdkEvent_val Make_Extractor (GdkEventAny, GdkEvent_arg(Any), type, Val_event_type) Make_Extractor (GdkEventAny, GdkEvent_arg(Any), window, Val_GdkWindow) Make_Extractor (GdkEventAny, GdkEvent_arg(Any), send_event, Val_bool) Make_Setter (gdk_event_set, GdkEvent_arg(Any), Event_type_val, type) Make_Setter (gdk_event_set, GdkEvent_arg(Any), GdkWindow_val, window) Make_Extractor (GdkEventExpose, GdkEvent_arg(Expose), area, Val_copy) /* Make_Extractor (GdkEventExpose, GdkEvent_arg(Expose), region, Val_GdkRegion_copy) */ Make_Extractor (GdkEventExpose, GdkEvent_arg(Expose), count, Val_int) Make_Extractor (GdkEventVisibility, GdkEvent_arg(Visibility), state, Val_gdkVisibilityState) Make_Extractor (GdkEventMotion, GdkEvent_arg(Motion), x, copy_double) Make_Extractor (GdkEventMotion, GdkEvent_arg(Motion), y, copy_double) static value copy_axes(double *axes) { CAMLparam0(); CAMLlocal2(x,y); value ret; if (axes) { x = copy_double(axes[0]); y = copy_double(axes[0]); ret = alloc_small(2, 0); Field(ret,0) = x; Field(ret,1) = y; ret = ml_some(ret); } else ret = Val_unit; CAMLreturn(ret); } Make_Extractor (GdkEventMotion, GdkEvent_arg(Motion), axes, copy_axes) Make_Extractor (GdkEventMotion, GdkEvent_arg(Motion), state, Val_int) Make_Extractor (GdkEventMotion, GdkEvent_arg(Motion), is_hint, Val_int) Make_Extractor (GdkEventMotion, GdkEvent_arg(Motion), device, Val_GdkDevice) Make_Extractor (GdkEventMotion, GdkEvent_arg(Motion), x_root, copy_double) Make_Extractor (GdkEventMotion, GdkEvent_arg(Motion), y_root, copy_double) Make_Extractor (GdkEventButton, GdkEvent_arg(Button), x, copy_double) Make_Extractor (GdkEventButton, GdkEvent_arg(Button), y, copy_double) Make_Extractor (GdkEventButton, GdkEvent_arg(Button), axes, copy_axes) Make_Extractor (GdkEventButton, GdkEvent_arg(Button), state, Val_int) Make_Extractor (GdkEventButton, GdkEvent_arg(Button), button, Val_int) Make_Extractor (GdkEventButton, GdkEvent_arg(Button), device, Val_GdkDevice) Make_Extractor (GdkEventButton, GdkEvent_arg(Button), x_root, copy_double) Make_Extractor (GdkEventButton, GdkEvent_arg(Button), y_root, copy_double) Make_Setter (gdk_event_button_set, GdkEvent_arg(Button), Int_val, button) Make_Extractor (GdkEventScroll, GdkEvent_arg(Scroll), x, copy_double) Make_Extractor (GdkEventScroll, GdkEvent_arg(Scroll), y, copy_double) Make_Extractor (GdkEventScroll, GdkEvent_arg(Scroll), state, Val_int) Make_Extractor (GdkEventScroll, GdkEvent_arg(Scroll), direction, Val_gdkScrollDirection) Make_Extractor (GdkEventScroll, GdkEvent_arg(Scroll), device, Val_GdkDevice) Make_Extractor (GdkEventScroll, GdkEvent_arg(Scroll), x_root, copy_double) Make_Extractor (GdkEventScroll, GdkEvent_arg(Scroll), y_root, copy_double) Make_Extractor (GdkEventKey, GdkEvent_arg(Key), state, Val_int) Make_Extractor (GdkEventKey, GdkEvent_arg(Key), keyval, Val_int) Make_Extractor (GdkEventKey, GdkEvent_arg(Key), string, Val_string) Make_Extractor (GdkEventKey, GdkEvent_arg(Key), hardware_keycode, Val_int) Make_Extractor (GdkEventKey, GdkEvent_arg(Key), group, Val_int) Make_Extractor (GdkEventCrossing, GdkEvent_arg(Crossing), subwindow, Val_GdkWindow) Make_Extractor (GdkEventCrossing, GdkEvent_arg(Crossing), x, copy_double) Make_Extractor (GdkEventCrossing, GdkEvent_arg(Crossing), y, copy_double) Make_Extractor (GdkEventCrossing, GdkEvent_arg(Crossing), x_root, copy_double) Make_Extractor (GdkEventCrossing, GdkEvent_arg(Crossing), y_root, copy_double) Make_Extractor (GdkEventCrossing, GdkEvent_arg(Crossing), mode, Val_gdkCrossingMode) Make_Extractor (GdkEventCrossing, GdkEvent_arg(Crossing), detail, Val_gdkNotifyType) Make_Extractor (GdkEventCrossing, GdkEvent_arg(Crossing), focus, Val_bool) Make_Extractor (GdkEventCrossing, GdkEvent_arg(Crossing), state, Val_int) Make_Extractor (GdkEventFocus, GdkEvent_arg(Focus), in, Val_int) Make_Extractor (GdkEventConfigure, GdkEvent_arg(Configure), x, Val_int) Make_Extractor (GdkEventConfigure, GdkEvent_arg(Configure), y, Val_int) Make_Extractor (GdkEventConfigure, GdkEvent_arg(Configure), width, Val_int) Make_Extractor (GdkEventConfigure, GdkEvent_arg(Configure), height, Val_int) Make_Extractor (GdkEventProperty, GdkEvent_arg(Property), atom, Val_GdkAtom) Make_Extractor (GdkEventProperty, GdkEvent_arg(Property), state, Val_int) Make_Extractor (GdkEventSelection, GdkEvent_arg(Selection), selection, Val_GdkAtom) Make_Extractor (GdkEventSelection, GdkEvent_arg(Selection), target, Val_GdkAtom) Make_Extractor (GdkEventSelection, GdkEvent_arg(Selection), property, Val_GdkAtom) Make_Extractor (GdkEventSelection, GdkEvent_arg(Selection), requestor, Val_GdkWindow) Make_Extractor (GdkEventProximity, GdkEvent_arg(Proximity), device, Val_GdkDevice) Make_Extractor (GdkEventSetting, GdkEvent_arg(Setting), action, Val_gdkSettingAction) Make_Extractor (GdkEventSetting, GdkEvent_arg(Setting), name, copy_string) Make_Extractor (GdkEventWindowState, GdkEvent_arg(WindowState), changed_mask, Val_int) Make_Extractor (GdkEventWindowState, GdkEvent_arg(WindowState), new_window_state, Val_int) /* DnD */ Make_Flags_val (GdkDragAction_val) #define GdkDragAction_optval(v) Option_val(v,GdkDragAction_val,0) ML_3 (gdk_drag_status, GdkDragContext_val, GdkDragAction_optval, Int32_val, Unit) ML_1 (gdk_drag_context_get_suggested_action, GdkDragContext_val, Val_gdkDragAction) static value val_int(gpointer i) { return Val_int (GPOINTER_TO_INT(i)); } CAMLprim value ml_gdk_drag_context_list_targets (value c) { return Val_GList (gdk_drag_context_list_targets(GdkDragContext_val(c)), val_int); } /* Misc */ ML_0 (gdk_flush, Unit) ML_0 (gdk_beep, Unit) lablgtk-3.1.2/src/ml_gdk.h0000644000650106067230000000727414161276610014207 0ustar glondused/**************************************************************************/ /* 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$ */ #define GdkAtom_val(val) ((GdkAtom)Long_val(val)) #define Val_GdkAtom(val) (Val_long((long)val)) /* Removed in gtk3 #define GdkColormap_val(val) check_cast(GDK_COLORMAP,val) #define Val_GdkColormap Val_GAnyObject */ #define GdkColor_val(val) ((GdkColor*)MLPointer_val(val)) #define Val_GdkColor Val_pointer #define GdkRGBA_val(val) ((GdkRGBA*)MLPointer_val(val)) #define Val_GdkRGBA Val_pointer #define GdkRectangle_val(val) ((GdkRectangle*)MLPointer_val(val)) #define Val_GdkRectangle Val_pointer #define GdkDrawable_val(val) check_cast(GDK_DRAWABLE,val) #define Cairo_val(val) ((cairo_t*)MLPointer_val(val)) CAMLexport value Val_cairo_t (cairo_t *); CAMLexport value Val_cairo_t_new (cairo_t *); #define Val_Cairo Val_cairo_t #define GdkWindow_val(val) check_cast(GDK_WINDOW,val) #define Val_GdkWindow Val_GAnyObject #define GdkCursor_val(val) ((GdkCursor*)Pointer_val(val)) #define GdkDisplay_val(val) ((GdkDisplay*) val) #define Val_GdkDisplay(display) ((value) display) #define GdkEvent_val (GdkEvent*)MLPointer_val CAMLexport value Val_GdkEvent (GdkEvent *); #define GdkVisual_val(val) ((GdkVisual*) val) #define Val_GdkVisual(visual) ((value) visual) #define GdkScreen_val(val) check_cast(GDK_SCREEN,val) #define Val_GdkScreen Val_GAnyObject #define GdkDevice_val(val) ((GdkDevice*) val) #define Val_GdkDevice(device) ((value) device) // Future replacement for XID? #ifdef GDK_NATIVE_WINDOW_POINTER #define GdkNativeWindow_val Pointer_val #define Val_GdkNativeWindow Val_pointer #else #define Val_GdkNativeWindow copy_int32 #define GdkNativeWindow_val Int32_val #endif #ifdef _WIN32 #define Val_XID(id) copy_int32((long) id) #else #define Val_XID copy_int32 #endif #define XID_val Int32_val CAMLexport int OptFlags_GdkModifier_val (value); CAMLexport int Flags_GdkModifier_val (value); CAMLexport int Flags_Event_mask_val (value); CAMLextern lookup_info *ml_table_extension_events; #define Extension_events_val(key) ml_lookup_to_c(ml_table_extension_events,key) #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val) #define Val_GdkDragContext Val_GAnyObject CAMLexport int Flags_GdkDragAction_val (value); lablgtk-3.1.2/src/ml_gdkpixbuf.c0000644000650106067230000002425114161276610015412 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gpointer.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gdkpixbuf.h" #include "gdk_tags.h" #include "gdkpixbuf_tags.h" #include "gdkpixbuf_tags.c" /* custom block with serialization for GdkPixbufs */ static void ml_final_GdkPixbuf (value val) { ml_g_object_unref_later (GObject_val(val)); } static gboolean pixbuf_marshal_use_rle; CAMLprim value ml_gdk_pixbuf_set_marshal_use_rle (value v) { pixbuf_marshal_use_rle = Bool_val (v); return Val_unit; } static void ml_GdkPixbuf_serialize (value v, unsigned long *wsize_32, unsigned long *wsize_64) { GdkPixbuf *pb = GdkPixbuf_val(v); GdkPixdata pixdata; guint8 *stream, *pixels; guint len; pixels = gdk_pixdata_from_pixbuf (&pixdata, pb, pixbuf_marshal_use_rle); stream = gdk_pixdata_serialize (&pixdata, &len); serialize_int_4 (len); serialize_block_1 (stream, len); g_free (stream); g_free (pixels); *wsize_32 = 4; *wsize_64 = 8; } static unsigned long ml_GdkPixbuf_deserialize (void *dst) { GError *error = NULL; GdkPixdata pixdata; GdkPixbuf *pb; guint8 *stream; guint len; len = deserialize_uint_4(); stream = stat_alloc (len); deserialize_block_1 (stream, len); gdk_pixdata_deserialize (&pixdata, len, stream, &error); if (error) goto out; pb = gdk_pixbuf_from_pixdata (&pixdata, TRUE, &error); if (error) goto out; *(GdkPixbuf **)dst = pb; out: stat_free (stream); if (error != NULL) { char *msg; GEnumClass *class = G_ENUM_CLASS (g_type_class_peek (GDK_TYPE_PIXBUF_ERROR)); GEnumValue *val = g_enum_get_value (class, error->code); msg = val ? (char*)val->value_name : ""; g_error_free (error); deserialize_error (msg); } return sizeof pb; } static struct custom_operations ml_custom_GdkPixbuf = { "GdkPixbuf/2.0/", ml_final_GdkPixbuf, custom_compare_default, custom_hash_default, ml_GdkPixbuf_serialize, ml_GdkPixbuf_deserialize }; value Val_GdkPixbuf_ (GdkPixbuf *pb, gboolean ref) { GdkPixbuf **p; value ret; if (pb == NULL) ml_raise_null_pointer(); ret = ml_alloc_custom (&ml_custom_GdkPixbuf, sizeof pb, 100, 1000); p = Data_custom_val (ret); *p = ref ? g_object_ref (pb) : pb; return ret; } Make_Val_option(GdkPixbuf) CAMLprim value ml_gdkpixbuf_init(value unit) { ml_register_exn_map (GDK_PIXBUF_ERROR, "gdk_pixbuf_error"); register_custom_operations (&ml_custom_GdkPixbuf); return Val_unit; } /* GdkPixbuf accessors */ ML_1(gdk_pixbuf_get_n_channels, GdkPixbuf_val, Val_int) ML_1(gdk_pixbuf_get_has_alpha, GdkPixbuf_val, Val_bool) ML_1(gdk_pixbuf_get_bits_per_sample, GdkPixbuf_val, Val_int) ML_1(gdk_pixbuf_get_width, GdkPixbuf_val, Val_int) ML_1(gdk_pixbuf_get_height, GdkPixbuf_val, Val_int) ML_1(gdk_pixbuf_get_rowstride, GdkPixbuf_val, Val_int) CAMLprim value ml_gdk_pixbuf_get_pixels (value pixbuf) { long pixels = (long)gdk_pixbuf_get_pixels (GdkPixbuf_val(pixbuf)); unsigned int ofs = pixels & (sizeof(value)-1); value ret = alloc_small(2,0); Field(ret,0) = (value)(pixels - ofs); Field(ret,1) = Val_int(ofs); return ret; } /* Creation */ ML_5(gdk_pixbuf_new, GDK_COLORSPACE_RGB Ignore, Int_val, Int_val, Int_val, Int_val, Val_GdkPixbuf_new) ML_1(gdk_pixbuf_copy, GdkPixbuf_val, Val_GdkPixbuf_new) CAMLprim value ml_gdk_pixbuf_new_from_file(value f) { GError *err = NULL; GdkPixbuf *res = gdk_pixbuf_new_from_file(String_val(f), &err); if (err) ml_raise_gerror(err); return Val_GdkPixbuf_new(res); } #ifdef HASGTK24 CAMLprim value ml_gdk_pixbuf_new_from_file_at_size(value f, value w, value h) { GError *err = NULL; GdkPixbuf *res = gdk_pixbuf_new_from_file_at_size(String_val(f), Int_val(w), Int_val(h), &err); if (err) ml_raise_gerror(err); return Val_GdkPixbuf_new(res); } CAMLprim value ml_gdk_pixbuf_get_file_info(value f) { CAMLparam0(); CAMLlocal1(v); gint w, h; GdkPixbufFormat *fmt; fmt = gdk_pixbuf_get_file_info (String_val (f), &w, &h); v = alloc_tuple(3); Store_field(v, 0, copy_string(gdk_pixbuf_format_get_name(fmt))); Store_field(v, 1, Val_int(w)); Store_field(v, 2, Val_int(h)); CAMLreturn(v); } #else Unsupported_24 (gdk_pixbuf_new_from_file_at_size) Unsupported_24 (gdk_pixbuf_get_file_info) #endif ML_1(gdk_pixbuf_new_from_xpm_data, (const char**), Val_GdkPixbuf_new) static void ml_gdk_pixbuf_destroy_notify (guchar *pixels, gpointer data) { ml_global_root_destroy(data); } CAMLprim value ml_gdk_pixbuf_new_from_data(value data, value has_alpha, value bits, value w, value h, value rs) { value *root = ml_global_root_new(data); GdkPixbuf *pixbuf = gdk_pixbuf_new_from_data(ml_gpointer_base(*root), GDK_COLORSPACE_RGB, Int_val(has_alpha), Int_val(bits), Int_val(w), Int_val(h), Int_val(rs), ml_gdk_pixbuf_destroy_notify, root); return Val_GdkPixbuf_new(pixbuf); } ML_bc6(ml_gdk_pixbuf_new_from_data) /* Adding an alpha channel */ ML_5(gdk_pixbuf_add_alpha, GdkPixbuf_val, Int_val, Int_val, Int_val, Int_val, Val_GdkPixbuf_new) /* Fill a pixbuf */ ML_2(gdk_pixbuf_fill, GdkPixbuf_val, Int32_val, Unit) /* Modifies saturation and optionally pixelates */ ML_4(gdk_pixbuf_saturate_and_pixelate, GdkPixbuf_val, GdkPixbuf_val, Double_val, Bool_val, Unit) /* Copy an area */ ML_8(gdk_pixbuf_copy_area, GdkPixbuf_val, Int_val, Int_val, Int_val, Int_val, GdkPixbuf_val, Int_val, Int_val, Unit) ML_bc8(ml_gdk_pixbuf_copy_area) /* Create a sub-region */ ML_5(gdk_pixbuf_new_subpixbuf, GdkPixbuf_val, Int_val, Int_val, Int_val, Int_val, Val_GdkPixbuf_new) /* Scaling */ ML_11(gdk_pixbuf_scale, GdkPixbuf_val, GdkPixbuf_val, Int_val, Int_val, Int_val, Int_val, Double_val, Double_val, Double_val, Double_val, Interpolation_val, Unit) ML_bc11(ml_gdk_pixbuf_scale) ML_12(gdk_pixbuf_composite, GdkPixbuf_val, GdkPixbuf_val, Int_val, Int_val, Int_val, Int_val, Double_val, Double_val, Double_val, Double_val, Interpolation_val, Int_val, Unit) ML_bc12(ml_gdk_pixbuf_composite) static int list_length(value l) { int i = 0; while(l != Val_emptylist){ l = Field(l, 1); i++; } return i; } static void convert_gdk_pixbuf_options (value options, char ***opt_k, char ***opt_v, gboolean copy) { if (Is_block(options)) { value cell = Field(options, 0); unsigned int i, len = list_length(cell); *opt_k = stat_alloc(sizeof (char *) * (len + 1)); *opt_v = stat_alloc(sizeof (char *) * (len + 1)); for (i=0; i #include #ifdef _WIN32 #include "win32.h" #include #include #include #endif #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "glib_tags.h" #include "glib_tags.c" CAMLprim value ml_glib_init(value unit) { ml_register_exn_map (G_CONVERT_ERROR, "g_convert_error"); ml_register_exn_map (G_MARKUP_ERROR, "g_markup_error"); return Val_unit; } /* Not from glib! */ ML_2(setlocale, Locale_category_val, String_option_val, Val_optstring) /* Utility functions */ value copy_string_v (const gchar * const *v) { CAMLparam0(); CAMLlocal4(h,p,c,s); h = p = Val_emptylist; while (*v != NULL) { s = copy_string (*v); c = alloc_small (2, 0); Field (c, 0) = s; Field (c, 1) = Val_emptylist; if (p == Val_emptylist) h = c; else Store_field(p, 1, c); p = c; v++; } CAMLreturn(h); } CAMLprim value copy_string_g_free (char *str) { value res = copy_string_check (str); g_free (str); return res; } static void ml_raise_glib (const char *errmsg) { static const value * exn = NULL; if (exn == NULL) exn = caml_named_value ("gerror"); raise_with_string (*exn, (char*)errmsg); } CAMLprim value Val_GList (GList *list, value (*func)(gpointer)) { CAMLparam0 (); CAMLlocal4 (new_cell, result, last_cell, cell); last_cell = cell = Val_unit; while (list != NULL) { result = func(list->data); new_cell = alloc_small(2,0); Field(new_cell,0) = result; Field(new_cell,1) = Val_unit; if (last_cell == Val_unit) cell = new_cell; else caml_modify(&Field(last_cell,1), new_cell); last_cell = new_cell; list = list->next; } CAMLreturn (cell); } CAMLprim value Val_GList_free (GList *list, value (*func)(gpointer)) { value res = Val_GList (list, func); g_list_free (list); return res; } CAMLprim GList *GList_val (value list, gpointer (*func)(value)) { GList *res = NULL; for (; Is_block(list); list = Field(list,1)) res = g_list_append (res, func(Field(list,0))); return (res); } /* Error handling */ static GSList *exn_map; struct exn_data { GQuark domain; char *caml_exn_name; const value *caml_exn; }; CAMLprim void ml_register_exn_map (GQuark domain, char *caml_name) { struct exn_data *exn_data = stat_alloc (sizeof *exn_data); exn_data->domain = domain; exn_data->caml_exn_name = caml_name; exn_data->caml_exn = NULL; exn_map = g_slist_prepend (exn_map, exn_data); } static const value *lookup_exn_map (GQuark domain) { GSList *l = exn_map; struct exn_data *exn_data; for (l = exn_map; l; l=l->next) { exn_data = l->data; if (exn_data->domain == domain) { if (exn_data->caml_exn == NULL) exn_data->caml_exn = caml_named_value (exn_data->caml_exn_name); return exn_data->caml_exn; } } return NULL; } static void ml_raise_gerror_exn(GError *, const value *) Noreturn; static void ml_raise_gerror_exn(GError *err, const value *exn) { CAMLparam0(); CAMLlocal2(b, msg); g_assert (err && exn); msg = copy_string(err->message); b = alloc_small (3, 0); Field (b, 0) = *exn; Field (b, 1) = Val_int(err->code); Field (b, 2) = msg; g_error_free (err); mlraise(b); } static void ml_raise_generic_gerror (GError *) Noreturn; static void ml_raise_generic_gerror (GError *err) { static const value *exn; value msg; if (exn == NULL) { exn = caml_named_value ("gerror"); if (exn == NULL) failwith ("gerror"); } msg = copy_string (err->message); g_error_free (err); raise_with_arg (*exn, msg); } CAMLprim void ml_raise_gerror(GError *err) { const value *caml_exn; g_assert (err); caml_exn = lookup_exn_map (err->domain); if (caml_exn) ml_raise_gerror_exn (err, caml_exn); else ml_raise_generic_gerror (err); } /* Logging */ static void ml_g_log_func(const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer data) { value msg, *clos_p = data; msg = copy_string (message); callback2_exn(*clos_p, Val_int(log_level), msg); } ML_1 (Log_level_val, ID, Val_int) CAMLprim value ml_g_log_set_handler (value domain, value levels, value clos) { value *clos_p = ml_global_root_new (clos); int id = g_log_set_handler (String_option_val(domain), Int_val(levels), ml_g_log_func, clos_p); CAMLparam1(domain); value ret = alloc_small(3,0); Field(ret,0) = domain; Field(ret,1) = Val_int(id); Field(ret,2) = (value)clos_p; CAMLreturn(ret); } CAMLprim value ml_g_log_remove_handler (value hnd) { if (Field(hnd,2) != 0) { g_log_remove_handler (String_option_val(Field(hnd,0)), Int_val(Field(hnd,1))); ml_global_root_destroy ((value*)Field(hnd,2)); Field(hnd,2) = 0; } return Val_unit; } ML_1(g_log_set_always_fatal, Int_val, Unit) ML_2(g_log_set_fatal_mask, String_option_val, Int_val, Unit) CAMLprim value ml_g_log (value domain, value level, value msg) { g_log (String_val(domain), Int_val(level), "%s", String_val(msg)); return Val_unit; } /* Main loop handling */ /* for 1.3 compatibility */ #ifdef g_main_new #undef g_main_new #define g_main_new(is_running) g_main_loop_new (NULL, is_running) #endif #define GMainLoop_val(val) ((GMainLoop*)Addr_val(val)) ML_1 (g_main_new, Bool_val, Val_addr) ML_1 (g_main_iteration, Bool_val, Val_bool) ML_0 (g_main_pending, Val_bool) ML_1 (g_main_is_running, GMainLoop_val, Val_bool) ML_1 (g_main_quit, GMainLoop_val, Unit) ML_1 (g_main_destroy, GMainLoop_val, Unit) static gboolean ml_g_source_func (gpointer data) { value res, *clos = data; res = callback_exn (*clos, Val_unit); if (Is_exception_result(res)) { CAML_EXN_LOG ("GSourceFunc"); return FALSE; } return Bool_val (res); } CAMLprim value ml_g_timeout_add (value o_prio, value interval, value clos) { value *clos_p = ml_global_root_new (clos); return Val_int (g_timeout_add_full (Option_val(o_prio, Int_val, G_PRIORITY_DEFAULT), Long_val(interval), ml_g_source_func, clos_p, ml_global_root_destroy)); } CAMLprim value ml_g_idle_add (value o_prio, value clos) { value *clos_p = ml_global_root_new (clos); return Val_int (g_idle_add_full (Option_val(o_prio, Int_val, G_PRIORITY_DEFAULT_IDLE), ml_g_source_func, clos_p, ml_global_root_destroy)); } ML_1 (g_source_remove, Int_val, Unit) static GPollFunc poll_func = NULL; int polling = 0; static gint ml_poll (GPollFD *ufds, guint nfsd, gint timeout) { gint res; caml_enter_blocking_section(); polling = 1; res = poll_func(ufds, nfsd, timeout); polling = 0; caml_leave_blocking_section(); return res; } CAMLprim value ml_g_wrap_poll_func (value unit) { if (!poll_func) { poll_func = g_main_context_get_poll_func(NULL); g_main_context_set_poll_func (NULL, ml_poll); } return Val_unit; } /* GIOChannel */ Make_Val_final_pointer (GIOChannel, g_io_channel_ref, g_io_channel_unref, 0) Make_Val_final_pointer_ext (GIOChannel, _noref, Ignore, g_io_channel_unref, 20) #define GIOChannel_val(val) ((GIOChannel*)Pointer_val(val)) #ifndef _WIN32 ML_1 (g_io_channel_unix_new, Int_val, Val_GIOChannel_noref) #else CAMLprim value ml_g_io_channel_unix_new(value wh) { return Val_GIOChannel_noref (g_io_channel_unix_new (_open_osfhandle((long)*(HANDLE*)Data_custom_val(wh), O_BINARY))); } #endif static gboolean ml_g_io_channel_watch(GIOChannel *s, GIOCondition c, gpointer data) { value res, cond, *clos_p = data; cond = ml_lookup_flags_getter (ml_table_io_condition, c); res = callback_exn (*clos_p, cond); if (Is_exception_result (res)) { CAML_EXN_LOG("GIOChannel watch"); return FALSE; } return Bool_val(res); } Make_Flags_val(Io_condition_val) CAMLprim value ml_g_io_add_watch(value cond, value clos, value prio, value io) { return Val_long ( g_io_add_watch_full(GIOChannel_val(io), Option_val(prio,Int_val,G_PRIORITY_DEFAULT), Flags_Io_condition_val(cond), ml_g_io_channel_watch, ml_global_root_new(clos), ml_global_root_destroy) ); } CAMLprim value ml_g_io_channel_read(value io, value str, value offset, value count) { gsize read; switch (g_io_channel_read(GIOChannel_val(io), (gchar*)Bytes_val(str) + Int_val(offset), Int_val(count), &read)) { case G_IO_ERROR_NONE: return Val_int( read ); case G_IO_ERROR_INVAL: ml_raise_glib("g_io_channel_read: G_IO_ERROR_INVAL"); case G_IO_ERROR_AGAIN: default: ml_raise_glib("g_io_channel_read: G_IO_ERROR_AGAIN"); } /* no one reaches here... */ return Val_unit; } #ifdef HASGTK22 CAMLprim value ml_g_io_channel_read_chars(value io, value str, value offset, value count) { gsize read; GError *err = NULL; GIOStatus result = g_io_channel_read_chars(GIOChannel_val(io), (gchar*)Bytes_val(str) + Int_val(offset), Int_val(count), &read, &err); if (err != NULL) ml_raise_gerror(err); switch (result) { case G_IO_STATUS_NORMAL: return Val_int( read ); case G_IO_STATUS_EOF: ml_raise_glib("g_io_channel_read_chars G_IO_STATUS_EOF"); case G_IO_STATUS_AGAIN: ml_raise_glib("g_io_channel_read_chars: G_IO_STATUS_AGAIN"); case G_IO_STATUS_ERROR: default: ml_raise_glib("g_io_channel_read_chars: G_IO_STATUS_ERROR"); } /* no one reaches here... */ return Val_unit; } #else Unsupported_22(g_io_channel_read_chars) #endif /* single-linked lists */ CAMLprim value Val_GSList (GSList *list, value (*func)(gpointer)) { CAMLparam0(); CAMLlocal4 (new_cell, result, last_cell, cell); last_cell = cell = Val_unit; while (list != NULL) { result = func(list->data); new_cell = alloc_small(2,0); Field(new_cell,0) = result; Field(new_cell,1) = Val_unit; if (last_cell == Val_unit) cell = new_cell; else caml_modify(&Field(last_cell,1), new_cell); last_cell = new_cell; list = list->next; } CAMLreturn(cell); } CAMLprim value Val_GSList_free (GSList *list, value (*func)(gpointer)) { value res = Val_GSList (list, func); g_slist_free (list); return res; } CAMLprim GSList *GSList_val (value list, gpointer (*func)(value)) { GSList *res = NULL; GSList **current = &res; value cell = list; while (Is_block(cell)) { *current = g_slist_alloc (); (*current)->data = func(Field(cell,0)); cell = Field(cell,1); current = &(*current)->next; } return res; } /* Character Set Conversion */ static value caml_copy_string_len_and_free (char *str, size_t len) { value v; g_assert (str != NULL); v = alloc_string (len); memcpy (Bytes_val(v), str, len); g_free (str); return v; } CAMLprim value ml_g_convert(value str, value to, value from) { gsize bw=0; gchar* c_res; GError *error=NULL; c_res = g_convert(String_val(str),string_length(str), String_val(to),String_val(from), NULL,&bw,&error); if (error != NULL) ml_raise_gerror(error); return caml_copy_string_len_and_free (c_res, bw); } CAMLprim value ml_g_convert_with_fallback(value fallback, value to, value from, value str) { gsize bw=0; gchar* c_res; GError *error=NULL; c_res = g_convert_with_fallback(String_val(str),string_length(str), String_val(to),String_val(from), String_option_val(fallback), NULL,&bw,&error); if (error != NULL) ml_raise_gerror(error); return caml_copy_string_len_and_free (c_res, bw); } #define Make_conversion(cname) \ CAMLprim value ml_##cname(value str) { \ gsize bw=0; \ gchar* c_res; \ GError *error=NULL; \ c_res = cname(String_val(str),string_length(str),NULL,&bw,&error); \ if (error != NULL) ml_raise_gerror(error); \ return caml_copy_string_len_and_free (c_res, bw); \ } /* Make_conversion(g_locale_to_utf8) */ Make_conversion(g_filename_to_utf8) /* Make_conversion(g_locale_from_utf8) */ Make_conversion(g_filename_from_utf8) CAMLprim value ml_g_filename_from_uri (value uri) { GError *err = NULL; gchar *hostname, *result; result = g_filename_from_uri (String_val(uri), &hostname, &err); if (err != NULL) ml_raise_gerror(err); { CAMLparam0(); CAMLlocal3(v_h, v_f, v_p); v_h = Val_option(hostname, copy_string_g_free); v_f = copy_string_g_free (result); v_p = alloc_small(2, 0); Field(v_p, 0) = v_h; Field(v_p, 1) = v_f; CAMLreturn(v_p); } } CAMLprim value ml_g_filename_to_uri (value hostname, value uri) { GError *err = NULL; gchar *result; result = g_filename_to_uri (String_val(uri), String_option_val(hostname), &err); if (err != NULL) ml_raise_gerror(err); return copy_string_g_free(result); } CAMLprim value ml_g_get_charset() { CAMLparam0(); CAMLlocal1(couple); gboolean r; G_CONST_RETURN char *c; r = g_get_charset(&c); couple = alloc_tuple(2); Store_field(couple,0,Val_bool(r)); Store_field(couple,1,Val_string(c)); CAMLreturn(couple); } CAMLprim value ml_g_utf8_validate(value s) { return Val_bool(g_utf8_validate(SizedString_val(s),NULL)); } ML_1 (g_unichar_tolower, Int_val, Val_int) ML_1 (g_unichar_toupper, Int_val, Val_int) ML_1 (g_unichar_totitle, Int_val, Val_int) ML_1 (g_unichar_digit_value, Int_val, Val_int) ML_1 (g_unichar_xdigit_value, Int_val, Val_int) ML_1 (g_utf8_strlen, SizedString_val, Val_int) ML_2 (g_utf8_normalize, SizedString_val, Normalize_mode_val, copy_string_g_free) ML_1 (g_utf8_casefold, SizedString_val, copy_string_g_free) ML_2 (g_utf8_collate, String_val, String_val, Val_int) ML_1 (g_utf8_collate_key, SizedString_val, copy_string_g_free) ML_1 (g_utf8_strup, SizedString_val, copy_string_g_free) ML_1 (g_utf8_strdown, SizedString_val, copy_string_g_free) CAMLprim value ml_g_utf8_offset_to_pointer (value s, value pos, value off) { return Val_long (g_utf8_offset_to_pointer (String_val(s) + Long_val(pos), Long_val(off)) - String_val(s)); } #define UNI_BOOL(f) ML_1(g_unichar_##f, Int_val, Val_bool) UNI_BOOL(validate) UNI_BOOL(isalnum) UNI_BOOL(isalpha) UNI_BOOL(iscntrl) UNI_BOOL(isdigit) UNI_BOOL(isgraph) UNI_BOOL(islower) UNI_BOOL(isprint) UNI_BOOL(ispunct) UNI_BOOL(isspace) UNI_BOOL(isupper) UNI_BOOL(isxdigit) UNI_BOOL(istitle) UNI_BOOL(isdefined) UNI_BOOL(iswide) #undef UNI_BOOL ML_1 (g_markup_escape_text, SizedString_val, copy_string_g_free) ML_0 (g_get_prgname, copy_string_or_null) ML_1 (g_set_prgname, String_val, Unit) #ifdef HASGTK22 ML_0 (g_get_application_name, copy_string_or_null) ML_1 (g_set_application_name, String_val, Unit) #else Unsupported(g_get_application_name) Unsupported(g_set_application_name) #endif ML_0 (g_get_user_name, copy_string) ML_0 (g_get_real_name, copy_string) CAMLprim value ml_g_get_home_dir (value unit) { const char *s = g_get_home_dir(); return s ? ml_some (copy_string (s)) : Val_unit; } ML_0 (g_get_tmp_dir, copy_string) CAMLprim value ml_g_find_program_in_path (value p) { value v; char *s = g_find_program_in_path (String_val(p)); if (s == NULL) raise_not_found(); v = copy_string(s); g_free(s); return v; } CAMLprim value ml_g_getenv (value v) { const gchar *s = g_getenv(String_val(v)); if (s == NULL) raise_not_found(); return copy_string(s); } #ifdef HASGTK24 CAMLprim value ml_g_setenv (value v, value s, value o) { if (! g_setenv(String_val(v), String_val(s), Bool_val(o))) failwith("g_setenv"); return Val_unit; } ML_1 (g_unsetenv, String_val, Unit) #else Unsupported_24(g_setenv) Unsupported_24(g_unsetenv) #endif /* HASGTK24 */ #ifdef HASGTK26 ML_0 (g_get_user_cache_dir, copy_string) ML_0 (g_get_user_data_dir, copy_string) ML_0 (g_get_user_config_dir, copy_string) ML_0 (g_get_system_data_dirs, copy_string_v) ML_0 (g_get_system_config_dirs, copy_string_v) #else Unsupported_26(g_get_user_cache_dir) Unsupported_26(g_get_user_data_dir) Unsupported_26(g_get_user_config_dir) Unsupported_26(g_get_system_data_dirs) Unsupported_26(g_get_system_config_dirs) #endif /* HASGTK26 */ ML_1(g_usleep,Long_val,Unit) lablgtk-3.1.2/src/ml_glib.h0000644000650106067230000000435414161276610014353 0ustar glondused/**************************************************************************/ /* 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$ */ CAMLexport value copy_string_g_free (char *str); /* for g_strings only */ typedef value (*value_in)(gpointer); typedef gpointer (*value_out)(value); /* should not trigger GC */ CAMLexport value Val_GList (GList *list, value_in); CAMLexport value Val_GList_free (GList *list, value_in); CAMLexport GList *GList_val (value list, value_out); CAMLexport value Val_GSList (GSList *list, value_in); CAMLexport value Val_GSList_free (GSList *list, value_in); CAMLexport GSList *GSList_val (value list, value_out); CAMLexport void ml_register_exn_map (GQuark domain, char *caml_name); CAMLexport void ml_raise_gerror(GError *) Noreturn; extern int polling; lablgtk-3.1.2/src/ml_gobject.c0000644000650106067230000005406614161276610015053 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gvaluecaml.h" #include "gobject_tags.h" #include "gobject_tags.c" /* gobject.h */ static GQueue objects_to_unref; /* initialized to zeroes (empty queue) */ CAMLprim value ml_g_object_do_unref (value unit) { while (! g_queue_is_empty (&objects_to_unref)) { gpointer d = g_queue_pop_tail (&objects_to_unref); g_object_unref (G_OBJECT (d)); } return Val_unit; } CAMLexport void ml_g_object_unref_later (GObject *p) { g_queue_push_head (&objects_to_unref, p); } Make_Val_final_pointer(GObject, g_object_ref, ml_g_object_unref_later, 0) Make_Val_final_pointer_ext (GObject, _new, Ignore, ml_g_object_unref_later, 20) Make_Val_final_pointer_ext(GObject, _sink , g_object_ref_sink, ml_g_object_unref_later, 20) ML_1 (G_TYPE_FROM_INSTANCE, GObject_val, Val_GType) ML_1 (g_object_ref_sink, GObject_val, Unit) CAMLprim value ml_g_object_unref (value val) { if (Field(val,1)) g_object_unref (GObject_val(val)); Field(val,1) = 0; return Val_unit; } Make_Extractor(g_object, GObject_val, ref_count, Val_int) ML_1 (g_object_freeze_notify, GObject_val, Unit) ML_1 (g_object_thaw_notify, GObject_val, Unit) ML_2 (g_object_notify, GObject_val, String_val, Unit) ML_3 (g_object_set_property, GObject_val, String_val, GValue_val, Unit) ML_3 (g_object_get_property, GObject_val, String_val, GValue_val, Unit) static GType my_g_object_get_property_type(GObject *obj, const char *prop) { GParamSpec *pspec = g_object_class_find_property (G_OBJECT_GET_CLASS(obj), prop); if (pspec == NULL) { g_warning("LablGtk tried to access the unsupported property %s",prop); caml_invalid_argument(prop); } return pspec->value_type; } ML_2 (my_g_object_get_property_type, GObject_val, String_val, Val_GType) static GType internal_g_object_get_property_type(GObject *obj, const char *prop) { GParamSpec *pspec = g_object_class_find_property (G_OBJECT_GET_CLASS(obj), prop); if (pspec == NULL) { g_warning("LablGtk tried to access the unsupported property %s",prop); return G_TYPE_INVALID; } return pspec->value_type; } /* gtype.h */ ML_0 (g_type_init, Unit) ML_1 (g_type_name, GType_val, Val_string) ML_1 (g_type_from_name, String_val, Val_GType) ML_1 (g_type_parent, GType_val, Val_GType) ML_1 (g_type_depth, GType_val, Val_int) ML_2 (g_type_is_a, GType_val, GType_val, Val_bool) ML_1 (G_TYPE_FUNDAMENTAL, GType_val, Val_fundamental_type) ML_1 (Fundamental_type_val, (value), Val_GType) #ifdef HASGTK22 CAMLprim value ml_g_type_interface_prerequisites(value type) { value res = Val_unit; CAMLparam1(res); CAMLlocal1(tmp); guint n; GType *intf = g_type_interface_prerequisites(GType_val(type), &n); while (n-- > 0) { tmp = res; res = alloc_small(2,0); Field(res,0) = Val_GType(intf[n]); Field(res,1) = tmp; } CAMLreturn(res); } #else Unsupported(g_type_interface_prerequisites) #endif CAMLprim value ml_g_type_register_static(value parent_type, value type_name) { GTypeQuery query; GType derived, parent; parent = GType_val (parent_type); g_type_query (parent, &query); if (query.type == G_TYPE_INVALID) failwith ("g_type_register_static: invalid parent g_type"); { const GTypeInfo info = { query.class_size, NULL, /* base_init */ NULL, /* base_finalize */ NULL, /* class_init */ NULL, /* class_finalize */ NULL, /* class_data */ query.instance_size, 0, /* n_preallocs */ NULL, /* instance_init */ NULL }; /* the contents of the GTypeInfo struct seem to be copied, so it should be ok to use a not really static one (ie one on the stack) */ derived = g_type_register_static(parent, String_val(type_name), &info, 0); } return Val_GType (derived); } /* gclosure.h */ Make_Val_final_pointer(GClosure, g_closure_ref, g_closure_unref, 0) #define g_closure_ref_and_sink(w) (g_closure_ref(w), g_closure_sink(w)) Make_Val_final_pointer_ext(GClosure, _sink , g_closure_ref_and_sink, g_closure_unref, 20) static void notify_destroy(gpointer unit, GClosure *c) { // printf("release %p\n", &c->data); remove_global_root((value*)&c->data); } static void marshal_core (GClosure *closure, GValue *ret, guint nargs, const GValue *args, gpointer hint, gpointer marshall_data) { value vargs = alloc(3,0); CAMLparam1 (vargs); Store_field(vargs, 0, (ret ? Val_GValue_wrap(ret) : alloc(2,0))); Store_field(vargs, 1, Val_int(nargs)); Store_field(vargs, 2, Val_GValue_wrap((GValue*)args)); callback_exn ((value)closure->data, vargs); CAMLreturn0; } static void marshal (GClosure *closure, GValue *ret, guint nargs, const GValue *args, gpointer hint, gpointer marshall_data) { if (polling) { // https://github.com/garrigue/lablgtk/issues/141 caml_leave_blocking_section(); polling = 0; marshal_core(closure, ret, nargs, args, hint, marshall_data); polling = 1; caml_enter_blocking_section(); } else marshal_core(closure, ret, nargs, args, hint, marshall_data); } CAMLprim value ml_g_closure_new (value clos) { GClosure* closure = g_closure_new_simple(sizeof(GClosure), (gpointer)clos); // printf("register %p\n", &closure->data); register_global_root((value*)&closure->data); g_closure_add_invalidate_notifier(closure, NULL, notify_destroy); g_closure_set_marshal(closure, marshal); return Val_GClosure_sink(closure); } /* gvalue.h / gparamspec.h */ static void ml_final_GValue (value val) { GValue *gv = GValueptr_val(val); if (gv != NULL && gv->g_type != 0) g_value_unset(gv); } static struct custom_operations ml_custom_GValue = { "GValue/2.0/", ml_final_GValue, custom_compare_default, custom_hash_default, custom_serialize_default, custom_deserialize_default }; CAMLprim value ml_g_value_new(void) { value ret = alloc_custom(&ml_custom_GValue, sizeof(value)+sizeof(GValue), 20, 1000); /* create an MLPointer */ Field(ret,1) = (value)2; ((GValue*)&Field(ret,2))->g_type = 0; return ret; } CAMLprim value Val_GValue_copy(GValue *gv) { value ret = ml_g_value_new(); *((GValue*)&Field(ret,2)) = *gv; return ret; } CAMLprim value ml_g_value_release(value val) { ml_final_GValue (val); Store_pointer(val,NULL); return Val_unit; } CAMLprim GValue* GValue_val(value val) { void *v = MLPointer_val(val); if (v == NULL) invalid_argument("GValue_val"); return (GValue*)v; } ML_1 (G_VALUE_TYPE, GValue_val, Val_GType) ML_2 (g_value_init, GValue_val, GType_val, Unit) ML_2 (g_value_copy, GValue_val, GValue_val, Unit) ML_1 (g_value_reset, GValue_val, Unit) ML_2 (g_value_type_compatible, GType_val, GType_val, Val_bool) ML_2 (g_value_type_transformable, GType_val, GType_val, Val_bool) ML_2 (g_value_transform, GValue_val, GValue_val, Val_bool) CAMLprim value ml_g_value_shift (value args, value index) { return Val_GValue_wrap (&GValue_val(args)[Int_val(index)]); } /* gboxed finalization */ static void ml_final_gboxed (value val) { gpointer p = Pointer_val(val); if (p != NULL) g_boxed_free ((GType)Field(val,2), p); p = NULL; } static struct custom_operations ml_custom_gboxed = { "gboxed/2.0/", ml_final_gboxed, custom_compare_default, custom_hash_default, custom_serialize_default, custom_deserialize_default }; CAMLprim value Val_gboxed(GType t, gpointer p) { value ret = alloc_custom(&ml_custom_gboxed, 2*sizeof(value), 10, 1000); Store_pointer(ret, g_boxed_copy (t,p)); Field(ret,2) = (value)t; return ret; } CAMLprim value Val_gboxed_new(GType t, gpointer p) { value ret = alloc_custom(&ml_custom_gboxed, 2*sizeof(value), 10, 1000); Store_pointer(ret, p); Field(ret,2) = (value)t; return ret; } /* Read/Write a value */ #define DATA (val->data[0]) static value g_value_get_mlvariant (GValue *val) { CAMLparam0(); CAMLlocal1(tmp); value ret = MLTAG_NONE; GType type; value tag = (value)0; if (! G_IS_VALUE(val)) invalid_argument("Gobject.Value.get"); type = G_VALUE_TYPE(val); switch (G_TYPE_FUNDAMENTAL(type)) { /* This is such a pain that we access the data directly :-( */ /* We do like in gvaluetypes.c */ case G_TYPE_CHAR: case G_TYPE_UCHAR: tag = MLTAG_CHAR; tmp = Val_int(DATA.v_int); break; case G_TYPE_BOOLEAN: tag = MLTAG_BOOL; tmp = Val_bool(DATA.v_int); break; case G_TYPE_INT: case G_TYPE_UINT: tag = MLTAG_INT; tmp = Val_int (DATA.v_int); break; case G_TYPE_LONG: case G_TYPE_ULONG: case G_TYPE_ENUM: case G_TYPE_FLAGS: tag = MLTAG_INT; tmp = Val_long (DATA.v_long); break; case G_TYPE_FLOAT: tag = MLTAG_FLOAT; tmp = copy_double ((double)DATA.v_float); break; case G_TYPE_DOUBLE: tag = MLTAG_FLOAT; tmp = copy_double (DATA.v_double); break; case G_TYPE_STRING: tag = MLTAG_STRING; tmp = Val_option (DATA.v_pointer, copy_string); break; case G_TYPE_INTERFACE: /* assume interfaces are for objects */ case G_TYPE_OBJECT: tag = MLTAG_OBJECT; tmp = Val_option ((GObject*)DATA.v_pointer, Val_GObject); break; case G_TYPE_BOXED: if (type == G_TYPE_CAML) { value *data = g_value_get_boxed (val); if (data != NULL) { tag = MLTAG_CAML; tmp = *data; } } else { tag = MLTAG_POINTER; tmp = (DATA.v_pointer == NULL ? Val_unit : ml_some(Val_gboxed(type, DATA.v_pointer))); } break; case G_TYPE_POINTER: tag = MLTAG_POINTER; tmp = Val_option (DATA.v_pointer, Val_pointer); break; case G_TYPE_INT64: case G_TYPE_UINT64: tag = MLTAG_INT64; tmp = copy_int64 (DATA.v_int64); break; } if ((long)tag != 0) { ret = alloc_small(2,0); Field(ret,0) = tag; Field(ret,1) = tmp; } CAMLreturn(ret); } ML_1 (g_value_get_mlvariant, GValue_val, ID) static void g_value_set_mlvariant (GValue *val, value arg) { value tag = Field(arg,0); value data = Field(arg,1); GType type = G_VALUE_TYPE(val); switch (G_TYPE_FUNDAMENTAL(type)) { case G_TYPE_CHAR: case G_TYPE_UCHAR: if (tag != MLTAG_CHAR) break; DATA.v_int = Int_val(data); return; case G_TYPE_BOOLEAN: if (tag != MLTAG_BOOL) break; DATA.v_int = Int_val(data); return; case G_TYPE_INT: case G_TYPE_UINT: if (tag == MLTAG_INT || tag == MLTAG_BOOL) DATA.v_int = Int_val(data); else if (tag == MLTAG_INT32) DATA.v_int = Int32_val(data); else break; return; case G_TYPE_LONG: case G_TYPE_ULONG: case G_TYPE_ENUM: case G_TYPE_FLAGS: switch ((long)tag) { case (long)MLTAG_INT: DATA.v_long = Int_val(data); return; case (long)MLTAG_INT32: DATA.v_long = Int32_val(data); return; case (long)MLTAG_LONG: DATA.v_long = Nativeint_val(data); return; }; break; case G_TYPE_FLOAT: if (tag != MLTAG_FLOAT) break; DATA.v_float = (float)Double_val(data); return; case G_TYPE_DOUBLE: if (tag != MLTAG_FLOAT) break; DATA.v_double = (double)Double_val(data); return; case G_TYPE_STRING: if (tag != MLTAG_STRING) break; g_value_set_string(val, String_option_val(data)); return; case G_TYPE_INTERFACE: /* assume interfaces are for objects */ case G_TYPE_OBJECT: if (tag != MLTAG_OBJECT) break; g_value_set_object(val, Option_val(data,GObject_val,NULL)); return; case G_TYPE_BOXED: if (tag == MLTAG_CAML && type == G_TYPE_CAML) g_value_store_caml_value (val, data); else if (tag == MLTAG_POINTER) g_value_set_boxed(val, Option_val(data,MLPointer_val,NULL)); else break; return; case G_TYPE_POINTER: if (tag != MLTAG_POINTER && tag != MLTAG_OBJECT) break; DATA.v_pointer = Option_val(data,MLPointer_val,NULL); return; case G_TYPE_INT64: case G_TYPE_UINT64: if (tag == MLTAG_INT64) DATA.v_int64 = Int64_val(data); else if (tag == MLTAG_INT) DATA.v_int64 = Int_val(data); else if (tag == MLTAG_INT32) DATA.v_int64 = Int32_val(data); else if (tag == MLTAG_LONG) DATA.v_int64 = Nativeint_val(data); else break; return; default: failwith ("Gobject.Value.set : cannot set this value"); } /* fprintf(stderr,"value has type %s\n", g_type_name(type)); */ failwith ("GObject.Value.set : argument type mismatch"); return; } ML_2 (g_value_set_mlvariant, GValue_val, ID, Unit) CAMLprim value ml_g_value_get_nativeint(value arg) { GValue *val = GValue_val(arg); switch(G_TYPE_FUNDAMENTAL(G_VALUE_TYPE(val))) { case G_TYPE_INT: case G_TYPE_UINT: return copy_nativeint (DATA.v_int); case G_TYPE_LONG: case G_TYPE_ULONG: case G_TYPE_ENUM: case G_TYPE_FLAGS: return copy_nativeint (DATA.v_long); default: invalid_argument ("Gobject.get_nativeint"); } return Val_unit; } CAMLprim value ml_g_value_get_int32(value arg) { GValue *val = GValue_val(arg); switch(G_TYPE_FUNDAMENTAL(G_VALUE_TYPE(val))) { case G_TYPE_INT: case G_TYPE_UINT: return copy_int32 (DATA.v_int); case G_TYPE_ENUM: case G_TYPE_FLAGS: return copy_int32 (DATA.v_long); default: failwith ("Gobject.get_int32"); } return Val_unit; } CAMLprim value ml_g_value_get_pointer (value arg) { gpointer p = NULL; GValue *val = GValue_val(arg); switch(G_TYPE_FUNDAMENTAL(G_VALUE_TYPE(val))) { case G_TYPE_STRING: case G_TYPE_BOXED: case G_TYPE_POINTER: p = DATA.v_pointer; break; default: failwith ("Gobject.get_pointer"); } return Val_pointer(p); } #undef DATA /* gobject.h / properties */ CAMLprim value ml_g_object_new (value type, value params) { int i, n; value cell = params; GParameter *params_copy = NULL, *param; GObjectClass *class = g_type_class_ref(GType_val(type)); GParamSpec *pspec; GObject *ret; for (n = 0; cell != Val_unit; cell = Field(cell,1)) n++; if (n > 0) { params_copy = (GParameter*)calloc(n, sizeof(GParameter)); param = params_copy; for (cell = params; cell != Val_unit; cell = Field(cell,1)) { param->name = String_val(Field(Field(cell,0),0)); pspec = g_object_class_find_property (class, param->name); if (!pspec) failwith ("Gobject.create"); g_value_init (¶m->value, pspec->value_type); g_value_set_mlvariant (¶m->value, Field(Field(cell,0),1)); param++; } } ret = g_object_newv (GType_val(type), n, params_copy); if (n > 0) { for (i=0; in_params, 0); \ Store_field(ml_query, 0, Val_int(query->signal_id)); \ Store_field(ml_query, 1, caml_copy_string (query->signal_name)); \ Store_field(ml_query, 2, caml_copy_string (g_type_name(query->itype))); \ Store_field(ml_query, 3, Val_int(query->signal_flags)); \ Store_field(ml_query, 4, caml_copy_string (g_type_name(query->return_type)));\ for (i = 0; i < query->n_params; i++) \ Store_field(ml_params, i, Val_string(g_type_name(query->param_types[i]))); \ Store_field(ml_query, 5, ml_params) Make_Flags_val (Signal_type_val) CAMLprim value ml_g_signal_new_me(value o_name, value o_classe, value o_signal_flags) { const gchar* name = String_val(o_name); GSignalFlags signal_flags = Flags_Signal_type_val(o_signal_flags); GType itype = GType_val(o_classe); guint class_offset = 0; GSignalAccumulator accumulator = NULL; gpointer accu_data = NULL; GSignalCMarshaller marshaller = g_cclosure_marshal_VOID__POINTER; GType return_type = G_TYPE_NONE; guint nparams = 0; g_signal_new (name, itype, signal_flags, class_offset, accumulator, accu_data, marshaller, return_type, nparams); return (Val_int(0)); } CAMLprim value ml_g_signal_query(value ml_i) { CAMLparam1(ml_i); CAMLlocal2(ml_query, ml_query_params); GSignalQuery* query; guint i = Int_val(ml_i); query = malloc(sizeof(GSignalQuery)); g_signal_query(i, query); if (query->signal_id == 0) invalid_argument("g_signal_query"); Copy_GSignalQuery(ml_query, ml_query_params, query); free(query); CAMLreturn(ml_query); } CAMLprim value ml_g_signal_list_ids(value type) { CAMLparam1(type); CAMLlocal1(ret); guint n_ids; guint *ids; ids = g_signal_list_ids(GType_val(type), &n_ids); Copy_array(ret, n_ids, ids, Val_int); free(ids); CAMLreturn(ret); } ML_4 (g_signal_connect_closure, GObject_val, String_val, GClosure_val, Bool_val, Val_long) ML_2 (g_signal_handler_block, GObject_val, Long_val, Unit) ML_2 (g_signal_handler_unblock, GObject_val, Long_val, Unit) ML_2 (g_signal_handler_disconnect, GObject_val, Long_val, Unit) ML_2 (g_signal_handler_is_connected, GObject_val, Long_val, Val_bool) ML_2 (g_signal_stop_emission_by_name, GObject_val, String_val, Unit) CAMLprim value ml_g_signal_emit_by_name (value obj, value sig, value params) { value ret = Val_unit; CAMLparam4(obj,sig,params,ret); GObject *instance = GObject_val(obj); GValue *iparams = (GValue*)calloc(1 + Wosize_val(params), sizeof(GValue)); GQuark detail = 0; GType itype = G_TYPE_FROM_INSTANCE (instance); GType return_type; guint signal_id; unsigned int i; GSignalQuery query; if(!g_signal_parse_name(String_val(sig), itype, &signal_id, &detail, TRUE)) failwith("GtkSignal.emit_by_name : bad signal name"); g_value_init (iparams, itype); g_value_set_object (iparams, instance); g_signal_query (signal_id, &query); if (Wosize_val(params) != query.n_params) failwith("GtkSignal.emit_by_name : bad parameters number"); return_type = query.return_type & ~G_SIGNAL_TYPE_STATIC_SCOPE; if (return_type != G_TYPE_NONE) { ret = ml_g_value_new(); g_value_init (GValue_val(ret), return_type); } for (i = 0; i < query.n_params; i++) { g_value_init (&iparams[i+1], query.param_types[i] & ~G_SIGNAL_TYPE_STATIC_SCOPE); g_value_set_mlvariant (&iparams[i+1], Field(params,i)); } g_signal_emitv (iparams, signal_id, detail, (ret == Val_unit ? 0 : GValue_val(ret))); for (i = 0; i < query.n_params + 1; i++) g_value_unset (iparams + i); free (iparams); CAMLreturn(ret); } CAMLprim value ml_g_signal_override_class_closure(value vname, value vt, value vc) { GType t = GType_val(vt); guint signal_id = g_signal_lookup(String_val(vname), t); g_signal_override_class_closure (signal_id, t, GClosure_val(vc)); return Val_unit; } CAMLprim value ml_g_signal_chain_from_overridden (value clos_argv) { CAMLparam1(clos_argv); value val; GValue *ret, *args; val = Field(clos_argv, 0); ret = Tag_val(val) == Abstract_tag ? GValue_val (val) : NULL; val = Field(clos_argv, 2); args = Tag_val(val) == Abstract_tag ? GValue_val (val) : NULL; g_signal_chain_from_overridden (args, ret); CAMLreturn(Val_unit); } lablgtk-3.1.2/src/ml_gobject.h0000644000650106067230000000563314161276610015054 0ustar glondused/**************************************************************************/ /* 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$ */ /* Defined in ml_gobject.h */ #define GObject_val(val) ((GObject*)Pointer_val(val)) CAMLexport value Val_GObject (GObject *); CAMLexport value Val_GObject_new (GObject *); CAMLexport value Val_GObject_sink (GInitiallyUnowned *); #define Val_GAnyObject(val) Val_GObject(G_OBJECT(val)) #define Val_GAnyObject_new(val) Val_GObject_new(G_OBJECT(val)) #define Val_GAnyObject_sink(val) Val_GObject_sink(G_INITIALLY_UNOWNED(val)) CAMLexport void ml_g_object_unref_later (GObject *); #define GType_val(t) ((GType)Addr_val(t)) #define Val_GType Val_addr #define GClosure_val(val) ((GClosure*)Pointer_val(val)) CAMLexport value Val_GClosure (GClosure *); #define GValueptr_val(val) ((GValue*)MLPointer_val(val)) CAMLexport GValue *GValue_val(value); /* check for NULL pointer */ CAMLexport value Val_GValue_copy(GValue *); /* copy from the stack */ #define Val_GValue_wrap Val_pointer /* just wrap a pointer */ CAMLexport value ml_g_value_new(void); CAMLexport value Val_gboxed(GType t, gpointer p); /* finalized gboxed */ CAMLexport value Val_gboxed_new(GType t, gpointer p); /* without copy */ /* Macro utilities for export */ /* used in ml_gtk.h for instance */ #ifdef G_DISABLE_CAST_CHECKS #define check_cast(f,v) f(Pointer_val(v)) #else #define check_cast(f,v) (Pointer_val(v) == NULL ? NULL : f(Pointer_val(v))) #endif lablgtk-3.1.2/src/ml_gpointer.c0000644000650106067230000000756214161276610015264 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include "wrappers.h" #include "ml_gpointer.h" CAMLprim value ml_stable_copy (value v) { if (Is_young_block(v)) { CAMLparam1(v); mlsize_t i, wosize = Wosize_val(v); int tag = Tag_val(v); value ret; if (tag < No_scan_tag) invalid_argument("ml_stable_copy"); ret = alloc_shr (wosize, tag); for (i=0; i < wosize; i++) Field(ret,i) = Field(v,i); CAMLreturn(ret); } return v; } CAMLprim value ml_string_at_pointer (value ofs, value len, value ptr) { char *start = ((char*)Pointer_val(ptr)) + Option_val(ofs, Int_val, 0); int length = Option_val(len, Int_val, strlen(start)); value ret = alloc_string(length); memcpy ((char*)ret, start, length); return ret; } CAMLprim value ml_int_at_pointer (value ptr) { return Val_int(*(int*)Pointer_val(ptr)); } CAMLprim value ml_set_int_at_pointer (value ptr, value n) { *(int*)Pointer_val(ptr) = Int_val(n); return Val_unit; } CAMLprim value ml_long_at_pointer (value ptr) { return copy_nativeint(*(long*)Pointer_val(ptr)); } CAMLprim value ml_set_long_at_pointer (value ptr, value n) { *(long*)Pointer_val(ptr) = Nativeint_val(n); return Val_unit; } CAMLexport unsigned char* ml_gpointer_base (value region) { unsigned int i; value ptr = RegData_val(region); value path = RegPath_val(region); if (Is_block(path)) for (i = 0; i < Wosize_val(path); i++) ptr = Field(ptr, Int_val(Field(path, i))); return (unsigned char*) ptr+RegOffset_val(region); } CAMLprim value ml_gpointer_get_char (value region, value pos) { return Val_int(*(ml_gpointer_base (region) + Long_val(pos))); } CAMLprim value ml_gpointer_set_char (value region, value pos, value ch) { *(ml_gpointer_base (region) + Long_val(pos)) = Int_val(ch); return Val_unit; } CAMLprim value ml_gpointer_blit (value region1, value region2) { void *base1 = ml_gpointer_base (region1); void *base2 = ml_gpointer_base (region2); memcpy (base2, base1, RegLength_val(region1)); return Val_unit; } CAMLprim value ml_gpointer_get_addr (value region) { return copy_nativeint ((long)ml_gpointer_base (region)); } lablgtk-3.1.2/src/ml_gpointer.h0000644000650106067230000000352214161276610015261 0ustar glondused/**************************************************************************/ /* 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$ */ #define RegData_val(val) (Field(val,0)) #define RegPath_val(val) (Field(val,1)) #define RegOffset_val(val) (Long_val(Field(val,2))) #define RegLength_val(val) (Long_val(Field(val,3))) CAMLexport unsigned char* ml_gpointer_base (value region); lablgtk-3.1.2/src/ml_gtk.c0000644000650106067230000011130414161276610014210 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #ifndef _WIN32 #include #endif #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_pango.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "ml_gdkpixbuf.h" #include "gobject_tags.h" #include "gdk_tags.h" #include "gtk_tags.h" void ml_raise_gtk (const char *errmsg) { static const value * exn = NULL; if (exn == NULL) exn = caml_named_value ("gtkerror"); raise_with_string (*exn, (char*)errmsg); } /* conversion functions */ #include "gtk_tags.c" Make_Flags_val (Dest_defaults_val) Make_Flags_val (Target_flags_val) CAMLexport value Val_GtkWidget_func(gpointer w) { return (Val_GtkWidget((GtkWidget*)w)); } /* Init windows */ CAMLprim value ml_gtkwindow_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_message_dialog_get_type() + gtk_color_selection_dialog_get_type() + gtk_font_selection_dialog_get_type() #if !defined(GDK_WINDOWING_WIN32) && !defined(GDK_WINDOWING_QUARTZ) + gtk_plug_get_type() + gtk_socket_get_type() #endif ; return Val_GType(t); } /* gtkaccelgroup.h */ Make_OptFlags_val (Accel_flag_val) #define Signal_name_val(val) String_val(Field(val,0)) #define Val_GtkAccelGroup_new(val) (Val_GObject_new(&val->parent)) ML_0 (gtk_accel_group_new, Val_GtkAccelGroup_new) ML_1 (gtk_accel_group_lock, GtkAccelGroup_val, Unit) ML_1 (gtk_accel_group_unlock, GtkAccelGroup_val, Unit) ML_5 (gtk_accel_group_connect, GtkAccelGroup_val, Int_val, OptFlags_GdkModifier_val, OptFlags_Accel_flag_val, GClosure_val, Unit) ML_3 (gtk_accel_group_disconnect_key, GtkAccelGroup_val, Int_val, OptFlags_GdkModifier_val, Val_bool) ML_3 (gtk_accel_groups_activate, GObject_val, Int_val, OptFlags_GdkModifier_val, Val_bool) ML_2 (gtk_accelerator_valid, Int_val, OptFlags_GdkModifier_val, Val_bool) ML_1 (gtk_accelerator_set_default_mod_mask, OptFlags_GdkModifier_val, Unit) #define Val_GdkModifier_flags(v) ml_lookup_flags_getter(ml_table_gdkModifier,v) CAMLprim value ml_gtk_accelerator_parse(value acc) { CAMLparam0(); CAMLlocal2(vmods, tup); guint key; GdkModifierType mods; gtk_accelerator_parse(String_val(acc), &key, &mods); vmods = mods ? Val_GdkModifier_flags(mods) : Val_emptylist; tup = alloc_small(2, 0); Field(tup, 0) = Val_int(key); Field(tup, 1) = vmods; CAMLreturn(tup); } ML_2(gtk_accelerator_name, Int_val, OptFlags_GdkModifier_val, copy_string_g_free) ML_2(gtk_accelerator_get_label, Int_val, OptFlags_GdkModifier_val, copy_string_g_free) ML_1(gtk_accel_map_load,String_val,Unit) ML_1(gtk_accel_map_save,String_val,Unit) ML_3(gtk_accel_map_add_entry,String_val,Int_val, OptFlags_GdkModifier_val, Unit) ML_4(gtk_accel_map_change_entry,String_val,Int_val, OptFlags_GdkModifier_val, Bool_val, Val_bool) static void accel_map_func (gpointer data, const gchar *accel_path, guint accel_key, GdkModifierType accel_mods, gboolean changed) { value args[4]; args[0] = Val_string (accel_path); args[1] = Val_int(accel_key); Begin_roots1(args[0]); args[2] = Val_GdkModifier_flags(accel_mods); End_roots(); args[3] = Val_int(changed); caml_callbackN_exn (*(value*)data, 4, args); } CAMLprim value ml_gtk_accel_map_foreach(value func) { CAMLparam1(func); gtk_accel_map_foreach (&func, accel_map_func); CAMLreturn(Val_unit); } /* gtkstyle.h */ /* deprecated since 3.0 */ #define Val_GtkStyle_new(val) (Val_GObject_new(&val->parent_instance)) ML_0 (gtk_style_new, Val_GtkStyle_new) ML_1 (gtk_style_copy, GtkStyle_val, Val_GtkStyle_new) ML_2 (gtk_style_attach, GtkStyle_val, GdkWindow_val, Val_GtkStyle) ML_1 (gtk_style_detach, GtkStyle_val, Unit) ML_3 (gtk_style_set_background, GtkStyle_val, GdkWindow_val, State_type_val, Unit) /* removed in 3.0 ML_6 (gtk_draw_hline, GtkStyle_val, GdkWindow_val, State_type_val, Int_val, Int_val, Int_val, Unit) ML_bc6 (ml_gtk_draw_hline) ML_6 (gtk_draw_vline, GtkStyle_val, GdkWindow_val, State_type_val, Int_val, Int_val, Int_val, Unit) ML_bc6 (ml_gtk_draw_vline) */ Make_Array_Extractor (gtk_style_get, GtkStyle_val, State_type_val, bg, Val_copy) Make_Array_Setter (gtk_style_set, GtkStyle_val, State_type_val, *GdkColor_val, bg) Make_Array_Extractor (gtk_style_get, GtkStyle_val, State_type_val, fg, Val_copy) Make_Array_Setter (gtk_style_set, GtkStyle_val, State_type_val, *GdkColor_val, fg) Make_Array_Extractor (gtk_style_get, GtkStyle_val, State_type_val, light, Val_copy) Make_Array_Setter (gtk_style_set, GtkStyle_val, State_type_val, *GdkColor_val, light) Make_Array_Extractor (gtk_style_get, GtkStyle_val, State_type_val, dark, Val_copy) Make_Array_Setter (gtk_style_set, GtkStyle_val, State_type_val, *GdkColor_val, dark) Make_Array_Extractor (gtk_style_get, GtkStyle_val, State_type_val, mid, Val_copy) Make_Array_Setter (gtk_style_set, GtkStyle_val, State_type_val, *GdkColor_val, mid) Make_Array_Extractor (gtk_style_get, GtkStyle_val, State_type_val, base, Val_copy) Make_Array_Setter (gtk_style_set, GtkStyle_val, State_type_val, *GdkColor_val, base) Make_Array_Extractor (gtk_style_get, GtkStyle_val, State_type_val, text, Val_copy) Make_Array_Setter (gtk_style_set, GtkStyle_val, State_type_val, *GdkColor_val, text) /* removed in 3.0 Make_Extractor (gtk_style_get, GtkStyle_val, colormap, Val_GdkColormap) Make_Extractor (gtk_style_get, GtkStyle_val, depth, Val_int) ML_1 (gtk_style_get_font, GtkStyle_val, Val_GdkFont) ML_2 (gtk_style_set_font, GtkStyle_val, GdkFont_val, Unit) CAMLprim value ml_gtk_style_set_font (value st, value font) { GtkStyle *style = GtkStyle_val(st); if (style->font) gdk_font_unref(style->font); style->font = GdkFont_val(font); gdk_font_ref(style->font); return Val_unit; } */ /* Doesn't seem useful Make_Array_Extractor (gtk_style_get, GtkStyle_val, State_type_val, dark_gc, Val_GdkGC) Make_Array_Extractor (gtk_style_get, GtkStyle_val, State_type_val, light_gc, Val_GdkGC) */ ML_0 (gtk_css_provider_new, Val_GtkCssProvider) CAMLprim value ml_gtk_css_provider_load_from_data(value provider, value data) { GError *err = NULL; gtk_css_provider_load_from_data(GtkCssProvider_val(provider), SizedString_val(data), &err); if (err) ml_raise_gerror(err); return Val_unit; } ML_3 (gtk_style_context_add_provider, GtkStyleContext_val, GtkStyleProvider_val, Int_val, Unit) ML_3 (gtk_style_context_add_provider_for_screen, GdkScreen_val, GtkStyleProvider_val, Int_val, Unit) /* gtkdata.h */ /* gtkadjustment.h */ ML_6 (gtk_adjustment_new, Float_val, Float_val, Float_val, Float_val, Float_val, Float_val, Val_GAnyObject_sink) ML_bc6 (ml_gtk_adjustment_new) ML_3 (gtk_adjustment_clamp_page, GtkAdjustment_val, Float_val, Float_val, Unit) /* ML_2 (gtk_adjustment_set_value, GtkAdjustment_val, Float_val, Unit) Make_Extractor (gtk_adjustment_get, GtkAdjustment_val, lower, copy_double) Make_Extractor (gtk_adjustment_get, GtkAdjustment_val, upper, copy_double) Make_Extractor (gtk_adjustment_get, GtkAdjustment_val, value, copy_double) Make_Extractor (gtk_adjustment_get, GtkAdjustment_val, step_increment, copy_double) Make_Extractor (gtk_adjustment_get, GtkAdjustment_val, page_increment, copy_double) Make_Extractor (gtk_adjustment_get, GtkAdjustment_val, page_size, copy_double) CAMLprim value ml_gtk_adjustment_set(value lower, value upper, value step_increment, value page_increment, value page_size, value adjustment) { GtkAdjustment *adj = GtkAdjustment_val(adjustment); #define Update_field(name) (adj->name = Option_val(name,Double_val,adj->name) Update_field(lower); Update_field(upper); Update_field(step_increment); Update_field(page_increment); Update_field(page_size); #undef Update_field return Val_unit; } ML_bc6(ml_gtk_adjustment_set) */ /* gtkwidget.h */ ML_1 (gtk_widget_destroy, GtkWidget_val, Unit) ML_1 (gtk_widget_unparent, GtkWidget_val, Unit) ML_1 (gtk_widget_show, GtkWidget_val, Unit) ML_1 (gtk_widget_show_now, GtkWidget_val, Unit) ML_1 (gtk_widget_show_all, GtkWidget_val, Unit) ML_1 (gtk_widget_hide, GtkWidget_val, Unit) ML_1 (gtk_widget_map, GtkWidget_val, Unit) ML_1 (gtk_widget_unmap, GtkWidget_val, Unit) ML_1 (gtk_widget_realize, GtkWidget_val, Unit) ML_1 (gtk_widget_unrealize, GtkWidget_val, Unit) ML_1 (gtk_widget_queue_draw, GtkWidget_val, Unit) ML_5 (gtk_widget_queue_draw_area, GtkWidget_val, Int_val, Int_val, Int_val, Int_val, Unit) ML_1 (gtk_widget_queue_resize, GtkWidget_val, Unit) ML_2 (gtk_widget_draw, GtkWidget_val, Cairo_val, Unit) /* ML_1 (gtk_widget_draw_focus, GtkWidget_val, Unit) ML_1 (gtk_widget_draw_default, GtkWidget_val, Unit) ML_1 (gtk_widget_draw_children, GtkWidget_val, Unit) */ ML_2 (gtk_widget_event, GtkWidget_val, GdkEvent_val, Val_bool) ML_1 (gtk_widget_activate, GtkWidget_val, Val_bool) ML_2 (gtk_widget_reparent, GtkWidget_val, GtkWidget_val, Unit) /* deprecated */ /* ML_3 (gtk_widget_popup, GtkWidget_val, Int_val, Int_val, Unit) */ CAMLprim value ml_gtk_widget_intersect (value w, value area) { GdkRectangle inter; if (gtk_widget_intersect(GtkWidget_val(w), GdkRectangle_val(area), &inter)) return ml_some (Val_copy (inter)); return Val_unit; } /* properties ML_1 (gtk_widget_grab_focus, GtkWidget_val, Unit) ML_1 (gtk_widget_grab_default, GtkWidget_val, Unit) ML_2 (gtk_widget_set_name, GtkWidget_val, String_val, Unit) ML_1 (gtk_widget_get_name, GtkWidget_val, Val_string) ML_2 (gtk_widget_set_sensitive, GtkWidget_val, Bool_val, Unit) ML_2 (gtk_widget_set_events, GtkWidget_val, Flags_Event_mask_val, Unit) ML_2 (gtk_widget_set_extension_events, GtkWidget_val, Extension_mode_val, Unit) ML_2 (gtk_widget_set_style, GtkWidget_val, GtkStyle_val, Unit) ML_1 (gtk_widget_get_style, GtkWidget_val, Val_GtkStyle) ML_3 (gtk_widget_set_usize, GtkWidget_val, Int_val, Int_val, Unit) ML_3 (gtk_widget_set_size_request, GtkWidget_val, Int_val, Int_val, Unit) */ /* deprecated ML_2 (gtk_widget_set_state, GtkWidget_val, State_type_val, Unit) */ /* not in 3 ML_3 (gtk_widget_set_uposition, GtkWidget_val, Int_val, Int_val, Unit) */ ML_2 (gtk_widget_add_events, GtkWidget_val, Flags_Event_mask_val, Unit) ML_1 (gtk_widget_get_toplevel, GtkWidget_val, Val_GtkWidget) ML_2 (gtk_widget_get_ancestor, GtkWidget_val, Int_val, Val_GtkWidget) /* not in 3 ML_1 (gtk_widget_get_colormap, GtkWidget_val, Val_GdkColormap) */ ML_1 (gtk_widget_get_visual, GtkWidget_val, (value)) CAMLprim value ml_gtk_widget_get_pointer (value w) { int x,y; value ret; gtk_widget_get_pointer (GtkWidget_val(w), &x, &y); ret = alloc_small (2,0); Field(ret,0) = Val_int(x); Field(ret,1) = Val_int(y); return ret; } ML_2 (gtk_widget_is_ancestor, GtkWidget_val, GtkWidget_val, Val_bool) /* deprecated since 3.0 */ ML_1 (gtk_widget_ensure_style, GtkWidget_val, Unit) ML_3 (gtk_widget_modify_fg, GtkWidget_val, State_type_val, GdkColor_val, Unit) ML_3 (gtk_widget_modify_bg, GtkWidget_val, State_type_val, GdkColor_val, Unit) ML_3 (gtk_widget_modify_text, GtkWidget_val, State_type_val, GdkColor_val,Unit) ML_3 (gtk_widget_modify_base, GtkWidget_val, State_type_val, GdkColor_val,Unit) ML_2 (gtk_widget_modify_font, GtkWidget_val, PangoFontDescription_val, Unit) /* end deprecated since 3.0 */ ML_1 (gtk_widget_get_style_context, GtkWidget_val, Val_GtkStyleContext) ML_1 (gtk_widget_get_pango_context, GtkWidget_val, Val_PangoContext) ML_1 (gtk_widget_create_pango_context, GtkWidget_val, Val_PangoContext_new) ML_6 (gtk_widget_add_accelerator, GtkWidget_val, Signal_name_val, GtkAccelGroup_val, Char_val, OptFlags_GdkModifier_val, OptFlags_Accel_flag_val, Unit) ML_bc6 (ml_gtk_widget_add_accelerator) ML_4 (gtk_widget_remove_accelerator, GtkWidget_val, GtkAccelGroup_val, Char_val, OptFlags_GdkModifier_val, Unit) ML_3 (gtk_widget_set_accel_path, GtkWidget_val, String_val, GtkAccelGroup_val, Unit) /* deprecated since 2.0 (?) ML_1 (gtk_widget_lock_accelerators, GtkWidget_val, Unit) ML_1 (gtk_widget_unlock_accelerators, GtkWidget_val, Unit) ML_1 (gtk_widget_accelerators_locked, GtkWidget_val, Val_bool) */ ML_1 (gtk_widget_get_window, GtkWidget_val, Val_GdkWindow) ML_1 (gtk_widget_get_parent, GtkWidget_val, Val_GtkWidget) static value Val_GtkAllocation (GtkAllocation allocation) { value ret = alloc_small (4, 0); Field(ret,0) = Val_int(allocation.x); Field(ret,1) = Val_int(allocation.y); Field(ret,2) = Val_int(allocation.width); Field(ret,3) = Val_int(allocation.height); return ret; } CAMLprim value ml_gtk_widget_get_allocation(value w) { GtkAllocation all; gtk_widget_get_allocation(GtkWidget_val(w), &all); return Val_GtkAllocation(all); } ML_1(Val_GtkAllocation, *(GtkAllocation*)Pointer_val, (value)) ML_2 (gtk_widget_set_double_buffered, GtkWidget_val, Bool_val, Unit) ML_2 (gtk_widget_set_visual, GtkWidget_val, GdkVisual_val, Unit) /* not int 3 ML_2 (gtk_widget_set_colormap, GtkWidget_val, GdkColormap_val, Unit) ML_1 (gtk_widget_set_default_visual, GdkVisual_val, Unit) ML_1 (gtk_widget_set_default_colormap, GdkColormap_val, Unit) ML_0 (gtk_widget_get_default_visual, Val_GdkVisual) ML_0 (gtk_widget_get_default_colormap, Val_GdkColormap) ML_1 (gtk_widget_push_visual, GdkVisual_val, Unit) ML_1 (gtk_widget_push_colormap, GdkColormap_val, Unit) ML_0 (gtk_widget_pop_visual, Unit) ML_0 (gtk_widget_pop_colormap, Unit) */ /* depredated >= 3.10 */ ML_3 (gtk_widget_render_icon_pixbuf, GtkWidget_val, String_val, Icon_size_val, Val_GdkPixbuf) CAMLprim value ml_gtk_widget_style_get_property (value w, value n) { CAMLparam2 (w, n); CAMLlocal1 (ret); GtkWidget *widget = GtkWidget_val (w); gchar *name = (gchar*)Bytes_val (n); GParamSpec * pspec; pspec = gtk_widget_class_find_style_property (GTK_WIDGET_GET_CLASS (widget), name); if (pspec) { ret = ml_g_value_new (); GValue *gv = GValueptr_val (ret); g_value_init (gv, G_PARAM_SPEC_VALUE_TYPE (pspec)); gtk_widget_style_get_property (widget, name, gv); } else { invalid_argument("Gobject.Widget.style_get_property"); } CAMLreturn (ret); } #ifdef HASGTK212 ML_1 (gtk_widget_get_tooltip_markup, GtkWidget_val, Val_string) ML_2 (gtk_widget_set_tooltip_markup, GtkWidget_val, String_val, Unit) ML_1 (gtk_widget_get_tooltip_text, GtkWidget_val, Val_string) ML_2 (gtk_widget_set_tooltip_text, GtkWidget_val, String_val, Unit) ML_1 (gtk_widget_get_tooltip_window, GtkWidget_val, Val_GtkAny) ML_2 (gtk_widget_set_tooltip_window, GtkWidget_val, GtkWindow_val, Unit) ML_1 (gtk_widget_get_has_tooltip, GtkWidget_val, Val_bool) ML_2 (gtk_widget_set_has_tooltip, GtkWidget_val, Bool_val, Unit) ML_1 (gtk_widget_trigger_tooltip_query, GtkWidget_val, Unit) #else Unsupported_212(gtk_widget_get_tooltip_markup) Unsupported_212(gtk_widget_set_tooltip_markup) Unsupported_212(gtk_widget_get_tooltip_text) Unsupported_212(gtk_widget_set_tooltip_text) Unsupported_212(gtk_widget_get_tooltip_window) Unsupported_212(gtk_widget_set_tooltip_window) Unsupported_212(gtk_widget_get_has_tooltip) Unsupported_212(gtk_widget_set_has_tooltip) Unsupported_212(gtk_widget_trigger_tooltip_query) #endif /* gtkdnd.h */ CAMLprim value ml_gtk_drag_dest_set (value w, value f, value t, value a) { GtkTargetEntry *targets = (GtkTargetEntry *)NULL; int n_targets, i; CAMLparam4 (w,f,t,a); n_targets = Wosize_val(t); if (n_targets) targets = (GtkTargetEntry *) alloc (Wosize_asize(n_targets * sizeof(GtkTargetEntry)), Abstract_tag); for (i=0; i 0) { result = Val_GdkAtom(targets[--n_targets]); new_cell = alloc_small(2,0); Field(new_cell,0) = result; Field(new_cell,1) = last_cell; last_cell = new_cell; } } g_free(targets); CAMLreturn (last_cell); } #else Unsupported_22(gtk_clipboard_wait_for_targets) #endif /* gtkcontainer.h */ #define GtkContainer_val(val) check_cast(GTK_CONTAINER,val) /* properties ML_2 (gtk_container_set_border_width, GtkContainer_val, Int_val, Unit) ML_1 (gtk_container_get_border_width, GtkContainer_val, Val_int) ML_2 (gtk_container_set_resize_mode, GtkContainer_val, Resize_mode_val, Unit) ML_1 (gtk_container_get_resize_mode, GtkContainer_val, Val_resize_mode) */ ML_2 (gtk_container_add, GtkContainer_val, GtkWidget_val, Unit) ML_2 (gtk_container_remove, GtkContainer_val, GtkWidget_val, Unit) ML_1 (gtk_container_check_resize, GtkContainer_val, Unit) ML_4 (gtk_container_child_get_property, GtkContainer_val, GtkWidget_val, String_val, GValue_val, Unit) ML_4 (gtk_container_child_set_property, GtkContainer_val, GtkWidget_val, String_val, GValue_val, Unit) static void ml_gtk_simple_callback (GtkWidget *w, gpointer data) { value val, *clos = (value*)data; val = Val_GtkWidget(w); callback_exn (*clos, val); } CAMLprim value ml_gtk_container_foreach (value w, value clos) { CAMLparam1(clos); gtk_container_foreach (GtkContainer_val(w), ml_gtk_simple_callback, &clos); CAMLreturn(Val_unit); } CAMLprim value ml_gtk_container_forall (value w, value clos) { CAMLparam1(clos); gtk_container_forall (GtkContainer_val(w), ml_gtk_simple_callback, &clos); CAMLreturn(Val_unit); } ML_2 (gtk_container_set_focus_child, GtkContainer_val, GtkWidget_val, Unit) ML_2 (gtk_container_set_focus_vadjustment, GtkContainer_val, GtkAdjustment_val, Unit) ML_2 (gtk_container_set_focus_hadjustment, GtkContainer_val, GtkAdjustment_val, Unit) /* gtkbin.h */ #define GtkBin_val(val) check_cast(GTK_BIN,val) ML_1 (gtk_bin_get_child, GtkBin_val, Val_GtkWidget) /* gtkdialog.h */ static gboolean window_unref (gpointer w) { /* If the window exists, has no parent, is still not visible, and has only two references (mine and toplevel_list), then destroy it. */ if (/* GTK_WINDOW(w)->has_user_ref_count && */ !gtk_widget_in_destruction(w) && !gtk_widget_get_visible(w) && G_OBJECT(w)->ref_count == 2) gtk_widget_destroy ((GtkWidget*)w); g_object_unref((GObject*)w); return 0; } static void window_unref_later (GtkWidget *p) { g_timeout_add_full(G_PRIORITY_HIGH_IDLE, 0, window_unref, (gpointer)(p), NULL); } Make_Val_final_pointer_ext (GtkWidget, _window, g_object_ref, window_unref_later, 20) #define GtkDialog_val(val) check_cast(GTK_DIALOG,val) /* ML_0 (gtk_dialog_new, Val_GtkWidget_window) */ ML_1 (gtk_dialog_get_action_area, GtkDialog_val, Val_GtkWidget) ML_1 (gtk_dialog_get_content_area, GtkDialog_val, Val_GtkWidget) ML_2 (gtk_dialog_response, GtkDialog_val, Int_val, Unit) ML_3 (gtk_dialog_add_button, GtkDialog_val, String_val, Int_val, Unit) ML_3 (gtk_dialog_set_response_sensitive, GtkDialog_val, Int_val, Bool_val, Unit) ML_2 (gtk_dialog_set_default_response, GtkDialog_val, Int_val, Unit) ML_1 (gtk_dialog_run, GtkDialog_val, Val_int) /* gtk_dialog_add_action_widget */ /* gtkorientable.h */ #define GtkOrientable_val(val) check_cast(GTK_ORIENTABLE,val) #define Val_GtkOrientable(val) (Val_GObject((GObject*)val)) ML_1 (gtk_orientable_get_orientation, GtkOrientable_val, Val_orientation) ML_2 (gtk_orientable_set_orientation, GtkOrientable_val, Orientation_val, Unit) /* gtkwindow.h */ ML_1 (gtk_window_new, Window_type_val, Val_GtkWidget_window) /* ML_2 (gtk_window_set_title, GtkWindow_val, String_val, Unit) */ ML_3 (gtk_window_set_wmclass, GtkWindow_val, String_val, String_val, Unit) /* not in 3 Make_Extractor (gtk_window_get, GtkWindow_val, wmclass_name, Val_optstring) Make_Extractor (gtk_window_get, GtkWindow_val, wmclass_class, Val_optstring) */ ML_2 (gtk_window_add_accel_group, GtkWindow_val, GtkAccelGroup_val, Unit) ML_2 (gtk_window_remove_accel_group, GtkWindow_val, GtkAccelGroup_val, Unit) ML_1 (gtk_window_activate_focus, GtkWindow_val, Val_bool) ML_1 (gtk_window_activate_default, GtkWindow_val, Val_bool) CAMLprim value ml_gtk_window_set_geometry_hints ( value win, value pos, value min_size, value max_size, value base_size, value aspect, value resize_inc, value win_gravity, value user_pos, value user_size, value wid ) { GdkWindowHints hints = 0; GdkGeometry geom; if (pos != Val_unit && Field(pos,0) != Val_unit) hints |= GDK_HINT_POS; if (min_size != Val_unit) { hints |= GDK_HINT_MIN_SIZE; geom.min_width = Int_val (Field(Field(min_size,0),0)); geom.min_height = Int_val (Field(Field(min_size,0),1)); } if (max_size != Val_unit) { hints |= GDK_HINT_MAX_SIZE; geom.max_width = Int_val (Field(Field(max_size,0),0)); geom.max_height = Int_val (Field(Field(max_size,0),1)); } if (base_size != Val_unit) { hints |= GDK_HINT_BASE_SIZE; geom.base_width = Int_val (Field(Field(base_size,0),0)); geom.base_height = Int_val (Field(Field(base_size,0),1)); } if (aspect != Val_unit) { hints |= GDK_HINT_ASPECT; geom.min_aspect = Double_val (Field(Field(aspect,0),0)); geom.max_aspect = Double_val (Field(Field(aspect,0),1)); } if (resize_inc != Val_unit) { hints |= GDK_HINT_RESIZE_INC; geom.width_inc = Int_val (Field(Field(resize_inc,0),0)); geom.height_inc = Int_val (Field(Field(resize_inc,0),1)); } if (win_gravity != Val_unit) { hints |= GDK_HINT_WIN_GRAVITY; geom.win_gravity = Gravity_val (Field(win_gravity,0)); } if (user_pos != Val_unit && Field(user_pos,0) != Val_unit) hints |= GDK_HINT_USER_POS; if (user_size != Val_unit && Field(user_size,0) != Val_unit) hints |= GDK_HINT_USER_SIZE; gtk_window_set_geometry_hints (GtkWindow_val(win), GtkWidget_val(wid), &geom, hints); return Val_unit; } ML_bc11 (ml_gtk_window_set_geometry_hints) static value wrap_widget (gpointer arg) { return Val_GtkWidget(arg); } CAMLprim value ml_gtk_window_list_toplevels(value unit) { return Val_GList(gtk_window_list_toplevels(), wrap_widget); } ML_3 (gtk_window_add_mnemonic, GtkWindow_val, Int_val, GtkWidget_val, Unit) ML_3 (gtk_window_remove_mnemonic, GtkWindow_val, Int_val, GtkWidget_val, Unit) ML_3 (gtk_window_mnemonic_activate, GtkWindow_val, Int_val(arg3) Ignore, OptFlags_GdkModifier_val(arg2) Ignore, Unit) ML_1 (gtk_window_get_focus, GtkWindow_val, Val_GtkWidget) ML_2 (gtk_window_set_focus, GtkWindow_val, GtkWidget_val, Unit) ML_2 (gtk_window_set_default, GtkWindow_val, GtkWidget_val, Unit) ML_1 (gtk_window_present, GtkWindow_val, Unit) ML_1 (gtk_window_iconify, GtkWindow_val, Unit) ML_1 (gtk_window_deiconify, GtkWindow_val, Unit) ML_1 (gtk_window_stick, GtkWindow_val, Unit) ML_1 (gtk_window_unstick, GtkWindow_val, Unit) ML_1 (gtk_window_maximize, GtkWindow_val, Unit) ML_1 (gtk_window_unmaximize, GtkWindow_val, Unit) #ifdef HASGTK22 ML_1 (gtk_window_fullscreen, GtkWindow_val, Unit) ML_1 (gtk_window_unfullscreen, GtkWindow_val, Unit) #else Unsupported (gtk_window_fullscreen) Unsupported (gtk_window_unfullscreen) #endif ML_2 (gtk_window_set_decorated, GtkWindow_val, Bool_val, Unit) ML_2 (gtk_window_set_mnemonic_modifier, GtkWindow_val, Flags_GdkModifier_val, Unit) ML_3 (gtk_window_move, GtkWindow_val, Int_val, Int_val, Unit) ML_2 (gtk_window_parse_geometry, GtkWindow_val, String_val, Val_bool) ML_1 (gtk_window_reshow_with_initial_size, GtkWindow_val, Unit) ML_3 (gtk_window_resize, GtkWindow_val, Int_val, Int_val, Unit) ML_2 (gtk_window_set_role, GtkWindow_val, String_val, Unit) ML_1 (gtk_window_get_role, GtkWindow_val, Val_optstring) /* gtkmessagedialog.h */ #define GtkMessageDialog_val(v) check_cast(GTK_MESSAGE_DIALOG,v) ML_4 (gtk_message_dialog_new, Option_val(arg1,GtkWindow_val,NULL) Ignore, Insert(0) Message_type_val, Buttons_type_val, /* The NULL below causes a spurious warning, but is correct */ Insert(String_val(arg4)[0] != 0 ? "%s" : NULL) String_val, Val_GtkWidget_window) /* gtkaboutdialog.h */ #ifdef HASGTK26 static void ml_activate_link_func (GtkAboutDialog *about, const gchar *link, gpointer data) { value v_link, *closure; closure = data; v_link = copy_string (link); callback_exn (*closure, v_link); } /* not in 3 CAMLprim value ml_gtk_about_dialog_set_url_hook (value hook) { gtk_about_dialog_set_url_hook (&ml_activate_link_func, ml_global_root_new (hook), ml_global_root_destroy); return Val_unit; } CAMLprim value ml_gtk_about_dialog_set_email_hook (value hook) { gtk_about_dialog_set_email_hook (&ml_activate_link_func, ml_global_root_new (hook), ml_global_root_destroy); return Val_unit; } */ #define GtkAboutDialog_val(v) (check_cast (GTK_ABOUT_DIALOG, v)) CAMLprim value ml_gtk_about_dialog_set_artists (value dialog, value l) { gchar **s_l = strv_of_string_list (l); gtk_about_dialog_set_artists (GtkAboutDialog_val (dialog), (const gchar **) s_l); g_strfreev (s_l); return Val_unit; } ML_1 (gtk_about_dialog_get_artists, GtkAboutDialog_val, string_list_of_strv) CAMLprim value ml_gtk_about_dialog_set_authors (value dialog, value l) { gchar **s_l = strv_of_string_list (l); gtk_about_dialog_set_authors (GtkAboutDialog_val (dialog), (const gchar **) s_l); g_strfreev (s_l); return Val_unit; } ML_1 (gtk_about_dialog_get_authors, GtkAboutDialog_val, string_list_of_strv) CAMLprim value ml_gtk_about_dialog_set_documenters (value dialog, value l) { gchar **s_l = strv_of_string_list (l); gtk_about_dialog_set_documenters (GtkAboutDialog_val (dialog), (const gchar **) s_l); g_strfreev (s_l); return Val_unit; } ML_1 (gtk_about_dialog_get_documenters, GtkAboutDialog_val, string_list_of_strv) ML_0 (gtk_about_dialog_new, Val_GtkWidget_window) #else Unsupported_26(gtk_about_dialog_set_url_hook) Unsupported_26(gtk_about_dialog_set_email_hook) Unsupported_26(gtk_about_dialog_set_artists) Unsupported_26(gtk_about_dialog_get_artists) Unsupported_26(gtk_about_dialog_set_authors) Unsupported_26(gtk_about_dialog_get_authors) Unsupported_26(gtk_about_dialog_set_documenters) Unsupported_26(gtk_about_dialog_get_documenters) Unsupported_26(gtk_about_dialog_new) #endif /* gtkplug.h */ #if defined(GDK_WINDOWING_WIN32) || defined(GDK_WINDOWING_QUARTZ) Unsupported(gtk_plug_new) #else ML_1 (gtk_plug_new, GdkNativeWindow_val, Val_GtkWidget_window) #endif /* gtksocket.h */ #if defined(GDK_WINDOWING_WIN32) || defined(GDK_WINDOWING_QUARTZ) Unsupported(gtk_socket_steal) #else #define GtkSocket_val(val) check_cast(GTK_SOCKET,val) ML_2 (gtk_socket_add_id, GtkSocket_val, GdkNativeWindow_val, Unit) ML_1 (gtk_socket_get_id, GtkSocket_val, Val_GdkNativeWindow) ML_1 (gtk_socket_get_plug_window, GtkSocket_val, Val_GdkWindow) #endif /* gtkmain.h */ CAMLprim value ml_gtk_init (value argv) { CAMLparam1 (argv); int argc = Wosize_val(argv), i; CAMLlocal1 (copy); copy = (argc ? alloc (argc, Abstract_tag) : Atom(0)); for (i = 0; i < argc; i++) Field(copy,i) = Field(argv,i); if( !gtk_init_check (&argc, (char ***)©) ){ ml_raise_gtk ("ml_gtk_init: initialization failed"); } argv = (argc ? alloc (argc, 0) : Atom(0)); for (i = 0; i < argc; i++) caml_modify(&Field(argv,i), Field(copy,i)); CAMLreturn (argv); } /* not in 3 ML_0 (gtk_set_locale, Val_string) */ ML_0 (gtk_disable_setlocale, Unit) ML_0 (gtk_main, Unit) ML_1 (gtk_main_iteration_do, Bool_val, Val_bool) ML_0 (gtk_main_quit, Unit) ML_1 (gtk_grab_add, GtkWidget_val, Unit) ML_1 (gtk_grab_remove, GtkWidget_val, Unit) ML_0 (gtk_grab_get_current, Val_GtkWidget) CAMLprim value ml_gtk_get_version (value unit) { value ret = alloc_small(3,0); Field(ret,0) = Val_int(gtk_major_version); Field(ret,1) = Val_int(gtk_minor_version); Field(ret,2) = Val_int(gtk_micro_version); return ret; } ML_0 (gtk_get_current_event_time, copy_int32) ML_0 (gtk_get_current_event, Val_GdkEvent) ML_1 (gtk_get_event_widget, GdkEvent_val, Val_GtkWidget) ML_2 (gtk_propagate_event, GtkWidget_val, GdkEvent_val, Unit) /* gtkrc.h */ ML_1 (gtk_rc_add_default_file, String_val, Unit) ML_1 (gtk_rc_parse, String_val, Unit) ML_1 (gtk_rc_parse_string, String_val, Unit) /* gtktooltip.h */ #ifdef HASGTK212 ML_2 (gtk_tooltip_set_markup, GtkTooltip_val, String_val, Unit) ML_2 (gtk_tooltip_set_text, GtkTooltip_val, String_val, Unit) /* Note: gtk_tooltip_set_text duplicates the string */ ML_2 (gtk_tooltip_set_icon, GtkTooltip_val, GdkPixbuf_val, Unit) ML_3 (gtk_tooltip_set_icon_from_stock, GtkTooltip_val, String_val, Icon_size_val, Unit) ML_2 (gtk_tooltip_set_custom, GtkTooltip_val, GtkWidget_val, Unit) ML_1 (gtk_tooltip_trigger_tooltip_query, GdkDisplay_val, Unit) ML_2 (gtk_tooltip_set_tip_area, GtkTooltip_val, GdkRectangle_val, Unit) #else Unsupported_212(gtk_tooltip_set_markup) Unsupported_212(gtk_tooltip_set_text) Unsupported_212(gtk_tooltip_set_icon) Unsupported_212(gtk_tooltip_set_icon_from_stock) Unsupported_212(gtk_tooltip_set_custom) Unsupported_212(gtk_tooltip_trigger_tooltip_query) Unsupported_212(gtk_tooltip_set_tip_area) #endif /* HASGTK212 */ lablgtk-3.1.2/src/ml_gtk.h0000644000650106067230000000572214161276610014223 0ustar glondused/**************************************************************************/ /* 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$ */ /* GObjects */ #define Val_GtkAccelGroup(val) (Val_GObject(&val->parent)) #define Val_GtkStyle(val) (Val_GObject(&val->parent_instance)) #define Val_GtkStyleContext(val) (Val_GObject(&val->parent_object)) #define Val_GtkCssProvider(val) (Val_GObject(&val->parent_instance)) #define GtkAccelGroup_val(val) check_cast(GTK_ACCEL_GROUP,val) #define GtkStyle_val(val) check_cast(GTK_STYLE,val) /* GtkObjects */ #define Val_GtkAny(w) (Val_GObject((GObject*)w)) #define Val_GtkAny_sink(w) (Val_GObject_sink(G_INITIALLY_UNOWNED(w))) #define Val_GtkWidget Val_GtkAny #define Val_GtkWidget_sink Val_GtkAny_sink /* For GList containing widgets */ CAMLexport value Val_GtkWidget_func(gpointer w); #define GtkObject_val(val) check_cast(GTK_OBJECT,val) #define GtkWidget_val(val) check_cast(GTK_WIDGET,val) #define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val) #define GtkItem_val(val) check_cast(GTK_ITEM,val) #define GtkTooltips_val(val) check_cast(GTK_TOOLTIPS,val) #define GtkClipboard_val(val) ((GtkClipboard*)Pointer_val(val)) #define GtkWindow_val(val) check_cast(GTK_WINDOW,val) #define GtkTooltip_val(val) check_cast(GTK_TOOLTIP,val) #define GtkStyleContext_val(val) check_cast(GTK_STYLE_CONTEXT,val) #define GtkCssProvider_val(val) check_cast(GTK_CSS_PROVIDER,val) #define GtkStyleProvider_val(val) check_cast(GTK_STYLE_PROVIDER,val) CAMLprim int Flags_Target_flags_val (value list); lablgtk-3.1.2/src/ml_gtkaction.c0000644000650106067230000002017214161276610015410 0ustar glondused/**************************************************************************/ /* 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$*/ #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gtk.h" #include "gtk_tags.h" CAMLprim value ml_gtkaction_init(value unit) { GType t = #ifdef HASGTK24 gtk_action_get_type () + gtk_toggle_action_get_type () + gtk_radio_action_get_type () + gtk_toggle_action_get_type () + gtk_action_group_get_type () + gtk_ui_manager_get_type () ; #else 0; #endif return Val_GType(t); } #ifdef HASGTK24 #define gobject_list_of_GSList(l) Val_GSList(l, (value_in) Val_GObject) #define gobject_list_of_GSList_free(l) Val_GSList_free (l, (value_in) Val_GObject) #define gobject_list_of_GList(l) Val_GList (l, (value_in) Val_GObject) #define gobject_list_of_GList_free(l) Val_GList_free (l, (value_in) Val_GObject) /* gtkaction.h */ #define GtkAction_val(val) check_cast(GTK_ACTION, val) ML_1 (gtk_action_activate, GtkAction_val, Unit) /*ML_2 (gtk_action_connect_proxy, GtkAction_val, GtkWidget_val, Unit)*/ /*ML_2 (gtk_action_disconnect_proxy, GtkAction_val, GtkWidget_val, Unit)*/ ML_1 (gtk_action_get_proxies, GtkAction_val, gobject_list_of_GSList) ML_1 (gtk_action_connect_accelerator, GtkAction_val, Unit) ML_1 (gtk_action_disconnect_accelerator, GtkAction_val, Unit) ML_2 (gtk_action_set_accel_path, GtkAction_val, String_val, Unit) ML_2 (gtk_action_set_accel_group, GtkAction_val, GtkAccelGroup_val, Unit) ML_1 (gtk_action_is_sensitive, GtkAction_val, Val_bool) ML_1 (gtk_action_is_visible, GtkAction_val, Val_bool) /*ML_2 (gtk_action_block_activate_from, GtkAction_val, GtkWidget_val, Unit)*/ /*ML_2 (gtk_action_unblock_activate_from, GtkAction_val, GtkWidget_val, Unit)*/ /* gtktoggleaction.h */ #define GtkToggleAction_val(val) check_cast(GTK_TOGGLE_ACTION, val) ML_1 (gtk_toggle_action_toggled, GtkToggleAction_val, Unit) ML_2 (gtk_toggle_action_set_active, GtkToggleAction_val, Bool_val, Unit) ML_1 (gtk_toggle_action_get_active, GtkToggleAction_val, Val_bool) /* gtkradioaction.h */ #define GtkRadioAction_val(val) check_cast(GTK_RADIO_ACTION, val) CAMLprim value ml_gtk_radio_action_set_group(value ac, value grp) { GtkRadioAction *grp_ac = Option_val(grp, GtkRadioAction_val, NULL); GSList *slist = grp_ac ? gtk_radio_action_get_group(grp_ac) : NULL; gtk_radio_action_set_group(GtkRadioAction_val(ac), slist); return Val_unit; } ML_1 (gtk_radio_action_get_current_value, GtkRadioAction_val, Val_int) /* gtkactiongroup.h */ #define GtkActionGroup_val(val) check_cast(GTK_ACTION_GROUP, val) ML_2 (gtk_action_group_get_action, GtkActionGroup_val, String_val, Val_GAnyObject) ML_1 (gtk_action_group_list_actions, GtkActionGroup_val, gobject_list_of_GList_free) ML_2 (gtk_action_group_add_action, GtkActionGroup_val, GtkAction_val, Unit) ML_3 (gtk_action_group_add_action_with_accel, GtkActionGroup_val, GtkAction_val, String_option_val, Unit) ML_2 (gtk_action_group_remove_action, GtkActionGroup_val, GtkAction_val, Unit) /* gtkuimanager.h */ #define GtkUIManager_val(val) check_cast(GTK_UI_MANAGER, val) ML_3 (gtk_ui_manager_insert_action_group, GtkUIManager_val, GtkActionGroup_val, Int_val, Unit) ML_2 (gtk_ui_manager_remove_action_group, GtkUIManager_val, GtkActionGroup_val, Unit) ML_1 (gtk_ui_manager_get_action_groups, GtkUIManager_val, gobject_list_of_GList) ML_1 (gtk_ui_manager_get_accel_group, GtkUIManager_val, Val_GtkAccelGroup) CAMLprim value ml_gtk_ui_manager_get_widget (value m, value n) { GtkWidget *w = gtk_ui_manager_get_widget (GtkUIManager_val(m), String_val(n)); if (w == NULL) raise_not_found(); return Val_GAnyObject(w); } CAMLprim value ml_gtk_ui_manager_get_action (value m, value n) { GtkAction *a = gtk_ui_manager_get_action (GtkUIManager_val(m), String_val(n)); if (a == NULL) raise_not_found(); return Val_GAnyObject(a); } CAMLprim value ml_gtk_ui_manager_add_ui_from_string(value uim, value s) { GError *error = NULL; guint id; id = gtk_ui_manager_add_ui_from_string(GtkUIManager_val(uim), String_val(s), string_length(s), &error); if (error != NULL) ml_raise_gerror (error); return Val_int(id); } CAMLprim value ml_gtk_ui_manager_add_ui_from_file(value uim, value s) { GError *error = NULL; guint id; id = gtk_ui_manager_add_ui_from_file(GtkUIManager_val(uim), String_val(s), &error); if (error != NULL) ml_raise_gerror (error); return Val_int(id); } ML_2 (gtk_ui_manager_remove_ui, GtkUIManager_val, Int_val, Unit) ML_1 (gtk_ui_manager_ensure_update, GtkUIManager_val, Unit) ML_1 (gtk_ui_manager_new_merge_id, GtkUIManager_val, Val_int) ML_7 (gtk_ui_manager_add_ui, GtkUIManager_val, Int_val, String_val, String_val, String_option_val, Ui_manager_item_type_val, Bool_val, Unit) ML_bc7(ml_gtk_ui_manager_add_ui) Make_Flags_val(Ui_manager_item_type_val) ML_2 (gtk_ui_manager_get_toplevels, GtkUIManager_val, Flags_Ui_manager_item_type_val, gobject_list_of_GSList_free) #else /* HASGTK24 */ Unsupported_24(gtk_action_activate) Unsupported_24(gtk_action_connect_proxy) Unsupported_24(gtk_action_disconnect_proxy) Unsupported_24(gtk_action_get_proxies) Unsupported_24(gtk_action_connect_accelerator) Unsupported_24(gtk_action_disconnect_accelerator) Unsupported_24(gtk_action_set_accel_path) Unsupported_24(gtk_action_set_accel_group) Unsupported_24(gtk_action_is_sensitive) Unsupported_24(gtk_action_is_visible) Unsupported_24(gtk_action_block_activate_from) Unsupported_24(gtk_action_unblock_activate_from) Unsupported_24(gtk_toggle_action_toggled) Unsupported_24(gtk_toggle_action_set_active) Unsupported_24(gtk_toggle_action_get_active) Unsupported_24(gtk_radio_action_set_group) Unsupported_24(gtk_radio_action_get_current_value) Unsupported_24(gtk_action_group_get_action) Unsupported_24(gtk_action_group_list_actions) Unsupported_24(gtk_action_group_add_action) Unsupported_24(gtk_action_group_add_action_with_accel) Unsupported_24(gtk_action_group_remove_action) Unsupported_24(gtk_ui_manager_insert_action_group) Unsupported_24(gtk_ui_manager_remove_action_group) Unsupported_24(gtk_ui_manager_get_action_groups) Unsupported_24(gtk_ui_manager_get_accel_group) Unsupported_24(gtk_ui_manager_get_widget) Unsupported_24(gtk_ui_manager_get_toplevels) Unsupported_24(gtk_ui_manager_get_action) Unsupported_24(gtk_ui_manager_add_ui_from_string) Unsupported_24(gtk_ui_manager_add_ui_from_file) Unsupported_24(gtk_ui_manager_remove_ui) Unsupported_24(gtk_ui_manager_ensure_update) Unsupported_24(gtk_ui_manager_add_ui) Unsupported_24(gtk_ui_manager_add_ui_bc) Unsupported_24(gtk_ui_manager_new_merge_id) Unsupported_24(gtk_ui_manager_new_merge_id_bc) #endif /* HASGTK24 */ lablgtk-3.1.2/src/ml_gtkassistant.c0000644000650106067230000001267714161276610016157 0ustar glondused/**************************************************************************/ /* 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: ml_gtkbutton.c 1347 2007-06-20 07:40:34Z guesdon $ */ #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "ml_gdkpixbuf.h" #include "gtk_tags.h" /* Init all */ CAMLprim value ml_gtkassistant_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = #ifdef HASGTK210 gtk_assistant_get_type () + #endif 0; return Val_GType(t); } /* gtkassistant.h */ #ifdef HASGTK210 #define GtkAssistant_val(val) check_cast(GTK_ASSISTANT,val) ML_1(gtk_assistant_update_buttons_state, GtkAssistant_val,Unit) ML_2(gtk_assistant_remove_action_widget, GtkAssistant_val, GtkWidget_val, Unit) ML_2(gtk_assistant_add_action_widget, GtkAssistant_val, GtkWidget_val, Unit) ML_2(gtk_assistant_get_page_complete,GtkAssistant_val, GtkWidget_val, Val_bool) ML_3(gtk_assistant_set_page_complete,GtkAssistant_val, GtkWidget_val, Bool_val, Unit) ML_2(gtk_assistant_get_page_side_image, GtkAssistant_val, GtkWidget_val, Val_GdkPixbuf) ML_3(gtk_assistant_set_page_side_image, GtkAssistant_val, GtkWidget_val, GdkPixbuf_val, Unit) ML_2(gtk_assistant_get_page_header_image, GtkAssistant_val, GtkWidget_val, Val_GdkPixbuf) ML_3(gtk_assistant_set_page_header_image, GtkAssistant_val, GtkWidget_val, GdkPixbuf_val, Unit) ML_2(gtk_assistant_get_page_title, GtkAssistant_val, GtkWidget_val, Val_string) ML_3(gtk_assistant_set_page_title, GtkAssistant_val, GtkWidget_val, String_val, Unit) ML_2(gtk_assistant_get_page_type, GtkAssistant_val, GtkWidget_val, Val_assistant_page_type) ML_3(gtk_assistant_set_page_type, GtkAssistant_val, GtkWidget_val, Assistant_page_type_val, Unit) ML_3(gtk_assistant_insert_page, GtkAssistant_val, GtkWidget_val, Int_val, Val_int) ML_2(gtk_assistant_get_nth_page, GtkAssistant_val, Int_val, Val_GtkWidget) ML_1(gtk_assistant_get_n_pages, GtkAssistant_val, Val_int) ML_1(gtk_assistant_get_current_page, GtkAssistant_val, Val_int) ML_2(gtk_assistant_set_current_page, GtkAssistant_val, Int_val,Unit) // Untested code: static gint ml_g_assistant_page_func(gint current_page, gpointer user_data) { value *clos = user_data; CAMLparam0(); CAMLlocal1(ret); ret = callback_exn(*clos, Val_int(current_page)); if (Is_exception_result(ret)) { CAML_EXN_LOG("gtk_assistant_page_function"); } CAMLreturn(ret); } CAMLprim value ml_gtk_assistant_set_forward_page_func (value assistant, value clos) { value *clos_p = ml_global_root_new (clos); gtk_assistant_set_forward_page_func((GtkAssistant*)Val_GtkAny(assistant), ml_g_assistant_page_func, clos_p, ml_global_root_destroy); return Val_unit; } #else Unsupported_210(gtk_assistant_update_buttons_state) Unsupported_210(gtk_assistant_remove_action_widget) Unsupported_210(gtk_assistant_add_action_widget) Unsupported_210(gtk_assistant_get_page_complete) Unsupported_210(gtk_assistant_set_page_complete) Unsupported_210(gtk_assistant_get_page_side_image) Unsupported_210(gtk_assistant_set_page_side_image) Unsupported_210(gtk_assistant_get_page_header_image) Unsupported_210(gtk_assistant_set_page_header_image) Unsupported_210(gtk_assistant_get_page_title) Unsupported_210(gtk_assistant_set_page_title) Unsupported_210(gtk_assistant_get_page_type) Unsupported_210(gtk_assistant_set_page_type) Unsupported_210(gtk_assistant_insert_page) Unsupported_210(gtk_assistant_get_nth_page) Unsupported_210(gtk_assistant_get_n_pages) Unsupported_210(gtk_assistant_get_current_page) Unsupported_210(gtk_assistant_set_current_page) Unsupported_210(gtk_assistant_set_forward_page_func) #endif lablgtk-3.1.2/src/ml_gtkbin.c0000644000650106067230000001362214161276610014705 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "gtk_tags.h" /* Init all */ CAMLprim value ml_gtkbin_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_alignment_get_type() + gtk_event_box_get_type() + gtk_invisible_get_type() + gtk_frame_get_type() + gtk_aspect_frame_get_type() + gtk_handle_box_get_type() + gtk_viewport_get_type() + gtk_scrolled_window_get_type() #ifdef HASGTK24 + gtk_expander_get_type() #endif ; return Val_GType(t); } /* gtkalignment.h */ /* #define GtkAlignment_val(val) check_cast(GTK_ALIGNMENT,val) ML_4 (gtk_alignment_new, Float_val, Float_val, Float_val, Float_val, Val_GtkWidget_sink) CAMLprim value ml_gtk_alignment_set (value x, value y, value xscale, value yscale, value val) { GtkAlignment *alignment = GtkAlignment_val(val); gtk_alignment_set (alignment, Option_val(x, Float_val, alignment->xalign), Option_val(y, Float_val, alignment->yalign), Option_val(xscale, Float_val, alignment->xscale), Option_val(yscale, Float_val, alignment->xscale)); return Val_unit; } */ /* gtkeventbox.h */ /* gtkframe.h */ /* gtkaspectframe.h */ /* #define GtkAspectFrame_val(val) check_cast(GTK_ASPECT_FRAME,val) ML_5 (gtk_aspect_frame_new, Optstring_val, Float_val, Float_val, Float_val, Bool_val, Val_GtkWidget_sink) ML_5 (gtk_aspect_frame_set, GtkAspectFrame_val, Float_val, Float_val, Float_val, Bool_val, Unit) Make_Extractor (gtk_aspect_frame_get, GtkAspectFrame_val, xalign, copy_double) Make_Extractor (gtk_aspect_frame_get, GtkAspectFrame_val, yalign, copy_double) Make_Extractor (gtk_aspect_frame_get, GtkAspectFrame_val, ratio, copy_double) Make_Extractor (gtk_aspect_frame_get, GtkAspectFrame_val, obey_child, Val_bool) */ /* gtkhandlebox.h */ /* #define GtkHandleBox_val(val) check_cast(GTK_HANDLE_BOX,val) ML_0 (gtk_handle_box_new, Val_GtkWidget_sink) ML_2 (gtk_handle_box_set_shadow_type, GtkHandleBox_val, Shadow_type_val, Unit) ML_2 (gtk_handle_box_set_handle_position, GtkHandleBox_val, Position_type_val, Unit) ML_2 (gtk_handle_box_set_snap_edge, GtkHandleBox_val, Position_type_val, Unit) */ /* gtkinvisible.h */ /* private class ML_0 (gtk_invisible_new, Val_GtkWidget_sink) */ /* gtkviewport.h */ /* #define GtkViewport_val(val) check_cast(GTK_VIEWPORT,val) ML_2 (gtk_viewport_new, GtkAdjustment_val, GtkAdjustment_val, Val_GtkWidget_sink) ML_1 (gtk_viewport_get_hadjustment, GtkViewport_val, Val_GtkWidget_sink) ML_1 (gtk_viewport_get_vadjustment, GtkViewport_val, Val_GtkWidget) ML_2 (gtk_viewport_set_hadjustment, GtkViewport_val, GtkAdjustment_val, Unit) ML_2 (gtk_viewport_set_vadjustment, GtkViewport_val, GtkAdjustment_val, Unit) ML_2 (gtk_viewport_set_shadow_type, GtkViewport_val, Shadow_type_val, Unit) */ /* gtkscrolledwindow.h */ #define GtkScrolledWindow_val(val) check_cast(GTK_SCROLLED_WINDOW,val) /* ML_2 (gtk_scrolled_window_new, GtkAdjustment_val ,GtkAdjustment_val, Val_GtkWidget_sink) ML_2 (gtk_scrolled_window_set_hadjustment, GtkScrolledWindow_val , GtkAdjustment_val, Unit) ML_2 (gtk_scrolled_window_set_vadjustment, GtkScrolledWindow_val , GtkAdjustment_val, Unit) ML_1 (gtk_scrolled_window_get_hadjustment, GtkScrolledWindow_val, Val_GtkWidget) ML_1 (gtk_scrolled_window_get_vadjustment, GtkScrolledWindow_val, Val_GtkWidget) ML_3 (gtk_scrolled_window_set_policy, GtkScrolledWindow_val, Policy_type_val, Policy_type_val, Unit) ML_2 (gtk_scrolled_window_set_shadow_type, GtkScrolledWindow_val, Shadow_type_val, Unit) ML_1 (gtk_scrolled_window_get_shadow_type, GtkScrolledWindow_val, Val_shadow_type) Make_Extractor (gtk_scrolled_window_get, GtkScrolledWindow_val, hscrollbar_policy, Val_policy_type) Make_Extractor (gtk_scrolled_window_get, GtkScrolledWindow_val, vscrollbar_policy, Val_policy_type) ML_2 (gtk_scrolled_window_set_placement, GtkScrolledWindow_val, Corner_type_val, Unit) */ ML_2 (gtk_scrolled_window_add_with_viewport, GtkScrolledWindow_val, GtkWidget_val, Unit) lablgtk-3.1.2/src/ml_gtkbuilder.c0000644000650106067230000000720614161276610015564 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "gtk_tags.h" /* Init all */ CAMLprim value ml_gtkbuilder_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_builder_get_type(); return Val_GType(t); } #define GtkBuilder_val(val) check_cast(GTK_BUILDER,val) //#define GtkBuilder_val(val) ((GtkBuilder*)Pointer_val(val)) #define Val_GtkBuilder(val) Val_GObject((GObject*)val) ML_0 (gtk_builder_new, Val_GtkBuilder) ML_1 (gtk_builder_new_from_file, String_val, Val_GtkBuilder) ML_2 (gtk_builder_get_object, GtkBuilder_val, String_val, Val_GObject) CAMLprim value ml_gtk_builder_new_from_string(value s) { GtkBuilder *res = gtk_builder_new_from_string(String_val(s),-1); return Val_GtkBuilder(res); } CAMLprim value ml_gtk_builder_add_from_file(value w, value f) { GError *err = NULL; gtk_builder_add_from_file(GtkBuilder_val(w), String_val(f), &err); if (err) ml_raise_gerror(err); return Val_unit; } CAMLprim value ml_gtk_builder_add_from_string(value w, value s) { GError *err = NULL; gtk_builder_add_from_string(GtkBuilder_val(w), String_val(s), -1, &err); if (err) ml_raise_gerror(err); return Val_unit; } CAMLprim value ml_gtk_builder_add_objects_from_file(value w, value f, value l) { GError *err = NULL; gchar **s_l = strv_of_string_list (l); gtk_builder_add_objects_from_file(GtkBuilder_val(w), String_val(f), (gchar **) s_l, &err); g_strfreev (s_l); if (err) ml_raise_gerror(err); return Val_unit; } CAMLprim value ml_gtk_builder_add_objects_from_string(value w, value s, value l) { GError *err = NULL; gchar **s_l = strv_of_string_list (l); gtk_builder_add_objects_from_string(GtkBuilder_val(w), String_val(s), -1, (gchar **) s_l, &err); g_strfreev (s_l); if (err) ml_raise_gerror(err); return Val_unit; } lablgtk-3.1.2/src/ml_gtkbutton.c0000644000650106067230000001701014161276610015443 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "gtk_tags.h" /* Init all */ CAMLprim value ml_gtkbutton_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_button_get_type() + gtk_check_button_get_type() + gtk_toggle_button_get_type() + gtk_radio_button_get_type() + gtk_toolbar_get_type() + #ifdef HASGTK24 gtk_color_button_get_type() + gtk_font_button_get_type() + gtk_tool_item_get_type() + gtk_separator_tool_item_get_type() + gtk_tool_button_get_type() + gtk_toggle_tool_button_get_type() + gtk_radio_tool_button_get_type() + #endif #ifdef HASGTK26 gtk_menu_tool_button_get_type() + #endif #ifdef HASGTK210 gtk_link_button_get_type () + #endif #ifdef HASGTK212 gtk_scale_button_get_type () + #endif 0; return Val_GType(t); } /* gtkbutton.h */ #define GtkButton_val(val) check_cast(GTK_BUTTON,val) /* ML_0 (gtk_button_new, Val_GtkWidget_sink) ML_1 (gtk_butTon_new_with_label, String_val, Val_GtkWidget_sink) ML_1 (gtk_button_new_with_mnemonic, String_val, Val_GtkWidget_sink) ML_1 (gtk_button_new_from_stock, String_val, Val_GtkWidget_sink) */ ML_1 (gtk_button_pressed, GtkButton_val, Unit) ML_1 (gtk_button_released, GtkButton_val, Unit) ML_1 (gtk_button_clicked, GtkButton_val, Unit) ML_1 (gtk_button_enter, GtkButton_val, Unit) ML_1 (gtk_button_leave, GtkButton_val, Unit) /* properties ML_2 (gtk_button_set_relief, GtkButton_val, Relief_style_val, Unit) ML_1 (gtk_button_get_relief, GtkButton_val, Val_relief_style) ML_2 (gtk_button_set_label, GtkButton_val, String_val, Unit) ML_1 (gtk_button_get_label, GtkButton_val, Val_optstring) */ /* gtktogglebutton.h */ #define GtkToggleButton_val(val) check_cast(GTK_TOGGLE_BUTTON,val) /* ML_0 (gtk_toggle_button_new, Val_GtkWidget_sink) ML_1 (gtk_toggle_button_new_with_label, String_val, Val_GtkWidget_sink) ML_1 (gtk_toggle_button_new_with_mnemonic, String_val, Val_GtkWidget_sink) ML_2 (gtk_toggle_button_set_mode, GtkToggleButton_val, Bool_val, Unit) ML_2 (gtk_toggle_button_set_active, GtkToggleButton_val, Bool_val, Unit) */ ML_1 (gtk_toggle_button_toggled, GtkToggleButton_val, Unit) /* gtkcheckbutton.h */ /* #define GtkCheckButton_val(val) check_cast(GTK_CHECK_BUTTON,val) ML_0 (gtk_check_button_new, Val_GtkWidget_sink) ML_1 (gtk_check_button_new_with_label, String_val, Val_GtkWidget_sink) ML_1 (gtk_check_button_new_with_mnemonic, String_val, Val_GtkWidget_sink) */ /* gtkradiobutton.h */ /* #define GtkRadioButton_val(val) check_cast(GTK_RADIO_BUTTON,val) static GSList* button_group_val(value val) { return (val == Val_unit ? NULL : gtk_radio_button_group(GtkRadioButton_val(Field(val,0)))); } ML_1 (gtk_radio_button_new, button_group_val, Val_GtkWidget_sink) ML_2 (gtk_radio_button_new_with_label, button_group_val, String_val, Val_GtkWidget_sink) ML_2 (gtk_radio_button_new_with_mnemonic, button_group_val, String_val, Val_GtkWidget_sink) ML_2 (gtk_radio_button_set_group, GtkRadioButton_val, button_group_val, Unit) */ /* gtktoolbar.h */ #define GtkToolbar_val(val) check_cast(GTK_TOOLBAR,val) #define GtkToolItem_val(val) check_cast(GTK_TOOL_ITEM,val) /* ML_0 (gtk_toolbar_new, Val_GtkWidget_sink) */ ML_1 (gtk_toolbar_unset_style, GtkToolbar_val, Unit) ML_3 (gtk_toolbar_insert, GtkToolbar_val, GtkToolItem_val, Int_val, Unit) ML_2 (gtk_toolbar_get_item_index, GtkToolbar_val, GtkToolItem_val, Val_int) ML_1 (gtk_toolbar_get_n_items, GtkToolbar_val, Val_int) ML_2 (gtk_toolbar_get_nth_item, GtkToolbar_val, Int_val, Val_GtkWidget) ML_3 (gtk_toolbar_get_drop_index, GtkToolbar_val, Int_val, Int_val, Val_int) #define OptGtkToolItem_val(i) Option_val(i,GtkToolItem_val,NULL) ML_3 (gtk_toolbar_set_drop_highlight_item, GtkToolbar_val, OptGtkToolItem_val, Int_val, Unit) ML_1 (gtk_toolbar_get_relief_style, GtkToolbar_val, Val_relief_style) /* gtktoolitem.h */ ML_2 (gtk_tool_item_set_homogeneous, GtkToolItem_val, Bool_val, Unit) ML_1 (gtk_tool_item_get_homogeneous, GtkToolItem_val, Val_bool) ML_2 (gtk_tool_item_set_expand, GtkToolItem_val, Bool_val, Unit) ML_1 (gtk_tool_item_get_expand, GtkToolItem_val, Val_bool) ML_2 (gtk_tool_item_set_use_drag_window, GtkToolItem_val, Bool_val, Unit) ML_1 (gtk_tool_item_get_use_drag_window, GtkToolItem_val, Val_bool) /* not in 3 ML_4 (gtk_tool_item_set_tooltip, GtkToolItem_val, GtkTooltips_val, String_val, String_val, Unit) */ #define GtkToggleToolButton_val(val) check_cast(GTK_TOGGLE_TOOL_BUTTON,val) ML_2 (gtk_toggle_tool_button_set_active, GtkToggleToolButton_val, Bool_val, Unit) ML_1 (gtk_toggle_tool_button_get_active, GtkToggleToolButton_val, Val_bool) #define GtkMenuToolButton_val(val) check_cast(GTK_MENU_TOOL_BUTTON,val) ML_2 (gtk_menu_tool_button_set_arrow_tooltip_text, GtkMenuToolButton_val, String_val, Unit) ML_2 (gtk_menu_tool_button_set_arrow_tooltip_markup, GtkMenuToolButton_val, String_val, Unit) /* gtklinkbutton.h */ ML_1(gtk_link_button_new, String_val, Val_GtkWidget_sink) ML_2(gtk_link_button_new_with_label, String_val, String_val, Val_GtkWidget_sink) /* not in 3 static void ml_g_link_button_func(GtkLinkButton *button, const gchar *link, gpointer user_data) { value *clos = user_data; CAMLparam0(); CAMLlocal2(ml_link,ret); ml_link = Val_string(link); ret = callback2_exn(*clos, Val_GtkWidget(button),ml_link); if (Is_exception_result(ret)) { CAML_EXN_LOG("gtk_link_button_func"); } CAMLreturn0; } CAMLprim value ml_gtk_link_button_set_uri_hook (value clos) { value *clos_p = ml_global_root_new (clos); gtk_link_button_set_uri_hook (ml_g_link_button_func, clos_p, ml_global_root_destroy); return Val_unit; } */ lablgtk-3.1.2/src/ml_gtkedit.c0000644000650106067230000002213514161276610015061 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "gtk_tags.h" #include "ml_gtktree.h" /* Init all */ CAMLprim value ml_gtkedit_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_spin_button_get_type() + gtk_combo_box_get_type() + gtk_combo_box_text_get_type() + gtk_entry_completion_get_type(); return Val_GType(t); } /* gtkeditable.h */ #define GtkEditable_val(val) check_cast(GTK_EDITABLE,val) ML_3 (gtk_editable_select_region, GtkEditable_val, Int_val, Int_val, Unit) CAMLprim value ml_gtk_editable_get_selection_bounds(value w) { int start, end; CAMLparam1(w); CAMLlocal1(tmp); value res = Val_unit; if (gtk_editable_get_selection_bounds(GtkEditable_val(w), &start, &end)) { tmp = alloc_small(2,0); Field(tmp,0) = Val_int(start); Field(tmp,1) = Val_int(end); res = alloc_small(1,0); Field(res,0) = tmp; } CAMLreturn(res); } CAMLprim value ml_gtk_editable_insert_text (value w, value s, value pos) { int position = Int_val(pos); gtk_editable_insert_text (GtkEditable_val(w), String_val(s), string_length(s), &position); return Val_int(position); } ML_3 (gtk_editable_delete_text, GtkEditable_val, Int_val, Int_val, Unit) ML_3 (gtk_editable_get_chars, GtkEditable_val, Int_val, Int_val, copy_string_g_free) ML_1 (gtk_editable_cut_clipboard, GtkEditable_val, Unit) ML_1 (gtk_editable_copy_clipboard, GtkEditable_val, Unit) ML_1 (gtk_editable_paste_clipboard, GtkEditable_val, Unit) ML_1 (gtk_editable_delete_selection, GtkEditable_val, Unit) ML_2 (gtk_editable_set_position, GtkEditable_val, Int_val, Unit) ML_1 (gtk_editable_get_position, GtkEditable_val, Val_int) ML_2 (gtk_editable_set_editable, GtkEditable_val, Bool_val, Unit) ML_1 (gtk_editable_get_editable, GtkEditable_val, Val_bool) /* gtkentry.h */ /* only properties */ #define GtkEntry_val(val) check_cast(GTK_ENTRY,val) /* ML_0 (gtk_entry_new, Val_GtkWidget_sink) ML_1 (gtk_entry_new_with_max_length, (gint16)Long_val, Val_GtkWidget_sink) ML_2 (gtk_entry_set_text, GtkEntry_val, String_val, Unit) ML_1 (gtk_entry_get_text, GtkEntry_val, Val_string) ML_3 (gtk_entry_select_region, GtkEntry_val, Int_val, Int_val, Unit) ML_2 (gtk_entry_set_visibility, GtkEntry_val, Bool_val, Unit) ML_2 (gtk_entry_set_max_length, GtkEntry_val, (gint16)Long_val, Unit) */ /* gtkspinbutton.h */ #define GtkSpinButton_val(val) check_cast(GTK_SPIN_BUTTON,val) /* ML_3 (gtk_spin_button_new, GtkAdjustment_val, Float_val, Int_val, Val_GtkWidget_sink) ML_2 (gtk_spin_button_set_adjustment, GtkSpinButton_val, GtkAdjustment_val, Unit) ML_1 (gtk_spin_button_get_adjustment, GtkSpinButton_val, Val_GtkAny) ML_2 (gtk_spin_button_set_digits, GtkSpinButton_val, Int_val, Unit) ML_1 (gtk_spin_button_get_value_as_float, GtkSpinButton_val, copy_double) ML_2 (gtk_spin_button_set_value, GtkSpinButton_val, Float_val, Unit) ML_2 (gtk_spin_button_set_update_policy, GtkSpinButton_val, Spin_button_update_policy_val, Unit) ML_2 (gtk_spin_button_set_numeric, GtkSpinButton_val, Bool_val, Unit) ML_2 (gtk_spin_button_set_wrap, GtkSpinButton_val, Bool_val, Unit) ML_2 (gtk_spin_button_set_snap_to_ticks, GtkSpinButton_val, Bool_val, Unit) ML_4 (gtk_spin_button_configure, GtkSpinButton_val, GtkAdjustment_val, Float_val, Int_val, Unit) */ ML_2 (gtk_spin_button_spin, GtkSpinButton_val, Insert (Is_long(arg2) ? Spin_type_val(arg2) : GTK_SPIN_USER_DEFINED) (Is_long(arg2) ? 0.0 : Float_val(Field(arg2,1))) Ignore, Unit) ML_1 (gtk_spin_button_update, GtkSpinButton_val, Unit) /* gtktext.h */ /* #define GtkText_val(val) check_cast(GTK_TEXT,val) ML_2 (gtk_text_new, GtkAdjustment_val, GtkAdjustment_val, Val_GtkWidget_sink) ML_2 (gtk_text_set_word_wrap, GtkText_val, Bool_val, Unit) ML_2 (gtk_text_set_line_wrap, GtkText_val, Bool_val, Unit) ML_3 (gtk_text_set_adjustments, GtkText_val, Option_val(arg2,GtkAdjustment_val,GtkText_val(arg1)->hadj) Ignore, Option_val(arg3,GtkAdjustment_val,GtkText_val(arg1)->vadj) Ignore, Unit) Make_Extractor (gtk_text_get, GtkText_val, hadj, Val_GtkWidget) Make_Extractor (gtk_text_get, GtkText_val, vadj, Val_GtkWidget) ML_2 (gtk_text_set_point, GtkText_val, Int_val, Unit) ML_1 (gtk_text_get_point, GtkText_val, Val_int) ML_1 (gtk_text_get_length, GtkText_val, Val_int) ML_1 (gtk_text_freeze, GtkText_val, Unit) ML_1 (gtk_text_thaw, GtkText_val, Unit) CAMLprim value ml_gtk_text_insert (value text, value font, value fore, value back, value str) { gtk_text_insert (GtkText_val(text), Option_val(font,GdkFont_val,NULL), Option_val(fore,GdkColor_val,NULL), Option_val(back,GdkColor_val,NULL), String_val(str), string_length(str)); return Val_unit; } ML_2 (gtk_text_forward_delete, GtkText_val, Int_val, Val_int) ML_2 (gtk_text_backward_delete, GtkText_val, Int_val, Val_int) */ /* gtkcombobox.h */ #define GtkComboBox_val(val) check_cast(GTK_COMBO_BOX,val) CAMLprim value ml_gtk_combo_box_get_active_iter(value combo) { GtkTreeIter it; if (! gtk_combo_box_get_active_iter(GtkComboBox_val(combo), &it)) return Val_unit; return ml_some(Val_GtkTreeIter(&it)); } ML_2(gtk_combo_box_set_active_iter, GtkComboBox_val, GtkTreeIter_optval, Unit) /* gtkentrycompletion.h */ #define GtkEntryCompletion_val(val) check_cast(GTK_ENTRY_COMPLETION,val) ML_1(gtk_entry_completion_get_entry,GtkEntryCompletion_val,Val_GtkWidget) ML_1(gtk_entry_completion_complete,GtkEntryCompletion_val,Unit) ML_3(gtk_entry_completion_insert_action_text,GtkEntryCompletion_val,Int_val,String_val,Unit) ML_3(gtk_entry_completion_insert_action_markup,GtkEntryCompletion_val,Int_val,String_val,Unit) ML_2(gtk_entry_completion_delete_action,GtkEntryCompletion_val,Int_val,Unit) ML_2(gtk_entry_completion_set_text_column,GtkEntryCompletion_val,Int_val,Unit) static gboolean ml_gtk_entry_completion_match_func (GtkEntryCompletion *completion, const gchar *key, GtkTreeIter *iter, gpointer user_data) { value *closure = user_data; CAMLparam0(); CAMLlocal3(vkey, viter, vret); vkey = copy_string(key); viter = Val_GtkTreeIter(iter); vret = callback2_exn(*closure, vkey, viter); if (Is_exception_result(vret)) CAMLreturn(FALSE); CAMLreturn(Bool_val(vret)); } CAMLprim value ml_gtk_entry_completion_set_match_func(value compl, value cb) { value *closure = ml_global_root_new(cb); gtk_entry_completion_set_match_func(GtkEntryCompletion_val(compl), ml_gtk_entry_completion_match_func, closure, ml_global_root_destroy); return Val_unit; } ML_2 (gtk_entry_set_completion, GtkEntry_val, GtkEntryCompletion_val, Unit) CAMLprim value ml_gtk_entry_get_completion(value entry) { GtkEntryCompletion *c = gtk_entry_get_completion(GtkEntry_val(entry)); return c ? ml_some(Val_GAnyObject(c)) : Val_unit; } CAMLprim value ml_gtk_combo_box_set_row_separator_func (value cb, value fun_o) { gpointer data; GDestroyNotify dnotify; GtkTreeViewRowSeparatorFunc func; if (Is_long (fun_o)) { data = NULL; dnotify = NULL; func = NULL; } else { data = ml_global_root_new (Field (fun_o, 0)); dnotify = ml_global_root_destroy; func = ml_gtk_row_separator_func; } gtk_combo_box_set_row_separator_func (GtkComboBox_val (cb), func, data, dnotify); return Val_unit; } lablgtk-3.1.2/src/ml_gtkfile.c0000644000650106067230000002076614161276610015063 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gtk.h" #include "gtk_tags.h" CAMLprim value ml_gtkfile_init(value unit) { #ifdef HASGTK24 GType t = #ifdef HASGTK26 gtk_file_chooser_button_get_type () + #endif gtk_file_chooser_dialog_get_type () + gtk_file_chooser_widget_get_type (); ml_register_exn_map (GTK_FILE_CHOOSER_ERROR, "gtk_file_chooser_error"); return Val_GType(t); #else return Val_unit; #endif } #ifdef HASGTK24 #define GtkFileChooser_val(val) check_cast(GTK_FILE_CHOOSER,val) static value some_string_and_free(gchar *s) { value v = s ? ml_some(copy_string(s)) : Val_unit; g_free(s); return v; } #define string_list_of_GSList(l) Val_GSList_free(l, (value_in) copy_string_g_free) #define widget_list_of_GSList(l) Val_GSList_free(l, (value_in) Val_GObject) ML_2 (gtk_file_chooser_set_current_name, GtkFileChooser_val, String_val, Unit) ML_1 (gtk_file_chooser_get_filename, GtkFileChooser_val, some_string_and_free) ML_2 (gtk_file_chooser_set_filename, GtkFileChooser_val, String_val, Val_bool) ML_2 (gtk_file_chooser_select_filename, GtkFileChooser_val, String_val, Val_bool) ML_2 (gtk_file_chooser_unselect_filename, GtkFileChooser_val, String_val, Unit) ML_1 (gtk_file_chooser_select_all, GtkFileChooser_val, Unit) ML_1 (gtk_file_chooser_unselect_all, GtkFileChooser_val, Unit) ML_1 (gtk_file_chooser_get_filenames, GtkFileChooser_val, string_list_of_GSList) ML_2 (gtk_file_chooser_set_current_folder, GtkFileChooser_val, String_val, Val_bool) ML_1 (gtk_file_chooser_get_current_folder, GtkFileChooser_val, some_string_and_free) ML_1 (gtk_file_chooser_get_uri, GtkFileChooser_val, some_string_and_free) ML_2 (gtk_file_chooser_set_uri, GtkFileChooser_val, String_val, Val_bool) ML_2 (gtk_file_chooser_select_uri, GtkFileChooser_val, String_val, Val_bool) ML_2 (gtk_file_chooser_unselect_uri, GtkFileChooser_val, String_val, Unit) ML_1 (gtk_file_chooser_get_uris, GtkFileChooser_val, string_list_of_GSList) ML_2 (gtk_file_chooser_set_current_folder_uri, GtkFileChooser_val, String_val, Val_bool) ML_1 (gtk_file_chooser_get_current_folder_uri, GtkFileChooser_val, copy_string_g_free) ML_1 (gtk_file_chooser_get_preview_filename, GtkFileChooser_val, some_string_and_free) ML_1 (gtk_file_chooser_get_preview_uri, GtkFileChooser_val, some_string_and_free) #define GtkFileFilter_val(val) check_cast(GTK_FILE_FILTER, val) ML_0 (gtk_file_filter_new, Val_GtkAny_sink) ML_2 (gtk_file_filter_set_name, GtkFileFilter_val, String_val, Unit) ML_1 (gtk_file_filter_get_name, GtkFileFilter_val, copy_string_or_null); ML_2 (gtk_file_filter_add_mime_type, GtkFileFilter_val, String_val, Unit) ML_2 (gtk_file_filter_add_pattern, GtkFileFilter_val, String_val, Unit) static gboolean ml_gtk_file_filter_func (const GtkFileFilterInfo *filter_info, gpointer data) { value *cb = data; CAMLparam0(); CAMLlocal4(r, l, v, s); l = Val_emptylist; #define CONS_MEMBER(memb, flag) \ if (filter_info->contains & GTK_FILE_FILTER_##flag) { \ s = copy_string (filter_info->memb); \ v = alloc_small(2, 0); \ Field(v, 0) = MLTAG_##flag; \ Field(v, 1) = s; \ l = ml_cons (v, l); \ } CONS_MEMBER (mime_type, MIME_TYPE) CONS_MEMBER (display_name, DISPLAY_NAME) CONS_MEMBER (uri, URI) CONS_MEMBER (filename, FILENAME) #undef CONS_MEMBER r = callback_exn (*cb, l); if (Is_exception_result (r)) CAMLreturn(TRUE); CAMLreturn (Bool_val(r)); } Make_Flags_val(File_filter_flags_val) CAMLprim value ml_gtk_file_filter_add_custom(value obj, value needed, value cb) { value *clos = ml_global_root_new(cb); gtk_file_filter_add_custom (GtkFileFilter_val(obj), Flags_File_filter_flags_val(needed), ml_gtk_file_filter_func, clos, ml_global_root_destroy); return Val_unit; } ML_2 (gtk_file_chooser_add_filter, GtkFileChooser_val, GtkFileFilter_val, Unit) ML_2 (gtk_file_chooser_remove_filter, GtkFileChooser_val, GtkFileFilter_val, Unit) ML_1 (gtk_file_chooser_list_filters, GtkFileChooser_val, widget_list_of_GSList) CAMLprim value ml_gtk_file_chooser_add_shortcut_folder(value w, value f) { GError *err = NULL; gtk_file_chooser_add_shortcut_folder(GtkFileChooser_val(w), String_val(f), &err); if (err) ml_raise_gerror(err); return Val_unit; } CAMLprim value ml_gtk_file_chooser_remove_shortcut_folder(value w, value f) { GError *err = NULL; gtk_file_chooser_remove_shortcut_folder(GtkFileChooser_val(w), String_val(f), &err); if (err) ml_raise_gerror(err); return Val_unit; } ML_1 (gtk_file_chooser_list_shortcut_folders, GtkFileChooser_val, string_list_of_GSList) CAMLprim value ml_gtk_file_chooser_add_shortcut_folder_uri(value w, value f) { GError *err = NULL; gtk_file_chooser_add_shortcut_folder_uri(GtkFileChooser_val(w), String_val(f), &err); if (err) ml_raise_gerror(err); return Val_unit; } CAMLprim value ml_gtk_file_chooser_remove_shortcut_folder_uri(value w, value f) { GError *err = NULL; gtk_file_chooser_remove_shortcut_folder_uri(GtkFileChooser_val(w), String_val(f), &err); if (err) ml_raise_gerror(err); return Val_unit; } ML_1 (gtk_file_chooser_list_shortcut_folder_uris, GtkFileChooser_val, string_list_of_GSList) #else /* HASGTK24 */ Unsupported_24(gtk_file_chooser_set_current_name) Unsupported_24(gtk_file_chooser_get_filename) Unsupported_24(gtk_file_chooser_set_filename) Unsupported_24(gtk_file_chooser_select_filename) Unsupported_24(gtk_file_chooser_unselect_filename) Unsupported_24(gtk_file_chooser_select_all) Unsupported_24(gtk_file_chooser_unselect_all) Unsupported_24(gtk_file_chooser_get_filenames) Unsupported_24(gtk_file_chooser_set_current_folder) Unsupported_24(gtk_file_chooser_get_current_folder) Unsupported_24(gtk_file_chooser_get_uri) Unsupported_24(gtk_file_chooser_set_uri) Unsupported_24(gtk_file_chooser_select_uri) Unsupported_24(gtk_file_chooser_unselect_uri) Unsupported_24(gtk_file_chooser_get_uris) Unsupported_24(gtk_file_chooser_set_current_folder_uri) Unsupported_24(gtk_file_chooser_get_current_folder_uri) Unsupported_24(gtk_file_chooser_get_preview_filename) Unsupported_24(gtk_file_chooser_get_preview_uri) Unsupported_24(gtk_file_filter_new) Unsupported_24(gtk_file_filter_set_name) Unsupported_24(gtk_file_filter_get_name) Unsupported_24(gtk_file_filter_add_mime_type) Unsupported_24(gtk_file_filter_add_pattern) Unsupported_24(gtk_file_filter_add_custom) Unsupported_24(gtk_file_chooser_add_filter) Unsupported_24(gtk_file_chooser_remove_filter) Unsupported_24(gtk_file_chooser_list_filters) Unsupported_24(gtk_file_chooser_list_shortcut_folders) Unsupported_24(gtk_file_chooser_add_shortcut_folder) Unsupported_24(gtk_file_chooser_remove_shortcut_folder) Unsupported_24(gtk_file_chooser_add_shortcut_folder_uri) Unsupported_24(gtk_file_chooser_remove_shortcut_folder_uri) Unsupported_24(gtk_file_chooser_list_shortcut_folder_uris) #endif /* HASGTK24 */ lablgtk-3.1.2/src/ml_gtkmenu.c0000644000650106067230000001703014161276610015076 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "gtk_tags.h" /* Init all */ CAMLprim value ml_gtkmenu_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_menu_item_get_type() + gtk_image_menu_item_get_type() + gtk_check_menu_item_get_type() + gtk_radio_menu_item_get_type() + gtk_menu_bar_get_type() + gtk_menu_get_type(); return Val_GType(t); } /* gtkmenuitem.h */ #define GtkMenuItem_val(val) check_cast(GTK_MENU_ITEM,val) ML_0 (gtk_menu_item_new, Val_GtkWidget_sink) ML_0 (gtk_separator_menu_item_new, Val_GtkWidget_sink) /* deprecated ML_0 (gtk_tearoff_menu_item_new, Val_GtkWidget_sink) */ ML_1 (gtk_menu_item_new_with_label, String_val, Val_GtkWidget_sink) ML_1 (gtk_menu_item_new_with_mnemonic, String_val, Val_GtkWidget_sink) ML_2 (gtk_menu_item_set_submenu, GtkMenuItem_val, Option_val(arg2,GtkWidget_val,NULL) Ignore, Unit) Make_Val_option(GtkWidget) ML_1 (gtk_menu_item_get_submenu, GtkMenuItem_val, Val_option_GtkWidget) /* not in 3 ML_1 (gtk_menu_item_remove_submenu, GtkMenuItem_val, Unit) */ ML_2 (gtk_menu_item_set_accel_path, GtkMenuItem_val, String_val, Unit) ML_1 (gtk_menu_item_activate, GtkMenuItem_val, Unit) ML_1 (gtk_menu_item_select, GtkMenuItem_val, Unit) ML_1 (gtk_menu_item_deselect, GtkMenuItem_val, Unit) /* deprecated ML_2 (gtk_menu_item_set_right_justified, GtkMenuItem_val, Bool_val, Unit) ML_1 (gtk_menu_item_get_right_justified, GtkMenuItem_val, Val_bool) */ CAMLprim value ml_gtk_menu_item_toggle_size_request(value sm,value i) { CAMLparam2(sm,i); CAMLlocal1(res); int j; j = Int_val(i); gtk_menu_item_toggle_size_request(GtkMenuItem_val(sm),&j); CAMLreturn( Val_unit ); } ML_2 (gtk_menu_item_toggle_size_allocate, GtkMenuItem_val, Int_val, Unit) /* gtkimagemenuitem.h */ #define GtkImageMenuItem_val(val) check_cast(GTK_IMAGE_MENU_ITEM,val) ML_0 (gtk_image_menu_item_new, Val_GtkWidget_sink) ML_1 (gtk_image_menu_item_new_with_label, String_val, Val_GtkWidget_sink) ML_1 (gtk_image_menu_item_new_with_mnemonic, String_val, Val_GtkWidget_sink) ML_2 (gtk_image_menu_item_new_from_stock, String_val, Option_val(arg2,GtkAccelGroup_val,NULL) Ignore, Val_GtkWidget_sink) ML_2 (gtk_image_menu_item_set_image, GtkImageMenuItem_val, GtkWidget_val, Unit) ML_1 (gtk_image_menu_item_get_image, GtkImageMenuItem_val, Val_GtkWidget) /* gtkcheckmenuitem.h */ #define GtkCheckMenuItem_val(val) check_cast(GTK_CHECK_MENU_ITEM,val) ML_0 (gtk_check_menu_item_new, Val_GtkWidget_sink) ML_1 (gtk_check_menu_item_new_with_label, String_val, Val_GtkWidget_sink) ML_1 (gtk_check_menu_item_new_with_mnemonic, String_val, Val_GtkWidget_sink) ML_2 (gtk_check_menu_item_set_active, GtkCheckMenuItem_val, Bool_val, Unit) ML_2 (gtk_check_menu_item_set_inconsistent, GtkCheckMenuItem_val, Bool_val, Unit) ML_1 (gtk_check_menu_item_get_inconsistent, GtkCheckMenuItem_val, Val_bool) /*ML_2 (gtk_check_menu_item_set_show_toggle, GtkCheckMenuItem_val, Bool_val, Unit)*/ ML_1 (gtk_check_menu_item_toggled, GtkCheckMenuItem_val, Unit) /* gtkradiomenuitem.h */ #define GtkRadioMenuItem_val(val) check_cast(GTK_RADIO_MENU_ITEM,val) static GSList* item_group_val(value val) { return (val == Val_unit ? NULL : gtk_radio_menu_item_get_group(GtkRadioMenuItem_val(Field(val,0)))); } ML_1 (gtk_radio_menu_item_new, item_group_val, Val_GtkWidget_sink) ML_2 (gtk_radio_menu_item_new_with_label, item_group_val, String_val, Val_GtkWidget_sink) ML_2 (gtk_radio_menu_item_new_with_mnemonic, item_group_val, String_val, Val_GtkWidget_sink) ML_2 (gtk_radio_menu_item_set_group, GtkRadioMenuItem_val, item_group_val, Unit) /* gtkmenushell.h */ #define GtkMenuShell_val(val) check_cast(GTK_MENU_SHELL,val) ML_2 (gtk_menu_shell_append, GtkMenuShell_val, GtkWidget_val, Unit) ML_2 (gtk_menu_shell_prepend, GtkMenuShell_val, GtkWidget_val, Unit) ML_3 (gtk_menu_shell_insert, GtkMenuShell_val, GtkWidget_val, Int_val, Unit) ML_1 (gtk_menu_shell_deactivate, GtkMenuShell_val, Unit) /* gtkmenu.h */ #define GtkMenu_val(val) check_cast(GTK_MENU,val) ML_0 (gtk_menu_new, Val_GtkWidget_sink) ML_5 (gtk_menu_popup, GtkMenu_val, GtkWidget_val, GtkWidget_val, Insert(NULL) Insert(NULL) Int_val, Int32_val, Unit) static void menu_popup_cb(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer clos) { value res = caml_callback3(*(value*)clos, Val_int(*x), Val_int(*y), Val_bool(*push_in)); *x = Int_val(Field(res,0)); *y = Int_val(Field(res,1)); *push_in = Int_val(Field(res,2)); caml_remove_global_root(clos); stat_free(clos); } CAMLprim value ml_gtk_menu_popup_at (value menu, value button, value time, value func) { value *clos = stat_alloc(sizeof(value)); *clos = func; caml_register_global_root(clos); gtk_menu_popup(GtkMenu_val(menu), NULL, NULL, &menu_popup_cb, clos, Option_val(button,Int_val,0), Option_val(time,Int32_val,0)); return Val_unit; } ML_1 (gtk_menu_popdown, GtkMenu_val, Unit) ML_1 (gtk_menu_get_active, GtkMenu_val, Val_GtkWidget) ML_2 (gtk_menu_set_active, GtkMenu_val, Int_val, Unit) ML_2 (gtk_menu_set_accel_group, GtkMenu_val, GtkAccelGroup_val, Unit) ML_1 (gtk_menu_get_accel_group, GtkMenu_val, Val_GtkAccelGroup) ML_2 (gtk_menu_set_accel_path, GtkMenu_val, String_val, Unit) CAMLprim value ml_gtk_menu_attach_to_widget (value menu, value widget) { gtk_menu_attach_to_widget (GtkMenu_val(menu), GtkWidget_val(widget), NULL); return Val_unit; } ML_1 (gtk_menu_get_attach_widget, GtkMenu_val, Val_GtkWidget) ML_1 (gtk_menu_detach, GtkMenu_val, Unit) /* gtkmenubar.h */ /* #define GtkMenuBar_val(val) check_cast(GTK_MENU_BAR,val) ML_0 (gtk_menu_bar_new, Val_GtkWidget_sink) */ lablgtk-3.1.2/src/ml_gtkmisc.c0000644000650106067230000001574114161276610015074 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_pango.h" #include "ml_gdkpixbuf.h" #include "ml_gtk.h" #include "gtk_tags.h" #include "gdk_tags.h" /* Init all */ CAMLprim value ml_gtkmisc_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_statusbar_get_type() + gtk_status_icon_get_type() + gtk_calendar_get_type() + gtk_drawing_area_get_type() + gtk_misc_get_type() + gtk_arrow_get_type() + gtk_image_get_type() + gtk_label_get_type() + gtk_hseparator_get_type() + gtk_vseparator_get_type() + gtk_font_selection_get_type() + gtk_color_selection_get_type(); return Val_GType(t); } /* gtkstatusbar.h */ #define GtkStatusbar_val(val) check_cast(GTK_STATUSBAR,val) ML_2 (gtk_statusbar_get_context_id, GtkStatusbar_val, String_val, Val_int) ML_3 (gtk_statusbar_push, GtkStatusbar_val, Int_val, String_val, Val_int) ML_2 (gtk_statusbar_pop, GtkStatusbar_val, Int_val, Unit) ML_3 (gtk_statusbar_remove, GtkStatusbar_val, Int_val, Int_val, Unit) /* not in 3 ML_1 (gtk_statusbar_get_has_resize_grip, GtkStatusbar_val, Val_bool) ML_2 (gtk_statusbar_set_has_resize_grip, GtkStatusbar_val, Bool_val, Unit) */ /* gtkstatusicon.h */ #define GtkStatusIcon_val(val) check_cast(GTK_STATUS_ICON, val) #define Val_GtkStatusIcon_new(val) Val_GObject_new(val) ML_2 (gtk_status_icon_set_from_pixbuf, GtkStatusIcon_val, GdkPixbuf_val, Unit) ML_2 (gtk_status_icon_set_from_file, GtkStatusIcon_val, String_val, Unit) ML_2 (gtk_status_icon_set_from_stock, GtkStatusIcon_val, String_val, Unit) ML_2 (gtk_status_icon_set_from_icon_name, GtkStatusIcon_val, String_val, Unit) ML_1 (gtk_status_icon_get_pixbuf, GtkStatusIcon_val, Val_GdkPixbuf) ML_1 (gtk_status_icon_get_stock, GtkStatusIcon_val, Val_string) ML_1 (gtk_status_icon_get_icon_name, GtkStatusIcon_val, Val_string) ML_1 (gtk_status_icon_get_size, GtkStatusIcon_val, Val_int) ML_2 (gtk_status_icon_set_screen, GtkStatusIcon_val, GdkScreen_val, Unit) ML_1 (gtk_status_icon_get_screen, GtkStatusIcon_val, Val_GdkScreen) ML_2 (gtk_status_icon_set_visible, GtkStatusIcon_val, Bool_val, Unit) ML_1 (gtk_status_icon_get_visible, GtkStatusIcon_val, Val_bool) /* not in 3 ML_2 (gtk_status_icon_set_blinking, GtkStatusIcon_val, Bool_val, Unit) ML_1 (gtk_status_icon_get_blinking, GtkStatusIcon_val, Val_bool) */ ML_1 (gtk_status_icon_is_embedded, GtkStatusIcon_val, Val_bool) /* void gtk_status_icon_position_menu (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data); gboolean gtk_status_icon_get_geometry (GtkStatusIcon *status_icon, GdkScreen **screen, GdkRectangle *area, GtkOrientation *orientation); guint32 gtk_status_icon_get_x11_window_id (GtkStatusIcon *status_icon); */ /* gtkcalendar.h */ #define GtkCalendar_val(val) check_cast(GTK_CALENDAR,val) ML_3 (gtk_calendar_select_month, GtkCalendar_val, Int_val, Int_val, Unit) ML_2 (gtk_calendar_select_day, GtkCalendar_val, Int_val, Unit) ML_2 (gtk_calendar_mark_day, GtkCalendar_val, Int_val, Unit) ML_2 (gtk_calendar_unmark_day, GtkCalendar_val, Int_val, Unit) ML_1 (gtk_calendar_clear_marks, GtkCalendar_val, Unit) Make_Flags_val (Calendar_display_options_val) ML_2 (gtk_calendar_set_display_options, GtkCalendar_val, Flags_Calendar_display_options_val, Unit) CAMLprim value ml_gtk_calendar_get_date (value w) { guint year, month, day; value ret; gtk_calendar_get_date (GtkCalendar_val(w), &year, &month, &day); ret = alloc_small (3, 0); Field(ret,0) = Val_int(year); Field(ret,1) = Val_int(month); Field(ret,2) = Val_int(day); return ret; } /* not in 3 ML_1 (gtk_calendar_freeze, GtkCalendar_val, Unit) ML_1 (gtk_calendar_thaw, GtkCalendar_val, Unit) Make_Extractor (gtk_calendar_get, GtkCalendar_val, num_marked_dates, Val_int) */ ML_2 (gtk_calendar_get_day_is_marked, GtkCalendar_val, Int_val, Val_bool) /* gtkdrawingarea.h */ #define GtkDrawingArea_val(val) check_cast(GTK_DRAWING_AREA,val) /* gtkmisc.h */ /* gtkarrow.h */ /* gtkimage.h */ #define GtkImage_val(val) check_cast(GTK_IMAGE,val) #ifdef HASGTK28 ML_1(gtk_image_clear, GtkImage_val, Unit) #else Unsupported_28(gtk_image_clear) #endif /* gtklabel.h */ #define GtkLabel_val(val) check_cast(GTK_LABEL,val) ML_2 (gtk_label_set_text, GtkLabel_val, String_val, Unit) ML_1 (gtk_label_get_text, GtkLabel_val, Val_string) ML_1 (gtk_label_get_layout, GtkLabel_val, Val_PangoLayout) ML_3 (gtk_label_select_region, GtkLabel_val, Int_val, Int_val, Unit) CAMLprim value ml_gtk_label_get_selection_bounds (value label) { gint s, e; value r; if (gtk_label_get_selection_bounds (GtkLabel_val(label), &s, &e)) { r = alloc_small(2, 0); Field(r, 0) = Val_int(s); Field(r, 1) = Val_int(e); r = ml_some(r); } else r = Val_unit; return r; } /* gtk[hv]separator.h */ lablgtk-3.1.2/src/ml_gtkpack.c0000644000650106067230000002165714161276610015062 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "gtk_tags.h" Make_Flags_val (Attach_options_val) /* Init all */ CAMLprim value ml_gtkpack_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_hbox_get_type() + gtk_vbox_get_type() + gtk_hbutton_box_get_type() + gtk_vbutton_box_get_type() + gtk_fixed_get_type() + gtk_layout_get_type() + gtk_notebook_get_type() + gtk_hpaned_get_type() + gtk_vpaned_get_type() + gtk_table_get_type() + gtk_grid_get_type() + gtk_size_group_get_type() + gtk_stack_get_type() + gtk_stack_switcher_get_type(); return Val_GType(t); } /* gtkbox.h */ #define GtkBox_val(val) check_cast(GTK_BOX,val) ML_5 (gtk_box_pack_start, GtkBox_val, GtkWidget_val, Bool_val, Bool_val, Int_val, Unit) ML_5 (gtk_box_pack_end, GtkBox_val, GtkWidget_val, Bool_val, Bool_val, Int_val, Unit) ML_3 (gtk_box_reorder_child, GtkBox_val, GtkWidget_val, Int_val, Unit) CAMLprim value ml_gtk_box_query_child_packing (value box, value child) { int expand, fill; unsigned int padding; GtkPackType pack_type; value ret; gtk_box_query_child_packing (GtkBox_val(box), GtkWidget_val(child), &expand, &fill, &padding, &pack_type); ret = alloc_small(4,0); Field(ret,0) = Val_bool(expand); Field(ret,1) = Val_bool(fill); Field(ret,2) = Val_int(padding); Field(ret,3) = Val_pack_type(pack_type); return ret; } CAMLprim value ml_gtk_box_set_child_packing (value vbox, value vchild, value vexpand, value vfill, value vpadding, value vpack) { GtkBox *box = GtkBox_val(vbox); GtkWidget *child = GtkWidget_val(vchild); int expand, fill; unsigned int padding; GtkPackType pack; gtk_box_query_child_packing (box, child, &expand, &fill, &padding, &pack); gtk_box_set_child_packing (box, child, Option_val(vexpand, Bool_val, expand), Option_val(vfill, Bool_val, fill), Option_val(vpadding, Int_val, padding), Option_val(vpack, Pack_type_val, pack)); return Val_unit; } ML_bc6 (ml_gtk_box_set_child_packing) /* gtkbbox.h */ #define GtkButtonBox_val(val) check_cast(GTK_BUTTON_BOX,val) ML_2 (gtk_button_box_get_child_secondary, GtkButtonBox_val, GtkWidget_val, Val_bool) ML_3 (gtk_button_box_set_child_secondary, GtkButtonBox_val, GtkWidget_val, Bool_val, Unit) ML_2 (gtk_button_box_get_child_non_homogeneous, GtkButtonBox_val, GtkWidget_val, Val_bool) ML_3 (gtk_button_box_set_child_non_homogeneous, GtkButtonBox_val, GtkWidget_val, Bool_val, Unit) /* gtkfixed.h */ #define GtkFixed_val(val) check_cast(GTK_FIXED,val) ML_4 (gtk_fixed_put, GtkFixed_val, GtkWidget_val, (gint16)Long_val, (gint16)Long_val, Unit) ML_4 (gtk_fixed_move, GtkFixed_val, GtkWidget_val, (gint16)Long_val, (gint16)Long_val, Unit) /* not in 3 ML_2 (gtk_fixed_set_has_window, GtkFixed_val, Int_val, Unit) ML_1 (gtk_fixed_get_has_window, GtkFixed_val, Val_bool) */ /* gtklayout.h */ #define GtkLayout_val(val) check_cast(GTK_LAYOUT,val) ML_4 (gtk_layout_put, GtkLayout_val, GtkWidget_val, Int_val, Int_val, Unit) ML_4 (gtk_layout_move, GtkLayout_val, GtkWidget_val, Int_val, Int_val, Unit) ML_1 (gtk_layout_get_bin_window, GtkLayout_val, Val_GdkWindow) /* not in 3 ML_1 (gtk_layout_freeze, GtkLayout_val, Unit) ML_1 (gtk_layout_thaw, GtkLayout_val, Unit) */ /* gtknotebook.h */ #define GtkNotebook_val(val) check_cast(GTK_NOTEBOOK,val) #ifdef HASGTK24 ML_5 (gtk_notebook_insert_page_menu, GtkNotebook_val, GtkWidget_val, GtkWidget_val, GtkWidget_val, Option_val(arg5,Int_val,(-1)) Ignore, Val_int) #else CAMLprim value ml_gtk_notebook_insert_page_menu(value nb, value w1, value w2, value w3, value pos) { gtk_notebook_insert_page_menu(GtkNotebook_val(nb), GtkWidget_val(w1), GtkWidget_val(w2), GtkWidget_val(w3), Option_val(pos,Int_val,-1)); return Val_int(gtk_notebook_get_current_page(GtkNotebook_val(nb))); } #endif ML_2 (gtk_notebook_remove_page, GtkNotebook_val, Int_val, Unit) ML_1 (gtk_notebook_get_current_page, GtkNotebook_val, Val_int) ML_2 (gtk_notebook_get_nth_page, GtkNotebook_val, Int_val, Val_GtkWidget) ML_2 (gtk_notebook_page_num, GtkNotebook_val, GtkWidget_val, Val_int) ML_1 (gtk_notebook_next_page, GtkNotebook_val, Unit) ML_1 (gtk_notebook_prev_page, GtkNotebook_val, Unit) ML_2 (gtk_notebook_get_tab_label, GtkNotebook_val, GtkWidget_val, Val_GtkWidget) ML_3 (gtk_notebook_set_tab_label, GtkNotebook_val, GtkWidget_val, GtkWidget_val, Unit) ML_2 (gtk_notebook_get_menu_label, GtkNotebook_val, GtkWidget_val, Val_GtkWidget) ML_3 (gtk_notebook_set_menu_label, GtkNotebook_val, GtkWidget_val, GtkWidget_val, Unit) ML_3 (gtk_notebook_reorder_child, GtkNotebook_val, GtkWidget_val, Int_val, Unit) ML_3 (gtk_notebook_set_tab_reorderable, GtkNotebook_val, GtkWidget_val, Bool_val, Unit) ML_2 (gtk_notebook_get_tab_reorderable, GtkNotebook_val, GtkWidget_val, Val_bool) /* gtkpaned.h */ #define GtkPaned_val(val) check_cast(GTK_PANED,val) ML_2 (gtk_paned_add1, GtkPaned_val, GtkWidget_val, Unit) ML_2 (gtk_paned_add2, GtkPaned_val, GtkWidget_val, Unit) ML_4 (gtk_paned_pack1, GtkPaned_val, GtkWidget_val, Int_val, Int_val, Unit) ML_4 (gtk_paned_pack2, GtkPaned_val, GtkWidget_val, Int_val, Int_val, Unit) ML_1 (gtk_paned_get_child1, GtkPaned_val, Val_GtkWidget) ML_1 (gtk_paned_get_child2, GtkPaned_val, Val_GtkWidget) /* gtktable.h */ #define GtkTable_val(val) check_cast(GTK_TABLE,val) ML_10 (gtk_table_attach, GtkTable_val, GtkWidget_val, Int_val, Int_val, Int_val, Int_val, Flags_Attach_options_val, Flags_Attach_options_val, Int_val, Int_val, Unit) ML_bc10 (ml_gtk_table_attach) ML_3 (gtk_table_set_row_spacing, GtkTable_val, Int_val, Int_val, Unit) ML_3 (gtk_table_set_col_spacing, GtkTable_val, Int_val, Int_val, Unit) /* gtkgrid.h */ #define GtkGrid_val(val) check_cast(GTK_GRID,val) ML_6 (gtk_grid_attach, GtkGrid_val, GtkWidget_val, Int_val, Int_val, Int_val, Int_val, Unit) ML_bc6 (ml_gtk_grid_attach) ML_2 (gtk_grid_set_row_spacing, GtkGrid_val, Int_val, Unit) ML_2 (gtk_grid_set_column_spacing, GtkGrid_val, Int_val, Unit) /* gtksizegroup.h */ #define GtkSizeGroup_val(val) check_cast(GTK_SIZE_GROUP,val) #define Val_GtkSizeGroup(val) Val_GObject((GObject*)val) ML_1 (gtk_size_group_new, Size_group_mode_val, Val_GtkSizeGroup) ML_2 (gtk_size_group_add_widget, GtkSizeGroup_val, GtkWidget_val, Unit) ML_2 (gtk_size_group_remove_widget, GtkSizeGroup_val, GtkWidget_val, Unit) #define GtkStack_val(val) check_cast(GTK_STACK,val) ML_3 (gtk_stack_add_named, GtkStack_val, GtkWidget_val, String_val, Unit) ML_4 (gtk_stack_add_titled, GtkStack_val, GtkWidget_val, String_val, String_val, Unit) ML_2 (gtk_stack_get_child_by_name, GtkStack_val, String_val, Val_GtkWidget) ML_3 (gtk_stack_set_visible_child_full, GtkStack_val, String_val, Stack_transition_type_val, Unit) #define GtkStackSwitcher_val(val) check_cast(GTK_STACK_SWITCHER,val) lablgtk-3.1.2/src/ml_gtkrange.c0000644000650106067230000001027514161276610015232 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "gtk_tags.h" /* Init all */ CAMLprim value ml_gtkrange_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_progress_bar_get_type() + gtk_hscale_get_type() + gtk_vscale_get_type() + gtk_hscrollbar_get_type() + gtk_vscrollbar_get_type(); return Val_GType(t); } /* gtkprogress.h */ /* #define GtkProgress_val(val) check_cast(GTK_PROGRESS,val) ML_2 (gtk_progress_set_show_text, GtkProgress_val, Bool_val, Unit) ML_3 (gtk_progress_set_text_alignment, GtkProgress_val, Option_val(arg2,Float_val,(GtkProgress_val(arg1))->x_align) Ignore, Option_val(arg3,Float_val,(GtkProgress_val(arg1))->y_align) Ignore, Unit) ML_2 (gtk_progress_set_format_string, GtkProgress_val, String_val, Unit) ML_2 (gtk_progress_set_adjustment, GtkProgress_val, GtkAdjustment_val, Unit) ML_4 (gtk_progress_configure, GtkProgress_val, Float_val, Float_val, Float_val, Unit) ML_2 (gtk_progress_set_percentage, GtkProgress_val, Float_val, Unit) ML_2 (gtk_progress_set_value, GtkProgress_val, Float_val, Unit) ML_1 (gtk_progress_get_value, GtkProgress_val, copy_double) ML_1 (gtk_progress_get_current_percentage, GtkProgress_val, copy_double) ML_2 (gtk_progress_set_activity_mode, GtkProgress_val, Bool_val, Unit) ML_1 (gtk_progress_get_current_text, GtkProgress_val, Val_string) Make_Extractor (gtk_progress_get, GtkProgress_val, adjustment, Val_GtkAny) */ /* gtkprogressbar.h */ #define GtkProgressBar_val(val) check_cast(GTK_PROGRESS_BAR,val) ML_1 (gtk_progress_bar_pulse, GtkProgressBar_val, Unit) /* gtkrange.h */ #define GtkRange_val(val) check_cast(GTK_RANGE,val) /* gtkscale.h */ /* #define GtkScale_val(val) check_cast(GTK_SCALE,val) ML_2 (gtk_scale_set_digits, GtkScale_val, Int_val, Unit) ML_2 (gtk_scale_set_draw_value, GtkScale_val, Bool_val, Unit) ML_2 (gtk_scale_set_value_pos, GtkScale_val, Position_type_val, Unit) ML_1 (gtk_scale_get_digits, GtkScale_val, Val_int) ML_1 (gtk_scale_get_draw_value, GtkScale_val, Val_bool) ML_1 (gtk_scale_get_value_pos, GtkScale_val, Val_position) ML_1 (gtk_hscale_new, GtkAdjustment_val, Val_GtkWidget_sink) ML_1 (gtk_vscale_new, GtkAdjustment_val, Val_GtkWidget_sink) */ /* gtkscrollbar.h */ /* ML_1 (gtk_hscrollbar_new, GtkAdjustment_val, Val_GtkWidget_sink) ML_1 (gtk_vscrollbar_new, GtkAdjustment_val, Val_GtkWidget_sink) */ lablgtk-3.1.2/src/ml_gtkstock.c0000644000650106067230000001347614161276610015267 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "ml_gdkpixbuf.h" #include "gtk_tags.h" #include "gdk_tags.h" CAMLprim value ml_gtkstock_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_icon_set_get_type() + gtk_icon_source_get_type() + gtk_icon_factory_get_type(); return Val_GType(t); } /* gtkiconfactory.h */ /* GtkIconSource */ Make_Val_final_pointer_ext(GtkIconSource, _new, Ignore, gtk_icon_source_free, 5) #define GtkIconSource_val(v) ((GtkIconSource*)Pointer_val(v)) ML_0 (gtk_icon_source_new, Val_GtkIconSource_new) ML_2 (gtk_icon_source_set_filename, GtkIconSource_val, String_val, Unit) ML_2 (gtk_icon_source_set_pixbuf, GtkIconSource_val, GdkPixbuf_val, Unit) ML_1 (gtk_icon_source_get_filename, GtkIconSource_val, copy_string) ML_1 (gtk_icon_source_get_pixbuf, GtkIconSource_val, Val_GdkPixbuf) ML_2 (gtk_icon_source_set_direction_wildcarded, GtkIconSource_val, Bool_val, Unit) ML_2 (gtk_icon_source_set_state_wildcarded, GtkIconSource_val, Bool_val, Unit) ML_2 (gtk_icon_source_set_size_wildcarded, GtkIconSource_val, Bool_val, Unit) ML_2 (gtk_icon_source_set_direction, GtkIconSource_val, Text_direction_val, Unit) ML_2 (gtk_icon_source_set_state, GtkIconSource_val, State_type_val, Unit) ML_2 (gtk_icon_source_set_size, GtkIconSource_val, Icon_size_val, Unit) /* GtkIconSet */ Make_Val_final_pointer(GtkIconSet, gtk_icon_set_ref, gtk_icon_set_unref, 0) Make_Val_final_pointer_ext(GtkIconSet, _new, Ignore, gtk_icon_set_unref, 5) #define GtkIconSet_val(v) ((GtkIconSet*)Pointer_val(v)) ML_0 (gtk_icon_set_new, Val_GtkIconSet_new) ML_1 (gtk_icon_set_new_from_pixbuf, GdkPixbuf_val, Val_GtkIconSet_new) ML_2 (gtk_icon_set_add_source, GtkIconSet_val, GtkIconSource_val, Unit) CAMLprim value ml_gtk_icon_set_get_sizes(value s) { CAMLparam0(); CAMLlocal2(p, c); GtkIconSize *arr; gint n; gtk_icon_set_get_sizes(GtkIconSet_val(s), &arr, &n); p = Val_emptylist; for(; n>=0; n--){ c = alloc_small(2, Tag_cons); Field(c, 0) = Val_icon_size(arr[n]); Field(c, 1) = p; p = c; } g_free(arr); CAMLreturn(c); } /* GtkIconFactory */ #define GtkIconFactory_val(val) check_cast(GTK_ICON_FACTORY, val) ML_0 (gtk_icon_factory_new, Val_GAnyObject_new) ML_3 (gtk_icon_factory_add, GtkIconFactory_val, String_val, GtkIconSet_val, Unit) ML_2 (gtk_icon_factory_lookup, GtkIconFactory_val, String_val, Val_GtkIconSet) ML_1 (gtk_icon_factory_add_default, GtkIconFactory_val, Unit) ML_1 (gtk_icon_factory_remove_default, GtkIconFactory_val, Unit) ML_1 (gtk_icon_factory_lookup_default, String_val, Val_GtkIconSet) /* GtkStockItem */ CAMLprim value ml_gtk_stock_add(value item) { GtkStockItem it; it.stock_id = (gchar*)Bytes_val(Field(item, 0)); it.label = (gchar*)Bytes_val(Field(item, 1)); it.modifier = Flags_GdkModifier_val(Field(item, 2)) ; it.keyval = Int_val(Field(item, 3)); it.translation_domain = NULL; gtk_stock_add(&it, 1); return Val_unit; } CAMLprim value ml_gtk_stock_list_ids(value unit) { return Val_GSList_free( gtk_stock_list_ids(), (value_in) copy_string_g_free); } CAMLprim value ml_gtk_stock_lookup(value id) { CAMLparam1(id); CAMLlocal3(stock_result,p,c); GtkStockItem r; gboolean b; b = gtk_stock_lookup(String_val(id),&r); if (!b) raise_not_found(); p = Val_emptylist; #define TESTANDCONS(mod)\ if (r.modifier & GDK_##mod##_MASK) \ { c = alloc_small(2,Tag_cons);\ Field(c,0) = Val_gdkModifier(GDK_##mod##_MASK); Field(c,1) = p; p = c;} TESTANDCONS(SHIFT); TESTANDCONS(LOCK); TESTANDCONS(CONTROL); TESTANDCONS(MOD1); TESTANDCONS(MOD2); TESTANDCONS(MOD3); TESTANDCONS(MOD4); TESTANDCONS(MOD5); TESTANDCONS(BUTTON1); TESTANDCONS(BUTTON2); TESTANDCONS(BUTTON3); TESTANDCONS(BUTTON4); TESTANDCONS(BUTTON5); TESTANDCONS(SUPER); TESTANDCONS(HYPER); TESTANDCONS(META); TESTANDCONS(RELEASE); stock_result = alloc_tuple(4); Store_field(stock_result,0,Val_string(r.stock_id)); Store_field(stock_result,1,Val_string(r.label)); Store_field(stock_result,2,p); Store_field(stock_result,3,Val_int(r.keyval)); CAMLreturn(stock_result); } lablgtk-3.1.2/src/ml_gtktext.c0000644000650106067230000006604714161276610015132 0ustar glondused/**************************************************************************/ /* 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$ */ /* Author: Benjamin Monate */ #include #include #include #include #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "ml_gobject.h" #include "ml_gdkpixbuf.h" #include "ml_pango.h" #include "ml_gtktext.h" #include "gtk_tags.h" #include "gdk_tags.h" /* Init all */ CAMLprim value ml_gtktext_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_text_view_get_type() + gtk_text_buffer_get_type() + gtk_text_child_anchor_get_type() + gtk_text_mark_get_type() + gtk_text_tag_get_type() + gtk_text_tag_table_get_type(); return Val_GType(t); } CAMLprim value Val_GtkTextMark_func(gpointer val){ return(Val_GtkTextMark(val)); } static value Val_GtkTextMark_opt(GtkTextMark *mrk) { return Val_option(mrk, Val_GtkTextMark); } /* TextIter are not GObjects. They are stack allocated. */ /* This is the Custom_block version for latter... static void text_iter_free (value v) { gtk_text_iter_free((GtkTextIter*)v); } static struct custom_operations textiter_custom_operations = {"gtk_textiter/2.0/",text_iter_free,custom_compare_default, custom_hash_default,custom_serialize_default,custom_deserialize_default} ; #define GtkTextIter_val(val) ((GtkTextIter*)Data_custom_val(val)) CAMLprim value Val_GtkTextIter_new(GtkTextIter* val){ value res = alloc_custom(&textiter_custom_operations,1,1,2); Field(res,1)=(value)gtk_text_iter_copy(val); return(res); } */ /* This is the classical version for lablgtk */ /* #define GtkTextIter_val(val) ((GtkTextIter*)Pointer_val(val)) Make_Val_final_pointer_ext(GtkTextIter, _mine,Ignore,gtk_text_iter_free,1) CAMLprim value Val_GtkTextIter(GtkTextIter* it){ return(Val_GtkTextIter_mine(gtk_text_iter_copy(it))); } ML_1 (gtk_text_iter_copy, GtkTextIter_val, Val_GtkTextIter_mine) */ CAMLprim value ml_gtk_text_iter_copy (value it) { /* Only valid if in old generation and compaction off */ return Val_GtkTextIter(GtkTextIter_val(it)); } /* Defined from Gtk 3.2 onwards, and explicitely written for bindings */ CAMLprim value ml_gtk_text_iter_assign (value it1, value it2) { CAMLparam2(it1, it2); GtkTextIter* iter = GtkTextIter_val(it1); GtkTextIter* other = GtkTextIter_val(it2); g_return_val_if_fail (iter != NULL, Val_unit); g_return_val_if_fail (other != NULL, Val_unit); *iter = *other; CAMLreturn(Val_unit); } /* gtktextmark */ ML_2(gtk_text_mark_set_visible, GtkTextMark_val, Bool_val, Unit) ML_1(gtk_text_mark_get_visible, GtkTextMark_val, Val_bool) ML_1(gtk_text_mark_get_deleted, GtkTextMark_val, Val_bool) ML_1(gtk_text_mark_get_name, GtkTextMark_val, Val_option_string) Make_Val_option(GtkTextBuffer) ML_1(gtk_text_mark_get_buffer, GtkTextMark_val, Val_option_GtkTextBuffer) ML_1(gtk_text_mark_get_left_gravity, GtkTextMark_val, Val_bool) /* gtktexttag */ ML_1(gtk_text_tag_new, String_val, Val_GtkTextTag_new) ML_1(gtk_text_tag_get_priority, GtkTextTag_val, Val_int) ML_2(gtk_text_tag_set_priority, GtkTextTag_val, Int_val, Unit) ML_4(gtk_text_tag_event, GtkTextTag_val, GObject_val, GdkEvent_val, GtkTextIter_val, Val_bool) /* export needed conversion */ ML_1(Wrap_mode_val, (value), Val_int) /* gtktexttagtable */ ML_0(gtk_text_tag_table_new, Val_GtkTextTagTable_new) ML_2(gtk_text_tag_table_add, GtkTextTagTable_val, GtkTextTag_val,Unit) ML_2(gtk_text_tag_table_remove, GtkTextTagTable_val, GtkTextTag_val,Unit) Make_Val_option(GtkTextTag) ML_2(gtk_text_tag_table_lookup, GtkTextTagTable_val, String_val, Val_option_GtkTextTag) ML_1(gtk_text_tag_table_get_size, GtkTextTagTable_val, Val_int) static void tag_foreach_func (GtkTextTag* t, gpointer user_data) { value arg = Val_GtkTextTag(t); callback_exn (*(value*)user_data, arg); } CAMLprim value ml_gtk_text_tag_table_foreach (value t, value fun) { CAMLparam1(fun); gtk_text_tag_table_foreach(GtkTextTagTable_val(t), tag_foreach_func, &fun); CAMLreturn(Val_unit); } /* gtktextbuffer */ ML_1 (gtk_text_buffer_new, Option_val(arg1,GtkTextTagTable_val,NULL) Ignore, Val_GtkTextBuffer_new) ML_1 (gtk_text_buffer_get_line_count,GtkTextBuffer_val,Val_int) ML_1 (gtk_text_buffer_get_char_count,GtkTextBuffer_val,Val_int) /* ML_1 (gtk_text_buffer_get_tag_table,GtkTextBuffer_val,Val_GtkTextTagTable) */ /* [Benjamin] WARNING : something strange happens here : various segfaults we we insert non constant string a lot of times and the signal "insert-text" is connected. See : let bug () = let w = GWindow.window ~title:"Insertion bug" () in let b = GText.buffer () in b#set_text "Initial text\n"; GText.view ~buffer:b ~packing:(w#add) (); w#show (); b#connect#insert_text (fun it s -> Gc.full_major (); Printf.printf "Handler got: \"%s\"\n" s; flush stdout); b#connect#delete_range (fun ~start ~stop -> Gc.full_major ()); let s = "azert"^"yuiop" in let iter_ref = ref b#start_iter in for i = 0 to 10 do let start = !iter_ref#offset in Printf.printf "Number %d, \"%s\", %d\n" i s start; flush stdout; let iter = !iter_ref#copy in b#insert ~iter s; let iter' = iter#copy in b#delete (b#get_iter (`OFFSET(start+2))) iter'; iter_ref := iter' done ;; The GC seems to free/move the string too early... An explicite allocation of the string seems to fix it. Jacques : any idea of what is happening ? Update: This has probably something to do with garbage at the end of the caml string. [Jacques] No, I think the first answer is right: the GC is moving the string. Caml string are correctly 0-terminated, so this is not the cause. By the way, I had problems with "light" textiters for the same reason. Now the above code is OK, but replacing [full_major] by [compact] it will fail, as will do most code... Disabling compaction is essential. Note that I also allocate stable strings in the old generation now, to avoid problems with alloca on Linux. */ ML_3 (gtk_text_buffer_insert, GtkTextBuffer_val, GtkTextIter_val, SizedString_val, Unit) ML_2 (gtk_text_buffer_insert_at_cursor, GtkTextBuffer_val, SizedString_val, Unit) ML_4 (gtk_text_buffer_insert_interactive,GtkTextBuffer_val, GtkTextIter_val, SizedString_val, Bool_val, Val_bool) ML_3 (gtk_text_buffer_insert_interactive_at_cursor,GtkTextBuffer_val, SizedString_val, Bool_val, Val_bool) ML_4 (gtk_text_buffer_insert_range,GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val,GtkTextIter_val,Unit) ML_5 (gtk_text_buffer_insert_range_interactive,GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val,GtkTextIter_val,Bool_val,Val_bool) ML_3 (gtk_text_buffer_delete,GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val,Unit) ML_4 (gtk_text_buffer_delete_interactive,GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val,Bool_val,Val_bool) ML_2 (gtk_text_buffer_set_text, GtkTextBuffer_val, SizedString_val, Unit) ML_4 (gtk_text_buffer_get_text, GtkTextBuffer_val, GtkTextIter_val,GtkTextIter_val,Bool_val, copy_string_g_free) ML_4 (gtk_text_buffer_get_slice, GtkTextBuffer_val, GtkTextIter_val,GtkTextIter_val,Bool_val, copy_string_g_free) ML_3 (gtk_text_buffer_insert_pixbuf, GtkTextBuffer_val, GtkTextIter_val,GdkPixbuf_val,Unit) ML_4 (gtk_text_buffer_create_mark, GtkTextBuffer_val, String_option_val, GtkTextIter_val, Bool_val, Val_GtkTextMark) ML_2 (gtk_text_buffer_get_mark, GtkTextBuffer_val, String_val, Val_GtkTextMark_opt) ML_1 (gtk_text_buffer_get_insert, GtkTextBuffer_val, Val_GtkTextMark) ML_1 (gtk_text_buffer_get_selection_bound, GtkTextBuffer_val, Val_GtkTextMark) ML_3(gtk_text_buffer_move_mark, GtkTextBuffer_val, GtkTextMark_val, GtkTextIter_val, Unit) ML_3(gtk_text_buffer_move_mark_by_name, GtkTextBuffer_val, String_val, GtkTextIter_val, Unit) ML_2 (gtk_text_buffer_delete_mark, GtkTextBuffer_val, GtkTextMark_val,Unit) ML_2 (gtk_text_buffer_delete_mark_by_name, GtkTextBuffer_val, String_val, Unit) ML_2 (gtk_text_buffer_place_cursor, GtkTextBuffer_val, GtkTextIter_val, Unit) #ifdef HASGTK24 ML_3 (gtk_text_buffer_select_range, GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val, Unit) #else Unsupported_24(gtk_text_buffer_select_range) #endif ML_4 (gtk_text_buffer_apply_tag, GtkTextBuffer_val, GtkTextTag_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_4 (gtk_text_buffer_remove_tag, GtkTextBuffer_val, GtkTextTag_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_4 (gtk_text_buffer_apply_tag_by_name, GtkTextBuffer_val, String_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_4 (gtk_text_buffer_remove_tag_by_name, GtkTextBuffer_val, String_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_3 (gtk_text_buffer_remove_all_tags, GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_2_name (ml_gtk_text_buffer_create_tag_0,gtk_text_buffer_create_tag, GtkTextBuffer_val, Split(Option_val(arg2,String_val,NULL), Id, NULL Ignore), Val_GtkTextTag) CAMLprim value ml_gtk_text_buffer_create_tag_1 (value arg1, value arg2, value arg3) { return (Val_GtkTextTag (gtk_text_buffer_create_tag (GtkTextBuffer_val(arg1),Option_val(arg2,String_val,NULL), String_val(arg3),NULL)));}; CAMLprim value ml_gtk_text_buffer_create_tag_2 (value arg1, value arg2, value arg3, value arg4) { return (Val_GtkTextTag (gtk_text_buffer_create_tag (GtkTextBuffer_val(arg1),Option_val(arg2,String_val,NULL), String_val(arg3),String_val(arg4),NULL)));}; CAMLprim value ml_gtk_text_buffer_get_iter_at_line_offset(value tb, value l, value c) { CAMLparam3(tb,l,c); GtkTextIter res; gtk_text_buffer_get_iter_at_line_offset(GtkTextBuffer_val(tb), &res, Int_val(l), Int_val(c)); CAMLreturn(Val_GtkTextIter(&res)); } CAMLprim value ml_gtk_text_buffer_get_iter_at_offset(value tb, value l) { CAMLparam2(tb,l); GtkTextIter res; gtk_text_buffer_get_iter_at_offset(GtkTextBuffer_val(tb), &res, Int_val(l)); CAMLreturn(Val_GtkTextIter(&res)); } CAMLprim value ml_gtk_text_buffer_get_iter_at_line(value tb, value l) { CAMLparam2(tb,l); GtkTextIter res; gtk_text_buffer_get_iter_at_line(GtkTextBuffer_val(tb), &res, Int_val(l)); CAMLreturn(Val_GtkTextIter(&res)); } CAMLprim value ml_gtk_text_buffer_get_iter_at_line_index(value tb, value l, value c) { CAMLparam3(tb,l,c); GtkTextIter res; gtk_text_buffer_get_iter_at_line_offset(GtkTextBuffer_val(tb), &res, Int_val(l), Int_val(c)); CAMLreturn(Val_GtkTextIter(&res)); } CAMLprim value ml_gtk_text_buffer_get_iter_at_mark(value tb, value l) { CAMLparam2(tb,l); GtkTextIter res; gtk_text_buffer_get_iter_at_mark(GtkTextBuffer_val(tb), &res, GtkTextMark_val(l)); CAMLreturn(Val_GtkTextIter(&res)); } CAMLprim value ml_gtk_text_buffer_get_start_iter(value tb) { CAMLparam1(tb); GtkTextIter res; gtk_text_buffer_get_start_iter(GtkTextBuffer_val(tb), &res); CAMLreturn(Val_GtkTextIter(&res)); } CAMLprim value ml_gtk_text_buffer_get_end_iter(value tb) { CAMLparam1(tb); GtkTextIter res; gtk_text_buffer_get_end_iter(GtkTextBuffer_val(tb), &res); CAMLreturn(Val_GtkTextIter(&res)); } CAMLprim value ml_gtk_text_buffer_get_bounds(value tb) { CAMLparam1(tb); CAMLlocal1(res); GtkTextIter res1,res2; gtk_text_buffer_get_bounds(GtkTextBuffer_val(tb), &res1, &res2); res = alloc_tuple(2); Store_field(res,0,Val_GtkTextIter(&res1)); Store_field(res,1,Val_GtkTextIter(&res2)); CAMLreturn(res); } ML_1 (gtk_text_buffer_get_modified, GtkTextBuffer_val, Val_bool) ML_2 (gtk_text_buffer_set_modified, GtkTextBuffer_val, Bool_val, Unit) ML_3 (gtk_text_buffer_delete_selection, GtkTextBuffer_val, Bool_val, Bool_val, Val_bool) CAMLprim value ml_gtk_text_buffer_get_selection_bounds(value tb) { CAMLparam1(tb); CAMLlocal1(res); GtkTextIter res1,res2; gtk_text_buffer_get_selection_bounds(GtkTextBuffer_val(tb), &res1, &res2); res = alloc_tuple(2); Store_field(res,0,Val_GtkTextIter(&res1)); Store_field(res,1,Val_GtkTextIter(&res2)); CAMLreturn(res); } ML_1(gtk_text_buffer_begin_user_action,GtkTextBuffer_val,Unit) ML_1(gtk_text_buffer_end_user_action,GtkTextBuffer_val,Unit) /* no ref returned to the caller. */ ML_2(gtk_text_buffer_create_child_anchor, GtkTextBuffer_val,GtkTextIter_val,Val_GtkTextChildAnchor) ML_3(gtk_text_buffer_insert_child_anchor, GtkTextBuffer_val,GtkTextIter_val,GtkTextChildAnchor_val,Unit) CAMLprim value ml_gtk_text_buffer_paste_clipboard (value arg1, value arg2, value arg3, value arg4) { gtk_text_buffer_paste_clipboard (GtkTextBuffer_val(arg1), GtkClipboard_val(arg2), Option_val(arg3,GtkTextIter_val,NULL), Bool_val(arg4) ); return(Val_unit); } ML_2(gtk_text_buffer_copy_clipboard, GtkTextBuffer_val, GtkClipboard_val, Unit) ML_3(gtk_text_buffer_cut_clipboard, GtkTextBuffer_val, GtkClipboard_val, Bool_val, Unit) ML_2(gtk_text_buffer_add_selection_clipboard, GtkTextBuffer_val, GtkClipboard_val, Unit) ML_2(gtk_text_buffer_remove_selection_clipboard, GtkTextBuffer_val, GtkClipboard_val, Unit) /* gtktextview.h */ ML_1 (Val_delete_type, Int_val, (value)) ML_1 (Val_movement_step, Int_val, (value)) ML_0 (gtk_text_view_new, Val_GtkWidget_sink) ML_1 (gtk_text_view_new_with_buffer, GtkTextBuffer_val, Val_GtkWidget_sink) ML_2 (gtk_text_view_set_buffer, GtkTextView_val, GtkTextBuffer_val, Unit) ML_1 (gtk_text_view_get_buffer, GtkTextView_val, Val_GtkTextBuffer) ML_6(gtk_text_view_scroll_to_mark, GtkTextView_val, GtkTextMark_val, Float_val, Bool_val, Float_val,Float_val, Unit) ML_bc6(ml_gtk_text_view_scroll_to_mark) ML_6(gtk_text_view_scroll_to_iter, GtkTextView_val, GtkTextIter_val, Float_val, Bool_val, Float_val,Float_val, Val_bool) ML_bc6(ml_gtk_text_view_scroll_to_iter) ML_2(gtk_text_view_scroll_mark_onscreen, GtkTextView_val, GtkTextMark_val,Unit) ML_2(gtk_text_view_move_mark_onscreen, GtkTextView_val, GtkTextMark_val, Val_bool) ML_1(gtk_text_view_place_cursor_onscreen, GtkTextView_val, Val_bool) CAMLprim value ml_gtk_text_view_get_visible_rect (value tv) { GdkRectangle res; gtk_text_view_get_visible_rect(GtkTextView_val(tv), &res); return Val_copy(res); } CAMLprim value ml_gtk_text_view_get_iter_location (value tv, value ti) { GdkRectangle res; gtk_text_view_get_iter_location(GtkTextView_val(tv),GtkTextIter_val(ti), &res); return Val_copy(res); } CAMLprim value ml_gtk_text_view_get_line_at_y (value tv, value y) { CAMLparam2(tv,y); CAMLlocal1(res); GtkTextIter res1; int res2; gtk_text_view_get_line_at_y(GtkTextView_val(tv),&res1, Int_val(y),&res2); res = alloc_tuple(2); Store_field(res,0,Val_GtkTextIter(&res1)); Store_field(res,1,Val_int(res2)); CAMLreturn(res); } CAMLprim value ml_gtk_text_view_get_line_yrange (value tv, value ti) { CAMLparam2(tv,ti); CAMLlocal1(res); int y,h; gtk_text_view_get_line_yrange(GtkTextView_val(tv), GtkTextIter_val(ti), &y,&h); res = alloc_tuple(2); Store_field(res,0,Val_int(y)); Store_field(res,1,Val_int(h)); CAMLreturn(res); } CAMLprim value ml_gtk_text_view_get_iter_at_location (value tv, value x, value y) { CAMLparam3(tv,x,y); GtkTextIter res; gtk_text_view_get_iter_at_location(GtkTextView_val(tv),&res, Int_val(x),Int_val(y)); CAMLreturn(Val_GtkTextIter(&res)); } CAMLprim value ml_gtk_text_view_buffer_to_window_coords (value tv, value tt, value x, value y) { CAMLparam4(tv,tt,x,y); CAMLlocal1(res); int bx,by = 0; gtk_text_view_buffer_to_window_coords(GtkTextView_val(tv), Text_window_type_val(tt), Int_val(x),Int_val(y), &bx,&by); res = alloc_tuple(2); Store_field(res,0,Val_int(bx)); Store_field(res,1,Val_int(by)); CAMLreturn(res); } CAMLprim value ml_gtk_text_view_window_to_buffer_coords (value tv, value tt, value x, value y) { CAMLparam4(tv,tt,x,y); CAMLlocal1(res); int bx,by = 0; gtk_text_view_window_to_buffer_coords(GtkTextView_val(tv), Text_window_type_val(tt), Int_val(x),Int_val(y), &bx,&by); res = alloc_tuple(2); Store_field(res,0,Val_int(bx)); Store_field(res,1,Val_int(by)); CAMLreturn(res); } Make_Val_option(GdkWindow) ML_2(gtk_text_view_get_window, GtkTextView_val, Text_window_type_val, Val_option_GdkWindow) ML_2(gtk_text_view_get_window_type,GtkTextView_val,GdkWindow_val, Val_text_window_type) ML_3(gtk_text_view_set_border_window_size,GtkTextView_val, Text_window_type_val,Int_val, Unit) ML_2(gtk_text_view_get_border_window_size,GtkTextView_val, Text_window_type_val,Val_int) ML_2(gtk_text_view_forward_display_line,GtkTextView_val, GtkTextIter_val,Val_bool) ML_2(gtk_text_view_backward_display_line,GtkTextView_val, GtkTextIter_val,Val_bool) ML_2(gtk_text_view_forward_display_line_end,GtkTextView_val, GtkTextIter_val,Val_bool) ML_2(gtk_text_view_backward_display_line_start,GtkTextView_val, GtkTextIter_val,Val_bool) ML_2(gtk_text_view_starts_display_line,GtkTextView_val, GtkTextIter_val,Val_bool) ML_3(gtk_text_view_move_visually,GtkTextView_val, GtkTextIter_val,Int_val,Val_bool) ML_3(gtk_text_view_add_child_at_anchor,GtkTextView_val, GtkWidget_val,GtkTextChildAnchor_val,Unit) ML_0(gtk_text_child_anchor_new,Val_GtkTextChildAnchor_new) CAMLprim value ml_gtk_text_child_anchor_get_widgets (value tca) { return Val_GList_free (gtk_text_child_anchor_get_widgets(GtkTextChildAnchor_val(tca)), Val_GtkWidget_func); } ML_1(gtk_text_child_anchor_get_deleted,GtkTextChildAnchor_val,Val_bool) ML_5(gtk_text_view_add_child_in_window,GtkTextView_val, GtkWidget_val,Text_window_type_val,Int_val,Int_val, Unit) ML_4(gtk_text_view_move_child,GtkTextView_val, GtkWidget_val,Int_val,Int_val, Unit) /* gtktextiter */ ML_1 (gtk_text_iter_get_buffer, GtkTextIter_val, Val_GtkTextBuffer) ML_1 (gtk_text_iter_get_offset, GtkTextIter_val, Val_int) ML_1 (gtk_text_iter_get_line, GtkTextIter_val, Val_int) ML_1 (gtk_text_iter_get_line_offset, GtkTextIter_val, Val_int) ML_1 (gtk_text_iter_get_line_index, GtkTextIter_val, Val_int) ML_1 (gtk_text_iter_get_visible_line_index, GtkTextIter_val, Val_int) ML_1 (gtk_text_iter_get_visible_line_offset, GtkTextIter_val, Val_int) ML_1 (gtk_text_iter_get_char, GtkTextIter_val, Val_int) ML_2 (gtk_text_iter_get_slice, GtkTextIter_val, GtkTextIter_val, copy_string_g_free) ML_2 (gtk_text_iter_get_text, GtkTextIter_val, GtkTextIter_val, copy_string_g_free) ML_2 (gtk_text_iter_get_visible_slice, GtkTextIter_val, GtkTextIter_val, copy_string_g_free) ML_2 (gtk_text_iter_get_visible_text, GtkTextIter_val, GtkTextIter_val, copy_string_g_free) CAMLprim value ml_gtk_text_iter_get_pixbuf(value ti) { GdkPixbuf *ret = gtk_text_iter_get_pixbuf(GtkTextIter_val(ti)); return Val_option(ret,Val_GdkPixbuf); } CAMLprim value ml_gtk_text_iter_get_marks(value ti) { return Val_GSList_free(gtk_text_iter_get_marks(GtkTextIter_val(ti)), Val_GtkTextMark_func); } CAMLprim value ml_gtk_text_iter_get_toggled_tags(value ti, value b) { return Val_GSList_free (gtk_text_iter_get_toggled_tags(GtkTextIter_val(ti), Bool_val(b)), Val_GtkTextMark_func); } CAMLprim value ml_gtk_text_iter_get_child_anchor(value ti) { GtkTextChildAnchor *ret = gtk_text_iter_get_child_anchor(GtkTextIter_val(ti)); return Val_option(ret,Val_GtkTextChildAnchor); } ML_2 (gtk_text_iter_begins_tag,GtkTextIter_val, Option_val(arg2,GtkTextTag_val,NULL) Ignore, Val_bool) ML_2 (gtk_text_iter_ends_tag,GtkTextIter_val, Option_val(arg2,GtkTextTag_val,NULL) Ignore, Val_bool) ML_2 (gtk_text_iter_toggles_tag,GtkTextIter_val, Option_val(arg2,GtkTextTag_val,NULL) Ignore, Val_bool) ML_2 (gtk_text_iter_has_tag,GtkTextIter_val, GtkTextTag_val, Val_bool) CAMLprim value ml_gtk_text_iter_get_tags(value ti) { return Val_GSList_free(gtk_text_iter_get_tags(GtkTextIter_val(ti)), Val_GtkTextMark_func); } ML_2 (gtk_text_iter_editable,GtkTextIter_val, Bool_val, Val_bool) ML_2 (gtk_text_iter_can_insert,GtkTextIter_val, Bool_val, Val_bool) ML_1 (gtk_text_iter_starts_word, GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_ends_word, GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_inside_word,GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_starts_line,GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_ends_line,GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_starts_sentence,GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_ends_sentence,GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_inside_sentence,GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_is_cursor_position,GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_get_chars_in_line, GtkTextIter_val, Val_int) ML_1 (gtk_text_iter_get_bytes_in_line, GtkTextIter_val, Val_int) ML_1 (gtk_text_iter_get_language, GtkTextIter_val, Val_PangoLanguage) ML_1 (gtk_text_iter_is_end,GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_is_start,GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_forward_char,GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_backward_char,GtkTextIter_val, Val_bool) ML_2 (gtk_text_iter_forward_chars,GtkTextIter_val, Int_val, Val_bool) ML_2 (gtk_text_iter_backward_chars,GtkTextIter_val, Int_val, Val_bool) ML_1 (gtk_text_iter_forward_line,GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_backward_line,GtkTextIter_val, Val_bool) ML_2 (gtk_text_iter_forward_lines,GtkTextIter_val, Int_val, Val_bool) ML_2 (gtk_text_iter_backward_lines,GtkTextIter_val, Int_val, Val_bool) ML_1 (gtk_text_iter_forward_word_end,GtkTextIter_val, Val_bool) ML_2 (gtk_text_iter_forward_word_ends,GtkTextIter_val, Int_val, Val_bool) ML_1 (gtk_text_iter_backward_word_start,GtkTextIter_val, Val_bool) ML_2 (gtk_text_iter_backward_word_starts,GtkTextIter_val, Int_val, Val_bool) ML_1 (gtk_text_iter_forward_cursor_position,GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_backward_cursor_position,GtkTextIter_val, Val_bool) ML_2 (gtk_text_iter_forward_cursor_positions, GtkTextIter_val, Int_val, Val_bool) ML_2 (gtk_text_iter_backward_cursor_positions, GtkTextIter_val, Int_val, Val_bool) ML_1 (gtk_text_iter_forward_sentence_end, GtkTextIter_val, Val_bool) ML_1 (gtk_text_iter_backward_sentence_start, GtkTextIter_val, Val_bool) ML_2 (gtk_text_iter_forward_sentence_ends, GtkTextIter_val, Int_val, Val_bool) ML_2 (gtk_text_iter_backward_sentence_starts, GtkTextIter_val, Int_val, Val_bool) ML_2 (gtk_text_iter_set_offset, GtkTextIter_val, Int_val, Unit) ML_2 (gtk_text_iter_set_line, GtkTextIter_val, Int_val, Unit) ML_2 (gtk_text_iter_set_line_offset, GtkTextIter_val, Int_val, Unit) ML_2 (gtk_text_iter_set_line_index, GtkTextIter_val, Int_val, Unit) ML_2 (gtk_text_iter_set_visible_line_index, GtkTextIter_val, Int_val, Unit) ML_2 (gtk_text_iter_set_visible_line_offset, GtkTextIter_val, Int_val, Unit) ML_1 (gtk_text_iter_forward_to_end, GtkTextIter_val, Unit) ML_1 (gtk_text_iter_forward_to_line_end, GtkTextIter_val, Val_bool) ML_2 (gtk_text_iter_forward_to_tag_toggle, GtkTextIter_val, Option_val(arg2,GtkTextTag_val,NULL) Ignore, Val_bool) ML_2 (gtk_text_iter_backward_to_tag_toggle, GtkTextIter_val, Option_val(arg2,GtkTextTag_val,NULL) Ignore, Val_bool) ML_2 (gtk_text_iter_equal, GtkTextIter_val, GtkTextIter_val, Val_bool) ML_2 (gtk_text_iter_compare, GtkTextIter_val, GtkTextIter_val, Val_int) ML_3 (gtk_text_iter_in_range, GtkTextIter_val, GtkTextIter_val, GtkTextIter_val, Val_bool) ML_2 (gtk_text_iter_order, GtkTextIter_val, GtkTextIter_val, Unit) Make_OptFlags_val(Text_search_flag_val) #define Make_search(dir) \ CAMLprim value ml_gtk_text_iter_##dir##_search (value ti_start, \ value str,\ value flag,\ value ti_lim)\ { CAMLparam4(ti_start,str,flag,ti_lim);\ CAMLlocal2(res,coup);\ GtkTextIter* ti1,*ti2;\ gboolean b;\ ti1=gtk_text_iter_copy(GtkTextIter_val(ti_start));\ ti2=gtk_text_iter_copy(GtkTextIter_val(ti_start));\ b=gtk_text_iter_##dir##_search(GtkTextIter_val(ti_start),\ String_val(str),\ OptFlags_Text_search_flag_val(flag),\ ti1,\ ti2,\ Option_val(ti_lim,GtkTextIter_val,NULL));\ if (!b) res = Val_unit;\ else \ { res = alloc(1,0);\ coup = alloc_tuple(2);\ Store_field(coup,0,Val_GtkTextIter(ti1));\ Store_field(coup,1,Val_GtkTextIter(ti2));\ Store_field(res,0,coup);};\ CAMLreturn(res);} Make_search(forward); Make_search(backward); static gboolean ml_gtk_text_char_predicate(gunichar ch, gpointer user_data) { value res, *clos = user_data; res = callback_exn (*clos, Val_int(ch)); if (Is_exception_result (res)) { CAML_EXN_LOG ("ml_gtk_text_char_predicate"); return FALSE; } return Bool_val(res); } CAMLprim value ml_gtk_text_iter_forward_find_char(value i,value fun,value ito) { CAMLparam1(fun); CAMLreturn (Val_bool (gtk_text_iter_forward_find_char(GtkTextIter_val(i), ml_gtk_text_char_predicate, &fun, Option_val(ito,GtkTextIter_val,NULL)))); } CAMLprim value ml_gtk_text_iter_backward_find_char(value i,value fun,value ito) { CAMLparam1(fun); CAMLreturn (Val_bool (gtk_text_iter_backward_find_char(GtkTextIter_val(i), ml_gtk_text_char_predicate, &fun, Option_val(ito,GtkTextIter_val,NULL)))); } lablgtk-3.1.2/src/ml_gtktext.h0000644000650106067230000000564314161276610015132 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ #define GtkTextMark_val(val) check_cast(GTK_TEXT_MARK,val) #define Val_GtkTextMark(val) (Val_GObject((GObject*)val)) #define Val_GtkTextMark_new(val) (Val_GObject_new((GObject*)val)) #define GtkTextTag_val(val) check_cast(GTK_TEXT_TAG,val) #define Val_GtkTextTag(val) (Val_GObject((GObject*)val)) #define Val_GtkTextTag_new(val) (Val_GObject_new((GObject*)val)) #define GtkTextTagTable_val(val) check_cast(GTK_TEXT_TAG_TABLE,val) #define Val_GtkTextTagTable(val) (Val_GObject((GObject*)val)) #define Val_GtkTextTagTable_new(val) (Val_GObject_new((GObject*)val)) #define GtkTextBuffer_val(val) check_cast(GTK_TEXT_BUFFER,val) #define Val_GtkTextBuffer(val) (Val_GObject((GObject*)val)) #define Val_GtkTextBuffer_new(val) (Val_GObject_new((GObject*)val)) #define GtkTextChildAnchor_val(val) check_cast(GTK_TEXT_CHILD_ANCHOR,val) #define Val_GtkTextChildAnchor(val) (Val_GObject((GObject*)val)) #define Val_GtkTextChildAnchor_new(val) (Val_GObject_new((GObject*)val)) /* "Lighter" version: allocate in the ocaml heap (see ml_gtktext.c for other definitions. */ #define GtkTextIter_val(val) ((GtkTextIter*)MLPointer_val(val)) #define Val_GtkTextIter(it) (copy_memblock_indirected(it,sizeof(GtkTextIter))) #define alloc_GtkTextIter() (alloc_memblock_indirected(sizeof(GtkTextIter)) #define GtkTextView_val(val) check_cast(GTK_TEXT_VIEW,val) lablgtk-3.1.2/src/ml_gtktree.c0000644000650106067230000016143714161276610015104 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_gdk.h" #include "ml_gtk.h" #include "gtk_tags.h" #include "ml_gtktree.h" /* Forward declaration */ GType custom_model_get_type (void); /* Init all */ CAMLprim value ml_gtktree_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = gtk_tree_view_get_type() + gtk_tree_view_column_get_type() + gtk_tree_store_get_type() + gtk_cell_renderer_pixbuf_get_type() + gtk_cell_renderer_text_get_type() + gtk_cell_renderer_toggle_get_type () + gtk_list_store_get_type() + gtk_tree_model_sort_get_type() + gtk_tree_path_get_type() + custom_model_get_type () #ifdef HASGTK24 + gtk_tree_model_filter_get_type() #endif #ifdef HASGTK26 + gtk_cell_renderer_progress_get_type() + gtk_cell_renderer_combo_get_type() + gtk_icon_view_get_type() #endif #ifdef HASGTK210 + gtk_cell_renderer_accel_get_type () #endif ; return Val_GType(t); } /* gtktreemodel.h */ /* "Lighter" version: allocate in the ocaml heap */ CAMLprim value ml_gtk_tree_iter_copy (value it) { /* Only valid if in old generation and compaction off */ return Val_GtkTreeIter(GtkTreeIter_val(it)); } CAMLprim value ml_alloc_GtkTreeIter(value v) { return alloc_memblock_indirected(sizeof(GtkTreeIter)); } #define GtkTreeModel_val(val) check_cast(GTK_TREE_MODEL,val) Make_Val_final_pointer_compare (GtkTreePath, Ignore, gtk_tree_path_compare, gtk_tree_path_free, 1) #define Val_GtkTreePath_copy(p) (Val_GtkTreePath(gtk_tree_path_copy(p))) #define GtkTreePath_val(val) ((GtkTreePath*)Pointer_val(val)) Make_Val_final_pointer (GtkTreeRowReference, Ignore, gtk_tree_row_reference_free, 5) #define GtkTreeRowReference_val(val) ((GtkTreeRowReference*)Pointer_val(val)) /* TreePath */ ML_0 (gtk_tree_path_new, Val_GtkTreePath) ML_1 (gtk_tree_path_new_from_string, String_val, Val_GtkTreePath) ML_1 (gtk_tree_path_to_string, GtkTreePath_val, copy_string_g_free) ML_2 (gtk_tree_path_append_index, GtkTreePath_val, Int_val, Unit) ML_2 (gtk_tree_path_prepend_index, GtkTreePath_val, Int_val, Unit) ML_1 (gtk_tree_path_get_depth, GtkTreePath_val, Val_int) CAMLprim value ml_gtk_tree_path_get_indices(value p) { gint *indices = gtk_tree_path_get_indices(GtkTreePath_val(p)); gint i, depth = gtk_tree_path_get_depth(GtkTreePath_val(p)); value ret = alloc_tuple(depth); for (i = 0; i < depth; i++) Field(ret,i) = Val_int(indices[i]); return ret; } ML_1 (gtk_tree_path_copy, GtkTreePath_val, Val_GtkTreePath) ML_1 (gtk_tree_path_next, GtkTreePath_val, Unit) ML_1 (gtk_tree_path_prev, GtkTreePath_val, Val_bool) ML_1 (gtk_tree_path_up, GtkTreePath_val, Val_bool) ML_1 (gtk_tree_path_down, GtkTreePath_val, Unit) ML_2 (gtk_tree_path_is_ancestor, GtkTreePath_val, GtkTreePath_val, Val_bool) /* RowReference */ ML_2 (gtk_tree_row_reference_new, GtkTreeModel_val, GtkTreePath_val, Val_GtkTreeRowReference) ML_1 (gtk_tree_row_reference_valid, GtkTreeRowReference_val, Val_bool) ML_1 (gtk_tree_row_reference_get_path, GtkTreeRowReference_val, Val_GtkTreePath) /* already copied! */ /* TreeModel */ #define Val_TreeModel_flags(f) ml_lookup_flags_getter(ml_table_tree_model_flags,f) ML_1 (gtk_tree_model_get_flags, GtkTreeModel_val, Val_TreeModel_flags) ML_1 (gtk_tree_model_get_n_columns, GtkTreeModel_val, Val_int) ML_2 (gtk_tree_model_get_column_type, GtkTreeModel_val, Int_val, Val_GType) ML_3 (gtk_tree_model_get_iter, GtkTreeModel_val, GtkTreeIter_val, GtkTreePath_val, Val_bool) ML_2 (gtk_tree_model_get_path, GtkTreeModel_val, GtkTreeIter_val, Val_GtkTreePath) ML_4 (gtk_tree_model_get_value, GtkTreeModel_val, GtkTreeIter_val, Int_val, GValue_val, Unit) ML_2 (gtk_tree_model_get_iter_first, GtkTreeModel_val, GtkTreeIter_val, Val_bool) ML_2 (gtk_tree_model_iter_next, GtkTreeModel_val, GtkTreeIter_val, Val_bool) ML_2 (gtk_tree_model_iter_has_child, GtkTreeModel_val, GtkTreeIter_val, Val_bool) ML_2 (gtk_tree_model_iter_n_children, GtkTreeModel_val, GtkTreeIter_optval, Val_int) ML_4 (gtk_tree_model_iter_nth_child, GtkTreeModel_val, GtkTreeIter_val, GtkTreeIter_optval, Int_val, Val_bool) ML_3 (gtk_tree_model_iter_parent, GtkTreeModel_val, GtkTreeIter_val, GtkTreeIter_val, Val_bool) static gboolean gtk_tree_model_foreach_func(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) { value *closure = data; CAMLparam0(); CAMLlocal3(vpath, viter, vret); vpath = Val_GtkTreePath_copy(path); viter = Val_GtkTreeIter(iter); vret = callback2_exn(*closure, vpath, viter); if (Is_exception_result(vret)) { CAML_EXN_LOG("gtk_tree_model_foreach_func"); CAMLreturn(FALSE); } CAMLreturn(Bool_val(vret)); } CAMLprim value ml_gtk_tree_model_foreach(value m, value cb) { CAMLparam1(cb); gtk_tree_model_foreach(GtkTreeModel_val(m), gtk_tree_model_foreach_func, &cb); CAMLreturn(Val_unit); } ML_3 (gtk_tree_model_row_changed, GtkTreeModel_val, GtkTreePath_val, GtkTreeIter_val, Unit) /* gtktreestore.h */ #define GtkTreeStore_val(val) check_cast(GTK_TREE_STORE,val) CAMLprim value ml_gtk_tree_store_newv(value arr) { CAMLparam1(arr); int n_columns = Wosize_val(arr); int i; GType *types = (GType*) (n_columns ? alloc (Wosize_asize(n_columns * sizeof(GType)), Abstract_tag) : 0); for (i=0; iparent)); } ML_4 (gtk_tree_store_set_value, GtkTreeStore_val, GtkTreeIter_val, Int_val, GValue_val, Unit) #ifdef HASGTK22 ML_2 (gtk_tree_store_remove, GtkTreeStore_val, GtkTreeIter_val, Val_bool) #else ML_2 (gtk_tree_store_remove, GtkTreeStore_val, GtkTreeIter_val, Val_false Ignore) #endif ML_4 (gtk_tree_store_insert, GtkTreeStore_val, GtkTreeIter_val, Option_val(arg3,GtkTreeIter_val,NULL) Ignore, Int_val, Unit) ML_4 (gtk_tree_store_insert_before, GtkTreeStore_val, GtkTreeIter_val, Option_val(arg3,GtkTreeIter_val,NULL) Ignore, GtkTreeIter_val, Unit) ML_4 (gtk_tree_store_insert_after, GtkTreeStore_val, GtkTreeIter_val, Option_val(arg3,GtkTreeIter_val,NULL) Ignore, GtkTreeIter_val, Unit) ML_3 (gtk_tree_store_append, GtkTreeStore_val, GtkTreeIter_val, Option_val(arg3,GtkTreeIter_val,NULL) Ignore, Unit) ML_3 (gtk_tree_store_prepend, GtkTreeStore_val, GtkTreeIter_val, Option_val(arg3,GtkTreeIter_val,NULL) Ignore, Unit) ML_3 (gtk_tree_store_is_ancestor, GtkTreeStore_val, GtkTreeIter_val, GtkTreeIter_val, Val_bool) ML_2 (gtk_tree_store_iter_depth, GtkTreeStore_val, GtkTreeIter_val, Val_int) ML_1 (gtk_tree_store_clear, GtkTreeStore_val, Unit) #ifdef HASGTK22 ML_2 (gtk_tree_store_iter_is_valid, GtkTreeStore_val, GtkTreeIter_val, Val_bool) ML_3 (gtk_tree_store_swap, GtkTreeStore_val, GtkTreeIter_val, GtkTreeIter_val, Unit) ML_3 (gtk_tree_store_move_before, GtkTreeStore_val, GtkTreeIter_val, GtkTreeIter_val, Unit) ML_3 (gtk_tree_store_move_after, GtkTreeStore_val, GtkTreeIter_val, GtkTreeIter_val, Unit) #else Unsupported(gtk_tree_store_iter_is_valid) Unsupported(gtk_tree_store_swap) Unsupported(gtk_tree_store_move_before) Unsupported(gtk_tree_store_move_after) #endif /* GtkListStore */ #define GtkListStore_val(val) check_cast(GTK_LIST_STORE,val) CAMLprim value ml_gtk_list_store_newv(value arr) { CAMLparam1(arr); int n_columns = Wosize_val(arr); int i; GType *types = (GType*) (n_columns ? alloc (Wosize_asize(n_columns * sizeof(GType)), Abstract_tag) : 0); for (i=0; iparent)); } ML_4 (gtk_list_store_set_value, GtkListStore_val, GtkTreeIter_val, Int_val, GValue_val, Unit) #ifdef HASGTK22 ML_2 (gtk_list_store_remove, GtkListStore_val, GtkTreeIter_val, Val_bool) #else ML_2 (gtk_list_store_remove, GtkListStore_val, GtkTreeIter_val, Unit) #endif ML_3 (gtk_list_store_insert, GtkListStore_val, GtkTreeIter_val, Int_val, Unit) ML_3 (gtk_list_store_insert_before, GtkListStore_val, GtkTreeIter_val, GtkTreeIter_val, Unit) ML_3 (gtk_list_store_insert_after, GtkListStore_val, GtkTreeIter_val, GtkTreeIter_val, Unit) ML_2 (gtk_list_store_append, GtkListStore_val, GtkTreeIter_val, Unit) ML_2 (gtk_list_store_prepend, GtkListStore_val, GtkTreeIter_val, Unit) ML_1 (gtk_list_store_clear, GtkListStore_val, Unit) #ifdef HASGTK22 ML_2 (gtk_list_store_iter_is_valid, GtkListStore_val, GtkTreeIter_val, Val_bool) ML_3 (gtk_list_store_swap, GtkListStore_val, GtkTreeIter_val, GtkTreeIter_val, Unit) ML_3 (gtk_list_store_move_before, GtkListStore_val, GtkTreeIter_val, GtkTreeIter_val, Unit) ML_3 (gtk_list_store_move_after, GtkListStore_val, GtkTreeIter_val, GtkTreeIter_val, Unit) #else Unsupported(gtk_list_store_iter_is_valid) Unsupported(gtk_list_store_swap) Unsupported(gtk_list_store_move_before) Unsupported(gtk_list_store_move_after) #endif /* GtkTreeSelection */ #define GtkTreeSelection_val(val) check_cast(GTK_TREE_SELECTION,val) ML_2 (gtk_tree_selection_set_mode, GtkTreeSelection_val, Selection_mode_val, Unit) ML_1 (gtk_tree_selection_get_mode, GtkTreeSelection_val, Val_selection_mode) static gboolean gtk_tree_selection_func(GtkTreeSelection *s, GtkTreeModel *m, GtkTreePath *p, gboolean cs, gpointer clos_p) { value vp = Val_GtkTreePath_copy(p); value ret = callback2_exn(*(value*)clos_p, vp, Val_bool(cs)); if (Is_exception_result(ret)) { CAML_EXN_LOG("gtk_tree_selection_func"); return TRUE; } return Bool_val(ret); } CAMLprim value ml_gtk_tree_selection_set_select_function (value s, value clos) { value *clos_p = ml_global_root_new(clos); gtk_tree_selection_set_select_function (GtkTreeSelection_val(s), gtk_tree_selection_func, clos_p, ml_global_root_destroy); return Val_unit; } static void gtk_tree_selection_foreach_func(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) { value p = Val_GtkTreePath_copy(path); value ret = callback_exn(*(value*)data, p); if (Is_exception_result(ret)) CAML_EXN_LOG("gtk_tree_selection_foreach_func"); } CAMLprim value ml_gtk_tree_selection_selected_foreach (value s, value clos) { CAMLparam1(clos); gtk_tree_selection_selected_foreach(GtkTreeSelection_val(s), gtk_tree_selection_foreach_func, &clos); CAMLreturn(Val_unit); } #ifdef HASGTK22 ML_1 (gtk_tree_selection_count_selected_rows, GtkTreeSelection_val, Val_int) #else Unsupported(gtk_tree_selection_count_selected_rows) #endif ML_2 (gtk_tree_selection_select_path, GtkTreeSelection_val, GtkTreePath_val, Unit) ML_2 (gtk_tree_selection_unselect_path, GtkTreeSelection_val, GtkTreePath_val, Unit) ML_2 (gtk_tree_selection_select_iter, GtkTreeSelection_val, GtkTreeIter_val, Unit) ML_2 (gtk_tree_selection_unselect_iter, GtkTreeSelection_val, GtkTreeIter_val, Unit) ML_2 (gtk_tree_selection_path_is_selected, GtkTreeSelection_val, GtkTreePath_val, Val_bool) ML_2 (gtk_tree_selection_iter_is_selected, GtkTreeSelection_val, GtkTreeIter_val, Val_bool) ML_1 (gtk_tree_selection_select_all, GtkTreeSelection_val, Unit) ML_1 (gtk_tree_selection_unselect_all, GtkTreeSelection_val, Unit) ML_3 (gtk_tree_selection_select_range, GtkTreeSelection_val, GtkTreePath_val, GtkTreePath_val, Unit) #ifdef HASGTK22 ML_3 (gtk_tree_selection_unselect_range, GtkTreeSelection_val, GtkTreePath_val, GtkTreePath_val, Unit) #else Unsupported(gtk_tree_selection_unselect_range) #endif /* GtkCellRenderer{Text,...} */ #define GtkCellRenderer_val(val) check_cast(GTK_CELL_RENDERER,val) #define GtkCellRendererText_val(val) check_cast(GTK_CELL_RENDERER_TEXT,val) ML_0 (gtk_cell_renderer_pixbuf_new, Val_GtkAny_sink) ML_0 (gtk_cell_renderer_text_new, Val_GtkAny_sink) ML_2 (gtk_cell_renderer_text_set_fixed_height_from_font, GtkCellRendererText_val, Int_val, Unit) ML_0 (gtk_cell_renderer_toggle_new, Val_GtkAny_sink) /* GtkTreeViewColumn */ #define GtkTreeViewColumn_val(val) check_cast(GTK_TREE_VIEW_COLUMN,val) ML_0 (gtk_tree_view_column_new, Val_GtkWidget_sink) ML_1 (gtk_tree_view_column_clear, GtkTreeViewColumn_val, Unit) ML_3 (gtk_tree_view_column_pack_start, GtkTreeViewColumn_val, GtkCellRenderer_val, Int_val, Unit) ML_3 (gtk_tree_view_column_pack_end, GtkTreeViewColumn_val, GtkCellRenderer_val, Int_val, Unit) ML_2 (gtk_tree_view_column_clear_attributes, GtkTreeViewColumn_val, GtkCellRenderer_val, Unit) ML_4 (gtk_tree_view_column_add_attribute, GtkTreeViewColumn_val, GtkCellRenderer_val, String_val, Int_val, Unit) ML_2 (gtk_tree_view_column_set_sort_column_id, GtkTreeViewColumn_val, Int_val, Unit) ML_1 (gtk_tree_view_column_get_sort_column_id, GtkTreeViewColumn_val, Val_int) static void gtk_tree_cell_data_func(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { value *closure = data; CAMLparam0(); CAMLlocal3(vmod,vit,ret); vmod = Val_GAnyObject(tree_model); vit = Val_GtkTreeIter(iter); ret = callback2_exn(*closure, vmod, vit); if (Is_exception_result(ret)) CAML_EXN_LOG_VERBOSE("gtk_tree_cell_data_func",ret); CAMLreturn0; } CAMLprim value ml_gtk_tree_view_column_set_cell_data_func(value vcol, value cr, value cb) { value *glob_root = NULL; if (Is_block(cb)) glob_root = ml_global_root_new(Field(cb, 0)); gtk_tree_view_column_set_cell_data_func (GtkTreeViewColumn_val(vcol), GtkCellRenderer_val(cr), (Is_block(cb) ? gtk_tree_cell_data_func : NULL), glob_root, ml_global_root_destroy); return Val_unit; } ML_1 (gtk_tree_view_column_get_button, GtkTreeViewColumn_val, Val_GtkWidget) /* GtkTreeView */ #define GtkTreeView_val(val) check_cast(GTK_TREE_VIEW,val) ML_0 (gtk_tree_view_new, Val_GtkWidget_sink) ML_1 (gtk_tree_view_new_with_model, GtkTreeModel_val, Val_GtkWidget_sink) ML_1 (gtk_tree_view_get_selection, GtkTreeView_val, Val_GtkWidget) ML_1 (gtk_tree_view_columns_autosize, GtkTreeView_val, Unit) ML_2 (gtk_tree_view_append_column, GtkTreeView_val, GtkTreeViewColumn_val, Val_int) ML_2 (gtk_tree_view_remove_column, GtkTreeView_val, GtkTreeViewColumn_val, Val_int) ML_3 (gtk_tree_view_insert_column, GtkTreeView_val, GtkTreeViewColumn_val, Int_val, Val_int) ML_2 (gtk_tree_view_get_column, GtkTreeView_val, Int_val, Val_GtkWidget) ML_3 (gtk_tree_view_move_column_after, GtkTreeView_val, GtkTreeViewColumn_val, GtkTreeViewColumn_val, Unit) ML_3 (gtk_tree_view_scroll_to_point, GtkTreeView_val, Int_val, Int_val, Unit) ML_4 (gtk_tree_view_scroll_to_cell, GtkTreeView_val, GtkTreePath_val, GtkTreeViewColumn_val, Insert(Bool_val(arg4)) Insert(Bool_val(arg4) ? Float_val(Field(Field(arg4,0),0)) : 0) (Bool_val(arg4) ? Float_val(Field(Field(arg4,0),1)) : 0) Ignore, Unit) ML_3 (gtk_tree_view_row_activated, GtkTreeView_val, GtkTreePath_val, GtkTreeViewColumn_val, Unit) ML_1 (gtk_tree_view_expand_all, GtkTreeView_val, Unit) ML_1 (gtk_tree_view_collapse_all, GtkTreeView_val, Unit) ML_3 (gtk_tree_view_expand_row, GtkTreeView_val, GtkTreePath_val, Bool_val, Unit) #ifdef HASGTK22 ML_2 (gtk_tree_view_expand_to_path, GtkTreeView_val, GtkTreePath_val, Unit) #else Unsupported(gtk_tree_view_expand_to_path) #endif ML_2 (gtk_tree_view_collapse_row, GtkTreeView_val, GtkTreePath_val, Unit) ML_2 (gtk_tree_view_row_expanded, GtkTreeView_val, GtkTreePath_val, Val_bool) ML_4 (gtk_tree_view_set_cursor, GtkTreeView_val, GtkTreePath_val, GtkTreeViewColumn_val, Bool_val, Unit) #ifdef HASGTK22 ML_5 (gtk_tree_view_set_cursor_on_cell, GtkTreeView_val, GtkTreePath_val, GtkTreeViewColumn_val, GtkCellRenderer_val, Bool_val, Unit) #else Unsupported(gtk_tree_view_set_cursor_on_cell) #endif CAMLprim value ml_gtk_tree_view_get_cursor (value arg) { CAMLparam0(); CAMLlocal1(ret); GtkTreePath *path; GtkTreeViewColumn *col; gtk_tree_view_get_cursor(GtkTreeView_val(arg), &path, &col); ret = alloc_tuple(2); Store_field(ret,0,Val_option(path,Val_GtkTreePath)); Store_field(ret,1,Val_option(col,Val_GtkWidget)); CAMLreturn(ret); } CAMLprim value ml_gtk_tree_view_get_path_at_pos(value treeview, value x, value y) { gint cell_x; gint cell_y; GtkTreePath *gpath; GtkTreeViewColumn *gcolumn; if (gtk_tree_view_get_path_at_pos( GtkTreeView_val(treeview), Int_val(x), Int_val(y), &gpath, &gcolumn, &cell_x, &cell_y)) { /* return Some */ CAMLparam0 (); CAMLlocal1(tup); tup = alloc_tuple(4); Store_field(tup,0,Val_GtkTreePath(gpath)); Store_field(tup,1,Val_GtkAny(gcolumn)); Store_field(tup,2,Val_int(cell_x)); Store_field(tup,3,Val_int(cell_y)); CAMLreturn(ml_some (tup)); } return Val_unit; } CAMLprim value ml_gtk_tree_view_get_cell_area(value treeview, value path, value col) { CAMLparam0 (); GdkRectangle grect; gtk_tree_view_get_cell_area( GtkTreeView_val(treeview), Option_val(path,GtkTreePath_val,NULL), Option_val(col,GtkTreeViewColumn_val,NULL), &grect); CAMLreturn (Val_copy (grect)); } CAMLprim value ml_gtk_tree_view_enable_model_drag_dest (value tv, value t, value a) { CAMLparam3 (tv,t,a); GtkTargetEntry *targets = NULL; int i, n_targets = Wosize_val(t); if (n_targets) targets = (GtkTargetEntry *) alloc ( Wosize_asize(n_targets * sizeof(GtkTargetEntry)) , Abstract_tag ); for (i=0; idata; path = Val_GtkTreePath(p); cell = alloc_small(2, Tag_cons); Field(cell, 0) = path; Field(cell, 1) = list; list = cell; l=l->prev; } g_list_free(head); CAMLreturn(list); } ML_1 (gtk_icon_view_select_all, GtkIconView_val, Unit) ML_1 (gtk_icon_view_unselect_all, GtkIconView_val, Unit) ML_2 (gtk_icon_view_item_activated, GtkIconView_val, GtkTreePath_val, Unit) #else Unsupported_26(gtk_icon_view_get_path_at_pos) Unsupported_26(gtk_icon_view_selected_foreach) Unsupported_26(gtk_icon_view_select_path) Unsupported_26(gtk_icon_view_unselect_path) Unsupported_26(gtk_icon_view_path_is_selected) Unsupported_26(gtk_icon_view_get_selected_items) Unsupported_26(gtk_icon_view_select_all) Unsupported_26(gtk_icon_view_unselect_all) Unsupported_26(gtk_icon_view_item_activated) #endif /* HASGTK26 */ /* Custom models: this code is inspired by the code of Robert Schneck */ extern void caml_minor_collection(void); #if 0 /* Debugging code */ char *buf1; char buf2[1000]; #define USER_DATA(iter) (iter?(long)((iter)->user_data):0) #define USER_DATA2(iter) (iter?(long)((iter)->user_data2):0) #define USER_DATA3(iter) (iter?(long)((iter)->user_data3):0) #define PRINT4(iter) iter,USER_DATA(iter),USER_DATA2(iter),USER_DATA3(iter) #define PRINT4_VALID(iter) iter, (long)(iter)->user_data, (long)(iter)->user_data2, (long)(iter)->user_data3 #define PATH_STRING(path) (buf1 = (path) ? gtk_tree_path_to_string(path) : "[]", strcpy(buf2,buf1), (path) ? g_free(buf1) : 0, buf2) #define debug_print printf #else #define debug_print(...) #endif value callback4(value closure, value arg1, value arg2, value arg3, value arg4) { value arg[4]; arg[0] = arg1; arg[1] = arg2; arg[2] = arg3; arg[3] = arg4; return callbackN(closure, 4, arg); } #define ACCESS_PUBLIC_METHOD(method,object, name, block) \ {static value method_hash = 0; \ if (method_hash==0) method_hash = caml_hash_variant(name); \ {value method = caml_get_public_method(object,method_hash); \ if ((void*)method == NULL) \ {printf("Internal error: could not access method '%s'\n", name); \ exit(2);}; \ block ; }}; /***************************************************************************** * GObject stuff *****************************************************************************/ /* Some boilerplate GObject defines. 'klass' is used instead of 'class', because 'class' is a C++ keyword */ #define TYPE_CUSTOM_MODEL (custom_model_get_type ()) #define CUSTOM_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CUSTOM_MODEL, Custom_model)) #define CUSTOM_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CUSTOM_MODEL, Custom_model_class)) #define IS_CUSTOM_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CUSTOM_MODEL)) #define IS_CUSTOM_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CUSTOM_MODEL)) #define CUSTOM_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CUSTOM_MODEL, Custom_model_class)) static GObjectClass *parent_class = NULL; /* GObject stuff - nothing to worry about */ typedef struct _Custom_model Custom_model; typedef struct _Custom_model_class Custom_model_class; struct _Custom_model { GObject parent; /* this MUST be the first member */ gint stamp; value callback_object; }; /* Custom_model_class: more boilerplate GObject stuff */ struct _Custom_model_class { GObjectClass parent_class; }; /* boring declarations of local functions */ /* GObject stuff */ static void custom_model_init (Custom_model *pkg_tree); static void custom_model_class_init (Custom_model_class *klass); static void custom_model_tree_model_init (GtkTreeModelIface *iface); static void custom_model_finalize (GObject *object); /* tree model stuff */ static GtkTreeModelFlags custom_model_get_flags (GtkTreeModel *tree_model); static gint custom_model_get_n_columns (GtkTreeModel *tree_model); static GType custom_model_get_column_type (GtkTreeModel *tree_model, gint index); static gboolean custom_model_get_iter (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path); static GtkTreePath *custom_model_get_path (GtkTreeModel *tree_model, GtkTreeIter *iter); static void custom_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, gint column, GValue *value); static gboolean custom_model_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter); static gboolean custom_model_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent); static gboolean custom_model_iter_has_child (GtkTreeModel *tree_model, GtkTreeIter *iter); static gint custom_model_iter_n_children (GtkTreeModel *tree_model, GtkTreeIter *iter); static gboolean custom_model_iter_nth_child (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, gint n); static gboolean custom_model_iter_parent (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child); static void custom_model_ref_node (GtkTreeModel *tree_model, GtkTreeIter *iter); static void custom_model_unref_node (GtkTreeModel *tree_model, GtkTreeIter *iter); GType custom_model_get_type (void) { /* Some boilerplate type registration stuff */ static GType custom_model_type = 0; if (!custom_model_type) { static const GTypeInfo custom_model_info = { sizeof (Custom_model_class), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) custom_model_class_init, NULL, /* class finalize */ NULL, /* class_data */ sizeof (Custom_model), 0, /* n_preallocs */ (GInstanceInitFunc) custom_model_init }; static const GInterfaceInfo tree_model_info = { (GInterfaceInitFunc) custom_model_tree_model_init, NULL, NULL }; custom_model_type = g_type_register_static (G_TYPE_OBJECT, "Custom_model", &custom_model_info, (GTypeFlags)0); /* Here we register our GtkTreeModel interface with the type system */ g_type_add_interface_static (custom_model_type, GTK_TYPE_TREE_MODEL, &tree_model_info); } return custom_model_type; } /* more boilerplate GObject stuff */ static void custom_model_class_init (Custom_model_class *klass) { GObjectClass *object_class; parent_class = (GObjectClass*) g_type_class_peek_parent (klass); object_class = (GObjectClass*) klass; object_class->finalize = custom_model_finalize; } static void custom_model_tree_model_init (GtkTreeModelIface *iface) { iface->get_flags = custom_model_get_flags; iface->get_n_columns = custom_model_get_n_columns; iface->get_column_type = custom_model_get_column_type; iface->get_iter = custom_model_get_iter; iface->get_path = custom_model_get_path; iface->get_value = custom_model_get_value; iface->iter_next = custom_model_iter_next; iface->iter_children = custom_model_iter_children; iface->iter_has_child = custom_model_iter_has_child; iface->iter_n_children = custom_model_iter_n_children; iface->iter_nth_child = custom_model_iter_nth_child; iface->iter_parent = custom_model_iter_parent; iface->ref_node = custom_model_ref_node; iface->unref_node = custom_model_unref_node; } /* called every time a new custom model object is created */ static void custom_model_init (Custom_model *custom_model) { debug_print("custom_model_init %p\n",custom_model); do { custom_model->stamp = g_random_int (); } while (custom_model->stamp == 0); } /* called just before a custom model object is destroyed */ static void custom_model_finalize (GObject *object) { /* must chain up - finalize parent */ (* parent_class->finalize) (object); } /***************************************************************************** * Tree Model interface stuff *****************************************************************************/ #define UNWRAP_OPTION(id,expr,block) \ {value id##_aux = expr; \ value id = Option_val(id##_aux,/* blank */,0); \ block } #define decode_iter_option(custom_model,iter) \ (iter ? ml_some(decode_iter(custom_model,iter)) : Val_unit) void encode_iter(Custom_model *custom_model, GtkTreeIter *iter, value v) { debug_print("encode_iter %p %p %p\n",custom_model,iter,(void*)v); g_return_if_fail (IS_CUSTOM_MODEL (custom_model)); { value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method,callback_object,"custom_encode_iter", { value triple = callback2(method,callback_object,v); value v1 = Field(triple,0); value v2 = Field(triple,1); value v3 = Field(triple,2); /* Ideally, the user would already have ensured all these were stable... and in any case, it is always up to the user to ensure that they will not get garbage collected */ if(Is_young_block(v1) || Is_young_block(v2) || Is_young_block(v3)) { caml_register_global_root (&v1); caml_register_global_root (&v2); caml_register_global_root (&v3); caml_minor_collection(); caml_remove_global_root (&v1); caml_remove_global_root (&v2); caml_remove_global_root (&v3); } iter->stamp = custom_model->stamp; iter->user_data = (gpointer) v1; iter->user_data2 = (gpointer) v2; iter->user_data3 = (gpointer) v3; }) } } value decode_iter(Custom_model *custom_model, GtkTreeIter *iter) { debug_print("decode_iter %p %p:%ld:%ld:%ld\n",custom_model,PRINT4(iter)); g_return_val_if_fail (IS_CUSTOM_MODEL (custom_model), 0); { value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method, callback_object, "custom_decode_iter", return callback4(method,callback_object, (value)iter->user_data, (value)iter->user_data2, (value)iter->user_data3);) } } static GtkTreeModelFlags custom_model_get_flags (GtkTreeModel *tree_model) { debug_print("get_flags %p\n",tree_model); g_return_val_if_fail (IS_CUSTOM_MODEL (tree_model), 0); { Custom_model *custom_model = (Custom_model *) tree_model; value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method, callback_object, "custom_flags", { value flags_list = callback(method, callback_object); GtkTreeModelFlags flags = (GtkTreeModelFlags) 0; static value iter_persist_hash=0; static value list_only_hash=0; if (iter_persist_hash==0) iter_persist_hash=caml_hash_variant("ITERS_PERSIST"); if (list_only_hash==0) list_only_hash=caml_hash_variant("LIST_ONLY"); while (flags_list != Val_int(0)) { value flag = Field(flags_list,0); flags_list = Field(flags_list,1); if (flag == iter_persist_hash) flags = flags | GTK_TREE_MODEL_ITERS_PERSIST; if (flag == list_only_hash) flags = flags | GTK_TREE_MODEL_LIST_ONLY; } return flags; }) } } static gint custom_model_get_n_columns (GtkTreeModel *tree_model) { debug_print("get_n_columns %p\n",tree_model); g_return_val_if_fail (IS_CUSTOM_MODEL (tree_model), 0); { Custom_model *custom_model = (Custom_model *) tree_model; value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method,callback_object,"custom_n_columns", { value n_columns = callback(method,callback_object); return Int_val(n_columns);})} } static GType custom_model_get_column_type (GtkTreeModel *tree_model, gint index) { debug_print("get_column_type %p %d\n",tree_model,index); g_return_val_if_fail (IS_CUSTOM_MODEL (tree_model), G_TYPE_INVALID); { Custom_model *custom_model = (Custom_model *) tree_model; value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method,callback_object,"custom_get_column_type", { value t = callback2(method,callback_object, Val_int(index)); return GType_val(t);})} } static gboolean custom_model_get_iter (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path) { debug_print("get_iter %p %p %s\n",tree_model,iter,PATH_STRING(path)); g_return_val_if_fail (iter != NULL, FALSE); g_return_val_if_fail (path != NULL, FALSE); g_return_val_if_fail (IS_CUSTOM_MODEL (tree_model), FALSE); { Custom_model *custom_model = (Custom_model *) tree_model; value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method,callback_object,"custom_get_iter", /* This copy is needed because GTK will eventually free the path; and Val_GtkTreePath creates a Caml value which frees the path upon finalization; don't want to free twice! The alternative (of avoiding both copy and finalization) means trusting the OCaml programmer not to store the path somewhere... */ { UNWRAP_OPTION(res, callback2(method, callback_object, Val_GtkTreePath(gtk_tree_path_copy(path))), if (res) { encode_iter(custom_model,iter,res); return TRUE; } else { return FALSE;) }})} } static GtkTreePath * custom_model_get_path (GtkTreeModel *tree_model, GtkTreeIter *iter) { debug_print("get_path %p %p:%ld:%ld:%ld\n",tree_model,PRINT4(iter)); g_return_val_if_fail(iter != NULL, NULL); g_return_val_if_fail (IS_CUSTOM_MODEL (tree_model), NULL); { Custom_model *custom_model = (Custom_model *) tree_model; g_return_val_if_fail (iter->stamp == custom_model->stamp, NULL); {value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method, callback_object,"custom_get_path", /* This copy is needed because Caml will eventually free the path from the callback when that Caml value is finalized; and GTK will eventually free the path we return to it. */ { value path = callback2(method,callback_object, decode_iter(custom_model,iter)); return gtk_tree_path_copy(GtkTreePath_val(path));})}} } static void custom_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, gint column, GValue *value_arg) { debug_print("get_value %p %p:%ld:%ld:%ld %d\n",tree_model,PRINT4(iter),column); g_return_if_fail(iter != NULL); g_return_if_fail (IS_CUSTOM_MODEL (tree_model)); { Custom_model *custom_model = (Custom_model *) tree_model; g_return_if_fail (iter->stamp == custom_model->stamp); { value callback_object = custom_model->callback_object; value row = decode_iter(custom_model,iter); value wrap = Val_GValue_wrap(value_arg); ACCESS_PUBLIC_METHOD(method,callback_object,"custom_get_value", callback4(method,callback_object, row,Val_int(column),wrap);)}} } static gboolean custom_model_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter) { debug_print("iter_next %p %p:%ld:%ld:%ld\n",tree_model,PRINT4(iter)); g_return_val_if_fail(iter != NULL, FALSE); g_return_val_if_fail(IS_CUSTOM_MODEL (tree_model),FALSE); { Custom_model *custom_model = (Custom_model *) tree_model; g_return_val_if_fail (iter->stamp == custom_model->stamp, FALSE); { value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method,callback_object,"custom_iter_next", { value row = decode_iter(custom_model, iter); UNWRAP_OPTION(res,callback2(method,callback_object, row), if (res) { encode_iter(custom_model,iter,res); return TRUE; } else { return FALSE; })})}} } static gboolean custom_model_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent) { debug_print("iter_children %p %p %p:%ld:%ld:%ld\n",tree_model,iter,PRINT4(parent)); g_return_val_if_fail (iter != NULL, FALSE); g_return_val_if_fail(IS_CUSTOM_MODEL (tree_model),FALSE); { Custom_model *custom_model = (Custom_model *) tree_model; g_return_val_if_fail (parent == NULL || parent->stamp == custom_model->stamp, FALSE); { value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method,callback_object,"custom_iter_children", { value arg = decode_iter_option(custom_model,parent); UNWRAP_OPTION(res, callback2(method,callback_object,arg), if (res) { encode_iter(custom_model,iter,res); return TRUE; } else { return FALSE; })})}} } static gboolean custom_model_iter_has_child (GtkTreeModel *tree_model, GtkTreeIter *iter) { debug_print("iter_has_child %p %p:%ld:%ld:%ld\n",tree_model,PRINT4(iter)); g_return_val_if_fail (iter != NULL, FALSE); g_return_val_if_fail(IS_CUSTOM_MODEL (tree_model),FALSE); { Custom_model *custom_model = (Custom_model *) tree_model; g_return_val_if_fail (iter->stamp == custom_model->stamp, FALSE); { value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method, callback_object,"custom_iter_has_child", { value row = decode_iter(custom_model,iter); return Bool_val(callback2(method,callback_object, row));})}} } static gint custom_model_iter_n_children (GtkTreeModel *tree_model, GtkTreeIter *iter) { debug_print("iter_n_children %p %p:%ld:%ld:%ld\n",tree_model,PRINT4(iter)); g_return_val_if_fail(IS_CUSTOM_MODEL (tree_model),0); { Custom_model *custom_model = (Custom_model *) tree_model; g_return_val_if_fail (iter == NULL || iter->stamp == custom_model->stamp, 0); { value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method,callback_object, "custom_iter_n_children", { value arg = decode_iter_option(custom_model,iter); return Int_val(callback2(method,callback_object, arg));})}} } static gboolean custom_model_iter_nth_child (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, gint n) { debug_print("iter_nth_child %p %p %p:%ld:%ld:%ld %d\n",tree_model,iter,PRINT4(parent),n); g_return_val_if_fail(iter != NULL, FALSE); g_return_val_if_fail(IS_CUSTOM_MODEL (tree_model),FALSE); { Custom_model *custom_model = (Custom_model *) tree_model; g_return_val_if_fail (parent == NULL || parent->stamp == custom_model->stamp, FALSE); { value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method, callback_object, "custom_iter_nth_child", { value arg = decode_iter_option(custom_model,parent); UNWRAP_OPTION(res,callback3(method, callback_object, arg, Val_int(n)), if (res) { encode_iter(custom_model,iter,res); return TRUE; } else { return FALSE; })})}} } static gboolean custom_model_iter_parent (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child) { debug_print("iter_parent %p %p %p:%ld:%ld:%ld\n",tree_model,iter,PRINT4(child)); g_return_val_if_fail(iter != NULL, FALSE); g_return_val_if_fail(IS_CUSTOM_MODEL (tree_model),FALSE); { Custom_model *custom_model = (Custom_model *) tree_model; g_return_val_if_fail (child != NULL, FALSE); g_return_val_if_fail (child->stamp == custom_model->stamp, FALSE); { value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method,callback_object, "custom_iter_parent", { value row = decode_iter(custom_model,child); UNWRAP_OPTION(res,callback2(method,callback_object,row), if (res) { encode_iter(custom_model,iter,res); return TRUE; } else { return FALSE; })})}} } static void custom_model_ref_node (GtkTreeModel *tree_model, GtkTreeIter *iter) { debug_print("ref_node %p %p:%ld:%ld:%ld\n",tree_model,PRINT4(iter)); g_return_if_fail(iter != NULL); g_return_if_fail (IS_CUSTOM_MODEL (tree_model)); { Custom_model *custom_model = (Custom_model *) tree_model; g_return_if_fail (iter->stamp == custom_model->stamp); { value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method, callback_object, "custom_ref_node", { value row = decode_iter(custom_model,iter); callback2(method, callback_object, row);})}} } static void custom_model_unref_node (GtkTreeModel *tree_model, GtkTreeIter *iter) { debug_print("unref_node %p %p:%ld:%ld:%ld\n",tree_model,PRINT4(iter)); g_return_if_fail(iter != NULL); g_return_if_fail (IS_CUSTOM_MODEL (tree_model)); { Custom_model *custom_model = (Custom_model *) tree_model; g_return_if_fail (iter->stamp == custom_model->stamp); { value callback_object = custom_model->callback_object; ACCESS_PUBLIC_METHOD(method, callback_object, "custom_unref_node", { value row = decode_iter(custom_model,iter); callback2(method, callback_object, row);})}} } /***************************************************************************** * Creating a new custom model object *****************************************************************************/ Custom_model * custom_model_new (void) { Custom_model *new_custom_model; new_custom_model = (Custom_model*) g_object_new (TYPE_CUSTOM_MODEL, NULL); g_assert( new_custom_model != NULL ); return new_custom_model; } CAMLprim value ml_custom_model_create(value unit) { Custom_model *new_custom_model = custom_model_new(); return Val_GObject_new(&new_custom_model->parent); } CAMLprim value ml_register_custom_model_callback_object(value custom_model, value callback_object) { GObject *obj = GObject_val(custom_model); g_return_val_if_fail (IS_CUSTOM_MODEL (obj),Val_unit); if(Is_block(callback_object) && (char*)callback_object < (char*)caml_young_end && (char*)callback_object > (char*)caml_young_start) { caml_register_global_root (&callback_object); caml_minor_collection(); caml_remove_global_root (&callback_object); } debug_print("register_custom_model_callback_object %p %p\n",obj,(void*)callback_object); ((Custom_model *)obj)->callback_object = callback_object; return Val_unit; } /***************************************************************************** * Caml callbacks for signals *****************************************************************************/ CAMLprim value ml_custom_model_row_inserted (value tree_model_val, value path, value row) { GtkTreeModel *tree_model = GtkTreeModel_val(tree_model_val); g_return_val_if_fail(IS_CUSTOM_MODEL(tree_model), Val_unit); { Custom_model *custom_model = (Custom_model *) tree_model; GtkTreeIter iter; encode_iter (custom_model,&iter,row); debug_print("row_inserted %p %s %p:%ld:%ld:%ld\n",custom_model, PATH_STRING(GtkTreePath_val(path)),PRINT4_VALID(&iter)); gtk_tree_model_row_inserted (tree_model, GtkTreePath_val(path), &iter); return Val_unit;} } CAMLprim value ml_custom_model_row_changed (value tree_model_val, value path, value row) { GtkTreeModel *tree_model = GtkTreeModel_val(tree_model_val); g_return_val_if_fail(IS_CUSTOM_MODEL(tree_model), Val_unit); { Custom_model *custom_model = (Custom_model *) tree_model; GtkTreeIter iter; encode_iter (custom_model,&iter,row); debug_print("row_changed %p %s %p:%ld:%ld:%ld\n", custom_model,PATH_STRING(GtkTreePath_val(path)),PRINT4_VALID(&iter)); gtk_tree_model_row_changed (tree_model, GtkTreePath_val(path), &iter); return Val_unit;} } CAMLprim value ml_custom_model_row_has_child_toggled (value tree_model_val, value path, value row) { GtkTreeModel *tree_model = GtkTreeModel_val(tree_model_val); g_return_val_if_fail(IS_CUSTOM_MODEL(tree_model), Val_unit); { Custom_model *custom_model = (Custom_model *) tree_model; GtkTreeIter iter; encode_iter (custom_model,&iter,row); debug_print("row_has_child_toggled %p %s %p:%ld:%ld:%ld\n",custom_model, PATH_STRING(GtkTreePath_val(path)),PRINT4_VALID(&iter)); gtk_tree_model_row_has_child_toggled (tree_model, GtkTreePath_val(path), &iter); return Val_unit;} } CAMLprim value ml_custom_model_row_deleted (value tree_model_val, value path) { debug_print("row_deleted %p %s\n",(GtkTreeModel_val(tree_model_val)),PATH_STRING(GtkTreePath_val(path))); gtk_tree_model_row_deleted (GtkTreeModel_val(tree_model_val), GtkTreePath_val(path)); return Val_unit; } CAMLprim value ml_custom_model_rows_reordered (value tree_model_val, value path, value row_option, value new_order) { debug_print("rows_reordered\n"); UNWRAP_OPTION(row, row_option, if (row) { GtkTreeModel *tree_model = GtkTreeModel_val(tree_model_val); g_return_val_if_fail(IS_CUSTOM_MODEL(tree_model), Val_unit); { Custom_model *custom_model = (Custom_model *) tree_model; GtkTreeIter iter; encode_iter(custom_model,&iter,row); gtk_tree_model_rows_reordered (tree_model, GtkTreePath_val(path), &iter, (gint*) &Field(new_order,0)); }} else { gtk_tree_model_rows_reordered (GtkTreeModel_val(tree_model_val), GtkTreePath_val(path), NULL, (gint*) &Field(new_order,0)); } return Val_unit;) } #ifdef HASGTK28 CAMLprim value ml_gtk_tree_view_get_visible_range(value treeview) { CAMLparam1(treeview); CAMLlocal1(result); GtkTreePath *startp, *endp; if (! gtk_tree_view_get_visible_range(GtkTreeView_val(treeview), &startp, &endp)) CAMLreturn(Val_unit); result = alloc_tuple(2); Store_field(result, 0, Val_GtkTreePath(startp)); Store_field(result, 1, Val_GtkTreePath(endp)); CAMLreturn(ml_some(result)); } #else Unsupported_28(gtk_tree_view_get_visible_range) #endif lablgtk-3.1.2/src/ml_gtktree.h0000644000650106067230000000426414161276610015103 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ #define GtkTreeIter_val(val) ((GtkTreeIter*)MLPointer_val(val)) #define Val_GtkTreeIter(it) (copy_memblock_indirected(it,sizeof(GtkTreeIter))) #define GtkTreeIter_optval(v) Option_val(v, GtkTreeIter_val, NULL) #define GtkTreePath_optval(v) Option_val(v, GtkTreePath_val, NULL) #define GtkTreeModel_optval(v) Option_val(v, GtkTreeModel_val, NULL) #define GtkCellRenderer_optval(v) Option_val(v, GtkCellRenderer_val, NULL) #define GtkTreeViewColumn_optval(v) Option_val(v, GtkTreeViewColumn_val, NULL) gboolean ml_gtk_row_separator_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data); lablgtk-3.1.2/src/ml_gvaluecaml.c0000644000650106067230000000454214161276610015550 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ #include #include #include #include #include #include #include "wrappers.h" #include "ml_gobject.h" #include "ml_gvaluecaml.h" static gpointer caml_boxed_copy (gpointer boxed) { value *val = boxed; return ml_global_root_new (*val); } GType g_caml_get_type() { static GType type = G_TYPE_INVALID; if (type == G_TYPE_INVALID) type = g_boxed_type_register_static ("Caml", caml_boxed_copy, ml_global_root_destroy); return type; } CAMLprim value ml_g_caml_get_type(value unit) { return Val_GType(G_TYPE_CAML); } void g_value_store_caml_value (GValue *val, value arg) { g_return_if_fail (G_VALUE_HOLDS(val, G_TYPE_CAML)); g_value_set_boxed (val, &arg); } lablgtk-3.1.2/src/ml_gvaluecaml.h0000644000650106067230000000332314161276610015551 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ GType g_caml_get_type() G_GNUC_CONST; #define G_TYPE_CAML (g_caml_get_type()) void g_value_store_caml_value (GValue *, value); lablgtk-3.1.2/src/ml_pango.c0000644000650106067230000002374314161276610014540 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include #include "wrappers.h" #include "ml_glib.h" #include "ml_gobject.h" #include "ml_pango.h" #include "pango_tags.h" #include "gtk_tags.h" #ifndef HASGTK22 #define PANGO_WRAP_WORD_CHAR -1 #endif #include "pango_tags.c" CAMLprim value ml_pango_init(value unit) { /* Since these are declared const, must force gcc to call them! */ GType t = pango_font_description_get_type(); return Val_GType(t); } /* PangoFontDescription */ Make_Val_final_pointer_ext (PangoFontDescription, _new, Ignore, pango_font_description_free, 20) ML_1(pango_font_description_from_string, String_val, Val_PangoFontDescription_new) ML_1(pango_font_description_copy, PangoFontDescription_val, Val_PangoFontDescription_new) ML_1(pango_font_description_to_string, PangoFontDescription_val, copy_string_g_free) ML_2(pango_font_description_set_family, PangoFontDescription_val, String_val, Unit) ML_1(pango_font_description_get_family, PangoFontDescription_val, Val_string) ML_2(pango_font_description_set_style, PangoFontDescription_val, Pango_style_val, Unit) ML_1(pango_font_description_get_style, PangoFontDescription_val, Val_pango_style) ML_2(pango_font_description_set_variant, PangoFontDescription_val, Pango_variant_val, Unit) ML_1(pango_font_description_get_variant, PangoFontDescription_val, Val_pango_variant) ML_2(pango_font_description_set_weight, PangoFontDescription_val, Int_val, Unit) ML_1(pango_font_description_get_weight, PangoFontDescription_val, Val_int) ML_2(pango_font_description_set_stretch, PangoFontDescription_val, Pango_stretch_val, Unit) ML_1(pango_font_description_get_stretch, PangoFontDescription_val, Val_pango_stretch) ML_2(pango_font_description_set_size, PangoFontDescription_val, Int_val, Unit) ML_1(pango_font_description_get_size, PangoFontDescription_val, Val_int) /* PangoFontMetrics */ Make_Val_final_pointer (PangoFontMetrics, pango_font_metrics_ref, pango_font_metrics_unref, 20) Make_Val_final_pointer_ext (PangoFontMetrics, _new, Ignore, pango_font_metrics_unref, 20) ML_1 (pango_font_metrics_get_ascent, PangoFontMetrics_val, Val_int) ML_1 (pango_font_metrics_get_descent, PangoFontMetrics_val, Val_int) ML_1 (pango_font_metrics_get_approximate_char_width, PangoFontMetrics_val, Val_int) ML_1 (pango_font_metrics_get_approximate_digit_width, PangoFontMetrics_val, Val_int) /* PangoFont */ #define Val_PangoFont_new(val) Val_GObject_new(G_OBJECT(val)) ML_2 (pango_font_get_metrics, PangoFont_val, PangoLanguage_val, Val_PangoFontMetrics_new) /* PangoFontMap */ #define Val_PangoFontMap_new(val) Val_GObject_new(G_OBJECT(val)) ML_3 (pango_font_map_load_font, PangoFontMap_val, PangoContext_val, PangoFontDescription_val, Val_PangoFont_new) /* Enums */ CAMLprim value ml_PANGO_SCALE () { return(Val_int(PANGO_SCALE)); } /* This one uses the generated MLTAG but not the conversion functions because we have defined float values */ CAMLprim value ml_Pango_scale_val (value val) { double r; if (Is_block(val)) return Field(val,1); /* `CUSTOM */ switch((long)val) { case (long)MLTAG_XX_SMALL: r = PANGO_SCALE_XX_SMALL ;break; case (long)MLTAG_X_SMALL: r = PANGO_SCALE_X_SMALL ;break; case (long)MLTAG_SMALL: r = PANGO_SCALE_SMALL ;break; case (long)MLTAG_MEDIUM: r = PANGO_SCALE_MEDIUM ;break; case (long)MLTAG_LARGE: r = PANGO_SCALE_LARGE ;break; case (long)MLTAG_X_LARGE: r = PANGO_SCALE_X_LARGE ;break; case (long)MLTAG_XX_LARGE: r = PANGO_SCALE_XX_LARGE ;break; default: printf("Bug in ml_PangoScale_val. Please report"); r=1; break; } return copy_double(r); } /* PangoLanguage */ ML_1 (pango_language_from_string, String_val, Val_PangoLanguage) ML_1 (pango_language_to_string, PangoLanguage_val, Val_optstring) ML_2 (pango_language_matches, PangoLanguage_val, String_val, Val_bool) /* PangoContext */ ML_1 (pango_context_get_font_description, PangoContext_val, Val_PangoFontDescription) ML_2 (pango_context_set_font_description, PangoContext_val, PangoFontDescription_val, Unit) ML_1 (pango_context_get_language, PangoContext_val, Val_PangoLanguage) ML_2 (pango_context_set_language, PangoContext_val, PangoLanguage_val, Unit) ML_2 (pango_context_load_font, PangoContext_val, PangoFontDescription_val, Val_PangoFont_new) ML_3 (pango_context_load_fontset, PangoContext_val, PangoFontDescription_val, PangoLanguage_val, Val_PangoFont_new) ML_3 (pango_context_get_metrics, PangoContext_val, PangoFontDescription_val, Option_val(arg3,PangoLanguage_val,NULL) Ignore, Val_PangoFontMetrics_new) /* PangoLayout */ #define Val_PangoLayout_new(val) Val_GObject_new(G_OBJECT(val)) ML_1 (pango_layout_new, PangoContext_val, Val_PangoLayout_new) ML_1 (pango_layout_copy, PangoLayout_val, Val_PangoLayout_new) ML_1 (pango_layout_get_context, PangoLayout_val, Val_PangoContext) ML_2 (pango_layout_set_text, PangoLayout_val, SizedString_val, Unit) ML_1 (pango_layout_get_text, PangoLayout_val, Val_string) ML_2 (pango_layout_set_markup, PangoLayout_val, SizedString_val, Unit) ML_4 (pango_layout_set_markup_with_accel, PangoLayout_val, SizedString_val, Int_val, NULL Ignore, Unit) ML_2 (pango_layout_set_font_description, PangoLayout_val, PangoFontDescription_val, Unit) ML_1 (pango_layout_get_font_description, PangoLayout_val, Val_PangoFontDescription) ML_2 (pango_layout_set_width, PangoLayout_val, Int_val, Unit) ML_1 (pango_layout_get_width, PangoLayout_val, Val_int) ML_2 (pango_layout_set_wrap, PangoLayout_val, Pango_wrap_mode_val, Unit) ML_1 (pango_layout_get_wrap, PangoLayout_val, Val_pango_wrap_mode) ML_2 (pango_layout_set_indent, PangoLayout_val, Int_val, Unit) ML_1 (pango_layout_get_indent, PangoLayout_val, Val_int) ML_2 (pango_layout_set_spacing, PangoLayout_val, Int_val, Unit) ML_1 (pango_layout_get_spacing, PangoLayout_val, Val_int) ML_2 (pango_layout_set_justify, PangoLayout_val, Bool_val, Unit) ML_1 (pango_layout_get_justify, PangoLayout_val, Val_bool) ML_2 (pango_layout_set_single_paragraph_mode, PangoLayout_val, Bool_val, Unit) ML_1 (pango_layout_get_single_paragraph_mode, PangoLayout_val, Val_bool) ML_1 (pango_layout_context_changed, PangoLayout_val, Unit) CAMLprim value ml_pango_layout_get_size(value layout) { int width, height; value res = alloc_tuple(2); pango_layout_get_size(PangoLayout_val(layout), &width, &height); Field(res,0) = Val_int(width); Field(res,1) = Val_int(height); return res; } CAMLprim value ml_pango_layout_get_pixel_size(value layout) { int width, height; value res = alloc_tuple(2); pango_layout_get_pixel_size(PangoLayout_val(layout), &width, &height); Field(res,0) = Val_int(width); Field(res,1) = Val_int(height); return res; } CAMLexport value Val_PangoRectangle(PangoRectangle *rect) { value res = alloc_tuple(4); Field(res,0) = Val_int(rect->x); Field(res,1) = Val_int(rect->y); Field(res,2) = Val_int(rect->width); Field(res,3) = Val_int(rect->height); return res; } CAMLprim value ml_pango_layout_index_to_pos(value layout, value index) { PangoRectangle pos; pango_layout_index_to_pos(PangoLayout_val(layout), Int_val(index), &pos); return Val_PangoRectangle(&pos); } CAMLprim value ml_pango_layout_xy_to_index(value layout, value x, value y) { int index, trailing; gboolean exact; value res; exact = pango_layout_xy_to_index(PangoLayout_val(layout), Int_val(x), Int_val(y), &index, &trailing); res = alloc_tuple(3); Field(res,0) = Val_int(index); Field(res,1) = Val_int(trailing); Field(res,2) = Val_bool(exact); return res; } CAMLprim value ml_pango_layout_get_extent(value layout) { PangoRectangle ink; pango_layout_get_extents(PangoLayout_val(layout), &ink, NULL); return Val_PangoRectangle(&ink); } CAMLprim value ml_pango_layout_get_pixel_extent(value layout) { PangoRectangle ink; pango_layout_get_pixel_extents(PangoLayout_val(layout), &ink, NULL); return Val_PangoRectangle(&ink); } #ifdef HASGTK26 ML_1(pango_layout_get_ellipsize, PangoLayout_val, Val_pango_ellipsize_mode) ML_2(pango_layout_set_ellipsize, PangoLayout_val, Pango_ellipsize_mode_val, Unit) #else Unsupported_26(pango_layout_get_ellipsize) Unsupported_26(pango_layout_set_ellipsize) #endif /* HASGTK26 */ lablgtk-3.1.2/src/ml_pango.h0000644000650106067230000000507414161276610014542 0ustar glondused/**************************************************************************/ /* 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$ */ #include "pango_tags.h" #define PangoFontDescription_val(val) ((PangoFontDescription*)Pointer_val(val)) CAMLexport value Val_PangoFontDescription_new(PangoFontDescription* it); #define Val_PangoFontDescription(desc) \ (Val_PangoFontDescription_new(pango_font_description_copy(desc))) CAMLexport value ml_PangoStyle_Val (value val); #define Val_PangoLanguage Val_pointer #define PangoLanguage_val Pointer_val #define PangoContext_val(val) check_cast(PANGO_CONTEXT,val) #define Val_PangoContext Val_GAnyObject #define Val_PangoContext_new Val_GAnyObject_new #define PangoFont_val(val) check_cast(PANGO_FONT, val) #define Val_PangoFont Val_GAnyObject #define PangoFontMetrics_val(val) ((PangoFontMetrics*)Pointer_val(val)) #define PangoLayout_val(val) check_cast(PANGO_LAYOUT, val) #define Val_PangoLayout Val_GAnyObject #define PangoFontMap_val(val) check_cast(PANGO_FONT_MAP, val) #define Val_PangoFontMap Val_GAnyObject CAMLexport value Val_PangoRectangle(PangoRectangle *rect); lablgtk-3.1.2/src/pango.ml0000644000650106067230000002272414161276610014234 0ustar glondused(**************************************************************************) (* 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$ *) open Gaux open Gobject type context = [`pangocontext] obj type font = [`pangofont] obj type font_map = [`pangofontmap] obj type font_description type font_metrics type language type layout = [`pangolayout] obj type units = int type rectangle = {x:int; y:int; width:int; height:int} external _pango_init : unit -> unit = "ml_pango_init" let () = _pango_init () module Tags = struct type style = [ `NORMAL | `OBLIQUE | `ITALIC ] type weight_internal = [ `ULTRALIGHT | `LIGHT | `NORMAL |`BOLD | `ULTRABOLD |`HEAVY ] type weight = [ weight_internal | `CUSTOM of int] type variant = [ `NORMAL | `SMALL_CAPS ] type stretch = [ `ULTRA_CONDENSED | `EXTRA_CONDENSED | `CONDENSED | `SEMI_CONDENSED | `NORMAL | `SEMI_EXPANDED | `EXPANDED | `EXTRA_EXPANDED | `ULTRA_EXPANDED ] type scale = [ `XX_SMALL | `X_SMALL | `SMALL | `MEDIUM | `LARGE | `X_LARGE | `XX_LARGE | `CUSTOM of float ] external scale_to_float : scale -> float = "ml_Pango_scale_val" type underline = [ `NONE | `SINGLE | `DOUBLE | `LOW ] type wrap_mode = [ `WORD | `CHAR | `WORD_CHAR ] type ellipsize_mode = [ `NONE | `START | `MIDDLE | `END ] open Gpointer external _get_tables : unit -> style variant_table * weight_internal variant_table * variant variant_table * stretch variant_table * underline variant_table * wrap_mode variant_table * ellipsize_mode variant_table = "ml_pango_get_tables" let style, weight, variant, stretch, underline, wrap_mode, ellipsize_mode = _get_tables () let weight_to_int (w : weight) = match w with | `CUSTOM b -> b | #weight_internal as w -> encode_variant weight w end module Font = struct open Tags external from_string : string -> font_description = "ml_pango_font_description_from_string" external to_string : font_description -> string = "ml_pango_font_description_to_string" external copy : font_description -> font_description = "ml_pango_font_description_copy" external set_family : font_description -> string -> unit = "ml_pango_font_description_set_family" external get_family : font_description -> string = "ml_pango_font_description_get_family" external set_style : font_description -> style -> unit = "ml_pango_font_description_set_style" external get_style : font_description -> style = "ml_pango_font_description_get_style" external set_variant : font_description -> variant -> unit = "ml_pango_font_description_set_variant" external get_variant : font_description -> variant = "ml_pango_font_description_get_variant" external set_weight : font_description -> int -> unit = "ml_pango_font_description_set_weight" let set_weight fd w = set_weight fd (weight_to_int w) external get_weight : font_description -> int = "ml_pango_font_description_get_weight" external set_stretch : font_description -> stretch -> unit = "ml_pango_font_description_set_stretch" external get_stretch : font_description -> stretch = "ml_pango_font_description_get_stretch" external set_size : font_description -> int -> unit = "ml_pango_font_description_set_size" external get_size : font_description -> int = "ml_pango_font_description_get_size" let modify fd ?family ?style ?variant ?weight ?stretch ?size () = let may_set set_x x = may x ~f:(set_x fd) in may_set set_family family; may_set set_style style; may_set set_stretch stretch; may_set set_variant variant; may_set set_weight weight; may_set set_size size external get_metrics : font -> language -> font_metrics = "ml_pango_font_get_metrics" external get_ascent : font_metrics -> units = "ml_pango_font_metrics_get_ascent" external get_descent : font_metrics -> units = "ml_pango_font_metrics_get_descent" external get_approximate_char_width : font_metrics -> units = "ml_pango_font_metrics_get_approximate_char_width" external get_approximate_digit_width : font_metrics -> units = "ml_pango_font_metrics_get_approximate_digit_width" end module FontMap = struct external load_font : font_map -> context -> font_description -> font = "ml_pango_font_map_load_font" end module Language = struct external from_string : string -> language = "ml_pango_language_from_string" external to_string : language -> string = "ml_pango_language_to_string" external matches : language -> string -> bool = "ml_pango_language_matches" let none : language = Obj.magic Gpointer.boxed_null end module Context = struct let cast w : context = Gobject.try_cast w "PangoContext" external get_font_description : context -> font_description = "ml_pango_context_get_font_description" external set_font_description : context -> font_description -> unit = "ml_pango_context_set_font_description" external get_language : context -> language = "ml_pango_context_get_language" external set_language : context -> language -> unit = "ml_pango_context_set_language" external load_font : context -> font_description -> font = "ml_pango_context_load_font" external load_fontset : context -> font_description -> language -> font = "ml_pango_context_load_fontset" external get_metrics : context -> font_description -> language option -> font_metrics = "ml_pango_context_get_metrics" end external scale : unit -> int = "ml_PANGO_SCALE" let scale = scale () module Layout = struct open Tags let cast w : layout = Gobject.try_cast w "PangoLayout" external create : context -> layout = "ml_pango_layout_new" external copy : layout -> layout = "ml_pango_layout_copy" external get_context : layout -> context = "ml_pango_layout_get_context" external get_text : layout -> string = "ml_pango_layout_get_text" external set_text : layout -> string -> unit = "ml_pango_layout_set_text" external set_markup : layout -> string -> unit = "ml_pango_layout_set_markup" external set_markup_with_accel : layout -> string -> Glib.unichar -> unit = "ml_pango_layout_set_markup_with_accel" external get_font_description : layout -> font_description = "ml_pango_layout_get_font_description" external set_font_description : layout -> font_description -> unit = "ml_pango_layout_set_font_description" external get_width : layout -> int = "ml_pango_layout_get_width" external set_width : layout -> int -> unit = "ml_pango_layout_set_width" external get_indent : layout -> int = "ml_pango_layout_get_indent" external set_indent : layout -> int -> unit = "ml_pango_layout_set_indent" external get_spacing : layout -> int = "ml_pango_layout_get_spacing" external set_spacing : layout -> int -> unit = "ml_pango_layout_set_spacing" external get_wrap : layout -> wrap_mode = "ml_pango_layout_get_wrap" external set_wrap : layout -> wrap_mode -> unit = "ml_pango_layout_set_wrap" external get_justify : layout -> bool = "ml_pango_layout_get_justify" external set_justify : layout -> bool -> unit = "ml_pango_layout_set_justify" external get_single_paragraph_mode : layout -> bool = "ml_pango_layout_get_single_paragraph_mode" external set_single_paragraph_mode : layout -> bool -> unit = "ml_pango_layout_set_single_paragraph_mode" external context_changed : layout -> unit = "ml_pango_layout_context_changed" external get_size : layout -> units * units = "ml_pango_layout_get_size" external get_pixel_size : layout -> int * int = "ml_pango_layout_get_pixel_size" external get_extent : layout -> rectangle = "ml_pango_layout_get_extent" external get_pixel_extent : layout -> rectangle = "ml_pango_layout_get_pixel_extent" external index_to_pos : layout -> int -> rectangle = "ml_pango_layout_index_to_pos" external xy_to_index : layout -> x:int -> y:int -> int * int * bool = "ml_pango_layout_xy_to_index" external set_ellipsize : layout -> ellipsize_mode -> unit = "ml_pango_layout_set_ellipsize" external get_ellipsize : layout -> ellipsize_mode = "ml_pango_layout_get_ellipsize" end lablgtk-3.1.2/src/pango_tags.var0000644000650106067230000000155014161276610015424 0ustar glondused(* $Id$ *) package "pango" prefix "pango_" type style = "PANGO_STYLE_" [ `NORMAL | `OBLIQUE | `ITALIC ] type weight = "PANGO_WEIGHT_" [ `ULTRALIGHT | `LIGHT | `NORMAL |`BOLD | `ULTRABOLD |`HEAVY ] type variant = "PANGO_VARIANT_" [ `NORMAL | `SMALL_CAPS ] type stretch = "PANGO_STRETCH_" [ `ULTRA_CONDENSED | `EXTRA_CONDENSED | `CONDENSED | `SEMI_CONDENSED | `NORMAL | `SEMI_EXPANDED | `EXPANDED | `EXTRA_EXPANDED | `ULTRA_EXPANDED ] type noconv scale = "PANGO_SCALE_" [ `XX_SMALL | `X_SMALL | `SMALL | `MEDIUM | `LARGE | `X_LARGE | `XX_LARGE | `CUSTOM ] type underline = "PANGO_UNDERLINE_" [ `NONE | `SINGLE | `DOUBLE | `LOW ] type wrap_mode = "PANGO_WRAP_" [ `WORD | `CHAR | `WORD_CHAR ] type protect HASGTK26 ellipsize_mode = "PANGO_ELLIPSIZE_" [ `NONE | `START | `MIDDLE | `END ] (* this enum was introduced in Pango 1.6 / GTK+ 2.6 *) lablgtk-3.1.2/src/tools/0000755000650106067230000000000014161276610013727 5ustar glondusedlablgtk-3.1.2/src/tools/dune0000644000650106067230000000124314161276610014605 0ustar glondused; Dune build file for lablgtk3 ; Written by EJGA, (c) 2018-2019 MINES ParisTech ; This file is in the public domain ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; LABLGTK3 tools ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (executable (name gdk_pixbuf_mlsource) (public_name gdk_pixbuf_mlsource3) (package lablgtk3) (modules gdk_pixbuf_mlsource) (libraries lablgtk3)) (executable (name lablgladecc) (public_name lablgladecc3) (package lablgtk3) (modules xml_lexer lablgladecc) (flags :standard -w -3-6-27) (libraries lablgtk3)) (ocamllex xml_lexer) lablgtk-3.1.2/src/tools/gdk_pixbuf_mlsource.ml0000644000650106067230000000653314161276610020323 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) let print_binary_string oc s = let len = String.length s in let off = ref 0 in while !off < len do if !off mod 20 = 0 then output_string oc "\\\n" ; Printf.fprintf oc "\\%03d" (int_of_char s.[!off]) ; incr off done let add_to_list v x = v := x :: !v let rec zip2 = function | [] -> [] | x :: y :: tl -> (x, y) :: zip2 tl | _ -> invalid_arg "zip2" let (rle, files) = let rle = ref true in let pairs = ref false in let anon_args = ref [] in let cli_args = [ "--rle", Arg.Set rle, "Enables run-length encoding for the generated pixel data (default)" ; "--raw", Arg.Clear rle, "Disables run-length encoding for the generated pixel data" ; "--build-list", Arg.Set pairs, "Enables (name, image) pair parsing mode"; ] in let usg_msg = let exe = Filename.basename Sys.executable_name in Printf.sprintf "\ usage: %s [options] [image] %s [options] --build-list [ [name] [image] ...]" exe exe in Arg.parse cli_args (add_to_list anon_args) usg_msg ; anon_args := List.rev !anon_args ; let files = if !pairs then begin try zip2 !anon_args with Invalid_argument _ -> Arg.usage cli_args usg_msg ; exit 1 end else match !anon_args with | x :: _ -> [ "pixbuf", x ] | [] -> Arg.usage cli_args usg_msg ; exit 1 in (!rle, files) let _ = Gobject.Type.init (); GdkPixbuf.set_marshal_use_rle rle ; let data = List.map (fun (name, fname) -> (name, Marshal.to_string (GdkPixbuf.from_file fname) [])) files in List.iter (fun (name, pixdata) -> Printf.printf " let %s_data = \"%a\" let %s () : GdkPixbuf.pixbuf = Marshal.from_string %s_data 0 " name print_binary_string pixdata name name) data lablgtk-3.1.2/src/tools/lablgladecc.ml0000644000650106067230000004611514161276610016505 0ustar glondused(**************************************************************************) (* 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$ *) open StdLabels open Printf let debug = ref false let hide_default_names = ref false let warning s = prerr_string "Warning: "; prerr_endline s (* One can roughly get defined classes by: *) (* grep Object.try_cast *.ml | sed 's/gtk\([^.]*\)[^"]*"Gtk\([^"]*\)".*/ "Gtk\2", ("Gtk\1.\2", "G\1.\2");/' *) (* But you also need to do some post-editing. Do not forget H and V classes *) let classes = ref [ (* CSC: GLists no longer bound "GtkListItem", ("GtkList.ListItem", "GList.list_item"); "GtkList", ("GtkList.Liste", "GList.liste"); "GtkCList", ("GtkList.CList", "GList.clist");*) (* CSC: I have no idea how to biind GWindow.message_dialog that has a Construct Only ~buttons parameter "GtkMessageDialog", ("GtkWindow.MessageDialog", "GWindow.message_dialog");*) (* CSC: for some reason GtkComboBoxText functionality has been replicated by hand instead of using the existent machinery "GtkComboBoxText", ("GtkEdit.ComboBoxText", "GEdit.combo_box_text");*) (* CSC: GtkOrientable is not fully implemented "GtkOrientable", ("", "");*) "GtkAboutDialog", ("GtkWindow.AboutDialog", "GWindow.about_dialog"); "GtkAction", ("GtkActionProps.Action", "GAction.action"); "GtkActionGroup", ("GtkActionProps.ActionGroup", "GAction.action_group"); "GtkAdjustment", ("GtkBaseProps.Adjustment", "GData.adjustment"); "GtkAlignment", ("GtkBin.Alignment", "GBin.alignment"); "GtkArrow", ("GtkMisc.Arrow", "GMisc.arrow"); "GtkAspectFrame", ("GtkBin.AspectFrame", "GBin.aspect_frame"); "GtkAssistant", ("GtkAssistant.Assistant", "GAssistant.assistant"); "GtkBBox", ("GtkPack.BBox", "GPack.button_box"); "GtkBin", ("GtkBase.Container", "GContainer.container"); "GtkBox", ("GtkPack.Box", "GPack.box"); "GtkBuilder", ("GtkBuilder.Builder", "GBuilder.builder"); "GtkButton", ("GtkButton.Button", "GButton.button"); "GtkButtonBox", ("GtkPack.BBox", "GPack.button_box"); "GtkCTree", ("GtkBase.Container", "GContainer.container"); "GtkCalendar", ("GtkMisc.Calendar", "GMisc.calendar"); "GtkCellLayout", ("GtkTree.CellLayout", "GTree.cell_layout"); "GtkCellRendererAccel", ("GtkTree.CellRendererAccel", "GTree.cell_renderer_accel"); "GtkCellRendererCombo", ("GtkTree.CellRendererCombo", "GTree.cell_renderer_combo"); "GtkCellRendererPixbuf", ("GtkTree.CellRendererPixbuf", "GTree.cell_renderer_pixbuf"); "GtkCellRendererProgress", ("GtkTree.CellRendererProgress", "GTree.cell_renderer_progress"); "GtkCellRendererText", ("GtkTree.CellRendererText", "GTree.cell_renderer_text"); "GtkCellRendererToggle", ("GtkTree.CellRendererToggle", "GTree.cell_renderer_toggle"); "GtkCheckButton", ("GtkButton.ToggleButton", "GButton.toggle_button"); "GtkCheckMenuItem", ("GtkMenu.CheckMenuItem", "GMenu.check_menu_item"); "GtkColorButton", ("GtkButton.ColorButton", "GButton.color_button"); "GtkColorSelection", ("GtkMisc.ColorSelection", "GMisc.color_selection"); "GtkComboBox", ("GtkEdit.ComboBox", "GEdit.combo_box"); "GtkContainer", ("GtkBase.Container", "GContainer.container"); "GtkCurve", ("GtkMisc.DrawingArea", "GMisc.drawing_area"); "GtkDialog", ("GtkWindow.Dialog", "GWindow.dialog_any"); "GtkDrawingArea", ("GtkMisc.DrawingArea", "GMisc.drawing_area"); "GtkEditable", ("GtkEdit.Editable", "GEdit.editable"); "GtkEntry", ("GtkEdit.Entry", "GEdit.entry"); "GtkEntryCompletion", ("GtkEdit.EntryCompletion", "GEdit.entry_completion"); "GtkEventBox", ("GtkBin.EventBox", "GBin.event_box"); "GtkExpander", ("GtkBin.Expander", "GBin.expander"); "GtkFileChooserButton", ("GtkFile.FileChooserButton", "GFile.chooser_button"); "GtkFixed", ("GtkPack.Fixed", "GPack.fixed"); "GtkFontButton", ("GtkButton.FontButton", "GButton.font_button"); "GtkFontSelection", ("GtkMisc.FontSelection", "GMisc.font_selection"); "GtkFrame", ("GtkBin.Frame", "GBin.frame"); "GtkGrid", ("GtkPack.Grid", "GPack.grid"); "GtkHBox", ("GtkPack.Box", "GPack.box"); "GtkHButtonBox", ("GtkPack.BBox", "GPack.button_box"); "GtkHPaned", ("GtkPack.Paned", "GPack.paned"); "GtkHScale", ("GtkRange.Scale", "GRange.scale"); "GtkHScrollbar", ("GtkRange.Scrollbar", "GRange.range"); "GtkHSeparator", ("GtkMisc.Separator", "GObj.widget_full"); "GtkHandleBox", ("GtkBin.HandleBox", "GBin.handle_box"); "GtkIconView", ("GtkTree.IconView", "GTree.icon_view"); "GtkImage", ("GtkMisc.Image", "GMisc.image"); "GtkInputDialog", ("GtkWindow.Dialog", "GWindow.dialog"); "GtkInvisible", ("GtkBase.Container", "GContainer.container"); "GtkItem", ("GtkBase.Container", "GContainer.container"); "GtkLabel", ("GtkMisc.Label", "GMisc.label"); "GtkLayout", ("GtkPack.Layout", "GPack.layout"); "GtkLinkButton", ("GtkButton.LinkButton", "GButton.link_button"); "GtkListStore", ("GtkTree.ListStore", "GTree.list_store"); "GtkMenu", ("GtkMenu.Menu", "GMenu.menu"); "GtkMenuBar", ("GtkMenu.MenuBar", "GMenu.menu_shell"); "GtkMenuItem", ("GtkMenu.MenuItem", "GMenu.menu_item"); "GtkMenuShell", ("GtkMenu.MenuShell", "GMenu.menu_shell"); "GtkMenuToolButton", ("GtkButton.MenuToolButton", "GButton.menu_tool_button"); "GtkMisc", ("GtkMisc.Misc", "GMisc.misc"); "GtkNotebook", ("GtkPack.Notebook", "GPack.notebook"); "GtkPaned", ("GtkPack.Paned", "GPack.paned"); "GtkPixmap", ("GtkMisc.Image", "GMisc.image"); "GtkPlug", ("GtkWindow.Plug", "GWindow.plug"); "GtkProgressBar", ("GtkRange.ProgressBar", "GRange.progress_bar"); "GtkRadioAction", ("GtkActionProps.RadioAction", "GAction.radio_action"); "GtkRadioButton", ("GtkButton.RadioButton", "GButton.radio_button"); "GtkRadioMenuItem", ("GtkMenu.RadioMenuItem", "GMenu.radio_menu_item"); "GtkRadioToolButton", ("GtkButton.RadioToolButton", "GButton.radio_tool_button"); "GtkRange", ("GtkRange.Range", "GRange.range"); "GtkScale", ("GtkRange.Scale", "GRange.scale"); "GtkScrollbar", ("GtkRange.Scrollbar", "GRange.range"); "GtkScrolledWindow", ("GtkBin.ScrolledWindow", "GBin.scrolled_window"); "GtkSeparator", ("GtkMisc.Separator", "GObj.widget_full"); "GtkSeparatorMenuItem", ("GtkMenu.MenuItem", "GMenu.menu_item"); "GtkSeparatorToolItem", ("GtkButton.SeparatorToolItem", "GButton.separator_tool_item"); "GtkSizeGroup", ("GtkPack.SizeGroup", "GPack.size_group"); "GtkSocket", ("GtkWindow.Socket", "GWindow.socket"); "GtkSourceBuffer", ("GtkSourceView3.SourceBuffer", "GSourceView3.source_buffer"); "GtkSourceCompletion", ("GtkSourceView3.SourceCompletion", "GSourceView3.source_completion"); "GtkSourceCompletionContext", ("GtkSourceView3.SourceCompletionContext", "GSourceView3.source_completion_context"); "GtkSourceCompletionInfo", ("GtkSourceView3.SourceCompletionInfo", "GSourceView3.source_completion_info"); "GtkSourceCompletionItem", ("GtkSourceView3.SourceCompletionItem", "GSourceView3.source_completion_item"); "GtkSourceCompletionProposal", ("GtkSourceView3Props.SourceCompletionProposal", "GSourceView3.source_completion_proposal"); "GtkSourceCompletionProvider", ("GtkSourceView3.SourceCompletionProvider", "GSourceView3.source_completion_provider"); "GtkSourceLanguage", ("GtkSourceView3.SourceLanguage", "GSourceView3.source_language"); "GtkSourceLanguageManager", ("GtkSourceView3.SourceLanguageManager", "GSourceView3.source_language_manager"); "GtkSourceMark", ("GtkSourceView3.SourceMark", "GSourceView3.source_mark"); "GtkSourceStyleScheme", ("GtkSourceView3.SourceStyleScheme", "GSourceView3.source_style_scheme"); "GtkSourceStyleSchemeManager", ("GtkSourceView3.SourceStyleSchemeManager", "GSourceView3.source_style_scheme_manager"); "GtkSourceUndoManager", ("GtkSourceView3.SourceUndoManager", "GSourceView3.source_undo_manager"); "GtkSourceView", ("GtkSourceView3.SourceView", "GSourceView3.source_view"); "GtkSpinButton", ("GtkEdit.SpinButton", "GEdit.spin_button"); "GtkStatusIcon", ("GtkMisc.StatusIcon", "GMisc.status_icon"); "GtkStatusbar", ("GtkMisc.Statusbar", "GMisc.statusbar"); "GtkTable", ("GtkPack.Table", "GPack.table"); "GtkTearoffMenuItem", ("GtkMenu.MenuItem", "GMenu.menu_item"); "GtkTextBuffer", ("GtkText.Buffer", "GText.buffer"); "GtkTextChildAnchor", ("GtkText.ChildAnchor", "GText.child_anchor"); "GtkTextTag", ("GtkText.Tag", "GText.tag"); "GtkTextTagTable", ("GtkText.TagTable", "GText.tag_table"); "GtkTextView", ("GtkText.View", "GText.view"); "GtkToggleAction", ("GtkActionProps.ToggleAction", "GAction.toggle_action"); "GtkToggleButton", ("GtkButton.ToggleButton", "GButton.toggle_button"); "GtkToggleToolButton", ("GtkButton.ToggleToolButton", "GButton.toggle_tool_button"); "GtkToolButton", ("GtkButton.ToolButton", "GButton.tool_button"); "GtkToolItem", ("GtkButton.ToolItem", "GButton.tool_item"); "GtkToolbar", ("GtkButton.Toolbar", "GButton.toolbar"); "GtkTreeModel", ("GtkTree.TreeModel", "GTree.model"); "GtkTreeModelFilter", ("GtkTree.TreeModelFilter", "GTree.model_filter"); "GtkTreeModelSort", ("GtkTree.TreeModelSort", "GTree.model_sort"); "GtkTreeSelection", ("GtkTree.TreeSelection", "GTree.selection"); "GtkTreeSortable", ("GtkTree.TreeSortable", "GTree.tree_sortable"); "GtkTreeStore", ("GtkTree.TreeStore", "GTree.tree_store"); "GtkTreeView", ("GtkTree.TreeView", "GTree.view"); "GtkTreeViewColumn", ("GtkTree.TreeViewColumn", "GTree.view_column"); "GtkUIManager", ("GtkActionProps.UIManager", "GAction.ui_manager"); "GtkVBox", ("GtkPack.Box", "GPack.box"); "GtkVButtonBox", ("GtkPack.BBox", "GPack.button_box"); "GtkVPaned", ("GtkPack.Paned", "GPack.paned"); "GtkVScale", ("GtkRange.Scale", "GRange.scale"); "GtkVScrollbar", ("GtkRange.Scrollbar", "GRange.range"); "GtkVSeparator", ("GtkMisc.Separator", "GObj.widget_full"); "GtkViewport", ("GtkBin.Viewport", "GBin.viewport"); "GtkWidget", ("GtkBase.Widget", "GObj.widget_full"); "GtkWindow", ("GtkWindow.Window", "GWindow.window"); "PangoContext", ("Pango.Context", "GPango.context"); "button", ("GtkButton.Button", "GButton.button"); ] open Xml_lexer let parse_header lexbuf = match token lexbuf with | Tag ("interface",_,_) -> () | _ -> failwith "no interface declaration" let parse_field lexbuf ~tag = let b = Buffer.create 80 and first = ref true in while match token lexbuf with Chars s -> if not !first then Buffer.add_char b '\n' else first := false; Buffer.add_string b s; true | Endtag tag' when tag = tag' -> false | _ -> failwith "bad field" do () done; Buffer.contents b type wtree = { wclass: string; wname: string; wcamlname : string; winternal: bool; wchildren: wtree list; mutable wrapped: bool; } exception Unsupported (* map arbitrary strings to caml identifiers. Clashes may occur! *) let camlize s = match s with | "" -> "_" | s -> let s = String.uncapitalize_ascii s in let s = Bytes.unsafe_of_string s in for i = 0 to Bytes.length s - 1 do match Bytes.get s i with | 'a'..'z'| 'A'..'Z' | '0'..'9' -> () | _ -> Bytes.set s i '_' done; Bytes.unsafe_to_string s (* this name is a default one created by glade? *) let is_default_name s = let l = String.length s in let rec search p = if p < 0 then raise Not_found else match s.[p] with | '0'..'9' -> search (p-1) | _ -> p+1 in try let pos = search (l-1) in pos > 0 && pos <> l with | _ -> false let is_top_widget wtree w = match wtree.wchildren with | [w'] -> w.wcamlname = w'.wcamlname && not w.winternal | _ -> false let rec skip_to_endtag lexbuf = match token lexbuf with | Tag("object",_,_) -> (* CSC: if this can happen, then the code logic (coming from lablgtk2 code) needs to be rewritten completely. *) assert false | Tag(t,_,true) -> skip_to_endtag lexbuf | Tag(t,_,false) -> skip_to_endtag lexbuf ; skip_to_endtag lexbuf | Chars _ -> skip_to_endtag lexbuf | Endtag t -> () | EOF -> assert false let assoc_opt x l = try Some (List.assoc x l) with Not_found -> None let rec parse_widget ~closed ~wclass ~wname ~internal lexbuf = let widgets = ref [] in while (not closed) && match token lexbuf with | Tag ("object", attrs, closed) -> widgets := parse_widget ~closed ~wclass:(assoc_opt "class" attrs) ~internal ~wname:(assoc_opt "id" attrs) lexbuf @ !widgets; true | Tag ("child",attrs,true) -> assert false | Tag ("child",attrs,false) -> let is_internal = try List.assoc "internal-child" attrs <> "" with Not_found -> false in Stack.push is_internal internal; true | Endtag "child" -> ignore(Stack.pop internal); true | Tag (tag,_,closed) -> if not closed then skip_to_endtag lexbuf ; true | Endtag "object" -> false | Chars _ -> true | Endtag _ | EOF -> failwith "bad XML syntax" do () done; let internal = try Stack.top internal with _ -> false in match wclass,wname with Some wclass, Some wname -> [{ wclass = wclass; wname = wname; wcamlname = camlize wname; winternal = internal; wchildren = List.rev !widgets; wrapped = false }] | _,_ -> [] let rec flatten_tree w = let children = List.map ~f:flatten_tree w.wchildren in w :: List.flatten children let output_widget w = try let (modul, clas) = List.assoc w.wclass !classes in w.wrapped <- true; begin match clas with (*| "GList.clist" -> printf " val %s : int %s =\n" w.wcamlname clas*) | "GWindow.dialog" -> printf " val %s : [`DELETE_EVENT] %s =\n" w.wcamlname clas | _ -> printf " val %s =\n" w.wcamlname end; if !debug then printf " prerr_endline \"creating %s:%s\";\n" w.wclass w.wcamlname; printf " new %s (%s.cast (builder#get_object \"%s\"))\n" clas modul w.wname; printf " method %s = %s\n" w.wcamlname w.wcamlname with Not_found -> warning (sprintf "Widget %s::%s is not supported" w.wname w.wclass) ;; let roots = ref [] let embed = ref false let output_classes = ref [] let output_wrapper ~file wtree = printf "class %s ?translation_domain () =\n" wtree.wcamlname ; output_classes := wtree.wcamlname :: !output_classes; printf " let builder = GBuilder.builder ?translation_domain () in\n"; if !embed then printf " let _ = builder#add_objects_from_string data [\"%s\"] in\n" wtree.wname else printf " let _ = builder#add_objects_from_file \"%s\" [\"%s\"] in\n" file wtree.wname ; print_string " object\n"; let widgets = {wtree with wcamlname= "toplevel"} :: flatten_tree wtree in let is_hidden w = w.wcamlname = "_" || (!hide_default_names && not (is_top_widget wtree w) && is_default_name w.wname) in List.iter (List.filter (fun w -> not (is_hidden w)) widgets) ~f:output_widget; (* reparent method *) begin match wtree.wchildren with | [w] -> printf " method reparent parent =\n"; if not (is_hidden w) then printf " %s#misc#reparent parent;\n" w.wcamlname; printf " toplevel#destroy ()\n"; | _ -> () end; printf " end\n" let parse_body ~file lexbuf = while match token lexbuf with | Tag("object", attrs, closed) -> (match parse_widget ~closed ~wclass:(assoc_opt "class" attrs) ~internal:(Stack.create ()) ~wname:(assoc_opt "id" attrs) lexbuf with | _::_::_ -> assert false | [] -> () | [wtree] -> let rec output_roots wtree = if List.mem wtree.wname ~set:!roots then output_wrapper ~file wtree; List.iter ~f:output_roots wtree.wchildren in if !roots = [] then output_wrapper ~file wtree else output_roots wtree) ; true | Tag(tag, _, true) -> true | Endtag "interface" -> false | Tag(_, _, false) | Chars _ | EOF | Endtag _ -> failwith "bad XML syntax" do () done let process ?(file="") chan = let lexbuf, data = if !embed then begin let b = Buffer.create 1024 in let buf = String.create 1024 in while let len = input chan buf 0 1024 in Buffer.add_subbytes b buf 0 len; len > 0 do () done; let data = Buffer.contents b in Lexing.from_string data, data end else Lexing.from_channel chan, "" in try parse_header lexbuf; printf "(* Automatically generated from %s by lablgladecc *)\n\n" file; if !embed then printf "let data = \"%s\"\n\n" (String.escaped data); parse_body ~file lexbuf; with Failure s -> eprintf "lablgladecc: in %s, before char %d, %s\n" file (Lexing.lexeme_start lexbuf) s let output_test () = print_string "(* Test class definitions *)\n\n"; print_string "let builder = GBuilder.builder ();;\n\n"; print_string "class test () =\n object\n"; List.iter !classes ~f: begin fun (clas, _) -> output_widget {wname = "a"^clas; wcamlname = camlize ("a"^clas); winternal=false; wclass = clas; wchildren = []; wrapped = true} end; print_string " end\n\n"; print_string "let _ = print_endline \"lablgladecc test finished\"\n" let main () = let files = ref [] and test = ref false in Arg.parse [ "-test", Arg.Set test, " check lablgladecc (takes no input)"; "-embed", Arg.Set embed, " embed input file into generated program"; "-debug", Arg.Set debug, " add debug code"; "-root", Arg.String (fun s -> roots := s :: !roots), " generate only a wrapper for and its children"; "-hide-default", Arg.Set hide_default_names, " hide widgets with default names like 'label23'"; ] (fun s -> files := s :: !files) "lablgladecc2 [] []"; if !test then output_test () else if !files = [] then process ~file:"" stdin else List.iter (List.rev !files) ~f: begin fun file -> let chan = open_in file in process ~file chan; close_in chan end let () = main () lablgtk-3.1.2/src/tools/xml_lexer.mli0000644000650106067230000000750514161276610016440 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) (** Simple XML lexer *) (** This module provides an [ocamllex] lexer for XML files. It only supports the most basic features of the XML specification. The lexer altogether ignores the following 'events': comments, processing instructions, XML prolog and doctype declaration. The predefined entities ([&], [<], etc.) are supported. The replacement text for other entities whose entity value consist of character data can be provided to the lexer (see {!Xml_lexer.entities}). Internal entities declarations are {e not} taken into account (the lexer just skips the doctype declaration). [CDATA] sections and character references are supported. See {!Xml_lexer.strip_ws} about whitespace handling. *) (** {3 Error reporting} *) type error = | Illegal_character of char | Bad_entity of string | Unterminated of string | Tag_expected | Attribute_expected | Other of string val error_string : error -> string exception Error of error * int (** This exception is raised in case of an error during the parsing. The [int] argument indicates the character position in the buffer. Note that some non-conforming XML documents might not trigger an error. *) (** {3 API} *) (** The type of the XML document elements *) type token = | Tag of string * (string * string) list * bool (** [Tag (name, attributes, empty)] denotes an opening tag with the specified [name] and [attributes]. If [empty], then the tag ended in "/>", meaning that it has no sub-elements. *) | Chars of string (** Some text between the tags *) | Endtag of string (** A closing tag *) | EOF (** End of input *) val strip_ws : bool ref (** Whitespace handling: if [strip_ws] is [true] (the default), whitespaces next to a tag are ignored. Character data consisting only of whitespaces is thus suppressed (i.e. [Chars ""] tokens are skipped). *) val entities : (string * string) list ref (** An association list of entities definitions. Initially, it contains the predefined entities ([ ["amp", "&"; "lt", "<" ...] ]). *) val token : Lexing.lexbuf -> token (** The entry point of the lexer. @return the next token in the buffer @raise Error in case of an invalid XML document *) lablgtk-3.1.2/src/tools/xml_lexer.mll0000644000650106067230000001375314161276610016445 0ustar glondused{ type error = | Illegal_character of char | Bad_entity of string | Unterminated of string | Tag_expected | Attribute_expected | Other of string let error_string = function | Illegal_character c -> "illegal character '" ^ Char.escaped c ^ "'" | Bad_entity s -> "\"&" ^ s ^ ";\" is not a valid entity" | Unterminated s -> "unterminated " ^ s ^ " starts here" | Tag_expected -> "a tag was expected" | Attribute_expected -> "an attribute value was expected" | Other s -> s exception Error of error * int type token = | Tag of string * (string * string) list * bool | Chars of string | Endtag of string | EOF let start_pos = ref 0 let reset_pos lexbuf = start_pos := Lexing.lexeme_start lexbuf let raise_unterminated msg = raise (Error (Unterminated msg, !start_pos)) let buffer = Buffer.create 128 let reset_string lexbuf = reset_pos lexbuf ; Buffer.reset buffer let strip_ws = ref true let entities = ref [ "lt" , "<"; "gt" , ">"; "amp" , "&"; "apos", "'"; "quot", "\"" ] let ws = [ ' '; '\009'; '\010'; '\012'; '\013' ] let trim_ws s = let len = String.length s in let start = ref 0 in let stop = ref (len - 1) in while !start < len && List.mem s.[!start] ws do incr start done ; while !stop >= !start && List.mem s.[!stop] ws do decr stop done ; if !start <> 0 || !stop <> len - 1 then String.sub s !start (!stop - !start + 1) else s } let space = [' ' '\009' '\010' '\012' '\013'] let name = ['A'-'Z' 'a'-'z' '_' ':'] ['A'-'Z' 'a'-'z' '0'-'9' '_' ':' '.' '-']* rule token = parse | "" { () } | eof { raise_unterminated "comment" } | _ { comment lexbuf } and skip_prolog_or_pi = parse | "?>" { () } | eof { raise_unterminated "prolog or PI" } | _ { skip_prolog_or_pi lexbuf } and skip_doctype = parse | '\"' [^ '\"' ]* '\"' { skip_doctype lexbuf } | ''' [^ ''' ]* ''' { skip_doctype lexbuf } | '[' { skip_intsubset lexbuf; skip_doctype lexbuf } | '>' { () } | eof { raise_unterminated "DOCTYPE" } | [^ ''' '\"' '[' '>']+ { skip_doctype lexbuf } and skip_intsubset = parse | ']' | eof { () } | '\"' [^ '\"' ]* '\"' { skip_intsubset lexbuf } | ''' [^ ''' ]* ''' { skip_intsubset lexbuf } | [^ ''' '\"' ']']+ { skip_intsubset lexbuf } lablgtk-3.1.2/src/win32.h0000644000650106067230000000320314161276610013700 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ #ifdef _WIN32 #define LC_MESSAGES 0 #else #endif lablgtk-3.1.2/src/wrappers.c0000644000650106067230000001474314161276610014607 0ustar glondused/**************************************************************************/ /* 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$ */ #include #include #include #include #include #include #include #include "wrappers.h" CAMLexport value copy_memblock_indirected (void *src, asize_t size) { mlsize_t wosize = Wosize_asize(size); value ret; if (!src) ml_raise_null_pointer (); ret = alloc_shr (wosize+2, Abstract_tag); Field(ret,1) = (value)2; memcpy ((value *) ret + 2, src, size); return ret; } value alloc_memblock_indirected (asize_t size) { value ret = alloc_shr (Wosize_asize(size)+2, Abstract_tag); Field(ret,1) = (value)2; return ret; } static long gc_speed = 10; CAMLprim value ml_set_gc_speed(value percent) { gc_speed = Int_val(percent); return Val_unit; } CAMLprim value ml_get_gc_speed(value unit) { return Val_int(gc_speed); } /* Reimplement the old behaviour of alloc_custom, to be sure that values do not move around */ CAMLexport value ml_alloc_custom(struct custom_operations * ops, uintnat size, mlsize_t mem, mlsize_t max) { mlsize_t wosize; value result; wosize = 1 + (size + sizeof(value) - 1) / sizeof(value); result = caml_alloc_shr(wosize, Custom_tag); Custom_ops_val(result) = ops; caml_adjust_gc_speed(mem*gc_speed, max*100); return caml_check_urgent_gc(result); } CAMLprim value ml_some (value v) { CAMLparam1(v); value ret = alloc_small(1,0); Field(ret,0) = v; CAMLreturn(ret); } value ml_cons (value v, value l) { CAMLparam2(v, l); value cell = alloc_small(2, Tag_cons); Field(cell, 0) = v; Field(cell, 1) = l; CAMLreturn(cell); } void ml_raise_null_pointer () { static const value * exn = NULL; if (exn == NULL) exn = caml_named_value ("null_pointer"); raise_constant (*exn); } CAMLexport value Val_pointer (void *ptr) { value ret = alloc_small (2, Abstract_tag); if (!ptr) ml_raise_null_pointer (); Field(ret,1) = (value)ptr; return ret; } CAMLprim value copy_string_check (const char*str) { if (!str) ml_raise_null_pointer (); return copy_string ((char*) str); } value copy_string_or_null (const char*str) { return copy_string (str ? (char*) str : ""); } value Val_option_string (const char *s) { return Val_option (s, Val_string); } CAMLprim value *ml_global_root_new (value v) { value *p = stat_alloc(sizeof(value)); *p = v; register_global_root (p); return p; } CAMLexport void ml_global_root_destroy (void *data) { remove_global_root ((value *)data); stat_free (data); } CAMLexport value ml_lookup_from_c (const lookup_info table[], int data) { int i; for (i = table[0].data; i > 0; i--) if (table[i].data == data) return table[i].key; invalid_argument ("ml_lookup_from_c"); } CAMLexport int ml_lookup_to_c (const lookup_info table[], value key) { int first = 1, last = table[0].data, current; while (first < last) { current = (first+last)/2; if (table[current].key >= key) last = current; else first = current + 1; } if (table[first].key == key) return table[first].data; invalid_argument ("ml_lookup_to_c"); } CAMLexport value ml_lookup_flags_getter (const lookup_info table[], int data) { CAMLparam0(); CAMLlocal2(cell, l); int i; l = Val_emptylist; for (i = table[0].data; i > 0; i--) if ((table[i].data & data) == table[i].data) { cell = alloc_small(2, Tag_cons); Field(cell, 0) = table[i].key; Field(cell, 1) = l; l = cell; } CAMLreturn(l); } ML_2 (ml_lookup_from_c, Lookup_info_val, Int_val, 0+) ML_2 (ml_lookup_to_c, Lookup_info_val, 0+, Val_int) gchar ** strv_of_string_list (value list) { gchar **str_v; gsize i, len; value l; for (len = 0, l = list; l != Val_emptylist; len++, l = Field (l, 1)) ; l = list; str_v = g_new (gchar *, len+1); for (i = 0; i < len; i++) { str_v[i] = g_strdup (String_val (Field (l, 0))); l = Field (l, 1); } str_v[len] = NULL; return str_v; } value string_list_of_strv (const gchar * const *v) { CAMLparam0(); CAMLlocal4(head, l, cell, s); gsize i; if (v == NULL) CAMLreturn (Val_emptylist); i = 0; head = l = Val_emptylist; while (v[i] != NULL) { s = copy_string (v[i]); cell = alloc_small (2, Tag_cons); Field (cell, 0) = s; Field (cell, 1) = Val_emptylist; if (l == Val_emptylist) head = l = cell; else { Field (l, 1) = cell; l = cell; } i++; } CAMLreturn (head); } value string_list_of_strv2 (gchar **v) { return string_list_of_strv((const gchar* const*)v); } #ifdef ABSVALUE CAMLexport intnat Long_val(value x) { return (intnat)x >> 1; } CAMLexport value Val_long(intnat x) { return (value)((x << 1) + 1); } CAMLexport int Is_long(value x) { return ((intnat)(x) & 1) != 0; } CAMLexport int Is_block(value x) { return ((intnat)(x) & 1) == 0; } #endif lablgtk-3.1.2/src/wrappers.h0000644000650106067230000004215614161276610014613 0ustar glondused/**************************************************************************/ /* 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$ */ #ifndef _wrappers_ #define _wrappers_ /* Yell if a caml callback raised an exception */ #define CAML_EXN_LOG(name) g_critical("%s: callback raised an exception", name) #define CAML_EXN_LOG_VERBOSE(name,exn) g_critical("%s: callback raised exception %s", name, format_caml_exception(Extract_exception(exn))) #include #include #include #include #include #define Is_young_block(v) \ (Is_block(v) && (value*)(v) < caml_young_end && (value*)(v) > caml_young_start) #ifndef Bytes_val #define Bytes_val String_val #endif CAMLexport value copy_memblock_indirected (void *src, asize_t size); value alloc_memblock_indirected (asize_t size); CAMLexport value ml_alloc_custom(struct custom_operations * ops, uintnat size, mlsize_t mem, mlsize_t max); CAMLprim value ml_some (value); value ml_cons (value, value); CAMLexport void ml_raise_null_pointer (void) Noreturn; CAMLexport value Val_pointer (void *); CAMLprim value copy_string_check (const char*); value copy_string_or_null (const char *); value Val_option_string (const char *s); value string_list_of_strv (const char * const *v); value string_list_of_strv2 (char **v); char ** strv_of_string_list (value list); CAMLprim value *ml_global_root_new (value v); CAMLexport void ml_global_root_destroy (void *data); /* Pointer conversions */ #define Pointer_val(val) ((void*)Field(val,1)) #define Store_pointer(val,p) (Field(val,1)=Val_bp(p)) #define MLPointer_val(val) \ ((int)Field(val,1) == 2 ? &Field(val,2) : (void*)Field(val,1)) #define Val_addr(ptr) (1+(value)ptr) #define Addr_val(val) ((void*)(val-1)) /* enums <-> polymorphic variants */ typedef struct { value key; int data; } lookup_info; #define Val_lookup_info(v) Val_pointer((void*)v) #define Lookup_info_val(v) ((const lookup_info*)Pointer_val(v)) CAMLexport value ml_lookup_from_c (const lookup_info table[], int data); CAMLexport int ml_lookup_to_c (const lookup_info table[], value key); CAMLexport value ml_lookup_flags_getter (const lookup_info table[], int data); /* Compatibility */ /* #include #if GTK_CHECK_VERSION(2,2,0) && !defined(DISABLE_GTK22) #define HASGTK22 #endif */ #define HASGTK22 #define HASGTK24 #define HASGTK26 #define HASGTK28 #define HASGTK210 #define HASGTK212 /* Wrapper generators */ #define Unsupported_22(cname) \ CAMLprim value ml_##cname () \ { failwith(#cname " unsupported in Gtk 2.x < 2.2"); } #define Unsupported Unsupported_22 #define Unsupported_24(cname) \ CAMLprim value ml_##cname () \ { failwith(#cname " unsupported in Gtk 2.x < 2.4"); } #define Unsupported_26(cname) \ CAMLprim value ml_##cname () \ { failwith(#cname " unsupported in Gtk 2.x < 2.6"); } #define Unsupported_28(cname) \ CAMLprim value ml_##cname () \ { failwith(#cname " unsupported in Gtk 2.x < 2.8"); } #define Unsupported_210(cname) \ CAMLprim value ml_##cname () \ { failwith(#cname " unsupported in Gtk 2.x < 2.10"); } #define Unsupported_212(cname) \ CAMLprim value ml_##cname () \ { failwith(#cname " unsupported in Gtk 2.x < 2.12"); } #define ID(x) (x) #define ML_0(cname, conv) \ CAMLprim value ml_##cname (value unit) { return conv (cname ()); } #define ML_1(cname, conv1, conv) \ CAMLprim value ml_##cname (value arg1) { return conv (cname (conv1 (arg1))); } #define ML_1_post(cname, conv1, conv, post) \ CAMLprim value ml_##cname (value arg1) \ { value ret = conv (cname (conv1(arg1))); post; return ret; } #define ML_2(cname, conv1, conv2, conv) \ CAMLprim value ml_##cname (value arg1, value arg2) \ { return conv (cname (conv1(arg1), conv2(arg2))); } #define ML_2_name(mlname, cname, conv1, conv2, conv) \ CAMLprim value mlname (value arg1, value arg2) \ { return conv (cname (conv1(arg1), conv2(arg2))); } #define ML_3(cname, conv1, conv2, conv3, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3))); } #define ML_3_name(mlname, cname, conv1, conv2, conv3, conv) \ CAMLprim value mlname (value arg1, value arg2, value arg3) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3))); } #define ML_4(cname, conv1, conv2, conv3, conv4, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4))); } #define ML_4_name(mlname, cname, conv1, conv2, conv3, conv4, conv) \ CAMLprim value mlname (value arg1, value arg2, value arg3, value arg4) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4))); } #define ML_5(cname, conv1, conv2, conv3, conv4, conv5, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5))); } #define ML_5_name(mlname, cname, conv1, conv2, conv3, conv4, conv5, conv) \ CAMLprim value mlname (value arg1, value arg2, value arg3, value arg4, \ value arg5) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5))); } #define ML_6(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6))); } #define ML_7(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7))); } #define ML_8(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8, \ conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8))); } #define ML_9(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8, \ conv9, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8, \ value arg9) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8), \ conv9(arg9))); } #define ML_9_name(mlname, cname, conv1, conv2, conv3, conv4, conv5, conv6, \ conv7, conv8, conv9, conv) \ CAMLprim value mlname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8, \ value arg9) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8), \ conv9(arg9))); } #define ML_10(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8, \ conv9, conv10, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8, \ value arg9, value arg10)\ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8), \ conv9(arg9), conv10(arg10))); } #define ML_11(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8, \ conv9, conv10, conv11, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8, \ value arg9, value arg10, value arg11) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8), \ conv9(arg9), conv10(arg10), conv11(arg11))); } #define ML_12(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8, \ conv9, conv10, conv11, conv12, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8, \ value arg9, value arg10, value arg11, value arg12) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8), \ conv9(arg9), conv10(arg10), conv11(arg11), \ conv12(arg12))); } #define ML_13(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8, \ conv9, conv10, conv11, conv12, conv13, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8, \ value arg9, value arg10, value arg11, value arg12, \ value arg13) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8), \ conv9(arg9), conv10(arg10), conv11(arg11), \ conv12(arg12), conv13(arg13))); } /* Use with care: needs the argument index */ #define Ignore(x) #define Insert(x) (x), #define Split(x,f,g) f(x), g(x) Ignore #define Split3(x,f,g,h) f(x), g(x), h(x) Ignore #define Pair(x,f,g) f(Field(x,0)), g(Field(x,1)) Ignore #define Triple(x,f,g,h) f(Field(x,0)), g(Field(x,1)), h(Field(x,2)) Ignore /* For more than 5 arguments */ #define ML_bc6(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5]); } #define ML_bc7(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6]); } #define ML_bc8(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], \ argv[7]); } #define ML_bc9(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], \ argv[7],argv[8]); } #define ML_bc10(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], \ argv[7],argv[8],argv[9]); } #define ML_bc11(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], \ argv[7],argv[8],argv[9],argv[10]); } #define ML_bc12(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], \ argv[7],argv[8],argv[9],argv[10],argv[11]); } #define ML_bc13(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], \ argv[7],argv[8],argv[9],argv[10],argv[11],argv[12]); } /* result conversion */ #define Unit(x) (((void)x), Val_unit) #define Id(x) x #define Val_char Val_int /* parameter conversion */ #define Bool_ptr(x) ((long) x - 1) #define Char_val Int_val #define Float_val Double_val /* #define Float_val(x) ((float)Double_val(x)) */ #define SizedString_val(x) String_val(x), string_length(x) #define Option_val(val,unwrap,default) \ ((long)val-1 ? unwrap(Field(val,0)) : default) #define String_option_val(s) Option_val(s,String_val,NULL) /* Strings are not always old, so they may move around... */ /* problems with alloca on Linux #define StableString_val(val) \ ((char*)(val) < young_end && (char*)(val) > young_start ? \ memcpy(alloca(Bosize_val(val)), (char*)(val), Bosize_val(val)) : \ String_val(val)) */ /* Utility */ #define Copy_array(ret,l,src,conv) \ if (!l) ret = Atom(0); \ else if (l <= Max_young_wosize) { int i; ret = alloc_tuple(l); \ for(i=0;ifield); } #define Make_Setter(name,conv1,conv2,field) \ CAMLprim value ml_##name##_##field (value val, value new) \ { (conv1(val))->field = conv2(new); return Val_unit; } #define Make_Array_Extractor(name,conv1,conv2,field,conv) \ CAMLprim value ml_##name##_##field (value val, value index) \ { return conv ((conv1(val))->field[conv2(index)]); } #define Make_Array_Setter(name,conv1,conv2,conv3,field) \ CAMLprim value ml_##name##_##field (value val, value index, value new) \ { (conv1(val))->field[conv2(index)] = conv3(new); return Val_unit; } /* ML value is [flag list] */ #define Make_Flags_val(conv) \ CAMLprim int Flags_##conv (value list) \ { int flags = 0L; \ while(Is_block(list)){ flags |= conv(Field(list,0)); list = Field(list,1); }\ return flags; } /* ML value is [flag list option] */ #define Make_OptFlags_val(conv) \ CAMLprim int OptFlags_##conv (value list) \ { int flags = 0L; \ if (Is_block(list)) list = Field(list,0); \ while(Is_block(list)){ flags |= conv(Field(list,0)); list = Field(list,1); }\ return flags; } #define Val_copy(val) copy_memblock_indirected (&val, sizeof(val)) #define Val_string copy_string_check #define Val_optstring copy_string_or_null #define Optstring_val(v) (string_length(v) ? String_val(v) : (char*)NULL) #define Val_option(v,f) (v ? ml_some(f(v)) : Val_unit) #define Make_Val_option(T) \ value Val_option_##T(T* v) { return Val_option(v,Val_##T); } #define Check_null(v) (v ? v : (ml_raise_null_pointer (), v)) #define Val_nativeint copy_nativeint #define Val_int64 copy_int64 #endif /* _wrappers_ */ lablgtk-3.1.2/tools/0000755000650106067230000000000014161276610013140 5ustar glondusedlablgtk-3.1.2/tools/check_externals.ml0000644000650106067230000001677014161276610016647 0ustar glondused(* $Id$ *) (* Check that all external statements differ in a .ml or .mli file *) open StdLabels (*** Objective Caml simplified lexer ***) type token = | Ident of string | Num of int | Sym of char | String of string | Char of string | EOF let rec implode l = let s = String.create (List.length l) in let i = ref 0 in (List.iter l ~f: (fun c -> (s.[!i] <- c; incr i)); s) let rec skip tok (__strm : _ Stream.t) = match Stream.peek __strm with | Some tok' -> (Stream.junk __strm; let s = __strm in if tok <> tok' then skip tok s else ()) | _ -> raise Stream.Failure let rec star ~acc p (__strm : _ Stream.t) = match try Some (p __strm) with | Stream.Failure -> None with | Some x -> let s = __strm in star ~acc: (x :: acc) p s | _ -> List.rev acc let alphanum (__strm : _ Stream.t) = match Stream.peek __strm with | Some (('A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '\'' | '_' as c)) -> (Stream.junk __strm; c) | _ -> raise Stream.Failure let num (__strm : _ Stream.t) = match Stream.peek __strm with | Some (('0' .. '9' | '_' as c)) -> (Stream.junk __strm; c) | _ -> raise Stream.Failure let escaped (__strm : _ Stream.t) = match Stream.peek __strm with | Some (('0' .. '9' as c1)) -> (Stream.junk __strm; (match Stream.peek __strm with | Some (('0' .. '9' as c2)) -> (Stream.junk __strm; (match Stream.peek __strm with | Some (('0' .. '9' as c3)) -> (Stream.junk __strm; [ c1; c2; c3 ]) | _ -> raise (Stream.Error ""))) | _ -> raise (Stream.Error ""))) | Some c -> (Stream.junk __strm; [ c ]) | _ -> raise Stream.Failure let char (__strm : _ Stream.t) = match Stream.peek __strm with | Some '\\' -> (Stream.junk __strm; let l = (try escaped __strm with | Stream.Failure -> raise (Stream.Error "")) in (match Stream.peek __strm with | Some '\'' -> (Stream.junk __strm; implode ('\\' :: l)) | _ -> raise (Stream.Error ""))) | Some c -> (Stream.junk __strm; (match Stream.peek __strm with | Some '\'' -> (Stream.junk __strm; String.make 1 c) | _ -> raise (Stream.Error ""))) | _ -> raise Stream.Failure let rec string ~acc (__strm : _ Stream.t) = match Stream.peek __strm with | Some '"' -> (Stream.junk __strm; implode (List.rev acc)) | Some '\'' -> (Stream.junk __strm; let l = (try escaped __strm with | Stream.Failure -> raise (Stream.Error "")) in let s = __strm in string ~acc: (List.rev_append l ('\'' :: acc)) s) | Some c -> (Stream.junk __strm; let s = __strm in string ~acc: (c :: acc) s) | _ -> raise Stream.Failure let rec token (__strm : _ Stream.t) = match Stream.peek __strm with | Some (('A' .. 'Z' | 'a' .. 'z' | '_' as c)) -> (Stream.junk __strm; let l = (try star alphanum ~acc: [ c ] __strm with | Stream.Failure -> raise (Stream.Error "")) in Ident (implode l)) | Some (('0' .. '9' as c)) -> (Stream.junk __strm; let l = (try star ~acc: [ c ] num __strm with | Stream.Failure -> raise (Stream.Error "")) in Num (int_of_string (implode l))) | Some '(' -> (Stream.junk __strm; (try may_comment __strm with | Stream.Failure -> raise (Stream.Error ""))) | Some '\'' -> (Stream.junk __strm; let s = __strm in (try Char (char s) with | _ -> token s)) | (* skip type variables... *) Some '"' -> (Stream.junk __strm; let s = (try string ~acc: [] __strm with | Stream.Failure -> raise (Stream.Error "")) in String s) | Some (' ' | '\n' | '\r' | '\t') -> (Stream.junk __strm; token __strm) | Some c -> (Stream.junk __strm; Sym c) | _ -> raise End_of_file and may_comment (__strm : _ Stream.t) = match Stream.peek __strm with | Some '*' -> (Stream.junk __strm; let s = __strm in let s' = lexer s in (skip (Sym '*') s'; may_close_comment s')) | _ -> Sym '(' and may_close_comment (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Sym ')') -> (Stream.junk __strm; (match Stream.peek __strm with | Some tok -> (Stream.junk __strm; tok) | _ -> raise (Stream.Error ""))) | _ -> let s = __strm in (skip (Sym '*') s; may_close_comment s) and lexer s = Stream.lcons (fun _ -> token s) (Stream.slazy (fun _ -> lexer s)) (**** The actual checker ***) let defs = Hashtbl.create 13 let add impl name = try let name' = Hashtbl.find defs impl in Printf.eprintf "externals [%s] and [%s] have same implementation \"%s\"\n" name' name impl with | Not_found -> Hashtbl.add defs impl name let may_string (__strm : _ Stream.t) = match Stream.peek __strm with | Some (String s) -> (Stream.junk __strm; s) | _ -> "" let rec skip_type (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Sym '=') -> (Stream.junk __strm; ()) | Some (Sym '(') -> (Stream.junk __strm; let _ = (try skip (Sym ')') __strm with | Stream.Failure -> raise (Stream.Error "")) in skip_type __strm) | Some (Sym '[') -> (Stream.junk __strm; let _ = (try skip (Sym ']') __strm with | Stream.Failure -> raise (Stream.Error "")) in skip_type __strm) | Some _ -> (Stream.junk __strm; skip_type __strm) | _ -> raise Stream.Failure let check_external (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Ident name) -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Sym ':') -> (Stream.junk __strm; let _ = (try skip_type __strm with | Stream.Failure -> raise (Stream.Error "")) in (match Stream.peek __strm with | Some (String impl) -> (Stream.junk __strm; let native1 = (try may_string __strm with | Stream.Failure -> raise (Stream.Error "")) in let native2 = (try may_string __strm with | Stream.Failure -> raise (Stream.Error "")) in (if (impl <> "") && (impl.[0] <> '%') then add impl name else (); let native = (match (native1, native2) with | (("noalloc" | "float"), ("noalloc" | "float")) -> "" | (("noalloc" | "float"), n) -> n | (n, _) -> n) in if native <> "" then add native name else ())) | _ -> raise (Stream.Error ""))) | _ -> raise (Stream.Error ""))) | _ -> raise Stream.Failure let check f = (prerr_endline ("processing " ^ f); let ic = open_in f in let chars = Stream.of_channel ic in let s = lexer chars in try while true do skip (Ident "external") s; check_external s done with | End_of_file -> () | Stream.Error _ | Stream.Failure -> (Printf.eprintf "Parse error in file `%s' before char %d\n" f (Stream.count chars); exit 2) | exn -> (Printf.eprintf "Exception %s in file `%s' before char %d\n" (Printexc.to_string exn) f (Stream.count chars); exit 2)) let main () = Arg.parse [] check "usage: check_externals file.ml ..." let () = Printexc.print main () lablgtk-3.1.2/tools/check_externals.ml40000644000650106067230000000702514161276610016724 0ustar glondused(* $Id$ *) (* Check that all external statements differ in a .ml or .mli file *) open StdLabels (*** Objective Caml simplified lexer ***) type token = Ident of string | Num of int | Sym of char | String of string | Char of string | EOF let rec implode l = let s = String.create (List.length l) in let i = ref 0 in List.iter l ~f:(fun c -> s.[!i] <- c; incr i); s let rec skip tok = parser [< ' tok' ; s >] -> if tok <> tok' then skip tok s let rec star ~acc p = parser [< x = p ; s >] -> star ~acc:(x::acc) p s | [< >] -> List.rev acc let alphanum = parser [< ' ('A'..'Z'|'a'..'z'|'0'..'9'|'\''|'_' as c) >] -> c let num = parser [< ' ('0'..'9'|'_' as c) >] -> c let escaped = parser [< ' ('0'..'9' as c1); ' ('0'..'9' as c2); ' ('0'..'9' as c3) >] -> [c1;c2;c3] | [< ' c >] -> [c] let char = parser [< ''\\'; l = escaped; ''\'' >] -> implode ('\\'::l) | [< ' c ; ''\'' >] -> String.make 1 c let rec string ~acc = parser [< ''"' >] -> implode (List.rev acc) | [< ''\''; l = escaped; s >] -> string ~acc:(List.rev_append l ('\''::acc)) s | [< ' c ; s >] -> string ~acc:(c::acc) s let rec token = parser [< ' ('A'..'Z'|'a'..'z'|'_' as c); l = star alphanum ~acc:[c] >] -> Ident (implode l) | [< ' ('0'..'9' as c); l = star ~acc:[c] num >] -> Num (int_of_string (implode l)) | [< ''('; r = may_comment >] -> r | [< ''\''; s >] -> (try Char (char s) with _ -> token s) (* skip type variables... *) | [< ''"'; s = string ~acc:[] >] -> String s | [< ' (' '|'\n'|'\r'|'\t'); s >] -> token s | [< ' c >] -> Sym c | [< >] -> raise End_of_file and may_comment = parser [< ''*'; s >] -> let s' = lexer s in skip (Sym '*') s'; may_close_comment s' | [< >] -> Sym '(' and may_close_comment = parser [< ' Sym ')'; ' tok >] -> tok | [< s >] -> skip (Sym '*') s; may_close_comment s and lexer s = [< ' token s ; lexer s >] (**** The actual checker ***) let defs = Hashtbl.create 13 let add impl name = try let name' = Hashtbl.find defs impl in Printf.eprintf "externals [%s] and [%s] have same implementation \"%s\"\n" name' name impl with Not_found -> Hashtbl.add defs impl name let may_string = parser [< ' String s >] -> s | [< >] -> "" let rec skip_type = parser [< ' Sym '=' >] -> () | [< ' Sym '('; _ = skip (Sym ')'); s >] -> skip_type s | [< ' Sym '['; _ = skip (Sym ']'); s >] -> skip_type s | [< ' _; s >] -> skip_type s let check_external = parser [< ' Ident name; ' Sym ':'; _ = skip_type; ' String impl; native1 = may_string; native2 = may_string >] -> if impl <> "" && impl.[0] <> '%' then add impl name; let native = match native1, native2 with ("noalloc"|"float"), ("noalloc"|"float") -> "" | ("noalloc"|"float"), n -> n | n, _ -> n in if native <> "" then add native name let check f = prerr_endline ("processing " ^ f); let ic = open_in f in let chars = Stream.of_channel ic in let s = lexer chars in try while true do skip (Ident"external") s; check_external s done with End_of_file -> () | Stream.Error _ | Stream.Failure -> Printf.eprintf "Parse error in file `%s' before char %d\n" f (Stream.count chars); exit 2 | exn -> Printf.eprintf "Exception %s in file `%s' before char %d\n" (Printexc.to_string exn) f (Stream.count chars); exit 2 let main () = Arg.parse [] check "usage: check_externals file.ml ..." let () = Printexc.print main () lablgtk-3.1.2/tools/dune0000644000650106067230000000151114161276610014014 0ustar glondused;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Common setup and tools ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; We use a bash rule to ensure we call the byte version and thus we ; avoid the auto-printer selection in Camlp4AutoPrinter. (rule (targets varcc.ml) (deps (:source varcc.ml4)) (mode promote) (action (bash "camlp5o pr_o.cmo -impl %{source} -o %{targets}"))) (rule (targets propcc.ml) (deps (:source propcc.ml4)) (mode promote) (action (bash "camlp5o pr_o.cmo -impl %{source} -o %{targets}"))) (executables (names varcc propcc) (modules varcc propcc)) (executable (name dune_config) (modules dune_config) (libraries dune.configurator)) (library (name gtkdoc) (modules gtkdoc) (libraries str ocamldoc)) lablgtk-3.1.2/tools/dune_config.ml0000644000650106067230000000276014161276610015757 0ustar glondusedmodule C = Configurator.V1 (* XXX: Use `die` *) let error str = Format.eprintf "configure error: %s@\n%!" str; exit 1 module Option = struct let require ~message = function | None -> error message | Some v -> v let cata ~f d = function | None -> d | Some x -> f x end (* This is a hack to detect gtk+-quartz *) let platform_subst p ~package = match package with | "gtk+-3.0" -> (match C.Pkg_config.query p ~package:"gtk+-quartz-3.0" with | Some _ -> "gtk+-quartz-3.0", ["-DHAS_GTKQUARTZ"] | None -> package, []) | _ -> package, [] let query_pkg p ~package ~expr = match C.Pkg_config.query_expr_err p ~package ~expr with | Ok s -> s | Error e -> error e let gen_pkg p ~package ~version = let file kind = kind ^ "-" ^ package ^ ".sexp" in let package, extra_flags = platform_subst p ~package in let expr = Option.cata ~f:(fun version -> Format.sprintf "%s >= %s" package version) "" version in let c_g = query_pkg p ~package ~expr in C.Flags.write_sexp (file "cflag") @@ c_g.C.Pkg_config.cflags @ extra_flags; C.Flags.write_sexp (file "clink") c_g.C.Pkg_config.libs let pkg = ref "" let version = ref None let main t = let p = Option.require ~message:"pkg_config not installed" C.Pkg_config.(get t) in gen_pkg p ~package:!pkg ~version:!version let _ = let args = [ "-pkg", Arg.String (fun s -> pkg := s), "package" ; "-version", Arg.String (fun v -> version := Some v), "version" ] in C.main ~args ~name:"lablgtk3" main lablgtk-3.1.2/tools/gtkInit.ml0000644000650106067230000000324114161276610015103 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) (* Does the initialization for toplevels *) let locale = GtkMain.Main.init () lablgtk-3.1.2/tools/gtkThInit.ml0000644000650106067230000000347614161276610015411 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) (* GtkThInit: Start the main thread in a threaded toplevel *) (* Never use with the Quartz backend, as the GUI must run in the main thread *) (* See GtkThTop for another way to obtain the same result *) let thread = GtkThread.start () lablgtk-3.1.2/tools/gtkThTop.ml0000644000650106067230000000362114161276610015240 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) (* GtkThTop: alternative to GtkThInit. *) (* Runs the main loop in the main thread, and the toplevel loop in another thread, since the GUI must run in the main thread when using the Quartz backend. *) open GtkThread let thread = Thread.create (fun () -> Toploop.loop Format.std_formatter) () and () = main ();; lablgtk-3.1.2/tools/gtkdoc.ml0000644000650106067230000000732314161276610014752 0ustar glondused(**************************************************************************) (* 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 *) (* *) (* *) (**************************************************************************) let default_base_uri = "http://developer.gnome.org/gtk3/stable" let base_uri = ref default_base_uri let _ = Odoc_args.add_option ("-base-uri", Arg.String ((:=) base_uri), "base URI of the GTK/GNOME documentation") let may ov f = match ov with | None -> () | Some v -> f v (* ocamldoc generates tons of tags. This seriously inflates the size of the HTML pages so here we redefine the function to only define the 'Start' 'next' and 'Up' links. *) let make_prepare_header style index _module_list = fun b ?(nav=None) ?comments:_ t -> let link l dest = Printf.bprintf b "\n" l dest in let link_file l dest = link l (fst (Odoc_html.Naming.html_files dest)) in Buffer.add_string b "\n" ; Buffer.add_string b style ; link "Start" index ; may nav (fun (pre_opt, post_opt, name) -> may pre_opt (link_file "previous") ; may post_opt (link_file "next") ; match Odoc_info.Name.father name with | "" -> link "Up" index | s -> link_file "Up" s ) ; Printf.bprintf b "%s\n\n" t let gtkdoc = function | Odoc_info.Raw name :: _ -> begin match Str.split (Str.regexp "[ \t]+") name with | dir :: widget :: _ -> let dir = if !base_uri = default_base_uri then dir ^ "/stable" else dir in Printf.sprintf "GTK documentation: \ %s\ " !base_uri dir widget widget | _ -> failwith "bad @gtkdoc format" end | _ -> failwith "bad @gtkdoc format" module Generator (G : Odoc_html.Html_generator) = struct class html = object (self) inherit G.html as super method! prepare_header module_list = header <- make_prepare_header style self#index module_list method! html_of_class b ?complete ?with_link c = super#html_of_class b ?complete ?with_link c ; Buffer.add_string b "
" initializer tag_functions <- ("gtkdoc", gtkdoc) :: tag_functions end end let _ = Odoc_args.extend_html_generator (module Generator : Odoc_gen.Html_functor) lablgtk-3.1.2/tools/introspection/0000755000650106067230000000000014161276610016040 5ustar glondusedlablgtk-3.1.2/tools/introspection/.gitignore0000644000650106067230000000002414161276610020024 0ustar glondusedextract_stubs LOG lablgtk-3.1.2/tools/introspection/Gtk-3.0.props0000644000650106067230000045467514161276610020175 0ustar glondusedclass AboutDialog set wrap wrapsig : Dialog { method add_credit_section : "utf8 -> -> none" method get_artists : "" method get_authors : "" method get_comments : "utf8" method get_copyright : "utf8" method get_documenters : "" method get_license : "utf8" method get_license_type : "License" method get_logo : "GdkPixbuf.Pixbuf" method get_logo_icon_name : "utf8" method get_program_name : "utf8" method get_translator_credits : "utf8" method get_version : "utf8" method get_website : "utf8" method get_website_label : "utf8" method get_wrap_license : "gboolean" method set_artists : " -> none" method set_authors : " -> none" method set_comments : "utf8 -> none" method set_copyright : "utf8 -> none" method set_documenters : " -> none" method set_license : "utf8 -> none" method set_license_type : "License -> none" method set_logo : "GdkPixbuf.Pixbuf -> none" method set_logo_icon_name : "utf8 -> none" method set_program_name : "utf8 -> none" method set_translator_credits : "utf8 -> none" method set_version : "utf8 -> none" method set_website : "utf8 -> none" method set_website_label : "utf8 -> none" method set_wrap_license : "gboolean -> none" "artists" : Read / Write "authors" : Read / Write "comments" utf8 : Read / Write "copyright" utf8 : Read / Write "documenters" : Read / Write "license" utf8 : Read / Write "license-type" License : Read / Write "logo" GdkPixbuf.Pixbuf : Read / Write "logo-icon-name" utf8 : Read / Write "program-name" utf8 : Read / Write "translator-credits" utf8 : Read / Write "version" utf8 : Read / Write "website" utf8 : Read / Write "website-label" utf8 : Read / Write "wrap-license" gboolean : Read / Write signal activate_link : utf8 -> gboolean } class AccelLabel set wrap wrapsig : Label { method get_accel : "guint -> Gdk.ModifierType -> none" method get_accel_widget : "Widget" method get_accel_width : "guint" method refetch : "gboolean" method set_accel : "guint -> Gdk.ModifierType -> none" method set_accel_closure : "GObject.Closure -> none" method set_accel_widget : "Widget -> none" "accel-closure" GObject.Closure : Read / Write "accel-widget" Widget : Read / Write } class Accessible set wrap wrapsig : Atk.Object { method connect_widget_destroyed : "none" method get_widget : "Widget" method set_widget : "Widget -> none" "widget" Widget : Read / Write } class ActionBar set wrap wrapsig : Bin { method get_center_widget : "Widget" method pack_end : "Widget -> none" method pack_start : "Widget -> none" method set_center_widget : "Widget -> none" } class Adjustment set wrap wrapsig : GObject.InitiallyUnowned { method changed : "none" method clamp_page : "gdouble -> gdouble -> none" method configure : "gdouble -> gdouble -> gdouble -> gdouble -> gdouble -> gdouble -> none" method get_lower : "gdouble" method get_minimum_increment : "gdouble" method get_page_increment : "gdouble" method get_page_size : "gdouble" method get_step_increment : "gdouble" method get_upper : "gdouble" method get_value : "gdouble" method set_lower : "gdouble -> none" method set_page_increment : "gdouble -> none" method set_page_size : "gdouble -> none" method set_step_increment : "gdouble -> none" method set_upper : "gdouble -> none" method set_value : "gdouble -> none" method value_changed : "none" "lower" gdouble : Read / Write "page-increment" gdouble : Read / Write "page-size" gdouble : Read / Write "step-increment" gdouble : Read / Write "upper" gdouble : Read / Write "value" gdouble : Read / Write signal changed : -> none signal value_changed : -> none } class Alignment set wrap wrapsig : Bin { method get_padding : "guint -> guint -> guint -> guint -> none" method set : "gfloat -> gfloat -> gfloat -> gfloat -> none" method set_padding : "guint -> guint -> guint -> guint -> none" "bottom-padding" guint : Read / Write "left-padding" guint : Read / Write "right-padding" guint : Read / Write "top-padding" guint : Read / Write "xalign" gfloat : Read / Write "xscale" gfloat : Read / Write "yalign" gfloat : Read / Write "yscale" gfloat : Read / Write } class AppChooserButton set wrap wrapsig : ComboBox { method append_custom_item : "utf8 -> utf8 -> Gio.Icon -> none" method append_separator : "none" method get_heading : "utf8" method get_show_default_item : "gboolean" method get_show_dialog_item : "gboolean" method set_active_custom_item : "utf8 -> none" method set_heading : "utf8 -> none" method set_show_default_item : "gboolean -> none" method set_show_dialog_item : "gboolean -> none" "heading" utf8 : Read / Write "show-default-item" gboolean : Read / Write "show-dialog-item" gboolean : Read / Write signal custom_item_activated : utf8 -> none } class AppChooserDialog set wrap wrapsig : Dialog { method get_heading : "utf8" method get_widget : "Widget" method set_heading : "utf8 -> none" "gfile" Gio.File : Read / Write "heading" utf8 : Read / Write } class AppChooserWidget set wrap wrapsig : Box { method get_default_text : "utf8" method get_show_all : "gboolean" method get_show_default : "gboolean" method get_show_fallback : "gboolean" method get_show_other : "gboolean" method get_show_recommended : "gboolean" method set_default_text : "utf8 -> none" method set_show_all : "gboolean -> none" method set_show_default : "gboolean -> none" method set_show_fallback : "gboolean -> none" method set_show_other : "gboolean -> none" method set_show_recommended : "gboolean -> none" "default-text" utf8 : Read / Write "show-all" gboolean : Read / Write "show-default" gboolean : Read / Write "show-fallback" gboolean : Read / Write "show-other" gboolean : Read / Write "show-recommended" gboolean : Read / Write signal application_activated : Gio.AppInfo -> none signal application_selected : Gio.AppInfo -> none signal populate_popup : MenuGio.AppInfo -> none } class Application set wrap wrapsig : Gio.Application { method add_accelerator : "utf8 -> utf8 -> GLib.Variant -> none" method add_window : "Window -> none" method get_accels_for_action : "utf8 -> " method get_actions_for_accel : "utf8 -> " method get_active_window : "Window" method get_app_menu : "Gio.MenuModel" method get_menu_by_id : "utf8 -> Gio.Menu" method get_menubar : "Gio.MenuModel" method get_window_by_id : "guint -> Window" method get_windows : "GLib.List" method inhibit : "Window -> ApplicationInhibitFlags -> utf8 -> guint" method is_inhibited : "ApplicationInhibitFlags -> gboolean" method list_action_descriptions : "" method prefers_app_menu : "gboolean" method remove_accelerator : "utf8 -> GLib.Variant -> none" method remove_window : "Window -> none" method set_accels_for_action : "utf8 -> -> none" method set_app_menu : "Gio.MenuModel -> none" method set_menubar : "Gio.MenuModel -> none" method uninhibit : "guint -> none" "active-window" Window : Read "app-menu" Gio.MenuModel : Read / Write "menubar" Gio.MenuModel : Read / Write "register-session" gboolean : Read / Write "screensaver-active" gboolean : Read signal window_added : Window -> none signal window_removed : Window -> none } class ApplicationWindow set wrap wrapsig : Window { method get_help_overlay : "ShortcutsWindow" method get_id : "guint" method get_show_menubar : "gboolean" method set_help_overlay : "ShortcutsWindow -> none" method set_show_menubar : "gboolean -> none" "show-menubar" gboolean : Read / Write } class Arrow set wrap wrapsig : Misc { method set : "ArrowType -> ShadowType -> none" "arrow-type" ArrowType : Read / Write "shadow-type" ShadowType : Read / Write } class ArrowAccessible set wrap wrapsig : WidgetAccessible { } class AspectFrame set wrap wrapsig : Frame { method set : "gfloat -> gfloat -> gfloat -> gboolean -> none" "obey-child" gboolean : Read / Write "ratio" gfloat : Read / Write "xalign" gfloat : Read / Write "yalign" gfloat : Read / Write } class Assistant set wrap wrapsig : Window { method add_action_widget : "Widget -> none" method append_page : "Widget -> gint" method commit : "none" method get_current_page : "gint" method get_n_pages : "gint" method get_nth_page : "gint -> Widget" method get_page_complete : "Widget -> gboolean" method get_page_has_padding : "Widget -> gboolean" method get_page_header_image : "Widget -> GdkPixbuf.Pixbuf" method get_page_side_image : "Widget -> GdkPixbuf.Pixbuf" method get_page_title : "Widget -> utf8" method get_page_type : "Widget -> AssistantPageType" method insert_page : "Widget -> gint -> gint" method next_page : "none" method prepend_page : "Widget -> gint" method previous_page : "none" method remove_action_widget : "Widget -> none" method remove_page : "gint -> none" method set_current_page : "gint -> none" method set_forward_page_func : "AssistantPageFunc -> gpointer -> GLib.DestroyNotify -> none" method set_page_complete : "Widget -> gboolean -> none" method set_page_has_padding : "Widget -> gboolean -> none" method set_page_header_image : "Widget -> GdkPixbuf.Pixbuf -> none" method set_page_side_image : "Widget -> GdkPixbuf.Pixbuf -> none" method set_page_title : "Widget -> utf8 -> none" method set_page_type : "Widget -> AssistantPageType -> none" method update_buttons_state : "none" "use-header-bar" gint : Read / Write signal apply : -> none signal cancel : -> none signal close : -> none signal escape : -> none signal prepare : Widget -> none } class Bin abstract set wrap wrapsig : Container { method get_child : "Widget" } class BooleanCellAccessible set wrap wrapsig : RendererCellAccessible { } class Box set wrap wrapsig : Container { method get_baseline_position : "BaselinePosition" method get_center_widget : "Widget" method get_homogeneous : "gboolean" method get_spacing : "gint" method pack_end : "Widget -> gboolean -> gboolean -> guint -> none" method pack_start : "Widget -> gboolean -> gboolean -> guint -> none" method query_child_packing : "Widget -> gboolean -> gboolean -> guint -> PackType -> none" method reorder_child : "Widget -> gint -> none" method set_baseline_position : "BaselinePosition -> none" method set_center_widget : "Widget -> none" method set_child_packing : "Widget -> gboolean -> gboolean -> guint -> PackType -> none" method set_homogeneous : "gboolean -> none" method set_spacing : "gint -> none" "baseline-position" BaselinePosition : Read / Write "homogeneous" gboolean : Read / Write "spacing" gint : Read / Write } class Button set wrap wrapsig : Bin { method clicked : "none" method enter : "none" method get_alignment : "gfloat -> gfloat -> none" method get_always_show_image : "gboolean" method get_event_window : "Gdk.Window" method get_focus_on_click : "gboolean" method get_image : "Widget" method get_image_position : "PositionType" method get_label : "utf8" method get_relief : "ReliefStyle" method get_use_stock : "gboolean" method get_use_underline : "gboolean" method leave : "none" method pressed : "none" method released : "none" method set_alignment : "gfloat -> gfloat -> none" method set_always_show_image : "gboolean -> none" method set_focus_on_click : "gboolean -> none" method set_image : "Widget -> none" method set_image_position : "PositionType -> none" method set_label : "utf8 -> none" method set_relief : "ReliefStyle -> none" method set_use_stock : "gboolean -> none" method set_use_underline : "gboolean -> none" "always-show-image" gboolean : Read / Write "image" Widget : Read / Write "image-position" PositionType : Read / Write "label" utf8 : Read / Write "relief" ReliefStyle : Read / Write "use-stock" gboolean : Read / Write "use-underline" gboolean : Read / Write "xalign" gfloat : Read / Write "yalign" gfloat : Read / Write signal activate : -> none signal clicked : -> none signal enter : -> none signal leave : -> none signal pressed : -> none signal released : -> none } class ButtonAccessible set wrap wrapsig : ContainerAccessible { } class ButtonBox set wrap wrapsig : Box { method get_child_non_homogeneous : "Widget -> gboolean" method get_child_secondary : "Widget -> gboolean" method get_layout : "ButtonBoxStyle" method set_child_non_homogeneous : "Widget -> gboolean -> none" method set_child_secondary : "Widget -> gboolean -> none" method set_layout : "ButtonBoxStyle -> none" "layout-style" ButtonBoxStyle : Read / Write } class Calendar set wrap wrapsig : Widget { method clear_marks : "none" method get_date : "guint -> guint -> guint -> none" method get_day_is_marked : "guint -> gboolean" method get_detail_height_rows : "gint" method get_detail_width_chars : "gint" method get_display_options : "CalendarDisplayOptions" method mark_day : "guint -> none" method select_day : "guint -> none" method select_month : "guint -> guint -> none" method set_detail_func : "CalendarDetailFunc -> gpointer -> GLib.DestroyNotify -> none" method set_detail_height_rows : "gint -> none" method set_detail_width_chars : "gint -> none" method set_display_options : "CalendarDisplayOptions -> none" method unmark_day : "guint -> none" "day" gint : Read / Write "detail-height-rows" gint : Read / Write "detail-width-chars" gint : Read / Write "month" gint : Read / Write "no-month-change" gboolean : Read / Write "show-day-names" gboolean : Read / Write "show-details" gboolean : Read / Write "show-heading" gboolean : Read / Write "show-week-numbers" gboolean : Read / Write "year" gint : Read / Write signal day_selected : -> none signal day_selected_double_click : -> none signal month_changed : -> none signal next_month : -> none signal next_year : -> none signal prev_month : -> none signal prev_year : -> none } class CellAccessible set wrap wrapsig : Accessible { } class CellArea abstract set wrap wrapsig : GObject.InitiallyUnowned { method activate : "CellAreaContext -> Widget -> Gdk.Rectangle -> CellRendererState -> gboolean -> gboolean" method activate_cell : "Widget -> CellRenderer -> Gdk.Event -> Gdk.Rectangle -> CellRendererState -> gboolean" method add : "CellRenderer -> none" method add_focus_sibling : "CellRenderer -> CellRenderer -> none" method add_with_properties : "CellRenderer -> utf8 -> -> none" method apply_attributes : "TreeModel -> TreeIter -> gboolean -> gboolean -> none" method attribute_connect : "CellRenderer -> utf8 -> gint -> none" method attribute_disconnect : "CellRenderer -> utf8 -> none" method attribute_get_column : "CellRenderer -> utf8 -> gint" method cell_get : "CellRenderer -> utf8 -> -> none" method cell_get_property : "CellRenderer -> utf8 -> GObject.Value -> none" method cell_get_valist : "CellRenderer -> utf8 -> va_list -> none" method cell_set : "CellRenderer -> utf8 -> -> none" method cell_set_property : "CellRenderer -> utf8 -> GObject.Value -> none" method cell_set_valist : "CellRenderer -> utf8 -> va_list -> none" method copy_context : "CellAreaContext -> CellAreaContext" method create_context : "CellAreaContext" method event : "CellAreaContext -> Widget -> Gdk.Event -> Gdk.Rectangle -> CellRendererState -> gint" method focus : "DirectionType -> gboolean" method foreach : "CellCallback -> gpointer -> none" method foreach_alloc : "CellAreaContext -> Widget -> Gdk.Rectangle -> Gdk.Rectangle -> CellAllocCallback -> gpointer -> none" method get_cell_allocation : "CellAreaContext -> Widget -> CellRenderer -> Gdk.Rectangle -> Gdk.Rectangle -> none" method get_cell_at_position : "CellAreaContext -> Widget -> Gdk.Rectangle -> gint -> gint -> Gdk.Rectangle -> CellRenderer" method get_current_path_string : "utf8" method get_edit_widget : "CellEditable" method get_edited_cell : "CellRenderer" method get_focus_cell : "CellRenderer" method get_focus_from_sibling : "CellRenderer -> CellRenderer" method get_focus_siblings : "CellRenderer -> GLib.List" method get_preferred_height : "CellAreaContext -> Widget -> gint -> gint -> none" method get_preferred_height_for_width : "CellAreaContext -> Widget -> gint -> gint -> gint -> none" method get_preferred_width : "CellAreaContext -> Widget -> gint -> gint -> none" method get_preferred_width_for_height : "CellAreaContext -> Widget -> gint -> gint -> gint -> none" method get_request_mode : "SizeRequestMode" method has_renderer : "CellRenderer -> gboolean" method inner_cell_area : "Widget -> Gdk.Rectangle -> Gdk.Rectangle -> none" method is_activatable : "gboolean" method is_focus_sibling : "CellRenderer -> CellRenderer -> gboolean" method remove : "CellRenderer -> none" method remove_focus_sibling : "CellRenderer -> CellRenderer -> none" method render : "CellAreaContext -> Widget -> cairo.Context -> Gdk.Rectangle -> Gdk.Rectangle -> CellRendererState -> gboolean -> none" method request_renderer : "CellRenderer -> Orientation -> Widget -> gint -> gint -> gint -> none" method set_focus_cell : "CellRenderer -> none" method stop_editing : "gboolean -> none" "edit-widget" CellEditable : Read "edited-cell" CellRenderer : Read "focus-cell" CellRenderer : Read / Write signal add_editable : CellRendererCellEditableGdk.Rectangleutf8 -> none signal apply_attributes : TreeModelTreeItergbooleangboolean -> none signal focus_changed : CellRendererutf8 -> none signal remove_editable : CellRendererCellEditable -> none } class CellAreaBox set wrap wrapsig : CellArea { method get_spacing : "gint" method pack_end : "CellRenderer -> gboolean -> gboolean -> gboolean -> none" method pack_start : "CellRenderer -> gboolean -> gboolean -> gboolean -> none" method set_spacing : "gint -> none" "spacing" gint : Read / Write } class CellRenderer abstract set wrap wrapsig : GObject.InitiallyUnowned { method activate : "Gdk.Event -> Widget -> utf8 -> Gdk.Rectangle -> Gdk.Rectangle -> CellRendererState -> gboolean" method get_aligned_area : "Widget -> CellRendererState -> Gdk.Rectangle -> Gdk.Rectangle -> none" method get_alignment : "gfloat -> gfloat -> none" method get_fixed_size : "gint -> gint -> none" method get_padding : "gint -> gint -> none" method get_preferred_height : "Widget -> gint -> gint -> none" method get_preferred_height_for_width : "Widget -> gint -> gint -> gint -> none" method get_preferred_size : "Widget -> Requisition -> Requisition -> none" method get_preferred_width : "Widget -> gint -> gint -> none" method get_preferred_width_for_height : "Widget -> gint -> gint -> gint -> none" method get_request_mode : "SizeRequestMode" method get_sensitive : "gboolean" method get_size : "Widget -> Gdk.Rectangle -> gint -> gint -> gint -> gint -> none" method get_state : "Widget -> CellRendererState -> StateFlags" method get_visible : "gboolean" method is_activatable : "gboolean" method render : "cairo.Context -> Widget -> Gdk.Rectangle -> Gdk.Rectangle -> CellRendererState -> none" method set_alignment : "gfloat -> gfloat -> none" method set_fixed_size : "gint -> gint -> none" method set_padding : "gint -> gint -> none" method set_sensitive : "gboolean -> none" method set_visible : "gboolean -> none" method start_editing : "Gdk.Event -> Widget -> utf8 -> Gdk.Rectangle -> Gdk.Rectangle -> CellRendererState -> CellEditable" method stop_editing : "gboolean -> none" "cell-background" utf8 : Write "cell-background-gdk" Gdk.Color : Read / Write "cell-background-rgba" Gdk.RGBA : Read / Write "cell-background-set" gboolean : Read / Write "editing" gboolean : Read "height" gint : Read / Write "is-expanded" gboolean : Read / Write "is-expander" gboolean : Read / Write "mode" CellRendererMode : Read / Write "sensitive" gboolean : Read / Write "visible" gboolean : Read / Write "width" gint : Read / Write "xalign" gfloat : Read / Write "xpad" guint : Read / Write "yalign" gfloat : Read / Write "ypad" guint : Read / Write signal editing_canceled : -> none signal editing_started : CellEditableutf8 -> none } class CellRendererAccel set wrap wrapsig : CellRendererText { "accel-key" guint : Read / Write "accel-mode" CellRendererAccelMode : Read / Write "accel-mods" Gdk.ModifierType : Read / Write "keycode" guint : Read / Write signal accel_cleared : utf8 -> none signal accel_edited : utf8guintGdk.ModifierTypeguint -> none } class CellRendererCombo set wrap wrapsig : CellRendererText { "has-entry" gboolean : Read / Write "model" TreeModel : Read / Write "text-column" gint : Read / Write signal changed : utf8TreeIter -> none } class CellRendererPixbuf set wrap wrapsig : CellRenderer { "follow-state" gboolean : Read / Write "gicon" Gio.Icon : Read / Write "icon-name" utf8 : Read / Write "pixbuf" GdkPixbuf.Pixbuf : Read / Write "pixbuf-expander-closed" GdkPixbuf.Pixbuf : Read / Write "pixbuf-expander-open" GdkPixbuf.Pixbuf : Read / Write "stock-detail" utf8 : Read / Write "stock-id" utf8 : Read / Write "stock-size" guint : Read / Write "surface" cairo.Surface : Read / Write } class CellRendererProgress set wrap wrapsig : CellRenderer { "inverted" gboolean : Read / Write "pulse" gint : Read / Write "text" utf8 : Read / Write "text-xalign" gfloat : Read / Write "text-yalign" gfloat : Read / Write "value" gint : Read / Write } class CellRendererSpin set wrap wrapsig : CellRendererText { "adjustment" Adjustment : Read / Write "climb-rate" gdouble : Read / Write "digits" guint : Read / Write } class CellRendererSpinner set wrap wrapsig : CellRenderer { "active" gboolean : Read / Write "pulse" guint : Read / Write "size" IconSize : Read / Write } class CellRendererText set wrap wrapsig : CellRenderer { method set_fixed_height_from_font : "gint -> none" "align-set" gboolean : Read / Write "alignment" Pango.Alignment : Read / Write "attributes" Pango.AttrList : Read / Write "background" utf8 : Write "background-gdk" Gdk.Color : Read / Write "background-rgba" Gdk.RGBA : Read / Write "background-set" gboolean : Read / Write "editable" gboolean : Read / Write "editable-set" gboolean : Read / Write "ellipsize" Pango.EllipsizeMode : Read / Write "ellipsize-set" gboolean : Read / Write "family" utf8 : Read / Write "family-set" gboolean : Read / Write "font" utf8 : Read / Write "font-desc" Pango.FontDescription : Read / Write "foreground" utf8 : Write "foreground-gdk" Gdk.Color : Read / Write "foreground-rgba" Gdk.RGBA : Read / Write "foreground-set" gboolean : Read / Write "language" utf8 : Read / Write "language-set" gboolean : Read / Write "markup" utf8 : Write "max-width-chars" gint : Read / Write "placeholder-text" utf8 : Read / Write "rise" gint : Read / Write "rise-set" gboolean : Read / Write "scale" gdouble : Read / Write "scale-set" gboolean : Read / Write "single-paragraph-mode" gboolean : Read / Write "size" gint : Read / Write "size-points" gdouble : Read / Write "size-set" gboolean : Read / Write "stretch" Pango.Stretch : Read / Write "stretch-set" gboolean : Read / Write "strikethrough" gboolean : Read / Write "strikethrough-set" gboolean : Read / Write "style" Pango.Style : Read / Write "style-set" gboolean : Read / Write "text" utf8 : Read / Write "underline" Pango.Underline : Read / Write "underline-set" gboolean : Read / Write "variant" Pango.Variant : Read / Write "variant-set" gboolean : Read / Write "weight" gint : Read / Write "weight-set" gboolean : Read / Write "width-chars" gint : Read / Write "wrap-mode" Pango.WrapMode : Read / Write "wrap-width" gint : Read / Write signal edited : utf8utf8 -> none } class CellRendererToggle set wrap wrapsig : CellRenderer { method get_activatable : "gboolean" method get_active : "gboolean" method get_radio : "gboolean" method set_activatable : "gboolean -> none" method set_active : "gboolean -> none" method set_radio : "gboolean -> none" "activatable" gboolean : Read / Write "active" gboolean : Read / Write "inconsistent" gboolean : Read / Write "indicator-size" gint : Read / Write "radio" gboolean : Read / Write signal toggled : utf8 -> none } class CellView set wrap wrapsig : Widget { method get_displayed_row : "TreePath" method get_draw_sensitive : "gboolean" method get_fit_model : "gboolean" method get_model : "TreeModel" method get_size_of_row : "TreePath -> Requisition -> gboolean" method set_background_color : "Gdk.Color -> none" method set_background_rgba : "Gdk.RGBA -> none" method set_displayed_row : "TreePath -> none" method set_draw_sensitive : "gboolean -> none" method set_fit_model : "gboolean -> none" method set_model : "TreeModel -> none" "background" utf8 : Write "background-gdk" Gdk.Color : Read / Write "background-rgba" Gdk.RGBA : Read / Write "background-set" gboolean : Read / Write "cell-area" CellArea : Read / Write "cell-area-context" CellAreaContext : Read / Write "draw-sensitive" gboolean : Read / Write "fit-model" gboolean : Read / Write "model" TreeModel : Read / Write } class CheckButton set wrap wrapsig : ToggleButton { } class CheckMenuItem set wrap wrapsig : MenuItem { method get_active : "gboolean" method get_draw_as_radio : "gboolean" method get_inconsistent : "gboolean" method set_active : "gboolean -> none" method set_draw_as_radio : "gboolean -> none" method set_inconsistent : "gboolean -> none" method toggled : "none" "active" gboolean : Read / Write "draw-as-radio" gboolean : Read / Write "inconsistent" gboolean : Read / Write signal toggled : -> none } class CheckMenuItemAccessible set wrap wrapsig : MenuItemAccessible { } class ColorButton set wrap wrapsig : Button { method get_alpha : "guint16" method get_color : "Gdk.Color -> none" method get_rgba : "Gdk.RGBA -> none" method get_title : "utf8" method get_use_alpha : "gboolean" method set_alpha : "guint16 -> none" method set_color : "Gdk.Color -> none" method set_rgba : "Gdk.RGBA -> none" method set_title : "utf8 -> none" method set_use_alpha : "gboolean -> none" "alpha" guint : Read / Write "color" Gdk.Color : Read / Write "rgba" Gdk.RGBA : Read / Write "show-editor" gboolean : Read / Write "title" utf8 : Read / Write "use-alpha" gboolean : Read / Write signal color_set : -> none } class ColorChooserDialog set wrap wrapsig : Dialog { "show-editor" gboolean : Read / Write } class ColorChooserWidget set wrap wrapsig : Box { "show-editor" gboolean : Read / Write } class ColorSelection set wrap wrapsig : Box { method get_current_alpha : "guint16" method get_current_color : "Gdk.Color -> none" method get_current_rgba : "Gdk.RGBA -> none" method get_has_opacity_control : "gboolean" method get_has_palette : "gboolean" method get_previous_alpha : "guint16" method get_previous_color : "Gdk.Color -> none" method get_previous_rgba : "Gdk.RGBA -> none" method is_adjusting : "gboolean" method set_current_alpha : "guint16 -> none" method set_current_color : "Gdk.Color -> none" method set_current_rgba : "Gdk.RGBA -> none" method set_has_opacity_control : "gboolean -> none" method set_has_palette : "gboolean -> none" method set_previous_alpha : "guint16 -> none" method set_previous_color : "Gdk.Color -> none" method set_previous_rgba : "Gdk.RGBA -> none" "current-alpha" guint : Read / Write "current-color" Gdk.Color : Read / Write "current-rgba" Gdk.RGBA : Read / Write "has-opacity-control" gboolean : Read / Write "has-palette" gboolean : Read / Write signal color_changed : -> none } class ColorSelectionDialog set wrap wrapsig : Dialog { method get_color_selection : "Widget" "cancel-button" Widget : Read "color-selection" Widget : Read "help-button" Widget : Read "ok-button" Widget : Read } class ComboBox set wrap wrapsig : Bin { method get_active : "gint" method get_active_id : "utf8" method get_active_iter : "TreeIter -> gboolean" method get_add_tearoffs : "gboolean" method get_button_sensitivity : "SensitivityType" method get_column_span_column : "gint" method get_entry_text_column : "gint" method get_focus_on_click : "gboolean" method get_has_entry : "gboolean" method get_id_column : "gint" method get_model : "TreeModel" method get_popup_accessible : "Atk.Object" method get_popup_fixed_width : "gboolean" method get_row_separator_func : "TreeViewRowSeparatorFunc" method get_row_span_column : "gint" method get_title : "utf8" method get_wrap_width : "gint" method popdown : "none" method popup : "none" method popup_for_device : "Gdk.Device -> none" method set_active : "gint -> none" method set_active_id : "utf8 -> gboolean" method set_active_iter : "TreeIter -> none" method set_add_tearoffs : "gboolean -> none" method set_button_sensitivity : "SensitivityType -> none" method set_column_span_column : "gint -> none" method set_entry_text_column : "gint -> none" method set_focus_on_click : "gboolean -> none" method set_id_column : "gint -> none" method set_model : "TreeModel -> none" method set_popup_fixed_width : "gboolean -> none" method set_row_separator_func : "TreeViewRowSeparatorFunc -> gpointer -> GLib.DestroyNotify -> none" method set_row_span_column : "gint -> none" method set_title : "utf8 -> none" method set_wrap_width : "gint -> none" "active" gint : Read / Write "active-id" utf8 : Read / Write "add-tearoffs" gboolean : Read / Write "button-sensitivity" SensitivityType : Read / Write "cell-area" CellArea : Read / Write "column-span-column" gint : Read / Write "entry-text-column" gint : Read / Write "has-entry" gboolean : Read / Write "has-frame" gboolean : Read / Write "id-column" gint : Read / Write "model" TreeModel : Read / Write "popup-fixed-width" gboolean : Read / Write "popup-shown" gboolean : Read "row-span-column" gint : Read / Write "tearoff-title" utf8 : Read / Write "wrap-width" gint : Read / Write signal changed : -> none signal format_entry_text : utf8 -> utf8 signal move_active : ScrollType -> none signal popdown : -> gboolean signal popup : -> none } class ComboBoxAccessible set wrap wrapsig : ContainerAccessible { } class ComboBoxText set wrap wrapsig : ComboBox { method append : "utf8 -> utf8 -> none" method append_text : "utf8 -> none" method get_active_text : "utf8" method insert : "gint -> utf8 -> utf8 -> none" method insert_text : "gint -> utf8 -> none" method prepend : "utf8 -> utf8 -> none" method prepend_text : "utf8 -> none" method remove : "gint -> none" method remove_all : "none" } class Container abstract set wrap wrapsig : Widget { method add : "Widget -> none" method add_with_properties : "Widget -> utf8 -> -> none" method check_resize : "none" method child_get : "Widget -> utf8 -> -> none" method child_get_property : "Widget -> utf8 -> GObject.Value -> none" method child_get_valist : "Widget -> utf8 -> va_list -> none" method child_notify : "Widget -> utf8 -> none" method child_notify_by_pspec : "Widget -> GObject.ParamSpec -> none" method child_set : "Widget -> utf8 -> -> none" method child_set_property : "Widget -> utf8 -> GObject.Value -> none" method child_set_valist : "Widget -> utf8 -> va_list -> none" method child_type : "GType" method forall : "Callback -> gpointer -> none" method foreach : "Callback -> gpointer -> none" method get_border_width : "guint" method get_children : "GLib.List" method get_focus_chain : "GLib.List -> gboolean" method get_focus_child : "Widget" method get_focus_hadjustment : "Adjustment" method get_focus_vadjustment : "Adjustment" method get_path_for_child : "Widget -> WidgetPath" method get_resize_mode : "ResizeMode" method propagate_draw : "Widget -> cairo.Context -> none" method remove : "Widget -> none" method resize_children : "none" method set_border_width : "guint -> none" method set_focus_chain : "GLib.List -> none" method set_focus_child : "Widget -> none" method set_focus_hadjustment : "Adjustment -> none" method set_focus_vadjustment : "Adjustment -> none" method set_reallocate_redraws : "gboolean -> none" method set_resize_mode : "ResizeMode -> none" method unset_focus_chain : "none" "border-width" guint : Read / Write "child" Widget : Write "resize-mode" ResizeMode : Read / Write signal add : Widget -> none signal check_resize : -> none signal remove : Widget -> none signal set_focus_child : Widget -> none } class ContainerAccessible set wrap wrapsig : WidgetAccessible { } class ContainerCellAccessible set wrap wrapsig : CellAccessible { method add_child : "CellAccessible -> none" method get_children : "GLib.List" method remove_child : "CellAccessible -> none" } class Dialog set wrap wrapsig : Window { method add_action_widget : "Widget -> gint -> none" method add_button : "utf8 -> gint -> Widget" method add_buttons : "utf8 -> -> none" method get_action_area : "Widget" method get_content_area : "Box" method get_header_bar : "Widget" method get_response_for_widget : "Widget -> gint" method get_widget_for_response : "gint -> Widget" method response : "gint -> none" method run : "gint" method set_alternative_button_order : "gint -> -> none" method set_alternative_button_order_from_array : "gint -> -> none" method set_default_response : "gint -> none" method set_response_sensitive : "gint -> gboolean -> none" "use-header-bar" gint : Read / Write signal close : -> none signal response : gint -> none } class DrawingArea set wrap wrapsig : Widget { } class Entry set wrap wrapsig : Widget { method get_activates_default : "gboolean" method get_alignment : "gfloat" method get_attributes : "Pango.AttrList" method get_buffer : "EntryBuffer" method get_completion : "EntryCompletion" method get_current_icon_drag_source : "gint" method get_cursor_hadjustment : "Adjustment" method get_has_frame : "gboolean" method get_icon_activatable : "EntryIconPosition -> gboolean" method get_icon_area : "EntryIconPosition -> Gdk.Rectangle -> none" method get_icon_at_pos : "gint -> gint -> gint" method get_icon_gicon : "EntryIconPosition -> Gio.Icon" method get_icon_name : "EntryIconPosition -> utf8" method get_icon_pixbuf : "EntryIconPosition -> GdkPixbuf.Pixbuf" method get_icon_sensitive : "EntryIconPosition -> gboolean" method get_icon_stock : "EntryIconPosition -> utf8" method get_icon_storage_type : "EntryIconPosition -> ImageType" method get_icon_tooltip_markup : "EntryIconPosition -> utf8" method get_icon_tooltip_text : "EntryIconPosition -> utf8" method get_inner_border : "Border" method get_input_hints : "InputHints" method get_input_purpose : "InputPurpose" method get_invisible_char : "gunichar" method get_layout : "Pango.Layout" method get_layout_offsets : "gint -> gint -> none" method get_max_length : "gint" method get_max_width_chars : "gint" method get_overwrite_mode : "gboolean" method get_placeholder_text : "utf8" method get_progress_fraction : "gdouble" method get_progress_pulse_step : "gdouble" method get_tabs : "Pango.TabArray" method get_text : "utf8" method get_text_area : "Gdk.Rectangle -> none" method get_text_length : "guint16" method get_visibility : "gboolean" method get_width_chars : "gint" method grab_focus_without_selecting : "none" method im_context_filter_keypress : "Gdk.EventKey -> gboolean" method layout_index_to_text_index : "gint -> gint" method progress_pulse : "none" method reset_im_context : "none" method set_activates_default : "gboolean -> none" method set_alignment : "gfloat -> none" method set_attributes : "Pango.AttrList -> none" method set_buffer : "EntryBuffer -> none" method set_completion : "EntryCompletion -> none" method set_cursor_hadjustment : "Adjustment -> none" method set_has_frame : "gboolean -> none" method set_icon_activatable : "EntryIconPosition -> gboolean -> none" method set_icon_drag_source : "EntryIconPosition -> TargetList -> Gdk.DragAction -> none" method set_icon_from_gicon : "EntryIconPosition -> Gio.Icon -> none" method set_icon_from_icon_name : "EntryIconPosition -> utf8 -> none" method set_icon_from_pixbuf : "EntryIconPosition -> GdkPixbuf.Pixbuf -> none" method set_icon_from_stock : "EntryIconPosition -> utf8 -> none" method set_icon_sensitive : "EntryIconPosition -> gboolean -> none" method set_icon_tooltip_markup : "EntryIconPosition -> utf8 -> none" method set_icon_tooltip_text : "EntryIconPosition -> utf8 -> none" method set_inner_border : "Border -> none" method set_input_hints : "InputHints -> none" method set_input_purpose : "InputPurpose -> none" method set_invisible_char : "gunichar -> none" method set_max_length : "gint -> none" method set_max_width_chars : "gint -> none" method set_overwrite_mode : "gboolean -> none" method set_placeholder_text : "utf8 -> none" method set_progress_fraction : "gdouble -> none" method set_progress_pulse_step : "gdouble -> none" method set_tabs : "Pango.TabArray -> none" method set_text : "utf8 -> none" method set_visibility : "gboolean -> none" method set_width_chars : "gint -> none" method text_index_to_layout_index : "gint -> gint" method unset_invisible_char : "none" "activates-default" gboolean : Read / Write "attributes" Pango.AttrList : Read / Write "buffer" EntryBuffer : Read / Write "caps-lock-warning" gboolean : Read / Write "completion" EntryCompletion : Read / Write "cursor-position" gint : Read "editable" gboolean : Read / Write "enable-emoji-completion" gboolean : Read / Write "has-frame" gboolean : Read / Write "im-module" utf8 : Read / Write "inner-border" Border : Read / Write "input-hints" InputHints : Read / Write "input-purpose" InputPurpose : Read / Write "invisible-char" guint : Read / Write "invisible-char-set" gboolean : Read / Write "max-length" gint : Read / Write "max-width-chars" gint : Read / Write "overwrite-mode" gboolean : Read / Write "placeholder-text" utf8 : Read / Write "populate-all" gboolean : Read / Write "primary-icon-activatable" gboolean : Read / Write "primary-icon-gicon" Gio.Icon : Read / Write "primary-icon-name" utf8 : Read / Write "primary-icon-pixbuf" GdkPixbuf.Pixbuf : Read / Write "primary-icon-sensitive" gboolean : Read / Write "primary-icon-stock" utf8 : Read / Write "primary-icon-storage-type" ImageType : Read "primary-icon-tooltip-markup" utf8 : Read / Write "primary-icon-tooltip-text" utf8 : Read / Write "progress-fraction" gdouble : Read / Write "progress-pulse-step" gdouble : Read / Write "scroll-offset" gint : Read "secondary-icon-activatable" gboolean : Read / Write "secondary-icon-gicon" Gio.Icon : Read / Write "secondary-icon-name" utf8 : Read / Write "secondary-icon-pixbuf" GdkPixbuf.Pixbuf : Read / Write "secondary-icon-sensitive" gboolean : Read / Write "secondary-icon-stock" utf8 : Read / Write "secondary-icon-storage-type" ImageType : Read "secondary-icon-tooltip-markup" utf8 : Read / Write "secondary-icon-tooltip-text" utf8 : Read / Write "selection-bound" gint : Read "shadow-type" ShadowType : Read / Write "show-emoji-icon" gboolean : Read / Write "tabs" Pango.TabArray : Read / Write "text" utf8 : Read / Write "text-length" guint : Read "truncate-multiline" gboolean : Read / Write "visibility" gboolean : Read / Write "width-chars" gint : Read / Write "xalign" gfloat : Read / Write signal activate : -> none signal backspace : -> none signal copy_clipboard : -> none signal cut_clipboard : -> none signal delete_from_cursor : DeleteTypegint -> none signal icon_press : EntryIconPositionGdk.EventButton -> none signal icon_release : EntryIconPositionGdk.EventButton -> none signal insert_at_cursor : utf8 -> none signal insert_emoji : -> none signal move_cursor : MovementStepgintgboolean -> none signal paste_clipboard : -> none signal populate_popup : Widget -> none signal preedit_changed : utf8 -> none signal toggle_overwrite : -> none } class EntryAccessible set wrap wrapsig : WidgetAccessible { } class EntryIconAccessible set wrap wrapsig : Atk.Object { } class EventBox set wrap wrapsig : Bin { method get_above_child : "gboolean" method get_visible_window : "gboolean" method set_above_child : "gboolean -> none" method set_visible_window : "gboolean -> none" "above-child" gboolean : Read / Write "visible-window" gboolean : Read / Write } class EventControllerKey set wrap wrapsig : EventController { method forward : "Widget -> gboolean" method get_group : "guint" method get_im_context : "IMContext" method set_im_context : "IMContext -> none" signal focus_in : -> none signal focus_out : -> none signal im_update : -> none signal key_pressed : guintguintGdk.ModifierType -> gboolean signal key_released : guintguintGdk.ModifierType -> none signal modifiers : Gdk.ModifierType -> gboolean } class EventControllerMotion set wrap wrapsig : EventController { signal enter : gdoublegdouble -> none signal leave : -> none signal motion : gdoublegdouble -> none } class EventControllerScroll set wrap wrapsig : EventController { method get_flags : "EventControllerScrollFlags" method set_flags : "EventControllerScrollFlags -> none" "flags" EventControllerScrollFlags : Read / Write signal decelerate : gdoublegdouble -> none signal scroll : gdoublegdouble -> none signal scroll_begin : -> none signal scroll_end : -> none } class Expander set wrap wrapsig : Bin { method get_expanded : "gboolean" method get_label : "utf8" method get_label_fill : "gboolean" method get_label_widget : "Widget" method get_resize_toplevel : "gboolean" method get_spacing : "gint" method get_use_markup : "gboolean" method get_use_underline : "gboolean" method set_expanded : "gboolean -> none" method set_label : "utf8 -> none" method set_label_fill : "gboolean -> none" method set_label_widget : "Widget -> none" method set_resize_toplevel : "gboolean -> none" method set_spacing : "gint -> none" method set_use_markup : "gboolean -> none" method set_use_underline : "gboolean -> none" "expanded" gboolean : Read / Write "label" utf8 : Read / Write "label-fill" gboolean : Read / Write "label-widget" Widget : Read / Write "resize-toplevel" gboolean : Read / Write "spacing" gint : Read / Write "use-markup" gboolean : Read / Write "use-underline" gboolean : Read / Write signal activate : -> none } class ExpanderAccessible set wrap wrapsig : ContainerAccessible { } class FileChooserButton set wrap wrapsig : Box { method get_focus_on_click : "gboolean" method get_title : "utf8" method get_width_chars : "gint" method set_focus_on_click : "gboolean -> none" method set_title : "utf8 -> none" method set_width_chars : "gint -> none" "dialog" FileChooser : Write "title" utf8 : Read / Write "width-chars" gint : Read / Write signal file_set : -> none } class FileChooserDialog set wrap wrapsig : Dialog { } class FileChooserNative set wrap wrapsig : NativeDialog { method get_accept_label : "utf8" method get_cancel_label : "utf8" method set_accept_label : "utf8 -> none" method set_cancel_label : "utf8 -> none" "accept-label" utf8 : Read / Write "cancel-label" utf8 : Read / Write } class FileChooserWidget set wrap wrapsig : Box { "search-mode" gboolean : Read / Write "subtitle" utf8 : Read signal desktop_folder : -> none signal down_folder : -> none signal home_folder : -> none signal location_popup : utf8 -> none signal location_popup_on_paste : -> none signal location_toggle_popup : -> none signal places_shortcut : -> none signal quick_bookmark : gint -> none signal recent_shortcut : -> none signal search_shortcut : -> none signal show_hidden : -> none signal up_folder : -> none } class FileFilter set wrap wrapsig : GObject.InitiallyUnowned { method add_custom : "FileFilterFlags -> FileFilterFunc -> gpointer -> GLib.DestroyNotify -> none" method add_mime_type : "utf8 -> none" method add_pattern : "utf8 -> none" method add_pixbuf_formats : "none" method filter : "FileFilterInfo -> gboolean" method get_name : "utf8" method get_needed : "FileFilterFlags" method set_name : "utf8 -> none" method to_gvariant : "GLib.Variant" } class Fixed set wrap wrapsig : Container { method move : "Widget -> gint -> gint -> none" method put : "Widget -> gint -> gint -> none" } class FlowBox set wrap wrapsig : Container { method bind_model : "Gio.ListModel -> FlowBoxCreateWidgetFunc -> gpointer -> GLib.DestroyNotify -> none" method get_activate_on_single_click : "gboolean" method get_child_at_index : "gint -> FlowBoxChild" method get_child_at_pos : "gint -> gint -> FlowBoxChild" method get_column_spacing : "guint" method get_homogeneous : "gboolean" method get_max_children_per_line : "guint" method get_min_children_per_line : "guint" method get_row_spacing : "guint" method get_selected_children : "GLib.List" method get_selection_mode : "SelectionMode" method insert : "Widget -> gint -> none" method invalidate_filter : "none" method invalidate_sort : "none" method select_all : "none" method select_child : "FlowBoxChild -> none" method selected_foreach : "FlowBoxForeachFunc -> gpointer -> none" method set_activate_on_single_click : "gboolean -> none" method set_column_spacing : "guint -> none" method set_filter_func : "FlowBoxFilterFunc -> gpointer -> GLib.DestroyNotify -> none" method set_hadjustment : "Adjustment -> none" method set_homogeneous : "gboolean -> none" method set_max_children_per_line : "guint -> none" method set_min_children_per_line : "guint -> none" method set_row_spacing : "guint -> none" method set_selection_mode : "SelectionMode -> none" method set_sort_func : "FlowBoxSortFunc -> gpointer -> GLib.DestroyNotify -> none" method set_vadjustment : "Adjustment -> none" method unselect_all : "none" method unselect_child : "FlowBoxChild -> none" "activate-on-single-click" gboolean : Read / Write "column-spacing" guint : Read / Write "homogeneous" gboolean : Read / Write "max-children-per-line" guint : Read / Write "min-children-per-line" guint : Read / Write "row-spacing" guint : Read / Write "selection-mode" SelectionMode : Read / Write signal activate_cursor_child : -> none signal child_activated : FlowBoxChild -> none signal move_cursor : MovementStepgint -> gboolean signal select_all : -> none signal selected_children_changed : -> none signal toggle_cursor_child : -> none signal unselect_all : -> none } class FlowBoxAccessible set wrap wrapsig : ContainerAccessible { } class FlowBoxChild set wrap wrapsig : Bin { method changed : "none" method get_index : "gint" method is_selected : "gboolean" signal activate : -> none } class FlowBoxChildAccessible set wrap wrapsig : ContainerAccessible { } class FontButton set wrap wrapsig : Button { method get_font_name : "utf8" method get_show_size : "gboolean" method get_show_style : "gboolean" method get_title : "utf8" method get_use_font : "gboolean" method get_use_size : "gboolean" method set_font_name : "utf8 -> gboolean" method set_show_size : "gboolean -> none" method set_show_style : "gboolean -> none" method set_title : "utf8 -> none" method set_use_font : "gboolean -> none" method set_use_size : "gboolean -> none" "font-name" utf8 : Read / Write "show-size" gboolean : Read / Write "show-style" gboolean : Read / Write "title" utf8 : Read / Write "use-font" gboolean : Read / Write "use-size" gboolean : Read / Write signal font_set : -> none } class FontChooserDialog set wrap wrapsig : Dialog { } class FontChooserWidget set wrap wrapsig : Box { "tweak-action" Gio.Action : Read } class FontSelection set wrap wrapsig : Box { method get_face : "Pango.FontFace" method get_face_list : "Widget" method get_family : "Pango.FontFamily" method get_family_list : "Widget" method get_font_name : "utf8" method get_preview_entry : "Widget" method get_preview_text : "utf8" method get_size : "gint" method get_size_entry : "Widget" method get_size_list : "Widget" method set_font_name : "utf8 -> gboolean" method set_preview_text : "utf8 -> none" "font-name" utf8 : Read / Write "preview-text" utf8 : Read / Write } class FontSelectionDialog set wrap wrapsig : Dialog { method get_cancel_button : "Widget" method get_font_name : "utf8" method get_font_selection : "Widget" method get_ok_button : "Widget" method get_preview_text : "utf8" method set_font_name : "utf8 -> gboolean" method set_preview_text : "utf8 -> none" } class Frame set wrap wrapsig : Bin { method get_label : "utf8" method get_label_align : "gfloat -> gfloat -> none" method get_label_widget : "Widget" method get_shadow_type : "ShadowType" method set_label : "utf8 -> none" method set_label_align : "gfloat -> gfloat -> none" method set_label_widget : "Widget -> none" method set_shadow_type : "ShadowType -> none" "label" utf8 : Read / Write "label-widget" Widget : Read / Write "label-xalign" gfloat : Read / Write "label-yalign" gfloat : Read / Write "shadow-type" ShadowType : Read / Write } class FrameAccessible set wrap wrapsig : ContainerAccessible { } class GLArea set wrap wrapsig : Widget { method attach_buffers : "none" method get_auto_render : "gboolean" method get_context : "Gdk.GLContext" method get_error : "GLib.Error" method get_has_alpha : "gboolean" method get_has_depth_buffer : "gboolean" method get_has_stencil_buffer : "gboolean" method get_required_version : "gint -> gint -> none" method get_use_es : "gboolean" method make_current : "none" method queue_render : "none" method set_auto_render : "gboolean -> none" method set_error : "GLib.Error -> none" method set_has_alpha : "gboolean -> none" method set_has_depth_buffer : "gboolean -> none" method set_has_stencil_buffer : "gboolean -> none" method set_required_version : "gint -> gint -> none" method set_use_es : "gboolean -> none" "auto-render" gboolean : Read / Write "context" Gdk.GLContext : Read "has-alpha" gboolean : Read / Write "has-depth-buffer" gboolean : Read / Write "has-stencil-buffer" gboolean : Read / Write "use-es" gboolean : Read / Write signal create_context : -> Gdk.GLContext signal render : Gdk.GLContext -> gboolean signal resize : gintgint -> none } class Gesture abstract set wrap wrapsig : EventController { method get_bounding_box : "Gdk.Rectangle -> gboolean" method get_bounding_box_center : "gdouble -> gdouble -> gboolean" method get_device : "Gdk.Device" method get_group : "GLib.List" method get_last_event : "Gdk.EventSequence -> Gdk.Event" method get_last_updated_sequence : "Gdk.EventSequence" method get_point : "Gdk.EventSequence -> gdouble -> gdouble -> gboolean" method get_sequence_state : "Gdk.EventSequence -> EventSequenceState" method get_sequences : "GLib.List" method get_window : "Gdk.Window" method group : "Gesture -> none" method handles_sequence : "Gdk.EventSequence -> gboolean" method is_active : "gboolean" method is_grouped_with : "Gesture -> gboolean" method is_recognized : "gboolean" method set_sequence_state : "Gdk.EventSequence -> EventSequenceState -> gboolean" method set_state : "EventSequenceState -> gboolean" method set_window : "Gdk.Window -> none" method ungroup : "none" "n-points" guint : Read / Write "window" Gdk.Window : Read / Write signal begin : Gdk.EventSequence -> none signal cancel : Gdk.EventSequence -> none signal end : Gdk.EventSequence -> none signal sequence_state_changed : Gdk.EventSequenceEventSequenceState -> none signal update : Gdk.EventSequence -> none } class GestureDrag set wrap wrapsig : GestureSingle { method get_offset : "gdouble -> gdouble -> gboolean" method get_start_point : "gdouble -> gdouble -> gboolean" signal drag_begin : gdoublegdouble -> none signal drag_end : gdoublegdouble -> none signal drag_update : gdoublegdouble -> none } class GestureLongPress set wrap wrapsig : GestureSingle { "delay-factor" gdouble : Read / Write signal cancelled : -> none signal pressed : gdoublegdouble -> none } class GestureMultiPress set wrap wrapsig : GestureSingle { method get_area : "Gdk.Rectangle -> gboolean" method set_area : "Gdk.Rectangle -> none" signal pressed : gintgdoublegdouble -> none signal released : gintgdoublegdouble -> none signal stopped : -> none } class GesturePan set wrap wrapsig : GestureDrag { method get_orientation : "Orientation" method set_orientation : "Orientation -> none" "orientation" Orientation : Read / Write signal pan : PanDirectiongdouble -> none } class GestureRotate set wrap wrapsig : Gesture { method get_angle_delta : "gdouble" signal angle_changed : gdoublegdouble -> none } class GestureSingle set wrap wrapsig : Gesture { method get_button : "guint" method get_current_button : "guint" method get_current_sequence : "Gdk.EventSequence" method get_exclusive : "gboolean" method get_touch_only : "gboolean" method set_button : "guint -> none" method set_exclusive : "gboolean -> none" method set_touch_only : "gboolean -> none" "button" guint : Read / Write "exclusive" gboolean : Read / Write "touch-only" gboolean : Read / Write } class GestureStylus set wrap wrapsig : GestureSingle { method get_axes : " -> -> gboolean" method get_axis : "Gdk.AxisUse -> gdouble -> gboolean" method get_device_tool : "Gdk.DeviceTool" signal down : gdoublegdouble -> none signal motion : gdoublegdouble -> none signal proximity : gdoublegdouble -> none signal up : gdoublegdouble -> none } class GestureSwipe set wrap wrapsig : GestureSingle { method get_velocity : "gdouble -> gdouble -> gboolean" signal swipe : gdoublegdouble -> none } class GestureZoom set wrap wrapsig : Gesture { method get_scale_delta : "gdouble" signal scale_changed : gdouble -> none } class Grid set wrap wrapsig : Container { method attach : "Widget -> gint -> gint -> gint -> gint -> none" method attach_next_to : "Widget -> Widget -> PositionType -> gint -> gint -> none" method get_baseline_row : "gint" method get_child_at : "gint -> gint -> Widget" method get_column_homogeneous : "gboolean" method get_column_spacing : "guint" method get_row_baseline_position : "gint -> BaselinePosition" method get_row_homogeneous : "gboolean" method get_row_spacing : "guint" method insert_column : "gint -> none" method insert_next_to : "Widget -> PositionType -> none" method insert_row : "gint -> none" method remove_column : "gint -> none" method remove_row : "gint -> none" method set_baseline_row : "gint -> none" method set_column_homogeneous : "gboolean -> none" method set_column_spacing : "guint -> none" method set_row_baseline_position : "gint -> BaselinePosition -> none" method set_row_homogeneous : "gboolean -> none" method set_row_spacing : "guint -> none" "baseline-row" gint : Read / Write "column-homogeneous" gboolean : Read / Write "column-spacing" gint : Read / Write "row-homogeneous" gboolean : Read / Write "row-spacing" gint : Read / Write } class HBox set wrap wrapsig : Box { } class HButtonBox set wrap wrapsig : ButtonBox { } class HPaned set wrap wrapsig : Paned { } class HSV set wrap wrapsig : Widget { method get_color : "gdouble -> gdouble -> gdouble -> none" method get_metrics : "gint -> gint -> none" method is_adjusting : "gboolean" method set_color : "gdouble -> gdouble -> gdouble -> none" method set_metrics : "gint -> gint -> none" signal changed : -> none signal move : DirectionType -> none } class HScale set wrap wrapsig : Scale { } class HScrollbar set wrap wrapsig : Scrollbar { } class HSeparator set wrap wrapsig : Separator { } class HandleBox set wrap wrapsig : Bin { method get_child_detached : "gboolean" method get_handle_position : "PositionType" method get_shadow_type : "ShadowType" method get_snap_edge : "PositionType" method set_handle_position : "PositionType -> none" method set_shadow_type : "ShadowType -> none" method set_snap_edge : "PositionType -> none" "child-detached" gboolean : Read "handle-position" PositionType : Read / Write "shadow-type" ShadowType : Read / Write "snap-edge" PositionType : Read / Write "snap-edge-set" gboolean : Read / Write signal child_attached : Widget -> none signal child_detached : Widget -> none } class HeaderBar set wrap wrapsig : Container { method get_custom_title : "Widget" method get_decoration_layout : "utf8" method get_has_subtitle : "gboolean" method get_show_close_button : "gboolean" method get_subtitle : "utf8" method get_title : "utf8" method pack_end : "Widget -> none" method pack_start : "Widget -> none" method set_custom_title : "Widget -> none" method set_decoration_layout : "utf8 -> none" method set_has_subtitle : "gboolean -> none" method set_show_close_button : "gboolean -> none" method set_subtitle : "utf8 -> none" method set_title : "utf8 -> none" "custom-title" Widget : Read / Write "decoration-layout" utf8 : Read / Write "decoration-layout-set" gboolean : Read / Write "has-subtitle" gboolean : Read / Write "show-close-button" gboolean : Read / Write "spacing" gint : Read / Write "subtitle" utf8 : Read / Write "title" utf8 : Read / Write } class IMContextSimple set wrap wrapsig : IMContext { method add_compose_file : "utf8 -> none" method add_table : " -> gint -> gint -> none" } class IMMulticontext set wrap wrapsig : IMContext { method append_menuitems : "MenuShell -> none" method get_context_id : "utf8" method set_context_id : "utf8 -> none" } class IconView set wrap wrapsig : Container { method convert_widget_to_bin_window_coords : "gint -> gint -> gint -> gint -> none" method create_drag_icon : "TreePath -> cairo.Surface" method enable_model_drag_dest : " -> gint -> Gdk.DragAction -> none" method enable_model_drag_source : "Gdk.ModifierType -> -> gint -> Gdk.DragAction -> none" method get_activate_on_single_click : "gboolean" method get_cell_rect : "TreePath -> CellRenderer -> Gdk.Rectangle -> gboolean" method get_column_spacing : "gint" method get_columns : "gint" method get_cursor : "TreePath -> CellRenderer -> gboolean" method get_dest_item_at_pos : "gint -> gint -> TreePath -> IconViewDropPosition -> gboolean" method get_drag_dest_item : "TreePath -> IconViewDropPosition -> none" method get_item_at_pos : "gint -> gint -> TreePath -> CellRenderer -> gboolean" method get_item_column : "TreePath -> gint" method get_item_orientation : "Orientation" method get_item_padding : "gint" method get_item_row : "TreePath -> gint" method get_item_width : "gint" method get_margin : "gint" method get_markup_column : "gint" method get_model : "TreeModel" method get_path_at_pos : "gint -> gint -> TreePath" method get_pixbuf_column : "gint" method get_reorderable : "gboolean" method get_row_spacing : "gint" method get_selected_items : "GLib.List" method get_selection_mode : "SelectionMode" method get_spacing : "gint" method get_text_column : "gint" method get_tooltip_column : "gint" method get_tooltip_context : "gint -> gint -> gboolean -> TreeModel -> TreePath -> TreeIter -> gboolean" method get_visible_range : "TreePath -> TreePath -> gboolean" method item_activated : "TreePath -> none" method path_is_selected : "TreePath -> gboolean" method scroll_to_path : "TreePath -> gboolean -> gfloat -> gfloat -> none" method select_all : "none" method select_path : "TreePath -> none" method selected_foreach : "IconViewForeachFunc -> gpointer -> none" method set_activate_on_single_click : "gboolean -> none" method set_column_spacing : "gint -> none" method set_columns : "gint -> none" method set_cursor : "TreePath -> CellRenderer -> gboolean -> none" method set_drag_dest_item : "TreePath -> IconViewDropPosition -> none" method set_item_orientation : "Orientation -> none" method set_item_padding : "gint -> none" method set_item_width : "gint -> none" method set_margin : "gint -> none" method set_markup_column : "gint -> none" method set_model : "TreeModel -> none" method set_pixbuf_column : "gint -> none" method set_reorderable : "gboolean -> none" method set_row_spacing : "gint -> none" method set_selection_mode : "SelectionMode -> none" method set_spacing : "gint -> none" method set_text_column : "gint -> none" method set_tooltip_cell : "Tooltip -> TreePath -> CellRenderer -> none" method set_tooltip_column : "gint -> none" method set_tooltip_item : "Tooltip -> TreePath -> none" method unselect_all : "none" method unselect_path : "TreePath -> none" method unset_model_drag_dest : "none" method unset_model_drag_source : "none" "activate-on-single-click" gboolean : Read / Write "cell-area" CellArea : Read / Write "column-spacing" gint : Read / Write "columns" gint : Read / Write "item-orientation" Orientation : Read / Write "item-padding" gint : Read / Write "item-width" gint : Read / Write "margin" gint : Read / Write "markup-column" gint : Read / Write "model" TreeModel : Read / Write "pixbuf-column" gint : Read / Write "reorderable" gboolean : Read / Write "row-spacing" gint : Read / Write "selection-mode" SelectionMode : Read / Write "spacing" gint : Read / Write "text-column" gint : Read / Write "tooltip-column" gint : Read / Write signal activate_cursor_item : -> gboolean signal item_activated : TreePath -> none signal move_cursor : MovementStepgint -> gboolean signal select_all : -> none signal select_cursor_item : -> none signal selection_changed : -> none signal toggle_cursor_item : -> none signal unselect_all : -> none } class IconViewAccessible set wrap wrapsig : ContainerAccessible { } class Image set wrap wrapsig : Misc { method clear : "none" method get_animation : "GdkPixbuf.PixbufAnimation" method get_gicon : "Gio.Icon -> gint -> none" method get_icon_name : "utf8 -> gint -> none" method get_icon_set : "IconSet -> gint -> none" method get_pixbuf : "GdkPixbuf.Pixbuf" method get_pixel_size : "gint" method get_stock : "utf8 -> gint -> none" method get_storage_type : "ImageType" method set_from_animation : "GdkPixbuf.PixbufAnimation -> none" method set_from_file : "filename -> none" method set_from_gicon : "Gio.Icon -> gint -> none" method set_from_icon_name : "utf8 -> gint -> none" method set_from_icon_set : "IconSet -> gint -> none" method set_from_pixbuf : "GdkPixbuf.Pixbuf -> none" method set_from_resource : "utf8 -> none" method set_from_stock : "utf8 -> gint -> none" method set_from_surface : "cairo.Surface -> none" method set_pixel_size : "gint -> none" "file" utf8 : Read / Write "gicon" Gio.Icon : Read / Write "icon-name" utf8 : Read / Write "icon-set" IconSet : Read / Write "icon-size" gint : Read / Write "pixbuf" GdkPixbuf.Pixbuf : Read / Write "pixbuf-animation" GdkPixbuf.PixbufAnimation : Read / Write "pixel-size" gint : Read / Write "resource" utf8 : Read / Write "stock" utf8 : Read / Write "storage-type" ImageType : Read "surface" cairo.Surface : Read / Write "use-fallback" gboolean : Read / Write } class ImageAccessible set wrap wrapsig : WidgetAccessible { } class ImageCellAccessible set wrap wrapsig : RendererCellAccessible { } class ImageMenuItem set wrap wrapsig : MenuItem { method get_always_show_image : "gboolean" method get_image : "Widget" method get_use_stock : "gboolean" method set_accel_group : "AccelGroup -> none" method set_always_show_image : "gboolean -> none" method set_image : "Widget -> none" method set_use_stock : "gboolean -> none" "accel-group" AccelGroup : Write "always-show-image" gboolean : Read / Write "image" Widget : Read / Write "use-stock" gboolean : Read / Write } class InfoBar set wrap wrapsig : Box { method add_action_widget : "Widget -> gint -> none" method add_button : "utf8 -> gint -> Button" method add_buttons : "utf8 -> -> none" method get_action_area : "Widget" method get_content_area : "Widget" method get_message_type : "MessageType" method get_revealed : "gboolean" method get_show_close_button : "gboolean" method response : "gint -> none" method set_default_response : "gint -> none" method set_message_type : "MessageType -> none" method set_response_sensitive : "gint -> gboolean -> none" method set_revealed : "gboolean -> none" method set_show_close_button : "gboolean -> none" "message-type" MessageType : Read / Write "revealed" gboolean : Read / Write "show-close-button" gboolean : Read / Write signal close : -> none signal response : gint -> none } class Invisible set wrap wrapsig : Widget { method get_screen : "Gdk.Screen" method set_screen : "Gdk.Screen -> none" "screen" Gdk.Screen : Read / Write } class Label set wrap wrapsig : Misc { method get_angle : "gdouble" method get_attributes : "Pango.AttrList" method get_current_uri : "utf8" method get_ellipsize : "Pango.EllipsizeMode" method get_justify : "Justification" method get_label : "utf8" method get_layout : "Pango.Layout" method get_layout_offsets : "gint -> gint -> none" method get_line_wrap : "gboolean" method get_line_wrap_mode : "Pango.WrapMode" method get_lines : "gint" method get_max_width_chars : "gint" method get_mnemonic_keyval : "guint" method get_mnemonic_widget : "Widget" method get_selectable : "gboolean" method get_selection_bounds : "gint -> gint -> gboolean" method get_single_line_mode : "gboolean" method get_text : "utf8" method get_track_visited_links : "gboolean" method get_use_markup : "gboolean" method get_use_underline : "gboolean" method get_width_chars : "gint" method get_xalign : "gfloat" method get_yalign : "gfloat" method select_region : "gint -> gint -> none" method set_angle : "gdouble -> none" method set_attributes : "Pango.AttrList -> none" method set_ellipsize : "Pango.EllipsizeMode -> none" method set_justify : "Justification -> none" method set_label : "utf8 -> none" method set_line_wrap : "gboolean -> none" method set_line_wrap_mode : "Pango.WrapMode -> none" method set_lines : "gint -> none" method set_markup : "utf8 -> none" method set_markup_with_mnemonic : "utf8 -> none" method set_max_width_chars : "gint -> none" method set_mnemonic_widget : "Widget -> none" method set_pattern : "utf8 -> none" method set_selectable : "gboolean -> none" method set_single_line_mode : "gboolean -> none" method set_text : "utf8 -> none" method set_text_with_mnemonic : "utf8 -> none" method set_track_visited_links : "gboolean -> none" method set_use_markup : "gboolean -> none" method set_use_underline : "gboolean -> none" method set_width_chars : "gint -> none" method set_xalign : "gfloat -> none" method set_yalign : "gfloat -> none" "angle" gdouble : Read / Write "attributes" Pango.AttrList : Read / Write "cursor-position" gint : Read "ellipsize" Pango.EllipsizeMode : Read / Write "justify" Justification : Read / Write "label" utf8 : Read / Write "lines" gint : Read / Write "max-width-chars" gint : Read / Write "mnemonic-keyval" guint : Read "mnemonic-widget" Widget : Read / Write "pattern" utf8 : Write "selectable" gboolean : Read / Write "selection-bound" gint : Read "single-line-mode" gboolean : Read / Write "track-visited-links" gboolean : Read / Write "use-markup" gboolean : Read / Write "use-underline" gboolean : Read / Write "width-chars" gint : Read / Write "wrap" gboolean : Read / Write "wrap-mode" Pango.WrapMode : Read / Write "xalign" gfloat : Read / Write "yalign" gfloat : Read / Write signal activate_current_link : -> none signal activate_link : utf8 -> gboolean signal copy_clipboard : -> none signal move_cursor : MovementStepgintgboolean -> none signal populate_popup : Menu -> none } class LabelAccessible set wrap wrapsig : WidgetAccessible { } class Layout set wrap wrapsig : Container { method get_bin_window : "Gdk.Window" method get_hadjustment : "Adjustment" method get_size : "guint -> guint -> none" method get_vadjustment : "Adjustment" method move : "Widget -> gint -> gint -> none" method put : "Widget -> gint -> gint -> none" method set_hadjustment : "Adjustment -> none" method set_size : "guint -> guint -> none" method set_vadjustment : "Adjustment -> none" "height" guint : Read / Write "width" guint : Read / Write } class LevelBar set wrap wrapsig : Widget { method add_offset_value : "utf8 -> gdouble -> none" method get_inverted : "gboolean" method get_max_value : "gdouble" method get_min_value : "gdouble" method get_mode : "LevelBarMode" method get_offset_value : "utf8 -> gdouble -> gboolean" method get_value : "gdouble" method remove_offset_value : "utf8 -> none" method set_inverted : "gboolean -> none" method set_max_value : "gdouble -> none" method set_min_value : "gdouble -> none" method set_mode : "LevelBarMode -> none" method set_value : "gdouble -> none" "inverted" gboolean : Read / Write "max-value" gdouble : Read / Write "min-value" gdouble : Read / Write "mode" LevelBarMode : Read / Write "value" gdouble : Read / Write signal offset_changed : utf8 -> none } class LevelBarAccessible set wrap wrapsig : WidgetAccessible { } class LinkButton set wrap wrapsig : Button { method get_uri : "utf8" method get_visited : "gboolean" method set_uri : "utf8 -> none" method set_visited : "gboolean -> none" "uri" utf8 : Read / Write "visited" gboolean : Read / Write signal activate_link : -> gboolean } class LinkButtonAccessible set wrap wrapsig : ButtonAccessible { } class ListBox set wrap wrapsig : Container { method bind_model : "Gio.ListModel -> ListBoxCreateWidgetFunc -> gpointer -> GLib.DestroyNotify -> none" method drag_highlight_row : "ListBoxRow -> none" method drag_unhighlight_row : "none" method get_activate_on_single_click : "gboolean" method get_adjustment : "Adjustment" method get_row_at_index : "gint -> ListBoxRow" method get_row_at_y : "gint -> ListBoxRow" method get_selected_row : "ListBoxRow" method get_selected_rows : "GLib.List" method get_selection_mode : "SelectionMode" method insert : "Widget -> gint -> none" method invalidate_filter : "none" method invalidate_headers : "none" method invalidate_sort : "none" method prepend : "Widget -> none" method select_all : "none" method select_row : "ListBoxRow -> none" method selected_foreach : "ListBoxForeachFunc -> gpointer -> none" method set_activate_on_single_click : "gboolean -> none" method set_adjustment : "Adjustment -> none" method set_filter_func : "ListBoxFilterFunc -> gpointer -> GLib.DestroyNotify -> none" method set_header_func : "ListBoxUpdateHeaderFunc -> gpointer -> GLib.DestroyNotify -> none" method set_placeholder : "Widget -> none" method set_selection_mode : "SelectionMode -> none" method set_sort_func : "ListBoxSortFunc -> gpointer -> GLib.DestroyNotify -> none" method unselect_all : "none" method unselect_row : "ListBoxRow -> none" "activate-on-single-click" gboolean : Read / Write "selection-mode" SelectionMode : Read / Write signal activate_cursor_row : -> none signal move_cursor : MovementStepgint -> none signal row_activated : ListBoxRow -> none signal row_selected : ListBoxRow -> none signal select_all : -> none signal selected_rows_changed : -> none signal toggle_cursor_row : -> none signal unselect_all : -> none } class ListBoxAccessible set wrap wrapsig : ContainerAccessible { } class ListBoxRow set wrap wrapsig : Bin { method changed : "none" method get_activatable : "gboolean" method get_header : "Widget" method get_index : "gint" method get_selectable : "gboolean" method is_selected : "gboolean" method set_activatable : "gboolean -> none" method set_header : "Widget -> none" method set_selectable : "gboolean -> none" "activatable" gboolean : Read / Write "selectable" gboolean : Read / Write signal activate : -> none } class ListBoxRowAccessible set wrap wrapsig : ContainerAccessible { } class LockButton set wrap wrapsig : Button { method get_permission : "Gio.Permission" method set_permission : "Gio.Permission -> none" "permission" Gio.Permission : Read / Write "text-lock" utf8 : Read / Write "text-unlock" utf8 : Read / Write "tooltip-lock" utf8 : Read / Write "tooltip-not-authorized" utf8 : Read / Write "tooltip-unlock" utf8 : Read / Write } class LockButtonAccessible set wrap wrapsig : ButtonAccessible { } class Menu set wrap wrapsig : MenuShell { method attach : "Widget -> guint -> guint -> guint -> guint -> none" method attach_to_widget : "Widget -> MenuDetachFunc -> none" method detach : "none" method get_accel_group : "AccelGroup" method get_accel_path : "utf8" method get_active : "Widget" method get_attach_widget : "Widget" method get_monitor : "gint" method get_reserve_toggle_size : "gboolean" method get_tearoff_state : "gboolean" method get_title : "utf8" method place_on_monitor : "Gdk.Monitor -> none" method popdown : "none" method popup : "Widget -> Widget -> MenuPositionFunc -> gpointer -> guint -> guint32 -> none" method popup_at_pointer : "Gdk.Event -> none" method popup_at_rect : "Gdk.Window -> Gdk.Rectangle -> Gdk.Gravity -> Gdk.Gravity -> Gdk.Event -> none" method popup_at_widget : "Widget -> Gdk.Gravity -> Gdk.Gravity -> Gdk.Event -> none" method popup_for_device : "Gdk.Device -> Widget -> Widget -> MenuPositionFunc -> gpointer -> GLib.DestroyNotify -> guint -> guint32 -> none" method reorder_child : "Widget -> gint -> none" method reposition : "none" method set_accel_group : "AccelGroup -> none" method set_accel_path : "utf8 -> none" method set_active : "guint -> none" method set_monitor : "gint -> none" method set_reserve_toggle_size : "gboolean -> none" method set_screen : "Gdk.Screen -> none" method set_tearoff_state : "gboolean -> none" method set_title : "utf8 -> none" "accel-group" AccelGroup : Read / Write "accel-path" utf8 : Read / Write "active" gint : Read / Write "anchor-hints" Gdk.AnchorHints : Read / Write "attach-widget" Widget : Read / Write "menu-type-hint" Gdk.WindowTypeHint : Read / Write "monitor" gint : Read / Write "rect-anchor-dx" gint : Read / Write "rect-anchor-dy" gint : Read / Write "reserve-toggle-size" gboolean : Read / Write "tearoff-state" gboolean : Read / Write "tearoff-title" utf8 : Read / Write signal move_scroll : ScrollType -> none signal popped_up : gpointergpointergbooleangboolean -> none } class MenuAccessible set wrap wrapsig : MenuShellAccessible { } class MenuBar set wrap wrapsig : MenuShell { method get_child_pack_direction : "PackDirection" method get_pack_direction : "PackDirection" method set_child_pack_direction : "PackDirection -> none" method set_pack_direction : "PackDirection -> none" "child-pack-direction" PackDirection : Read / Write "pack-direction" PackDirection : Read / Write } class MenuButton set wrap wrapsig : ToggleButton { method get_align_widget : "Widget" method get_direction : "ArrowType" method get_menu_model : "Gio.MenuModel" method get_popover : "Popover" method get_popup : "Menu" method get_use_popover : "gboolean" method set_align_widget : "Widget -> none" method set_direction : "ArrowType -> none" method set_menu_model : "Gio.MenuModel -> none" method set_popover : "Widget -> none" method set_popup : "Widget -> none" method set_use_popover : "gboolean -> none" "align-widget" Container : Read / Write "direction" ArrowType : Read / Write "menu-model" Gio.MenuModel : Read / Write "popover" Popover : Read / Write "popup" Menu : Read / Write "use-popover" gboolean : Read / Write } class MenuButtonAccessible set wrap wrapsig : ToggleButtonAccessible { } class MenuItem set wrap wrapsig : Bin { method activate : "none" method deselect : "none" method get_accel_path : "utf8" method get_label : "utf8" method get_reserve_indicator : "gboolean" method get_right_justified : "gboolean" method get_submenu : "Widget" method get_use_underline : "gboolean" method select : "none" method set_accel_path : "utf8 -> none" method set_label : "utf8 -> none" method set_reserve_indicator : "gboolean -> none" method set_right_justified : "gboolean -> none" method set_submenu : "Menu -> none" method set_use_underline : "gboolean -> none" method toggle_size_allocate : "gint -> none" method toggle_size_request : "gint -> none" "accel-path" utf8 : Read / Write "label" utf8 : Read / Write "right-justified" gboolean : Read / Write "submenu" Menu : Read / Write "use-underline" gboolean : Read / Write signal activate : -> none signal activate_item : -> none signal deselect : -> none signal select : -> none signal toggle_size_allocate : gint -> none signal toggle_size_request : gpointer -> none } class MenuItemAccessible set wrap wrapsig : ContainerAccessible { } class MenuShell abstract set wrap wrapsig : Container { method activate_item : "Widget -> gboolean -> none" method append : "MenuItem -> none" method bind_model : "Gio.MenuModel -> utf8 -> gboolean -> none" method cancel : "none" method deactivate : "none" method deselect : "none" method get_parent_shell : "Widget" method get_selected_item : "Widget" method get_take_focus : "gboolean" method insert : "Widget -> gint -> none" method prepend : "Widget -> none" method select_first : "gboolean -> none" method select_item : "Widget -> none" method set_take_focus : "gboolean -> none" "take-focus" gboolean : Read / Write signal activate_current : gboolean -> none signal cancel : -> none signal cycle_focus : DirectionType -> none signal deactivate : -> none signal insert : Widgetgint -> none signal move_current : MenuDirectionType -> none signal move_selected : gint -> gboolean signal selection_done : -> none } class MenuShellAccessible set wrap wrapsig : ContainerAccessible { } class MenuToolButton set wrap wrapsig : ToolButton { method get_menu : "Widget" method set_arrow_tooltip_markup : "utf8 -> none" method set_arrow_tooltip_text : "utf8 -> none" method set_menu : "Widget -> none" "menu" Menu : Read / Write signal show_menu : -> none } class MessageDialog set wrap wrapsig : Dialog { method format_secondary_markup : "utf8 -> -> none" method format_secondary_text : "utf8 -> -> none" method get_image : "Widget" method get_message_area : "Widget" method set_image : "Widget -> none" method set_markup : "utf8 -> none" "buttons" ButtonsType : Write "image" Widget : Read / Write "message-area" Widget : Read "message-type" MessageType : Read / Write "secondary-text" utf8 : Read / Write "secondary-use-markup" gboolean : Read / Write "text" utf8 : Read / Write "use-markup" gboolean : Read / Write } class Misc abstract set wrap wrapsig : Widget { method get_alignment : "gfloat -> gfloat -> none" method get_padding : "gint -> gint -> none" method set_alignment : "gfloat -> gfloat -> none" method set_padding : "gint -> gint -> none" "xalign" gfloat : Read / Write "xpad" gint : Read / Write "yalign" gfloat : Read / Write "ypad" gint : Read / Write } class ModelButton set wrap wrapsig : Button { "active" gboolean : Read / Write "centered" gboolean : Read / Write "icon" Gio.Icon : Read / Write "iconic" gboolean : Read / Write "inverted" gboolean : Read / Write "menu-name" utf8 : Read / Write "role" ButtonRole : Read / Write "text" utf8 : Read / Write "use-markup" gboolean : Read / Write } class MountOperation set wrap wrapsig : Gio.MountOperation { method get_parent : "Window" method get_screen : "Gdk.Screen" method is_showing : "gboolean" method set_parent : "Window -> none" method set_screen : "Gdk.Screen -> none" "is-showing" gboolean : Read "parent" Window : Read / Write "screen" Gdk.Screen : Read / Write } class Notebook set wrap wrapsig : Container { method append_page : "Widget -> Widget -> gint" method append_page_menu : "Widget -> Widget -> Widget -> gint" method detach_tab : "Widget -> none" method get_action_widget : "PackType -> Widget" method get_current_page : "gint" method get_group_name : "utf8" method get_menu_label : "Widget -> Widget" method get_menu_label_text : "Widget -> utf8" method get_n_pages : "gint" method get_nth_page : "gint -> Widget" method get_scrollable : "gboolean" method get_show_border : "gboolean" method get_show_tabs : "gboolean" method get_tab_detachable : "Widget -> gboolean" method get_tab_hborder : "guint16" method get_tab_label : "Widget -> Widget" method get_tab_label_text : "Widget -> utf8" method get_tab_pos : "PositionType" method get_tab_reorderable : "Widget -> gboolean" method get_tab_vborder : "guint16" method insert_page : "Widget -> Widget -> gint -> gint" method insert_page_menu : "Widget -> Widget -> Widget -> gint -> gint" method next_page : "none" method page_num : "Widget -> gint" method popup_disable : "none" method popup_enable : "none" method prepend_page : "Widget -> Widget -> gint" method prepend_page_menu : "Widget -> Widget -> Widget -> gint" method prev_page : "none" method remove_page : "gint -> none" method reorder_child : "Widget -> gint -> none" method set_action_widget : "Widget -> PackType -> none" method set_current_page : "gint -> none" method set_group_name : "utf8 -> none" method set_menu_label : "Widget -> Widget -> none" method set_menu_label_text : "Widget -> utf8 -> none" method set_scrollable : "gboolean -> none" method set_show_border : "gboolean -> none" method set_show_tabs : "gboolean -> none" method set_tab_detachable : "Widget -> gboolean -> none" method set_tab_label : "Widget -> Widget -> none" method set_tab_label_text : "Widget -> utf8 -> none" method set_tab_pos : "PositionType -> none" method set_tab_reorderable : "Widget -> gboolean -> none" "enable-popup" gboolean : Read / Write "group-name" utf8 : Read / Write "page" gint : Read / Write "scrollable" gboolean : Read / Write "show-border" gboolean : Read / Write "show-tabs" gboolean : Read / Write "tab-pos" PositionType : Read / Write signal change_current_page : gint -> gboolean signal create_window : Widgetgintgint -> Notebook signal focus_tab : NotebookTab -> gboolean signal move_focus_out : DirectionType -> none signal page_added : Widgetguint -> none signal page_removed : Widgetguint -> none signal page_reordered : Widgetguint -> none signal reorder_tab : DirectionTypegboolean -> gboolean signal select_page : gboolean -> gboolean signal switch_page : Widgetguint -> none } class NotebookAccessible set wrap wrapsig : ContainerAccessible { } class NotebookPageAccessible set wrap wrapsig : Atk.Object { method invalidate : "none" } class NumerableIcon set wrap wrapsig : Gio.EmblemedIcon { method get_background_gicon : "Gio.Icon" method get_background_icon_name : "utf8" method get_count : "gint" method get_label : "utf8" method get_style_context : "StyleContext" method set_background_gicon : "Gio.Icon -> none" method set_background_icon_name : "utf8 -> none" method set_count : "gint -> none" method set_label : "utf8 -> none" method set_style_context : "StyleContext -> none" "background-icon" Gio.Icon : Read / Write "background-icon-name" utf8 : Read / Write "count" gint : Read / Write "label" utf8 : Read / Write "style-context" StyleContext : Read / Write } class OffscreenWindow set wrap wrapsig : Window { method get_pixbuf : "GdkPixbuf.Pixbuf" method get_surface : "cairo.Surface" } class Overlay set wrap wrapsig : Bin { method add_overlay : "Widget -> none" method get_overlay_pass_through : "Widget -> gboolean" method reorder_overlay : "Widget -> gint -> none" method set_overlay_pass_through : "Widget -> gboolean -> none" signal get_child_position : WidgetGdk.Rectangle -> gboolean } class PadController set wrap wrapsig : EventController { method set_action : "PadActionType -> gint -> gint -> utf8 -> utf8 -> none" method set_action_entries : " -> gint -> none" "action-group" Gio.ActionGroup : Read / Write "pad" Gdk.Device : Read / Write } class Paned set wrap wrapsig : Container { method add1 : "Widget -> none" method add2 : "Widget -> none" method get_child1 : "Widget" method get_child2 : "Widget" method get_handle_window : "Gdk.Window" method get_position : "gint" method get_wide_handle : "gboolean" method pack1 : "Widget -> gboolean -> gboolean -> none" method pack2 : "Widget -> gboolean -> gboolean -> none" method set_position : "gint -> none" method set_wide_handle : "gboolean -> none" "max-position" gint : Read "min-position" gint : Read "position" gint : Read / Write "position-set" gboolean : Read / Write "wide-handle" gboolean : Read / Write signal accept_position : -> gboolean signal cancel_position : -> gboolean signal cycle_child_focus : gboolean -> gboolean signal cycle_handle_focus : gboolean -> gboolean signal move_handle : ScrollType -> gboolean signal toggle_handle_focus : -> gboolean } class PanedAccessible set wrap wrapsig : ContainerAccessible { } class PlacesSidebar set wrap wrapsig : ScrolledWindow { method add_shortcut : "Gio.File -> none" method get_local_only : "gboolean" method get_location : "Gio.File" method get_nth_bookmark : "gint -> Gio.File" method get_open_flags : "PlacesOpenFlags" method get_show_connect_to_server : "gboolean" method get_show_desktop : "gboolean" method get_show_enter_location : "gboolean" method get_show_other_locations : "gboolean" method get_show_recent : "gboolean" method get_show_starred_location : "gboolean" method get_show_trash : "gboolean" method list_shortcuts : "GLib.SList" method remove_shortcut : "Gio.File -> none" method set_drop_targets_visible : "gboolean -> Gdk.DragContext -> none" method set_local_only : "gboolean -> none" method set_location : "Gio.File -> none" method set_open_flags : "PlacesOpenFlags -> none" method set_show_connect_to_server : "gboolean -> none" method set_show_desktop : "gboolean -> none" method set_show_enter_location : "gboolean -> none" method set_show_other_locations : "gboolean -> none" method set_show_recent : "gboolean -> none" method set_show_starred_location : "gboolean -> none" method set_show_trash : "gboolean -> none" "local-only" gboolean : Read / Write "location" Gio.File : Read / Write "open-flags" PlacesOpenFlags : Read / Write "populate-all" gboolean : Read / Write "show-connect-to-server" gboolean : Read / Write "show-desktop" gboolean : Read / Write "show-enter-location" gboolean : Read / Write "show-other-locations" gboolean : Read / Write "show-recent" gboolean : Read / Write "show-starred-location" gboolean : Read / Write "show-trash" gboolean : Read / Write signal drag_action_ask : gint -> gint signal drag_action_requested : Gdk.DragContextGio.FileGLib.List -> gint signal drag_perform_drop : Gio.FileGLib.Listgint -> none signal mount : Gio.MountOperation -> none signal open_location : Gio.FilePlacesOpenFlags -> none signal populate_popup : WidgetGio.FileGio.Volume -> none signal show_connect_to_server : -> none signal show_enter_location : -> none signal show_error_message : utf8utf8 -> none signal show_other_locations : -> none signal show_other_locations_with_flags : PlacesOpenFlags -> none signal show_starred_location : PlacesOpenFlags -> none signal unmount : Gio.MountOperation -> none } class Plug set wrap wrapsig : Window { method construct : "xlib.Window -> none" method construct_for_display : "Gdk.Display -> xlib.Window -> none" method get_embedded : "gboolean" method get_id : "xlib.Window" method get_socket_window : "Gdk.Window" "embedded" gboolean : Read "socket-window" Gdk.Window : Read signal embedded : -> none } class Popover set wrap wrapsig : Bin { method bind_model : "Gio.MenuModel -> utf8 -> none" method get_constrain_to : "PopoverConstraint" method get_default_widget : "Widget" method get_modal : "gboolean" method get_pointing_to : "Gdk.Rectangle -> gboolean" method get_position : "PositionType" method get_relative_to : "Widget" method get_transitions_enabled : "gboolean" method popdown : "none" method popup : "none" method set_constrain_to : "PopoverConstraint -> none" method set_default_widget : "Widget -> none" method set_modal : "gboolean -> none" method set_pointing_to : "Gdk.Rectangle -> none" method set_position : "PositionType -> none" method set_relative_to : "Widget -> none" method set_transitions_enabled : "gboolean -> none" "constrain-to" PopoverConstraint : Read / Write "modal" gboolean : Read / Write "pointing-to" Gdk.Rectangle : Read / Write "position" PositionType : Read / Write "relative-to" Widget : Read / Write "transitions-enabled" gboolean : Read / Write signal closed : -> none } class PopoverAccessible set wrap wrapsig : ContainerAccessible { } class PopoverMenu set wrap wrapsig : Popover { method open_submenu : "utf8 -> none" "visible-submenu" utf8 : Read / Write } class ProgressBar set wrap wrapsig : Widget { method get_ellipsize : "Pango.EllipsizeMode" method get_fraction : "gdouble" method get_inverted : "gboolean" method get_pulse_step : "gdouble" method get_show_text : "gboolean" method get_text : "utf8" method pulse : "none" method set_ellipsize : "Pango.EllipsizeMode -> none" method set_fraction : "gdouble -> none" method set_inverted : "gboolean -> none" method set_pulse_step : "gdouble -> none" method set_show_text : "gboolean -> none" method set_text : "utf8 -> none" "ellipsize" Pango.EllipsizeMode : Read / Write "fraction" gdouble : Read / Write "inverted" gboolean : Read / Write "pulse-step" gdouble : Read / Write "show-text" gboolean : Read / Write "text" utf8 : Read / Write } class ProgressBarAccessible set wrap wrapsig : WidgetAccessible { } class RadioAction set wrap wrapsig : ToggleAction { method get_current_value : "gint" method get_group : "GLib.SList" method join_group : "RadioAction -> none" method set_current_value : "gint -> none" method set_group : "GLib.SList -> none" "current-value" gint : Read / Write "group" RadioAction : Write "value" gint : Read / Write signal changed : RadioAction -> none } class RadioButton set wrap wrapsig : CheckButton { method get_group : "GLib.SList" method join_group : "RadioButton -> none" method set_group : "GLib.SList -> none" "group" RadioButton : Write signal group_changed : -> none } class RadioButtonAccessible set wrap wrapsig : ToggleButtonAccessible { } class RadioMenuItem set wrap wrapsig : CheckMenuItem { method get_group : "GLib.SList" method join_group : "RadioMenuItem -> none" method set_group : "GLib.SList -> none" "group" RadioMenuItem : Write signal group_changed : -> none } class RadioMenuItemAccessible set wrap wrapsig : CheckMenuItemAccessible { } class RadioToolButton set wrap wrapsig : ToggleToolButton { method get_group : "GLib.SList" method set_group : "GLib.SList -> none" "group" RadioToolButton : Write } class Range abstract set wrap wrapsig : Widget { method get_adjustment : "Adjustment" method get_fill_level : "gdouble" method get_flippable : "gboolean" method get_inverted : "gboolean" method get_lower_stepper_sensitivity : "SensitivityType" method get_min_slider_size : "gint" method get_range_rect : "Gdk.Rectangle -> none" method get_restrict_to_fill_level : "gboolean" method get_round_digits : "gint" method get_show_fill_level : "gboolean" method get_slider_range : "gint -> gint -> none" method get_slider_size_fixed : "gboolean" method get_upper_stepper_sensitivity : "SensitivityType" method get_value : "gdouble" method set_adjustment : "Adjustment -> none" method set_fill_level : "gdouble -> none" method set_flippable : "gboolean -> none" method set_increments : "gdouble -> gdouble -> none" method set_inverted : "gboolean -> none" method set_lower_stepper_sensitivity : "SensitivityType -> none" method set_min_slider_size : "gint -> none" method set_range : "gdouble -> gdouble -> none" method set_restrict_to_fill_level : "gboolean -> none" method set_round_digits : "gint -> none" method set_show_fill_level : "gboolean -> none" method set_slider_size_fixed : "gboolean -> none" method set_upper_stepper_sensitivity : "SensitivityType -> none" method set_value : "gdouble -> none" "adjustment" Adjustment : Read / Write "fill-level" gdouble : Read / Write "inverted" gboolean : Read / Write "lower-stepper-sensitivity" SensitivityType : Read / Write "restrict-to-fill-level" gboolean : Read / Write "round-digits" gint : Read / Write "show-fill-level" gboolean : Read / Write "upper-stepper-sensitivity" SensitivityType : Read / Write signal adjust_bounds : gdouble -> none signal change_value : ScrollTypegdouble -> gboolean signal move_slider : ScrollType -> none signal value_changed : -> none } class RangeAccessible set wrap wrapsig : WidgetAccessible { } class RecentAction set wrap wrapsig : Action { method get_show_numbers : "gboolean" method set_show_numbers : "gboolean -> none" "show-numbers" gboolean : Read / Write } class RecentChooserDialog set wrap wrapsig : Dialog { } class RecentChooserMenu set wrap wrapsig : Menu { method get_show_numbers : "gboolean" method set_show_numbers : "gboolean -> none" "show-numbers" gboolean : Read / Write } class RecentChooserWidget set wrap wrapsig : Box { } class RecentFilter set wrap wrapsig : GObject.InitiallyUnowned { method add_age : "gint -> none" method add_application : "utf8 -> none" method add_custom : "RecentFilterFlags -> RecentFilterFunc -> gpointer -> GLib.DestroyNotify -> none" method add_group : "utf8 -> none" method add_mime_type : "utf8 -> none" method add_pattern : "utf8 -> none" method add_pixbuf_formats : "none" method filter : "RecentFilterInfo -> gboolean" method get_name : "utf8" method get_needed : "RecentFilterFlags" method set_name : "utf8 -> none" } class RendererCellAccessible set wrap wrapsig : CellAccessible { "renderer" CellRenderer : Read / Write } class Revealer set wrap wrapsig : Bin { method get_child_revealed : "gboolean" method get_reveal_child : "gboolean" method get_transition_duration : "guint" method get_transition_type : "RevealerTransitionType" method set_reveal_child : "gboolean -> none" method set_transition_duration : "guint -> none" method set_transition_type : "RevealerTransitionType -> none" "child-revealed" gboolean : Read "reveal-child" gboolean : Read / Write "transition-duration" guint : Read / Write "transition-type" RevealerTransitionType : Read / Write } class Scale set wrap wrapsig : Range { method add_mark : "gdouble -> PositionType -> utf8 -> none" method clear_marks : "none" method get_digits : "gint" method get_draw_value : "gboolean" method get_has_origin : "gboolean" method get_layout : "Pango.Layout" method get_layout_offsets : "gint -> gint -> none" method get_value_pos : "PositionType" method set_digits : "gint -> none" method set_draw_value : "gboolean -> none" method set_has_origin : "gboolean -> none" method set_value_pos : "PositionType -> none" "digits" gint : Read / Write "draw-value" gboolean : Read / Write "has-origin" gboolean : Read / Write "value-pos" PositionType : Read / Write signal format_value : gdouble -> utf8 } class ScaleAccessible set wrap wrapsig : RangeAccessible { } class ScaleButton set wrap wrapsig : Button { method get_adjustment : "Adjustment" method get_minus_button : "Button" method get_plus_button : "Button" method get_popup : "Widget" method get_value : "gdouble" method set_adjustment : "Adjustment -> none" method set_icons : " -> none" method set_value : "gdouble -> none" "adjustment" Adjustment : Read / Write "icons" : Read / Write "size" IconSize : Read / Write "value" gdouble : Read / Write signal popdown : -> none signal popup : -> none signal value_changed : gdouble -> none } class ScaleButtonAccessible set wrap wrapsig : ButtonAccessible { } class Scrollbar set wrap wrapsig : Range { } class ScrolledWindow set wrap wrapsig : Bin { method add_with_viewport : "Widget -> none" method get_capture_button_press : "gboolean" method get_hadjustment : "Adjustment" method get_hscrollbar : "Widget" method get_kinetic_scrolling : "gboolean" method get_max_content_height : "gint" method get_max_content_width : "gint" method get_min_content_height : "gint" method get_min_content_width : "gint" method get_overlay_scrolling : "gboolean" method get_placement : "CornerType" method get_policy : "PolicyType -> PolicyType -> none" method get_propagate_natural_height : "gboolean" method get_propagate_natural_width : "gboolean" method get_shadow_type : "ShadowType" method get_vadjustment : "Adjustment" method get_vscrollbar : "Widget" method set_capture_button_press : "gboolean -> none" method set_hadjustment : "Adjustment -> none" method set_kinetic_scrolling : "gboolean -> none" method set_max_content_height : "gint -> none" method set_max_content_width : "gint -> none" method set_min_content_height : "gint -> none" method set_min_content_width : "gint -> none" method set_overlay_scrolling : "gboolean -> none" method set_placement : "CornerType -> none" method set_policy : "PolicyType -> PolicyType -> none" method set_propagate_natural_height : "gboolean -> none" method set_propagate_natural_width : "gboolean -> none" method set_shadow_type : "ShadowType -> none" method set_vadjustment : "Adjustment -> none" method unset_placement : "none" "hadjustment" Adjustment : Read / Write "hscrollbar-policy" PolicyType : Read / Write "kinetic-scrolling" gboolean : Read / Write "max-content-height" gint : Read / Write "max-content-width" gint : Read / Write "min-content-height" gint : Read / Write "min-content-width" gint : Read / Write "overlay-scrolling" gboolean : Read / Write "propagate-natural-height" gboolean : Read / Write "propagate-natural-width" gboolean : Read / Write "shadow-type" ShadowType : Read / Write "vadjustment" Adjustment : Read / Write "vscrollbar-policy" PolicyType : Read / Write "window-placement" CornerType : Read / Write "window-placement-set" gboolean : Read / Write signal edge_overshot : PositionType -> none signal edge_reached : PositionType -> none signal move_focus_out : DirectionType -> none signal scroll_child : ScrollTypegboolean -> gboolean } class ScrolledWindowAccessible set wrap wrapsig : ContainerAccessible { } class SearchBar set wrap wrapsig : Bin { method connect_entry : "Entry -> none" method get_search_mode : "gboolean" method get_show_close_button : "gboolean" method handle_event : "Gdk.Event -> gboolean" method set_search_mode : "gboolean -> none" method set_show_close_button : "gboolean -> none" "search-mode-enabled" gboolean : Read / Write "show-close-button" gboolean : Read / Write } class SearchEntry set wrap wrapsig : Entry { method handle_event : "Gdk.Event -> gboolean" signal next_match : -> none signal previous_match : -> none signal search_changed : -> none signal stop_search : -> none } class Separator set wrap wrapsig : Widget { } class SeparatorMenuItem set wrap wrapsig : MenuItem { } class SeparatorToolItem set wrap wrapsig : ToolItem { method get_draw : "gboolean" method set_draw : "gboolean -> none" "draw" gboolean : Read / Write } class ShortcutLabel set wrap wrapsig : Box { method get_accelerator : "utf8" method get_disabled_text : "utf8" method set_accelerator : "utf8 -> none" method set_disabled_text : "utf8 -> none" "accelerator" utf8 : Read / Write "disabled-text" utf8 : Read / Write } class ShortcutsGroup set wrap wrapsig : Box { "accel-size-group" SizeGroup : Write "height" guint : Read "title" utf8 : Read / Write "title-size-group" SizeGroup : Write "view" utf8 : Read / Write } class ShortcutsSection set wrap wrapsig : Box { "max-height" guint : Read / Write "section-name" utf8 : Read / Write "title" utf8 : Read / Write "view-name" utf8 : Read / Write signal change_current_page : gint -> gboolean } class ShortcutsShortcut set wrap wrapsig : Box { "accel-size-group" SizeGroup : Write "accelerator" utf8 : Read / Write "action-name" utf8 : Read / Write "direction" TextDirection : Read / Write "icon" Gio.Icon : Read / Write "icon-set" gboolean : Read / Write "shortcut-type" ShortcutType : Read / Write "subtitle" utf8 : Read / Write "subtitle-set" gboolean : Read / Write "title" utf8 : Read / Write "title-size-group" SizeGroup : Write } class ShortcutsWindow set wrap wrapsig : Window { "section-name" utf8 : Read / Write "view-name" utf8 : Read / Write signal close : -> none signal search : -> none } class Socket set wrap wrapsig : Container { method add_id : "xlib.Window -> none" method get_id : "xlib.Window" method get_plug_window : "Gdk.Window" signal plug_added : -> none signal plug_removed : -> gboolean } class SpinButton set wrap wrapsig : Entry { method configure : "Adjustment -> gdouble -> guint -> none" method get_adjustment : "Adjustment" method get_digits : "guint" method get_increments : "gdouble -> gdouble -> none" method get_numeric : "gboolean" method get_range : "gdouble -> gdouble -> none" method get_snap_to_ticks : "gboolean" method get_update_policy : "SpinButtonUpdatePolicy" method get_value : "gdouble" method get_value_as_int : "gint" method get_wrap : "gboolean" method set_adjustment : "Adjustment -> none" method set_digits : "guint -> none" method set_increments : "gdouble -> gdouble -> none" method set_numeric : "gboolean -> none" method set_range : "gdouble -> gdouble -> none" method set_snap_to_ticks : "gboolean -> none" method set_update_policy : "SpinButtonUpdatePolicy -> none" method set_value : "gdouble -> none" method set_wrap : "gboolean -> none" method spin : "SpinType -> gdouble -> none" method update : "none" "adjustment" Adjustment : Read / Write "climb-rate" gdouble : Read / Write "digits" guint : Read / Write "numeric" gboolean : Read / Write "snap-to-ticks" gboolean : Read / Write "update-policy" SpinButtonUpdatePolicy : Read / Write "value" gdouble : Read / Write "wrap" gboolean : Read / Write signal change_value : ScrollType -> none signal input : gdouble -> gint signal output : -> gboolean signal value_changed : -> none signal wrapped : -> none } class SpinButtonAccessible set wrap wrapsig : EntryAccessible { } class Spinner set wrap wrapsig : Widget { method start : "none" method stop : "none" "active" gboolean : Read / Write } class SpinnerAccessible set wrap wrapsig : WidgetAccessible { } class Stack set wrap wrapsig : Container { method add_named : "Widget -> utf8 -> none" method add_titled : "Widget -> utf8 -> utf8 -> none" method get_child_by_name : "utf8 -> Widget" method get_hhomogeneous : "gboolean" method get_homogeneous : "gboolean" method get_interpolate_size : "gboolean" method get_transition_duration : "guint" method get_transition_running : "gboolean" method get_transition_type : "StackTransitionType" method get_vhomogeneous : "gboolean" method get_visible_child : "Widget" method get_visible_child_name : "utf8" method set_hhomogeneous : "gboolean -> none" method set_homogeneous : "gboolean -> none" method set_interpolate_size : "gboolean -> none" method set_transition_duration : "guint -> none" method set_transition_type : "StackTransitionType -> none" method set_vhomogeneous : "gboolean -> none" method set_visible_child : "Widget -> none" method set_visible_child_full : "utf8 -> StackTransitionType -> none" method set_visible_child_name : "utf8 -> none" "hhomogeneous" gboolean : Read / Write "homogeneous" gboolean : Read / Write "interpolate-size" gboolean : Read / Write "transition-duration" guint : Read / Write "transition-running" gboolean : Read "transition-type" StackTransitionType : Read / Write "vhomogeneous" gboolean : Read / Write "visible-child" Widget : Read / Write "visible-child-name" utf8 : Read / Write } class StackAccessible set wrap wrapsig : ContainerAccessible { } class StackSidebar set wrap wrapsig : Bin { method get_stack : "Stack" method set_stack : "Stack -> none" "stack" Stack : Read / Write } class StackSwitcher set wrap wrapsig : Box { method get_stack : "Stack" method set_stack : "Stack -> none" "icon-size" gint : Read / Write "stack" Stack : Read / Write } class Statusbar set wrap wrapsig : Box { method get_context_id : "utf8 -> guint" method get_message_area : "Box" method pop : "guint -> none" method push : "guint -> utf8 -> guint" method remove : "guint -> guint -> none" method remove_all : "guint -> none" signal text_popped : guintutf8 -> none signal text_pushed : guintutf8 -> none } class StatusbarAccessible set wrap wrapsig : ContainerAccessible { } class Switch set wrap wrapsig : Widget { method get_active : "gboolean" method get_state : "gboolean" method set_active : "gboolean -> none" method set_state : "gboolean -> none" "active" gboolean : Read / Write "state" gboolean : Read / Write signal activate : -> none signal state_set : gboolean -> gboolean } class SwitchAccessible set wrap wrapsig : WidgetAccessible { } class Table set wrap wrapsig : Container { method attach : "Widget -> guint -> guint -> guint -> guint -> AttachOptions -> AttachOptions -> guint -> guint -> none" method attach_defaults : "Widget -> guint -> guint -> guint -> guint -> none" method get_col_spacing : "guint -> guint" method get_default_col_spacing : "guint" method get_default_row_spacing : "guint" method get_homogeneous : "gboolean" method get_row_spacing : "guint -> guint" method get_size : "guint -> guint -> none" method resize : "guint -> guint -> none" method set_col_spacing : "guint -> guint -> none" method set_col_spacings : "guint -> none" method set_homogeneous : "gboolean -> none" method set_row_spacing : "guint -> guint -> none" method set_row_spacings : "guint -> none" "column-spacing" guint : Read / Write "homogeneous" gboolean : Read / Write "n-columns" guint : Read / Write "n-rows" guint : Read / Write "row-spacing" guint : Read / Write } class TearoffMenuItem set wrap wrapsig : MenuItem { } class TextCellAccessible set wrap wrapsig : RendererCellAccessible { } class TextView set wrap wrapsig : Container { method add_child_at_anchor : "Widget -> TextChildAnchor -> none" method add_child_in_window : "Widget -> TextWindowType -> gint -> gint -> none" method backward_display_line : "TextIter -> gboolean" method backward_display_line_start : "TextIter -> gboolean" method buffer_to_window_coords : "TextWindowType -> gint -> gint -> gint -> gint -> none" method forward_display_line : "TextIter -> gboolean" method forward_display_line_end : "TextIter -> gboolean" method get_accepts_tab : "gboolean" method get_border_window_size : "TextWindowType -> gint" method get_bottom_margin : "gint" method get_buffer : "TextBuffer" method get_cursor_locations : "TextIter -> Gdk.Rectangle -> Gdk.Rectangle -> none" method get_cursor_visible : "gboolean" method get_default_attributes : "TextAttributes" method get_editable : "gboolean" method get_hadjustment : "Adjustment" method get_indent : "gint" method get_input_hints : "InputHints" method get_input_purpose : "InputPurpose" method get_iter_at_location : "TextIter -> gint -> gint -> gboolean" method get_iter_at_position : "TextIter -> gint -> gint -> gint -> gboolean" method get_iter_location : "TextIter -> Gdk.Rectangle -> none" method get_justification : "Justification" method get_left_margin : "gint" method get_line_at_y : "TextIter -> gint -> gint -> none" method get_line_yrange : "TextIter -> gint -> gint -> none" method get_monospace : "gboolean" method get_overwrite : "gboolean" method get_pixels_above_lines : "gint" method get_pixels_below_lines : "gint" method get_pixels_inside_wrap : "gint" method get_right_margin : "gint" method get_tabs : "Pango.TabArray" method get_top_margin : "gint" method get_vadjustment : "Adjustment" method get_visible_rect : "Gdk.Rectangle -> none" method get_window : "TextWindowType -> Gdk.Window" method get_window_type : "Gdk.Window -> TextWindowType" method get_wrap_mode : "WrapMode" method im_context_filter_keypress : "Gdk.EventKey -> gboolean" method move_child : "Widget -> gint -> gint -> none" method move_mark_onscreen : "TextMark -> gboolean" method move_visually : "TextIter -> gint -> gboolean" method place_cursor_onscreen : "gboolean" method reset_cursor_blink : "none" method reset_im_context : "none" method scroll_mark_onscreen : "TextMark -> none" method scroll_to_iter : "TextIter -> gdouble -> gboolean -> gdouble -> gdouble -> gboolean" method scroll_to_mark : "TextMark -> gdouble -> gboolean -> gdouble -> gdouble -> none" method set_accepts_tab : "gboolean -> none" method set_border_window_size : "TextWindowType -> gint -> none" method set_bottom_margin : "gint -> none" method set_buffer : "TextBuffer -> none" method set_cursor_visible : "gboolean -> none" method set_editable : "gboolean -> none" method set_indent : "gint -> none" method set_input_hints : "InputHints -> none" method set_input_purpose : "InputPurpose -> none" method set_justification : "Justification -> none" method set_left_margin : "gint -> none" method set_monospace : "gboolean -> none" method set_overwrite : "gboolean -> none" method set_pixels_above_lines : "gint -> none" method set_pixels_below_lines : "gint -> none" method set_pixels_inside_wrap : "gint -> none" method set_right_margin : "gint -> none" method set_tabs : "Pango.TabArray -> none" method set_top_margin : "gint -> none" method set_wrap_mode : "WrapMode -> none" method starts_display_line : "TextIter -> gboolean" method window_to_buffer_coords : "TextWindowType -> gint -> gint -> gint -> gint -> none" "accepts-tab" gboolean : Read / Write "bottom-margin" gint : Read / Write "buffer" TextBuffer : Read / Write "cursor-visible" gboolean : Read / Write "editable" gboolean : Read / Write "im-module" utf8 : Read / Write "indent" gint : Read / Write "input-hints" InputHints : Read / Write "input-purpose" InputPurpose : Read / Write "justification" Justification : Read / Write "left-margin" gint : Read / Write "monospace" gboolean : Read / Write "overwrite" gboolean : Read / Write "pixels-above-lines" gint : Read / Write "pixels-below-lines" gint : Read / Write "pixels-inside-wrap" gint : Read / Write "populate-all" gboolean : Read / Write "right-margin" gint : Read / Write "tabs" Pango.TabArray : Read / Write "top-margin" gint : Read / Write "wrap-mode" WrapMode : Read / Write signal backspace : -> none signal copy_clipboard : -> none signal cut_clipboard : -> none signal delete_from_cursor : DeleteTypegint -> none signal extend_selection : TextExtendSelectionTextIterTextIterTextIter -> gboolean signal insert_at_cursor : utf8 -> none signal insert_emoji : -> none signal move_cursor : MovementStepgintgboolean -> none signal move_viewport : ScrollStepgint -> none signal paste_clipboard : -> none signal populate_popup : Widget -> none signal preedit_changed : utf8 -> none signal select_all : gboolean -> none signal set_anchor : -> none signal toggle_cursor_visible : -> none signal toggle_overwrite : -> none } class TextViewAccessible set wrap wrapsig : ContainerAccessible { } class ToggleAction set wrap wrapsig : Action { method get_active : "gboolean" method get_draw_as_radio : "gboolean" method set_active : "gboolean -> none" method set_draw_as_radio : "gboolean -> none" method toggled : "none" "active" gboolean : Read / Write "draw-as-radio" gboolean : Read / Write signal toggled : -> none } class ToggleButton set wrap wrapsig : Button { method get_active : "gboolean" method get_inconsistent : "gboolean" method get_mode : "gboolean" method set_active : "gboolean -> none" method set_inconsistent : "gboolean -> none" method set_mode : "gboolean -> none" method toggled : "none" "active" gboolean : Read / Write "draw-indicator" gboolean : Read / Write "inconsistent" gboolean : Read / Write signal toggled : -> none } class ToggleButtonAccessible set wrap wrapsig : ButtonAccessible { } class ToggleToolButton set wrap wrapsig : ToolButton { method get_active : "gboolean" method set_active : "gboolean -> none" "active" gboolean : Read / Write signal toggled : -> none } class ToolButton set wrap wrapsig : ToolItem { method get_icon_name : "utf8" method get_icon_widget : "Widget" method get_label : "utf8" method get_label_widget : "Widget" method get_stock_id : "utf8" method get_use_underline : "gboolean" method set_icon_name : "utf8 -> none" method set_icon_widget : "Widget -> none" method set_label : "utf8 -> none" method set_label_widget : "Widget -> none" method set_stock_id : "utf8 -> none" method set_use_underline : "gboolean -> none" "icon-name" utf8 : Read / Write "icon-widget" Widget : Read / Write "label" utf8 : Read / Write "label-widget" Widget : Read / Write "stock-id" utf8 : Read / Write "use-underline" gboolean : Read / Write signal clicked : -> none } class ToolItem set wrap wrapsig : Bin { method get_ellipsize_mode : "Pango.EllipsizeMode" method get_expand : "gboolean" method get_homogeneous : "gboolean" method get_icon_size : "gint" method get_is_important : "gboolean" method get_orientation : "Orientation" method get_proxy_menu_item : "utf8 -> Widget" method get_relief_style : "ReliefStyle" method get_text_alignment : "gfloat" method get_text_orientation : "Orientation" method get_text_size_group : "SizeGroup" method get_toolbar_style : "ToolbarStyle" method get_use_drag_window : "gboolean" method get_visible_horizontal : "gboolean" method get_visible_vertical : "gboolean" method rebuild_menu : "none" method retrieve_proxy_menu_item : "Widget" method set_expand : "gboolean -> none" method set_homogeneous : "gboolean -> none" method set_is_important : "gboolean -> none" method set_proxy_menu_item : "utf8 -> Widget -> none" method set_tooltip_markup : "utf8 -> none" method set_tooltip_text : "utf8 -> none" method set_use_drag_window : "gboolean -> none" method set_visible_horizontal : "gboolean -> none" method set_visible_vertical : "gboolean -> none" method toolbar_reconfigured : "none" "is-important" gboolean : Read / Write "visible-horizontal" gboolean : Read / Write "visible-vertical" gboolean : Read / Write signal create_menu_proxy : -> gboolean signal toolbar_reconfigured : -> none } class ToolItemGroup set wrap wrapsig : Container { method get_collapsed : "gboolean" method get_drop_item : "gint -> gint -> ToolItem" method get_ellipsize : "Pango.EllipsizeMode" method get_header_relief : "ReliefStyle" method get_item_position : "ToolItem -> gint" method get_label : "utf8" method get_label_widget : "Widget" method get_n_items : "guint" method get_nth_item : "guint -> ToolItem" method insert : "ToolItem -> gint -> none" method set_collapsed : "gboolean -> none" method set_ellipsize : "Pango.EllipsizeMode -> none" method set_header_relief : "ReliefStyle -> none" method set_item_position : "ToolItem -> gint -> none" method set_label : "utf8 -> none" method set_label_widget : "Widget -> none" "collapsed" gboolean : Read / Write "ellipsize" Pango.EllipsizeMode : Read / Write "header-relief" ReliefStyle : Read / Write "label" utf8 : Read / Write "label-widget" Widget : Read / Write } class ToolPalette set wrap wrapsig : Container { method add_drag_dest : "Widget -> DestDefaults -> ToolPaletteDragTargets -> Gdk.DragAction -> none" method get_drag_item : "SelectionData -> Widget" method get_drop_group : "gint -> gint -> ToolItemGroup" method get_drop_item : "gint -> gint -> ToolItem" method get_exclusive : "ToolItemGroup -> gboolean" method get_expand : "ToolItemGroup -> gboolean" method get_group_position : "ToolItemGroup -> gint" method get_hadjustment : "Adjustment" method get_icon_size : "gint" method get_style : "ToolbarStyle" method get_vadjustment : "Adjustment" method set_drag_source : "ToolPaletteDragTargets -> none" method set_exclusive : "ToolItemGroup -> gboolean -> none" method set_expand : "ToolItemGroup -> gboolean -> none" method set_group_position : "ToolItemGroup -> gint -> none" method set_icon_size : "gint -> none" method set_style : "ToolbarStyle -> none" method unset_icon_size : "none" method unset_style : "none" "icon-size" IconSize : Read / Write "icon-size-set" gboolean : Read / Write "toolbar-style" ToolbarStyle : Read / Write } class Toolbar set wrap wrapsig : Container { method get_drop_index : "gint -> gint -> gint" method get_icon_size : "IconSize" method get_item_index : "ToolItem -> gint" method get_n_items : "gint" method get_nth_item : "gint -> ToolItem" method get_relief_style : "ReliefStyle" method get_show_arrow : "gboolean" method get_style : "ToolbarStyle" method insert : "ToolItem -> gint -> none" method set_drop_highlight_item : "ToolItem -> gint -> none" method set_icon_size : "IconSize -> none" method set_show_arrow : "gboolean -> none" method set_style : "ToolbarStyle -> none" method unset_icon_size : "none" method unset_style : "none" "icon-size" IconSize : Read / Write "icon-size-set" gboolean : Read / Write "show-arrow" gboolean : Read / Write "toolbar-style" ToolbarStyle : Read / Write signal focus_home_or_end : gboolean -> gboolean signal orientation_changed : Orientation -> none signal popup_context_menu : gintgintgint -> gboolean signal style_changed : ToolbarStyle -> none } class ToplevelAccessible set wrap wrapsig : Atk.Object { method get_children : "GLib.List" } class TreeView set wrap wrapsig : Container { method append_column : "TreeViewColumn -> gint" method collapse_all : "none" method collapse_row : "TreePath -> gboolean" method columns_autosize : "none" method convert_bin_window_to_tree_coords : "gint -> gint -> gint -> gint -> none" method convert_bin_window_to_widget_coords : "gint -> gint -> gint -> gint -> none" method convert_tree_to_bin_window_coords : "gint -> gint -> gint -> gint -> none" method convert_tree_to_widget_coords : "gint -> gint -> gint -> gint -> none" method convert_widget_to_bin_window_coords : "gint -> gint -> gint -> gint -> none" method convert_widget_to_tree_coords : "gint -> gint -> gint -> gint -> none" method create_row_drag_icon : "TreePath -> cairo.Surface" method enable_model_drag_dest : " -> gint -> Gdk.DragAction -> none" method enable_model_drag_source : "Gdk.ModifierType -> -> gint -> Gdk.DragAction -> none" method expand_all : "none" method expand_row : "TreePath -> gboolean -> gboolean" method expand_to_path : "TreePath -> none" method get_activate_on_single_click : "gboolean" method get_background_area : "TreePath -> TreeViewColumn -> Gdk.Rectangle -> none" method get_bin_window : "Gdk.Window" method get_cell_area : "TreePath -> TreeViewColumn -> Gdk.Rectangle -> none" method get_column : "gint -> TreeViewColumn" method get_columns : "GLib.List" method get_cursor : "TreePath -> TreeViewColumn -> none" method get_dest_row_at_pos : "gint -> gint -> TreePath -> TreeViewDropPosition -> gboolean" method get_drag_dest_row : "TreePath -> TreeViewDropPosition -> none" method get_enable_search : "gboolean" method get_enable_tree_lines : "gboolean" method get_expander_column : "TreeViewColumn" method get_fixed_height_mode : "gboolean" method get_grid_lines : "TreeViewGridLines" method get_hadjustment : "Adjustment" method get_headers_clickable : "gboolean" method get_headers_visible : "gboolean" method get_hover_expand : "gboolean" method get_hover_selection : "gboolean" method get_level_indentation : "gint" method get_model : "TreeModel" method get_n_columns : "guint" method get_path_at_pos : "gint -> gint -> TreePath -> TreeViewColumn -> gint -> gint -> gboolean" method get_reorderable : "gboolean" method get_row_separator_func : "TreeViewRowSeparatorFunc" method get_rubber_banding : "gboolean" method get_rules_hint : "gboolean" method get_search_column : "gint" method get_search_entry : "Entry" method get_search_equal_func : "TreeViewSearchEqualFunc" method get_search_position_func : "TreeViewSearchPositionFunc" method get_selection : "TreeSelection" method get_show_expanders : "gboolean" method get_tooltip_column : "gint" method get_tooltip_context : "gint -> gint -> gboolean -> TreeModel -> TreePath -> TreeIter -> gboolean" method get_vadjustment : "Adjustment" method get_visible_range : "TreePath -> TreePath -> gboolean" method get_visible_rect : "Gdk.Rectangle -> none" method insert_column : "TreeViewColumn -> gint -> gint" method insert_column_with_attributes : "gint -> utf8 -> CellRenderer -> -> gint" method insert_column_with_data_func : "gint -> utf8 -> CellRenderer -> TreeCellDataFunc -> gpointer -> GLib.DestroyNotify -> gint" method is_blank_at_pos : "gint -> gint -> TreePath -> TreeViewColumn -> gint -> gint -> gboolean" method is_rubber_banding_active : "gboolean" method map_expanded_rows : "TreeViewMappingFunc -> gpointer -> none" method move_column_after : "TreeViewColumn -> TreeViewColumn -> none" method remove_column : "TreeViewColumn -> gint" method row_activated : "TreePath -> TreeViewColumn -> none" method row_expanded : "TreePath -> gboolean" method scroll_to_cell : "TreePath -> TreeViewColumn -> gboolean -> gfloat -> gfloat -> none" method scroll_to_point : "gint -> gint -> none" method set_activate_on_single_click : "gboolean -> none" method set_column_drag_function : "TreeViewColumnDropFunc -> gpointer -> GLib.DestroyNotify -> none" method set_cursor : "TreePath -> TreeViewColumn -> gboolean -> none" method set_cursor_on_cell : "TreePath -> TreeViewColumn -> CellRenderer -> gboolean -> none" method set_destroy_count_func : "TreeDestroyCountFunc -> gpointer -> GLib.DestroyNotify -> none" method set_drag_dest_row : "TreePath -> TreeViewDropPosition -> none" method set_enable_search : "gboolean -> none" method set_enable_tree_lines : "gboolean -> none" method set_expander_column : "TreeViewColumn -> none" method set_fixed_height_mode : "gboolean -> none" method set_grid_lines : "TreeViewGridLines -> none" method set_hadjustment : "Adjustment -> none" method set_headers_clickable : "gboolean -> none" method set_headers_visible : "gboolean -> none" method set_hover_expand : "gboolean -> none" method set_hover_selection : "gboolean -> none" method set_level_indentation : "gint -> none" method set_model : "TreeModel -> none" method set_reorderable : "gboolean -> none" method set_row_separator_func : "TreeViewRowSeparatorFunc -> gpointer -> GLib.DestroyNotify -> none" method set_rubber_banding : "gboolean -> none" method set_rules_hint : "gboolean -> none" method set_search_column : "gint -> none" method set_search_entry : "Entry -> none" method set_search_equal_func : "TreeViewSearchEqualFunc -> gpointer -> GLib.DestroyNotify -> none" method set_search_position_func : "TreeViewSearchPositionFunc -> gpointer -> GLib.DestroyNotify -> none" method set_show_expanders : "gboolean -> none" method set_tooltip_cell : "Tooltip -> TreePath -> TreeViewColumn -> CellRenderer -> none" method set_tooltip_column : "gint -> none" method set_tooltip_row : "Tooltip -> TreePath -> none" method set_vadjustment : "Adjustment -> none" method unset_rows_drag_dest : "none" method unset_rows_drag_source : "none" "activate-on-single-click" gboolean : Read / Write "enable-grid-lines" TreeViewGridLines : Read / Write "enable-search" gboolean : Read / Write "enable-tree-lines" gboolean : Read / Write "expander-column" TreeViewColumn : Read / Write "fixed-height-mode" gboolean : Read / Write "headers-clickable" gboolean : Read / Write "headers-visible" gboolean : Read / Write "hover-expand" gboolean : Read / Write "hover-selection" gboolean : Read / Write "level-indentation" gint : Read / Write "model" TreeModel : Read / Write "reorderable" gboolean : Read / Write "rubber-banding" gboolean : Read / Write "rules-hint" gboolean : Read / Write "search-column" gint : Read / Write "show-expanders" gboolean : Read / Write "tooltip-column" gint : Read / Write signal columns_changed : -> none signal cursor_changed : -> none signal expand_collapse_cursor_row : gbooleangbooleangboolean -> gboolean signal move_cursor : MovementStepgint -> gboolean signal row_activated : TreePathTreeViewColumn -> none signal row_collapsed : TreeIterTreePath -> none signal row_expanded : TreeIterTreePath -> none signal select_all : -> gboolean signal select_cursor_parent : -> gboolean signal select_cursor_row : gboolean -> gboolean signal start_interactive_search : -> gboolean signal test_collapse_row : TreeIterTreePath -> gboolean signal test_expand_row : TreeIterTreePath -> gboolean signal toggle_cursor_row : -> gboolean signal unselect_all : -> gboolean } class TreeViewAccessible set wrap wrapsig : ContainerAccessible { } class TreeViewColumn set wrap wrapsig : GObject.InitiallyUnowned { method add_attribute : "CellRenderer -> utf8 -> gint -> none" method cell_get_position : "CellRenderer -> gint -> gint -> gboolean" method cell_get_size : "Gdk.Rectangle -> gint -> gint -> gint -> gint -> none" method cell_is_visible : "gboolean" method cell_set_cell_data : "TreeModel -> TreeIter -> gboolean -> gboolean -> none" method clear : "none" method clear_attributes : "CellRenderer -> none" method clicked : "none" method focus_cell : "CellRenderer -> none" method get_alignment : "gfloat" method get_button : "Widget" method get_clickable : "gboolean" method get_expand : "gboolean" method get_fixed_width : "gint" method get_max_width : "gint" method get_min_width : "gint" method get_reorderable : "gboolean" method get_resizable : "gboolean" method get_sizing : "TreeViewColumnSizing" method get_sort_column_id : "gint" method get_sort_indicator : "gboolean" method get_sort_order : "SortType" method get_spacing : "gint" method get_title : "utf8" method get_tree_view : "Widget" method get_visible : "gboolean" method get_widget : "Widget" method get_width : "gint" method get_x_offset : "gint" method pack_end : "CellRenderer -> gboolean -> none" method pack_start : "CellRenderer -> gboolean -> none" method queue_resize : "none" method set_alignment : "gfloat -> none" method set_attributes : "CellRenderer -> -> none" method set_cell_data_func : "CellRenderer -> TreeCellDataFunc -> gpointer -> GLib.DestroyNotify -> none" method set_clickable : "gboolean -> none" method set_expand : "gboolean -> none" method set_fixed_width : "gint -> none" method set_max_width : "gint -> none" method set_min_width : "gint -> none" method set_reorderable : "gboolean -> none" method set_resizable : "gboolean -> none" method set_sizing : "TreeViewColumnSizing -> none" method set_sort_column_id : "gint -> none" method set_sort_indicator : "gboolean -> none" method set_sort_order : "SortType -> none" method set_spacing : "gint -> none" method set_title : "utf8 -> none" method set_visible : "gboolean -> none" method set_widget : "Widget -> none" "alignment" gfloat : Read / Write "cell-area" CellArea : Read / Write "clickable" gboolean : Read / Write "expand" gboolean : Read / Write "fixed-width" gint : Read / Write "max-width" gint : Read / Write "min-width" gint : Read / Write "reorderable" gboolean : Read / Write "resizable" gboolean : Read / Write "sizing" TreeViewColumnSizing : Read / Write "sort-column-id" gint : Read / Write "sort-indicator" gboolean : Read / Write "sort-order" SortType : Read / Write "spacing" gint : Read / Write "title" utf8 : Read / Write "visible" gboolean : Read / Write "widget" Widget : Read / Write "width" gint : Read "x-offset" gint : Read signal clicked : -> none } class VBox set wrap wrapsig : Box { } class VButtonBox set wrap wrapsig : ButtonBox { } class VPaned set wrap wrapsig : Paned { } class VScale set wrap wrapsig : Scale { } class VScrollbar set wrap wrapsig : Scrollbar { } class VSeparator set wrap wrapsig : Separator { } class Viewport set wrap wrapsig : Bin { method get_bin_window : "Gdk.Window" method get_hadjustment : "Adjustment" method get_shadow_type : "ShadowType" method get_vadjustment : "Adjustment" method get_view_window : "Gdk.Window" method set_hadjustment : "Adjustment -> none" method set_shadow_type : "ShadowType -> none" method set_vadjustment : "Adjustment -> none" "shadow-type" ShadowType : Read / Write } class VolumeButton set wrap wrapsig : ScaleButton { "use-symbolic" gboolean : Read / Write } class Widget abstract set wrap wrapsig : GObject.InitiallyUnowned { method activate : "gboolean" method add_accelerator : "utf8 -> AccelGroup -> guint -> Gdk.ModifierType -> AccelFlags -> none" method add_device_events : "Gdk.Device -> Gdk.EventMask -> none" method add_events : "gint -> none" method add_mnemonic_label : "Widget -> none" method add_tick_callback : "TickCallback -> gpointer -> GLib.DestroyNotify -> guint" method can_activate_accel : "guint -> gboolean" method child_focus : "DirectionType -> gboolean" method child_notify : "utf8 -> none" method class_path : "guint -> utf8 -> utf8 -> none" method compute_expand : "Orientation -> gboolean" method create_pango_context : "Pango.Context" method create_pango_layout : "utf8 -> Pango.Layout" method destroy : "none" method destroyed : "Widget -> none" method device_is_shadowed : "Gdk.Device -> gboolean" method drag_begin : "TargetList -> Gdk.DragAction -> gint -> Gdk.Event -> Gdk.DragContext" method drag_begin_with_coordinates : "TargetList -> Gdk.DragAction -> gint -> Gdk.Event -> gint -> gint -> Gdk.DragContext" method drag_check_threshold : "gint -> gint -> gint -> gint -> gboolean" method drag_dest_add_image_targets : "none" method drag_dest_add_text_targets : "none" method drag_dest_add_uri_targets : "none" method drag_dest_find_target : "Gdk.DragContext -> TargetList -> Gdk.Atom" method drag_dest_get_target_list : "TargetList" method drag_dest_get_track_motion : "gboolean" method drag_dest_set : "DestDefaults -> -> gint -> Gdk.DragAction -> none" method drag_dest_set_proxy : "Gdk.Window -> Gdk.DragProtocol -> gboolean -> none" method drag_dest_set_target_list : "TargetList -> none" method drag_dest_set_track_motion : "gboolean -> none" method drag_dest_unset : "none" method drag_get_data : "Gdk.DragContext -> Gdk.Atom -> guint32 -> none" method drag_highlight : "none" method drag_source_add_image_targets : "none" method drag_source_add_text_targets : "none" method drag_source_add_uri_targets : "none" method drag_source_get_target_list : "TargetList" method drag_source_set : "Gdk.ModifierType -> -> gint -> Gdk.DragAction -> none" method drag_source_set_icon_gicon : "Gio.Icon -> none" method drag_source_set_icon_name : "utf8 -> none" method drag_source_set_icon_pixbuf : "GdkPixbuf.Pixbuf -> none" method drag_source_set_icon_stock : "utf8 -> none" method drag_source_set_target_list : "TargetList -> none" method drag_source_unset : "none" method drag_unhighlight : "none" method draw : "cairo.Context -> none" method ensure_style : "none" method error_bell : "none" method event : "Gdk.Event -> gboolean" method freeze_child_notify : "none" method get_accessible : "Atk.Object" method get_action_group : "utf8 -> Gio.ActionGroup" method get_allocated_baseline : "gint" method get_allocated_height : "gint" method get_allocated_size : "Allocation -> gint -> none" method get_allocated_width : "gint" method get_allocation : "Allocation -> none" method get_ancestor : "GType -> Widget" method get_app_paintable : "gboolean" method get_can_default : "gboolean" method get_can_focus : "gboolean" method get_child_requisition : "Requisition -> none" method get_child_visible : "gboolean" method get_clip : "Allocation -> none" method get_clipboard : "Gdk.Atom -> Clipboard" method get_composite_name : "utf8" method get_device_enabled : "Gdk.Device -> gboolean" method get_device_events : "Gdk.Device -> Gdk.EventMask" method get_direction : "TextDirection" method get_display : "Gdk.Display" method get_double_buffered : "gboolean" method get_events : "gint" method get_focus_on_click : "gboolean" method get_font_map : "Pango.FontMap" method get_font_options : "cairo.FontOptions" method get_frame_clock : "Gdk.FrameClock" method get_halign : "Align" method get_has_tooltip : "gboolean" method get_has_window : "gboolean" method get_hexpand : "gboolean" method get_hexpand_set : "gboolean" method get_mapped : "gboolean" method get_margin_bottom : "gint" method get_margin_end : "gint" method get_margin_left : "gint" method get_margin_right : "gint" method get_margin_start : "gint" method get_margin_top : "gint" method get_modifier_mask : "Gdk.ModifierIntent -> Gdk.ModifierType" method get_modifier_style : "RcStyle" method get_name : "utf8" method get_no_show_all : "gboolean" method get_opacity : "gdouble" method get_pango_context : "Pango.Context" method get_parent : "Widget" method get_parent_window : "Gdk.Window" method get_path : "WidgetPath" method get_pointer : "gint -> gint -> none" method get_preferred_height : "gint -> gint -> none" method get_preferred_height_and_baseline_for_width : "gint -> gint -> gint -> gint -> gint -> none" method get_preferred_height_for_width : "gint -> gint -> gint -> none" method get_preferred_size : "Requisition -> Requisition -> none" method get_preferred_width : "gint -> gint -> none" method get_preferred_width_for_height : "gint -> gint -> gint -> none" method get_realized : "gboolean" method get_receives_default : "gboolean" method get_request_mode : "SizeRequestMode" method get_requisition : "Requisition -> none" method get_root_window : "Gdk.Window" method get_scale_factor : "gint" method get_screen : "Gdk.Screen" method get_sensitive : "gboolean" method get_settings : "Settings" method get_size_request : "gint -> gint -> none" method get_state : "StateType" method get_state_flags : "StateFlags" method get_style : "Style" method get_style_context : "StyleContext" method get_support_multidevice : "gboolean" method get_template_child : "GType -> utf8 -> GObject.Object" method get_tooltip_markup : "utf8" method get_tooltip_text : "utf8" method get_tooltip_window : "Window" method get_toplevel : "Widget" method get_valign : "Align" method get_valign_with_baseline : "Align" method get_vexpand : "gboolean" method get_vexpand_set : "gboolean" method get_visible : "gboolean" method get_visual : "Gdk.Visual" method get_window : "Gdk.Window" method grab_add : "none" method grab_default : "none" method grab_focus : "none" method grab_remove : "none" method has_default : "gboolean" method has_focus : "gboolean" method has_grab : "gboolean" method has_rc_style : "gboolean" method has_screen : "gboolean" method has_visible_focus : "gboolean" method hide : "none" method hide_on_delete : "gboolean" method in_destruction : "gboolean" method init_template : "none" method input_shape_combine_region : "cairo.Region -> none" method insert_action_group : "utf8 -> Gio.ActionGroup -> none" method intersect : "Gdk.Rectangle -> Gdk.Rectangle -> gboolean" method is_ancestor : "Widget -> gboolean" method is_composited : "gboolean" method is_drawable : "gboolean" method is_focus : "gboolean" method is_sensitive : "gboolean" method is_toplevel : "gboolean" method is_visible : "gboolean" method keynav_failed : "DirectionType -> gboolean" method list_accel_closures : "GLib.List" method list_action_prefixes : "" method list_mnemonic_labels : "GLib.List" method map : "none" method mnemonic_activate : "gboolean -> gboolean" method modify_base : "StateType -> Gdk.Color -> none" method modify_bg : "StateType -> Gdk.Color -> none" method modify_cursor : "Gdk.Color -> Gdk.Color -> none" method modify_fg : "StateType -> Gdk.Color -> none" method modify_font : "Pango.FontDescription -> none" method modify_style : "RcStyle -> none" method modify_text : "StateType -> Gdk.Color -> none" method override_background_color : "StateFlags -> Gdk.RGBA -> none" method override_color : "StateFlags -> Gdk.RGBA -> none" method override_cursor : "Gdk.RGBA -> Gdk.RGBA -> none" method override_font : "Pango.FontDescription -> none" method override_symbolic_color : "utf8 -> Gdk.RGBA -> none" method path : "guint -> utf8 -> utf8 -> none" method queue_allocate : "none" method queue_compute_expand : "none" method queue_draw : "none" method queue_draw_area : "gint -> gint -> gint -> gint -> none" method queue_draw_region : "cairo.Region -> none" method queue_resize : "none" method queue_resize_no_redraw : "none" method realize : "none" method region_intersect : "cairo.Region -> cairo.Region" method register_window : "Gdk.Window -> none" method remove_accelerator : "AccelGroup -> guint -> Gdk.ModifierType -> gboolean" method remove_mnemonic_label : "Widget -> none" method remove_tick_callback : "guint -> none" method render_icon : "utf8 -> gint -> utf8 -> GdkPixbuf.Pixbuf" method render_icon_pixbuf : "utf8 -> gint -> GdkPixbuf.Pixbuf" method reparent : "Widget -> none" method reset_rc_styles : "none" method reset_style : "none" method send_expose : "Gdk.Event -> gint" method send_focus_change : "Gdk.Event -> gboolean" method set_accel_path : "utf8 -> AccelGroup -> none" method set_allocation : "Allocation -> none" method set_app_paintable : "gboolean -> none" method set_can_default : "gboolean -> none" method set_can_focus : "gboolean -> none" method set_child_visible : "gboolean -> none" method set_clip : "Allocation -> none" method set_composite_name : "utf8 -> none" method set_device_enabled : "Gdk.Device -> gboolean -> none" method set_device_events : "Gdk.Device -> Gdk.EventMask -> none" method set_direction : "TextDirection -> none" method set_double_buffered : "gboolean -> none" method set_events : "gint -> none" method set_focus_on_click : "gboolean -> none" method set_font_map : "Pango.FontMap -> none" method set_font_options : "cairo.FontOptions -> none" method set_halign : "Align -> none" method set_has_tooltip : "gboolean -> none" method set_has_window : "gboolean -> none" method set_hexpand : "gboolean -> none" method set_hexpand_set : "gboolean -> none" method set_mapped : "gboolean -> none" method set_margin_bottom : "gint -> none" method set_margin_end : "gint -> none" method set_margin_left : "gint -> none" method set_margin_right : "gint -> none" method set_margin_start : "gint -> none" method set_margin_top : "gint -> none" method set_name : "utf8 -> none" method set_no_show_all : "gboolean -> none" method set_opacity : "gdouble -> none" method set_parent : "Widget -> none" method set_parent_window : "Gdk.Window -> none" method set_realized : "gboolean -> none" method set_receives_default : "gboolean -> none" method set_redraw_on_allocate : "gboolean -> none" method set_sensitive : "gboolean -> none" method set_size_request : "gint -> gint -> none" method set_state : "StateType -> none" method set_state_flags : "StateFlags -> gboolean -> none" method set_style : "Style -> none" method set_support_multidevice : "gboolean -> none" method set_tooltip_markup : "utf8 -> none" method set_tooltip_text : "utf8 -> none" method set_tooltip_window : "Window -> none" method set_valign : "Align -> none" method set_vexpand : "gboolean -> none" method set_vexpand_set : "gboolean -> none" method set_visible : "gboolean -> none" method set_visual : "Gdk.Visual -> none" method set_window : "Gdk.Window -> none" method shape_combine_region : "cairo.Region -> none" method show : "none" method show_all : "none" method show_now : "none" method size_allocate : "Allocation -> none" method size_allocate_with_baseline : "Allocation -> gint -> none" method size_request : "Requisition -> none" method style_attach : "none" method style_get : "utf8 -> -> none" method style_get_property : "utf8 -> GObject.Value -> none" method style_get_valist : "utf8 -> va_list -> none" method thaw_child_notify : "none" method translate_coordinates : "Widget -> gint -> gint -> gint -> gint -> gboolean" method trigger_tooltip_query : "none" method unmap : "none" method unparent : "none" method unrealize : "none" method unregister_window : "Gdk.Window -> none" method unset_state_flags : "StateFlags -> none" "app-paintable" gboolean : Read / Write "can-default" gboolean : Read / Write "can-focus" gboolean : Read / Write "composite-child" gboolean : Read "double-buffered" gboolean : Read / Write "events" Gdk.EventMask : Read / Write "expand" gboolean : Read / Write "focus-on-click" gboolean : Read / Write "halign" Align : Read / Write "has-default" gboolean : Read / Write "has-focus" gboolean : Read / Write "has-tooltip" gboolean : Read / Write "height-request" gint : Read / Write "hexpand" gboolean : Read / Write "hexpand-set" gboolean : Read / Write "is-focus" gboolean : Read / Write "margin" gint : Read / Write "margin-bottom" gint : Read / Write "margin-end" gint : Read / Write "margin-left" gint : Read / Write "margin-right" gint : Read / Write "margin-start" gint : Read / Write "margin-top" gint : Read / Write "name" utf8 : Read / Write "no-show-all" gboolean : Read / Write "opacity" gdouble : Read / Write "parent" Container : Read / Write "receives-default" gboolean : Read / Write "scale-factor" gint : Read "sensitive" gboolean : Read / Write "style" Style : Read / Write "tooltip-markup" utf8 : Read / Write "tooltip-text" utf8 : Read / Write "valign" Align : Read / Write "vexpand" gboolean : Read / Write "vexpand-set" gboolean : Read / Write "visible" gboolean : Read / Write "width-request" gint : Read / Write "window" Gdk.Window : Read signal accel_closures_changed : -> none signal button_press_event : Gdk.EventButton -> gboolean signal button_release_event : Gdk.EventButton -> gboolean signal can_activate_accel : guint -> gboolean signal child_notify : GObject.ParamSpec -> none signal composited_changed : -> none signal configure_event : Gdk.EventConfigure -> gboolean signal damage_event : Gdk.EventExpose -> gboolean signal delete_event : Gdk.Event -> gboolean signal destroy : -> none signal destroy_event : Gdk.Event -> gboolean signal direction_changed : TextDirection -> none signal drag_begin : Gdk.DragContext -> none signal drag_data_delete : Gdk.DragContext -> none signal drag_data_get : Gdk.DragContextSelectionDataguintguint -> none signal drag_data_received : Gdk.DragContextgintgintSelectionDataguintguint -> none signal drag_drop : Gdk.DragContextgintgintguint -> gboolean signal drag_end : Gdk.DragContext -> none signal drag_failed : Gdk.DragContextDragResult -> gboolean signal drag_leave : Gdk.DragContextguint -> none signal drag_motion : Gdk.DragContextgintgintguint -> gboolean signal draw : cairo.Context -> gboolean signal enter_notify_event : Gdk.EventCrossing -> gboolean signal event : Gdk.Event -> gboolean signal event_after : Gdk.Event -> none signal focus : DirectionType -> gboolean signal focus_in_event : Gdk.EventFocus -> gboolean signal focus_out_event : Gdk.EventFocus -> gboolean signal grab_broken_event : Gdk.EventGrabBroken -> gboolean signal grab_focus : -> none signal grab_notify : gboolean -> none signal hide : -> none signal hierarchy_changed : Widget -> none signal key_press_event : Gdk.EventKey -> gboolean signal key_release_event : Gdk.EventKey -> gboolean signal keynav_failed : DirectionType -> gboolean signal leave_notify_event : Gdk.EventCrossing -> gboolean signal map : -> none signal map_event : Gdk.EventAny -> gboolean signal mnemonic_activate : gboolean -> gboolean signal motion_notify_event : Gdk.EventMotion -> gboolean signal move_focus : DirectionType -> none signal parent_set : Widget -> none signal popup_menu : -> gboolean signal property_notify_event : Gdk.EventProperty -> gboolean signal proximity_in_event : Gdk.EventProximity -> gboolean signal proximity_out_event : Gdk.EventProximity -> gboolean signal query_tooltip : gintgintgbooleanTooltip -> gboolean signal realize : -> none signal screen_changed : Gdk.Screen -> none signal scroll_event : Gdk.EventScroll -> gboolean signal selection_clear_event : Gdk.EventSelection -> gboolean signal selection_get : SelectionDataguintguint -> none signal selection_notify_event : Gdk.EventSelection -> gboolean signal selection_received : SelectionDataguint -> none signal selection_request_event : Gdk.EventSelection -> gboolean signal show : -> none signal show_help : WidgetHelpType -> gboolean signal size_allocate : Allocation -> none signal state_changed : StateType -> none signal state_flags_changed : StateFlags -> none signal style_set : Style -> none signal style_updated : -> none signal touch_event : Gdk.Event -> gboolean signal unmap : -> none signal unmap_event : Gdk.EventAny -> gboolean signal unrealize : -> none signal visibility_notify_event : Gdk.EventVisibility -> gboolean signal window_state_event : Gdk.EventWindowState -> gboolean } class WidgetAccessible set wrap wrapsig : Accessible { } class Window set wrap wrapsig : Bin { method activate_default : "gboolean" method activate_focus : "gboolean" method activate_key : "Gdk.EventKey -> gboolean" method add_accel_group : "AccelGroup -> none" method add_mnemonic : "guint -> Widget -> none" method begin_move_drag : "gint -> gint -> gint -> guint32 -> none" method begin_resize_drag : "Gdk.WindowEdge -> gint -> gint -> gint -> guint32 -> none" method close : "none" method deiconify : "none" method fullscreen : "none" method fullscreen_on_monitor : "Gdk.Screen -> gint -> none" method get_accept_focus : "gboolean" method get_application : "Application" method get_attached_to : "Widget" method get_decorated : "gboolean" method get_default_size : "gint -> gint -> none" method get_default_widget : "Widget" method get_deletable : "gboolean" method get_destroy_with_parent : "gboolean" method get_focus : "Widget" method get_focus_on_map : "gboolean" method get_focus_visible : "gboolean" method get_gravity : "Gdk.Gravity" method get_group : "WindowGroup" method get_has_resize_grip : "gboolean" method get_hide_titlebar_when_maximized : "gboolean" method get_icon : "GdkPixbuf.Pixbuf" method get_icon_list : "GLib.List" method get_icon_name : "utf8" method get_mnemonic_modifier : "Gdk.ModifierType" method get_mnemonics_visible : "gboolean" method get_modal : "gboolean" method get_opacity : "gdouble" method get_position : "gint -> gint -> none" method get_resizable : "gboolean" method get_resize_grip_area : "Gdk.Rectangle -> gboolean" method get_role : "utf8" method get_screen : "Gdk.Screen" method get_size : "gint -> gint -> none" method get_skip_pager_hint : "gboolean" method get_skip_taskbar_hint : "gboolean" method get_title : "utf8" method get_titlebar : "Widget" method get_transient_for : "Window" method get_type_hint : "Gdk.WindowTypeHint" method get_urgency_hint : "gboolean" method get_window_type : "WindowType" method has_group : "gboolean" method has_toplevel_focus : "gboolean" method iconify : "none" method is_active : "gboolean" method is_maximized : "gboolean" method maximize : "none" method mnemonic_activate : "guint -> Gdk.ModifierType -> gboolean" method move : "gint -> gint -> none" method parse_geometry : "utf8 -> gboolean" method present : "none" method present_with_time : "guint32 -> none" method propagate_key_event : "Gdk.EventKey -> gboolean" method remove_accel_group : "AccelGroup -> none" method remove_mnemonic : "guint -> Widget -> none" method reshow_with_initial_size : "none" method resize : "gint -> gint -> none" method resize_grip_is_visible : "gboolean" method resize_to_geometry : "gint -> gint -> none" method set_accept_focus : "gboolean -> none" method set_application : "Application -> none" method set_attached_to : "Widget -> none" method set_decorated : "gboolean -> none" method set_default : "Widget -> none" method set_default_geometry : "gint -> gint -> none" method set_default_size : "gint -> gint -> none" method set_deletable : "gboolean -> none" method set_destroy_with_parent : "gboolean -> none" method set_focus : "Widget -> none" method set_focus_on_map : "gboolean -> none" method set_focus_visible : "gboolean -> none" method set_geometry_hints : "Widget -> Gdk.Geometry -> Gdk.WindowHints -> none" method set_gravity : "Gdk.Gravity -> none" method set_has_resize_grip : "gboolean -> none" method set_has_user_ref_count : "gboolean -> none" method set_hide_titlebar_when_maximized : "gboolean -> none" method set_icon : "GdkPixbuf.Pixbuf -> none" method set_icon_from_file : "filename -> gboolean" method set_icon_list : "GLib.List -> none" method set_icon_name : "utf8 -> none" method set_keep_above : "gboolean -> none" method set_keep_below : "gboolean -> none" method set_mnemonic_modifier : "Gdk.ModifierType -> none" method set_mnemonics_visible : "gboolean -> none" method set_modal : "gboolean -> none" method set_opacity : "gdouble -> none" method set_position : "WindowPosition -> none" method set_resizable : "gboolean -> none" method set_role : "utf8 -> none" method set_screen : "Gdk.Screen -> none" method set_skip_pager_hint : "gboolean -> none" method set_skip_taskbar_hint : "gboolean -> none" method set_startup_id : "utf8 -> none" method set_title : "utf8 -> none" method set_titlebar : "Widget -> none" method set_transient_for : "Window -> none" method set_type_hint : "Gdk.WindowTypeHint -> none" method set_urgency_hint : "gboolean -> none" method set_wmclass : "utf8 -> utf8 -> none" method stick : "none" method unfullscreen : "none" method unmaximize : "none" method unstick : "none" "accept-focus" gboolean : Read / Write "application" Application : Read / Write "attached-to" Widget : Read / Write "decorated" gboolean : Read / Write "default-height" gint : Read / Write "default-width" gint : Read / Write "deletable" gboolean : Read / Write "destroy-with-parent" gboolean : Read / Write "focus-on-map" gboolean : Read / Write "focus-visible" gboolean : Read / Write "gravity" Gdk.Gravity : Read / Write "has-resize-grip" gboolean : Read / Write "has-toplevel-focus" gboolean : Read "hide-titlebar-when-maximized" gboolean : Read / Write "icon" GdkPixbuf.Pixbuf : Read / Write "icon-name" utf8 : Read / Write "is-active" gboolean : Read "is-maximized" gboolean : Read "mnemonics-visible" gboolean : Read / Write "modal" gboolean : Read / Write "resizable" gboolean : Read / Write "resize-grip-visible" gboolean : Read "role" utf8 : Read / Write "screen" Gdk.Screen : Read / Write "skip-pager-hint" gboolean : Read / Write "skip-taskbar-hint" gboolean : Read / Write "startup-id" utf8 : Write "title" utf8 : Read / Write "transient-for" Window : Read / Write "type" WindowType : Read / Write "type-hint" Gdk.WindowTypeHint : Read / Write "urgency-hint" gboolean : Read / Write "window-position" WindowPosition : Read / Write signal activate_default : -> none signal activate_focus : -> none signal enable_debugging : gboolean -> gboolean signal keys_changed : -> none signal set_focus : Widget -> none } class WindowAccessible set wrap wrapsig : ContainerAccessible { } lablgtk-3.1.2/tools/introspection/Makefile0000644000650106067230000000203414161276610017477 0ustar glondusedOCAMLC=ocamlc OPT=-g -dtypes INCLUDES= -I xml-light xml-light.cma GIRA=/usr/share/gir-1.0/Gtk-3.0.gir GIR=Gtk-3.0 all: high check extract_stubs: extract_prototype.ml xml-light/xml-light.cma $(OCAMLC) $(OPT) $(INCLUDES) -o $@ $^ test: extract_stubs ./extract_stubs $(GIRA) > LOG check: test cd stubs ; ocamlc -c -ccopt '`pkg-config --cflags gtk+-3.0`' ml_stubs_Gtk.c clean: rm -f extract_stubs *.annot extract_prototype.cm* ml_stubs.c stubs.ml $(MAKE) -C xml-light clean xml-light/xml-light.cma: $(MAKE) -C xml-light ################################################################ high: $(GIR).props propcc link ./propcc $< .PHONY: all link: $(GIRA) ln -f -s $(GIRA) . $(GIR).props: $(GIR).gir gir_to_props.xsl xsltproc -o $@ gir_to_props.xsl $< #$(GIR): /usr/lib/x86_64-linux-gnu/girepository-1.0/Gtk-3.0.typelib #g-ir-generate -o $@ $< propcc.ml: propcc.ml4 camlp5o -impl $< -o $@ propcc.cmo: propcc.ml genlex.cmo ocamlc -c $< genlex.cmo: genlex.ml ocamlc -c $< propcc: propcc.cmo genlex.cmo ocamlc -o $@ genlex.cmo $< lablgtk-3.1.2/tools/introspection/extract_prototype.ml0000644000650106067230000010242514161276610022175 0ustar glondusedopen Xml let debug = ref false let included_modules = Hashtbl.create 17 let ml_header = Buffer.create 99 let add_ml_header s = Buffer.add_string ml_header s let () = add_ml_header "type -'a obj\n" let c_header= Buffer.create 99 let add_c_header s = Buffer.add_string c_header s let pre_fill_header () = add_c_header "#include \n\ #include \n\ #define Val_double(val) caml_copy_double(val)\n\ #define Val_string_new(val) caml_copy_string(val)\n\ #define Val_int32(val) caml_copy_int32(val)\n\ #define Val_int32_new(val) caml_copy_int32(val)\n" let () = pre_fill_header () let reset_headers () = Buffer.clear ml_header; Buffer.clear c_header; pre_fill_header () (* #include #define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API #include #include #include *) module SSet= Set.Make(struct type t = string let compare = Pervasives.compare end) let caml_avoid = List.fold_right SSet.add ["let";"external";"open";"true";"false";"exit"; "match"] SSet.empty let is_caml_avoid s = let c = Char.lowercase_ascii (s.[0]) in let s = Bytes.of_string s in Bytes.set s 0 c ; let s = Bytes.to_string s in SSet.mem s caml_avoid type c_simple_stub = {cs_nb_arg:int; cs_c_name:string; cs_ret:string; cs_params:string list} type c_stub = Simple of c_simple_stub | Complex of string type ml_stub = { ms_c_name:string; ms_ml_name:string; ms_ret:string; ms_params:string list; } type stub = { stub_c:c_stub; stub_external:ml_stub; } type transfer_ownership = ODefault | OFull | ONone | OContainer type direction = DDefault | DIn | DOut | DInOut type c_typ = { mutable t_name:string; mutable t_c_typ:string; mutable t_content: c_typ option } type c_array = { mutable a_c_typ:string; mutable a_fixed_size:string; mutable a_zero_terminated: string; mutable a_length: string; (* rank of arg containing length?*) mutable a_typ: c_typ } type bf_member = { mutable bfm_name:string; mutable bfm_value:string; mutable bfm_c_identifier:string; } type bf = { mutable bf_name:string; mutable bf_ctype:string; mutable bf_members: bf_member list } type typ = NoType | Array of c_array | Typ of c_typ type parameter = { mutable p_name:string; mutable p_ownership: transfer_ownership; mutable p_typ: typ; mutable p_scope:string; mutable p_closure:string; mutable p_destroy:string; mutable p_direction:direction; mutable p_allow_none:bool; mutable p_caller_allocates:bool; mutable p_doc:string; mutable p_varargs:bool; } type return_value = { mutable r_ownership: transfer_ownership; mutable r_typ : typ; mutable r_doc : string; } type function_ = { mutable f_name:string; mutable c_identifier:string; mutable version:string; mutable doc:string; mutable return_value: return_value; mutable parameters: parameter list; mutable deprecated: string; mutable deprecated_version:string; mutable throws: bool; mutable introspectable: bool; } type constant = { mutable const_name:string; mutable const_type:c_typ; mutable const_value:string; } type constructor = function_ type c_method = function_ type property = { mutable pr_name:string; mutable pr_version:string; mutable pr_writable:bool; mutable pr_readable:bool; mutable pr_construct:bool; mutable pr_construct_only:bool; mutable pr_doc:string; mutable pr_typ:typ;} type signal type klass = {mutable c_name:string; mutable c_c_type:string; mutable c_abstract:bool; mutable c_doc:string; mutable c_parent:string; mutable c_glib_type_name:string; mutable c_glib_get_type:string; mutable c_glib_type_struct:string; mutable c_constructors: constructor list; mutable c_methods: c_method list; mutable c_functions: function_ list; mutable c_properties : property list; mutable c_glib_signals : signal list; mutable c_disguised:bool } type namespace = { mutable ns_name: string; mutable ns_c_symbol_prefixes: string; mutable ns_c_identifier_prefixes: string; mutable ns_version: string; mutable ns_constants: constant list; mutable ns_klass: klass list; mutable ns_functions: function_ list; mutable ns_bf: bf list; mutable ns_shared_library: string; } type included = { mutable inc_name: string; mutable inc_version: string; } type package = { mutable pack_name: string; } type c_include = { mutable c_inc_name: string; } type repository = { mutable rep_version:string; mutable rep_xmlns:string; mutable rep_xmlns_c:string; mutable rep_xmlns_glib:string; mutable rep_includes: included list; mutable rep_package: package; mutable rep_c_include: c_include; mutable rep_namespace: namespace; } module Pretty = struct let rec pp_list sep fmt l = match l with | [] -> () | e::r -> Format.fprintf fmt "%s%s" e sep; pp_list sep fmt r let rec pp_args sep fmt l = match l with | [] -> () | (n,v)::r -> Format.fprintf fmt "'%s'='%s'%s" n v sep; pp_args sep fmt r end let dummy_bfm () = { bfm_c_identifier="";bfm_value="";bfm_name=""} let dummy_bf () = { bf_name="";bf_ctype="";bf_members=[] } let dummy_ownership () = ODefault let dummy_typ () = NoType let dummy_c_typ () = {t_name="";t_c_typ="";t_content=None} let dummy_array () = {a_c_typ=""; a_fixed_size=""; a_zero_terminated=""; a_length=""; a_typ= dummy_c_typ(); } let dummy_parameter () = {p_name="";p_ownership=dummy_ownership (); p_typ=dummy_typ (); p_scope="";p_closure="";p_destroy="";p_direction=DDefault; p_caller_allocates=true; p_allow_none=false;p_doc="";p_varargs=false;} let dummy_property () = {pr_name="";pr_version=""; pr_typ=dummy_typ (); pr_writable=false; pr_readable=true; pr_construct=false; pr_construct_only=false; pr_doc="";} let dummy_return_value () = {r_ownership=dummy_ownership (); r_typ=dummy_typ(); r_doc=""} let dummy_function () = { f_name="";c_identifier="";version="";doc=""; return_value=dummy_return_value (); parameters= [];deprecated=""; deprecated_version="";throws=false;introspectable=true;} let dummy_constant () = {const_name="";const_type=dummy_c_typ();const_value=""} let dummy_klass () = { c_name=""; c_c_type = ""; c_abstract = false; c_disguised=false; c_doc = ""; c_parent=""; c_glib_type_name=""; c_glib_get_type=""; c_glib_type_struct=""; c_constructors=[]; c_methods=[]; c_functions=[]; c_properties=[]; c_glib_signals=[]; } let dummy_namespace () = { ns_name=""; ns_c_symbol_prefixes=""; ns_c_identifier_prefixes=""; ns_version="0"; ns_klass = []; ns_functions = []; ns_constants= []; ns_shared_library = ""; ns_bf=[]; } let dummy_package () = {pack_name = "";} let dummy_c_include () = { c_inc_name = "";} let dummy_repository () = { rep_version=""; rep_xmlns = ""; rep_xmlns_c = ""; rep_xmlns_glib = ""; rep_includes = []; rep_package = dummy_package (); rep_c_include = dummy_c_include (); rep_namespace = dummy_namespace (); } let debug_ownership fmt o = Format.fprintf fmt "%s" (match o with | ODefault -> "default" | OFull -> "full" | ONone -> "none" | OContainer -> "container") let debug_array fmt a = Format.fprintf fmt "ARRAY" let debug_ctyp fmt t = Format.fprintf fmt "@[tname:%s@]@ @[t_c_typ:%s@]" t.t_name t.t_c_typ let debug_typ fmt t = match t with | NoType -> Format.fprintf fmt "NOTYPE" | Array a -> debug_array fmt a | Typ t -> debug_ctyp fmt t let debug_parameter fmt p = Format.fprintf fmt "(%a%s%s) @[%a@]%s@ " debug_ownership p.p_ownership (match p.p_direction with | DDefault -> "" | DIn -> ",in" | DOut -> ",out" | DInOut -> ",inout") (if p.p_allow_none then ",?" else "") debug_typ p.p_typ (if p.p_caller_allocates then "" else "(not caller allocates)") let debug_parameters fmt l = let c = ref 0 in List.iter (fun p -> Format.fprintf fmt "param %d:@[%a@]@\n" !c debug_parameter p; incr c;) l let debug_return_value fmt r = Format.fprintf fmt "(%a) %a" debug_ownership r.r_ownership debug_typ r.r_typ let debug_function fmt l = Format.fprintf fmt "@[Name='%s'@ C:'%s'@ Version:'%s'@ Deprecated since '%s'(%s)@\n\ Returns: @[%a@]@\n\ Args:@[%a@]@]" l.f_name l.c_identifier l.version l.deprecated_version l.deprecated debug_return_value l.return_value debug_parameters l.parameters let debug_property fmt p = Format.fprintf fmt "@[Name='%s'@ Version:'%s'@ Writable:%b Readable:%b@\n\ Type: @[%a@]@]" p.pr_name p.pr_version p.pr_writable p.pr_readable debug_typ p.pr_typ let debug_klass fmt k = Format.fprintf fmt "@[Class: '%s'@ Parent:'%s'@ Abstract:%b@ \ C type:'%s'@ get_type:'%s'" k.c_name k.c_parent k.c_abstract k.c_glib_type_name k.c_glib_get_type ; List.iter (fun f -> Format.fprintf fmt "Constructor %a@\n" debug_function f) k.c_constructors; List.iter (fun f -> Format.fprintf fmt "Function %a@\n" debug_function f) k.c_functions; List.iter (fun f -> Format.fprintf fmt "Method %a@\n" debug_function f) k.c_methods; List.iter (fun f -> Format.fprintf fmt "Property %a@\n" debug_property f) k.c_properties; Format.fprintf fmt "@]" let debug_namespace fmt n = Format.fprintf fmt "@[Namespace: '%s'@ " n.ns_name; List.iter (fun k -> Format.fprintf fmt "@[%a@]@\n" debug_klass k) n.ns_klass; Format.fprintf fmt "@]@\n" let debug_repository fmt rep = Format.fprintf fmt "@[Repository: '%s'@ " rep.rep_version; debug_namespace fmt rep.rep_namespace; Format.fprintf fmt "@]@\n" exception Cannot_emit of string let fail_emit s = raise (Cannot_emit s) module Translations = struct let tbl = Hashtbl.create 17 let base_translation = [ ["gboolean"],("Val_bool","Bool_val",fun _ ->"bool"); [ "int"; "gint";"guint";"guint8";"gint8"; "guint16";"gint16"; "gushort"; "char";"gchar";"guchar"; "gssize";"gsize"], ("Val_int","Int_val",fun _ -> "int"); [ "gint32";"guint32";"gunichar"], ("Val_int32","Int32_val",fun _ -> "int32"); [ "gint64";"guint64";], ("Val_int64","Int64_val",fun _ -> "int64"); [ "void" ] , ("Unit","void_param????",fun _ -> "unit"); ["gdouble"; "long double"; "glong"; "gulong" ; "double"] , ("Val_double","Double_val",fun _ -> "float"); [ "gchar*";"char*"; "guchar*" ], ("Val_string","String_val",fun _ -> "string"); ] let () = List.iter (fun (kl,v) -> List.iter (fun k -> Hashtbl.add tbl k v) kl) base_translation let find k = try Hashtbl.find tbl k with Not_found -> fail_emit ("Cannot translate type " ^k) let to_type_macro s = match s with | "GtkCList" -> "GTK_CLIST" | "GtkCTree" -> "GTK_CTREE" | "GtkHSV" -> "GTK_HSV" | "GtkIMContext" -> "GTK_IM_CONTEXT" | "GtkIMMulticontext" -> "GTK_IM_MULTICONTEXT" | "GtkUIManager" -> "GTK_UI_MANAGER" | "GdkDisplay" -> "GDK_DISPLAY_OBJECT" | "GdkGC" -> "GDK_GC" | _ -> let length = String.length s in if length <= 1 then String.uppercase_ascii s else let buff = Buffer.create (length+3) in Buffer.add_char buff s.[0]; for i=1 to length-1 do if 'A'<=s.[i] && s.[i]<='Z' then begin Buffer.add_char buff '_'; Buffer.add_char buff s.[i] end else Buffer.add_char buff (Char.uppercase_ascii s.[i]) done; Buffer.contents buff let add_klass_type ~is_record c_typ = if c_typ <> "" then let val_of = "Val_"^c_typ in let of_val = c_typ^"_val" in if is_record then begin add_c_header (Format.sprintf "/*TODO: conversion for record '%s' */@." c_typ) end else begin add_c_header (Format.sprintf "#define %s(val) check_cast(%s,val)@." of_val (to_type_macro c_typ)); add_c_header (Format.sprintf "#define %s(val) Val_GObject((GObject*)val)@." val_of); add_c_header (Format.sprintf "#define %s_new(val) Val_GObject_new((GObject*)val)@." val_of); end; Hashtbl.add tbl (c_typ^"*") (val_of,of_val, fun variance -> Format.sprintf "[%c`%s] obj" variance (String.lowercase_ascii c_typ)) end let repositories = ref [] let register_reposirory n = repositories:=n::!repositories let get_repositories () = List.rev !repositories module Emit = struct let emit_parameter rank p = match p.p_typ with | NoType -> fail_emit "NoType(p)" | Array _ -> fail_emit "Array(TODO)" | Typ ct -> match p.p_direction with | DIn | DDefault -> let ctyp = match p.p_ownership with | OFull -> ct.t_c_typ ^"*" | _ -> ct.t_c_typ in let _,c_base,ml_base = Translations.find ctyp in let ml_base = ml_base '>' in if p.p_allow_none then Format.sprintf "Option_val(arg%d,%s,NULL) Ignore" rank c_base, ml_base^" option" else c_base,ml_base | DOut | DInOut -> fail_emit "(out)" let emit_parameters throws l = let l = if throws then let gerror = dummy_parameter()in let t = dummy_c_typ () in t.t_c_typ<-"GError**"; gerror.p_name<-"error"; gerror.p_typ<-Typ t; l@[gerror] else l in let counter = ref 0 in List.split (List.map (fun p -> incr counter;emit_parameter !counter p) l) let emit_return_value r = match r.r_typ with | NoType -> fail_emit "NoType" | Array _ -> fail_emit "Array" | Typ ct -> let c_typ,_,ml_typ = Translations.find ct.t_c_typ in match r.r_ownership with | OFull -> c_typ ^ "_new",ml_typ | ONone | ODefault | OContainer -> c_typ,ml_typ let emit_prototype f = let nb_args = List.length f.parameters in let c_params,ml_params = emit_parameters f.throws f.parameters in let c_ret,ml_ret = emit_return_value f.return_value in let ml_ret = ml_ret '<' in {stub_c=Simple {cs_nb_arg=nb_args; cs_c_name=f.c_identifier; cs_ret=c_ret; cs_params=c_params}; stub_external={ms_c_name="ml_"^f.c_identifier; ms_ml_name=f.f_name; ms_ret=ml_ret; ms_params= match ml_params with | [] -> ["unit"] | _ -> ml_params;}} let emit_method k m = try let self = dummy_parameter()in let t = dummy_c_typ () in t.t_c_typ<-k.c_c_type^"*"; self.p_name<-"self"; self.p_typ<-Typ t; let nb_args = List.length m.parameters+1 in let c_params,ml_params = emit_parameters m.throws (self::m.parameters) in let c_ret,ml_ret = emit_return_value m.return_value in let ml_ret = ml_ret '<' in Some {stub_c=Simple {cs_nb_arg=nb_args; cs_c_name=m.c_identifier; cs_ret=c_ret; cs_params=c_params}; stub_external={ms_c_name="ml_"^m.c_identifier; ms_ml_name=m.f_name; ms_ret=ml_ret; ms_params=ml_params;}} with Cannot_emit s -> Format.printf "Cannot emit method %s::%S '%s'@." k.c_name m.f_name s; None let emit_function p = try Some (emit_prototype p) with Cannot_emit s -> Format.printf "Cannot emit function %s:'%s'@." p.c_identifier s; None let emit_klass k = let methods = List.map (emit_method k) k.c_methods in let functions = List.map emit_function k.c_functions in k.c_name,methods,functions module Print = struct open Pretty let c_stub fmt s = match s with | Simple s -> Format.fprintf fmt "ML_%d(%s,%a%s)@\n" s.cs_nb_arg s.cs_c_name (pp_list ", ") s.cs_params s.cs_ret; if s.cs_nb_arg>=6 then Format.fprintf fmt "ML_bc%d(ml_%s)@ " s.cs_nb_arg s.cs_c_name | Complex s -> Format.fprintf fmt "%s@." s let ml_stub fmt s = Format.fprintf fmt "external %s: %a%s = \"%s\"@ " s.ms_ml_name (pp_list " -> ") s.ms_params s.ms_ret s.ms_c_name let stub fmt s = Format.fprintf fmt "=====@.%a%a@." c_stub s.stub_c ml_stub s.stub_external let may_ml_stub fmt s = match s with | Some s -> ml_stub fmt s.stub_external | None -> () let may_c_stub fmt s = match s with | Some s -> c_stub fmt s.stub_c | None -> () let klass ~ml ~c (k_name,methods,functions) = Format.fprintf ml "@[module %s = struct@\n" k_name; List.iter (may_ml_stub ml) methods; List.iter (may_ml_stub ml) functions; Format.fprintf ml "@]end@\n"; Format.fprintf c "@[/* Module %s */@\n" k_name; List.iter (may_c_stub c) methods; List.iter (may_c_stub c) functions; Format.fprintf c "@]/* end of %s */@\n" k_name let functions ~ml ~c f = Format.fprintf ml "@[(* Global functions *)@\n"; List.iter (may_ml_stub ml) f; Format.fprintf ml "(* End of global functions *)@]@\n"; Format.fprintf c "@[/* Global functions */@\n"; List.iter (may_c_stub c) f; Format.fprintf c "/* End of global functions */@]@\n" let repository r = let n = r.rep_namespace in let stub_ml_channel = open_out ("stubs/stubs_"^n.ns_name^".ml") in let ml = Format.formatter_of_out_channel stub_ml_channel in let stub_c_channel = open_out ("stubs/ml_stubs_"^n.ns_name^".c") in let c = Format.formatter_of_out_channel stub_c_channel in Format.fprintf ml "%s@\n" (Buffer.contents ml_header); Format.fprintf c "%s@\n" (Buffer.contents c_header); Format.fprintf c "#include <%s>@." r.rep_c_include.c_inc_name; Format.fprintf c "#include \"../wrappers.h\"@\n\ #include \"../ml_gobject.h\"@."; List.iter (klass ~ml ~c) (List.map emit_klass n.ns_klass); functions ~ml ~c (List.map emit_function n.ns_functions); Format.fprintf ml "@."; Format.fprintf c "@."; close_out stub_ml_channel; close_out stub_c_channel end end let debug_all () = Format.printf "ALL REPOSITORIES:@."; List.iter (fun ns -> debug_repository Format.std_formatter ns) (get_repositories ()) let rec parse_c_typ set attrs children = let typ = dummy_c_typ () in List.iter (fun (key,v) -> match key with | "name" -> typ.t_name <- v | "c:type" -> typ.t_c_typ <- v | other -> Format.printf "Ignoring attribute in typ:%s@." other) attrs; List.iter (function | PCData s -> Format.printf "Ignoring PCData in type:%s@." s | Element (key,attrs,children) -> match key with | "type" -> parse_c_typ (fun t -> typ.t_content <- Some t) attrs children | other -> Format.printf "Ignoring child in typ:%s@." other) children; set typ let parse_type_name set attrs = let typ = dummy_c_typ () in List.iter (fun (key,v) -> match key with | "name" -> typ.t_name <- v | "c:type" -> typ.t_c_typ <- v | other -> Format.printf "Ignoring attribute in basic typ %s:%s@." typ.t_name other) attrs; set typ let parse_alias attrs children = let fresh = ref (dummy_c_typ ()) in parse_type_name (fun t -> fresh := t) attrs; let old = ref (dummy_c_typ ()) in List.iter (function | PCData s -> Format.printf "Ignoring PCData in type alias %s:%s@." !fresh.t_name s | Element (key,attrs,children) -> (match key with | "type" -> parse_type_name (fun t -> old := t) attrs | "doc" when not !debug -> () | other -> Format.printf "Ignoring child in type alias %s:%s@." !fresh.t_name other)) children; if !debug then Format.printf "Parsing alias: %s@." !fresh.t_name; let old_trans = Translations.find !old.t_c_typ in Hashtbl.add Translations.tbl !fresh.t_c_typ old_trans let parse_constant set attrs children = let result = dummy_constant () in List.iter (fun (key,v) -> match key with | "name" -> result.const_name <- v | "value" -> result.const_value <- v | other -> Format.printf "Ignoring attribute in constant %s:%s@." result.const_name other) attrs; List.iter (function | PCData s -> Format.printf "Ignoring PCData in constant %s:%s@." result.const_name s | Element (key,attrs,children) -> (match key with | "type" -> parse_type_name (fun t -> result.const_type <- t) attrs | other -> Format.printf "Ignoring child in constant %s:%s@." result.const_name other)) children; set result let parse_ownership set s = match s with "full" -> set OFull | "none" -> set ONone | "container" -> set OContainer | s -> Format.printf "Ignoring ownership transfer '%s'@." s let parse_array set attrs children = let r = dummy_array () in List.iter (fun (key,v) -> match key with | "c:type" -> r.a_c_typ <- v | "length" -> r.a_length <- v | "name" when not !debug -> () | other -> Format.printf "Ignoring attribute in array: %s@." other) attrs; List.iter (function | PCData s -> Format.printf "Ignoring PCData in array:%s@." s | Element (key,attrs,children) -> match key with | "type" -> parse_c_typ (fun t -> r.a_typ <-t) attrs children | other -> Format.printf "Ignoring child in array:%s@." other) children; set r let parse_return_value set attrs children = let r = dummy_return_value () in List.iter (fun (key,v) -> match key with | "transfer-ownership" -> parse_ownership (fun o -> r.r_ownership <-o) v | "doc" -> r.r_doc <- v | other -> Format.printf "Ignoring attribute in return-value:%s@." other) attrs; List.iter (function | PCData s -> Format.printf "Ignoring PCData in return-value:%s@." s | Element (key,attrs,children) -> match key with | "type" -> parse_c_typ (fun t -> assert (r.r_typ= NoType); r.r_typ <-Typ t) attrs children | "array" -> parse_array (fun t -> assert (r.r_typ= NoType); r.r_typ <- Array t) attrs children | "doc" when not !debug -> () | other -> Format.printf "Ignoring child in return-value:%s@." other) children; set r let parse_property set attrs children = let p = dummy_property () in List.iter (fun (key,v) -> match key with | "name" -> p.pr_name <- v | "doc" -> p.pr_doc <- v | "version" -> p.pr_version <- v | "writable" -> p.pr_writable <- v="1" | "readable" -> p.pr_readable <- v="1" | "construct" -> p.pr_construct <- v="1" | "construct-only" -> p.pr_construct_only <- v="1" | other -> Format.printf "Ignoring attribute in property:%s@." other) attrs; List.iter (function | PCData s -> Format.printf "Ignoring PCData in property:%s@." s | Element (key,attrs,children) -> match key with | "type" -> parse_c_typ (fun t -> assert (p.pr_typ=NoType); p.pr_typ <-Typ t) attrs children | "array" -> parse_array (fun t -> assert (p.pr_typ= NoType); p.pr_typ <- Array t) attrs children | other -> Format.printf "Ignoring child in property:%s@." other) children; set p let parse_parameter set attrs children = let r = dummy_parameter () in List.iter (fun (key,v) -> match key with | "name" -> r.p_name <- v | "transfer-ownership" -> parse_ownership (fun o -> r.p_ownership <- o) v | "scope" -> r.p_scope <- v | "closure" -> r.p_closure <- v | "destroy" -> r.p_destroy <- v | "direction" -> begin match v with | "in" -> r.p_direction <- DIn | "out" -> r.p_direction <- DOut | "inout" -> r.p_direction <- DInOut | s -> Format.printf "Ignoring direction in parameter: %s@." s end | "allow-none" -> r.p_allow_none <- v="1" | "caller-allocates" -> r.p_caller_allocates <- v="1" | "doc" -> r.p_doc <- v | other -> Format.printf "Ignoring attribute in parameter: %s@." other) attrs; List.iter (function | PCData s -> Format.printf "Ignoring PCData in parameter:%s@." s | Element (key,attrs,children) -> match key with | "type" -> parse_c_typ (fun t -> r.p_typ <- Typ t) attrs children | "varargs" -> r.p_varargs <- true | "array" -> parse_array (fun t -> r.p_typ <- Array t) attrs children | "doc" when not !debug -> () | other -> Format.printf "Ignoring child in parameter:%s@." other) children; set r let parse_parameters set attrs children = let r = ref [] in List.iter (fun (key,v) -> match key with | other -> Format.printf "Ignoring attribute in parameters:%s@." other) attrs; List.iter (function | PCData s -> Format.printf "Ignoring PCData in parameters:%s@." s | Element (key,attrs,children) -> match key with | "parameter" -> parse_parameter (fun t -> r := t::!r) attrs children | "doc" when not !debug -> () | other -> Format.printf "Ignoring child in parameters:%s@." other) children; set (List.rev !r) let parse_bf set attrs children = let bf = dummy_bf () in set bf let parse_function set attrs children = let fct = dummy_function () in List.iter (fun (key,v) -> match key with | "name" -> fct.f_name <- v | "c:identifier" -> fct.c_identifier <- v | "version" -> fct.version <- v | "doc" -> fct.doc <- v | "deprecated" -> fct.deprecated <- v | "deprecated-version" -> fct.deprecated_version <- v | "throws" -> fct.throws <- v="1" | "introspectable" -> fct.introspectable <- v="1" | other -> Format.printf "Ignoring attribute in fct: %s@." other) attrs; if is_caml_avoid fct.f_name then fct.f_name <- fct.c_identifier; List.iter (function | PCData s -> Format.printf "Ignoring PCData in fct:%s@." s | Element (key,attrs,children) -> match key with | "return-value" -> parse_return_value (fun r -> fct.return_value <- r) attrs children | "parameters" -> parse_parameters (fun l -> fct.parameters <- l) attrs children | "doc" when not !debug -> () | other -> Format.printf "Ignoring fct child: %s@." other) children; set fct let parse_constructor set attrs children = parse_function set attrs children let parse_method set attrs children = parse_function set attrs children let parse_klass ~is_record set attrs children = let k = dummy_klass () in List.iter (fun (key,v) -> match key with | "name" -> k.c_name <- v | "c:type" -> k.c_c_type <- v | "doc" -> k.c_doc <- v | "parent" -> k.c_parent <- v | "glib:type-name" -> k.c_glib_type_name <- v | "glib:get-type" -> k.c_glib_get_type <- v | "glib:type-struct" -> k.c_glib_type_struct <- v | "abstract" -> k.c_abstract<- v="1" | "disguised" -> k.c_disguised<- v="1" | "version" when not !debug -> () | other -> Format.printf "Ignoring attribute in klass %s: %s@." k.c_name other) attrs; Translations.add_klass_type ~is_record k.c_c_type; List.iter (function | PCData s -> Format.printf "Ignoring PCData in klass %s:%s@." k.c_name s | Element (key,attrs,children) -> match key with | "function" -> parse_function (fun f -> k.c_functions <- f::k.c_functions) attrs children | "constructor" -> parse_constructor (fun f -> k.c_constructors <- f::k.c_constructors) attrs children | "method" -> parse_method (fun f -> k.c_methods <- f::k.c_methods) attrs children | "property" -> parse_property (fun f -> k.c_properties <- f::k.c_properties) attrs children | "field"|"implements"|"virtual-method"|"doc" -> if !debug then Format.printf "Ignoring unused child in klass %s: %s@." k.c_name key | other -> Format.printf "Ignoring child in klass %s: %s@." k.c_name other) children; set k let parse_package set attrs = let k = dummy_package () in List.iter (fun (key,v) -> match key with | "name" -> k.pack_name <- v | other -> Format.printf "Ignoring attribute in package %s: %s@." k.pack_name other) attrs; set k let parse_c_include set attrs = let k = dummy_c_include () in List.iter (fun (key,v) -> match key with | "name" -> k.c_inc_name <- v | other -> Format.printf "Ignoring attribute in c_include %s: %s@." k.c_inc_name other) attrs; set k let rec parse_repository set dir attrs children = let k = dummy_repository () in List.iter (fun (key,v) -> match key with | "version" -> k.rep_version <- v | "xmlns" -> k.rep_xmlns <- v | "xmlns:c" -> k.rep_xmlns_c <- v | "xmlns:glib" -> k.rep_xmlns_glib <- v | other -> Format.printf "Ignoring attribute in repository: %s@." other) attrs; List.iter (function | PCData s -> Format.printf "Ignoring PCData in repository:%s@." s | Element (key,attrs,children) -> match key with | "include" -> assert (children = []); parse_include (fun f -> k.rep_includes <- f::k.rep_includes) dir attrs | "package" -> assert (children = []); parse_package (fun f -> k.rep_package <- f) attrs | "c:include" -> assert (children=[]); parse_c_include (fun f -> k.rep_c_include <- f) attrs | "namespace" -> parse_namespace (fun f -> k.rep_namespace <- f) attrs children | other -> Format.printf "Ignoring child in repository: %s@." other) children; set k and parse_xml dir x = match x with | PCData c -> Format.printf "CDATA: %S@ " c | Element ("repository",attrs,children) -> parse_repository register_reposirory dir attrs children | Element (key,attrs,children) -> let children = begin match key with | other -> Format.printf "Ignoring toplevel child:%s@." other; children end in List.iter (parse_xml dir) children and parse_include set dir args = match args with | ["name",name;"version",version] -> if not (Hashtbl.mem included_modules name) then begin Hashtbl.add included_modules name (); Format.printf "Including %s@." name; parse dir (name^"-"^version^".gir") end; set { inc_name = name; inc_version=version;} | _ -> Format.printf "Cannot parse include: %a@." (Pretty.pp_args ";") args and parse_namespace set attrs children = let n = dummy_namespace () in List.iter (fun (key,v) -> match key with | "name" -> n.ns_name <- v | "version" -> n.ns_version <- v | "shared-library" -> n.ns_shared_library <- v | "c:identifier-prefixes" -> n.ns_c_identifier_prefixes <- v | "c:symbol-prefixes" -> n.ns_c_symbol_prefixes <- v | other -> Format.printf "Ignoring attribute in namespace %s: %s@." n.ns_name other) attrs; List.iter (function | PCData s -> Format.printf "Ignoring PCData in namespace %s:%s@." n.ns_name s | Element (key,attrs,children) -> try match key with | "constant" -> parse_constant (fun c -> n.ns_constants <- c::n.ns_constants) attrs children | "function" -> parse_function (fun f -> n.ns_functions <- f::n.ns_functions) attrs children | "alias" -> parse_alias attrs children | "record" -> parse_klass ~is_record:true (fun k -> n.ns_klass <- k::n.ns_klass) attrs children | "class" -> parse_klass ~is_record:false (fun k -> n.ns_klass <- k::n.ns_klass) attrs children | "bitfield" -> parse_bf (fun k -> n.ns_bf <- k::n.ns_bf) attrs children | other -> Format.printf "Ignoring child in namespace %s: %s@." n.ns_name other with Cannot_emit s -> Format.printf "Could not emit %s(%a) because %s@." key (Pretty.pp_args ";") attrs s) children; set n and parse dir f = try let full = Filename.concat dir f in Format.printf "Parsing '%s'@." full; let xml = Xml.parse_file full in parse_xml dir xml with Xml.Error m -> Format.printf "XML error:%s@." (Xml.error m); exit 1 let () = for i=1 to Array.length Sys.argv - 1 do let name=Filename.basename Sys.argv.(i) in let dir = Filename.dirname Sys.argv.(i) in parse dir name done; debug_all(); List.iter Emit.Print.repository (get_repositories ()) (* let funcs,klass = emit_all () in let stub_ml_channel = open_out "stubs.ml" in let ml = Format.formatter_of_out_channel stub_ml_channel in let stub_c_channel = open_out "ml_stubs.c" in let c = Format.formatter_of_out_channel stub_c_channel in Format.fprintf ml "%s@\n" (Buffer.contents ml_header); Format.fprintf c "%s@\n" (Buffer.contents c_header); List.iter (Pretty.klass ~ml ~c) klass; Pretty.functions ~ml ~c funcs; Format.fprintf ml "@."; Format.fprintf c "@."; close_out stub_ml_channel; close_out stub_c_channel; *) lablgtk-3.1.2/tools/introspection/genlex.ml0000644000650106067230000001751014161276610017660 0ustar glondused(**************************************************************************) (* *) (* OCaml *) (* *) (* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) (* *) (* Copyright 1996 Institut National de Recherche en Informatique et *) (* en Automatique. *) (* *) (* All rights reserved. This file is distributed under the terms of *) (* the GNU Lesser General Public License version 2.1, with the *) (* special exception on linking described in the file LICENSE. *) (* *) (**************************************************************************) type token = Kwd of string | Ident of string | Int of int | Float of float | String of string | Char of char (* The string buffering machinery *) let initial_buffer = Bytes.create 32 let buffer = ref initial_buffer let bufpos = ref 0 let reset_buffer () = buffer := initial_buffer; bufpos := 0 let store c = if !bufpos >= Bytes.length !buffer then begin let newbuffer = Bytes.create (2 * !bufpos) in Bytes.blit !buffer 0 newbuffer 0 !bufpos; buffer := newbuffer end; Bytes.set !buffer !bufpos c; incr bufpos let get_string () = let s = Bytes.sub_string !buffer 0 !bufpos in buffer := initial_buffer; s (* The lexer *) let make_lexer keywords = let kwd_table = Hashtbl.create 17 in List.iter (fun s -> Hashtbl.add kwd_table s (Kwd s)) keywords; let ident_or_keyword id = try Hashtbl.find kwd_table id with Not_found -> Ident id and keyword_or_error c = let s = String.make 1 c in try Hashtbl.find kwd_table s with Not_found -> raise (Stream.Error ("Illegal character " ^ s)) in let rec next_token (strm__ : _ Stream.t) = match Stream.peek strm__ with Some (' ' | '\010' | '\013' | '\009' | '\026' | '\012') -> Stream.junk strm__; next_token strm__ | Some ('-') when Stream.npeek 2 strm__ = ['-';'>'] -> Stream.junk strm__; Stream.junk strm__; reset_buffer (); store '-'; store '>'; Some (Kwd "->") | Some ('A'..'Z' | 'a'..'z' | '_' | '-' | '.' | '\192'..'\255' as c) -> Stream.junk strm__; let s = strm__ in reset_buffer (); store c; ident s | Some ('!' | '%' | '&' | '$' | '#' | '+' | '/' | ':' | '<' | '=' | '>' | '?' | '@' | '\\' | '~' | '^' | '|' | '*' as c) -> Stream.junk strm__; let s = strm__ in reset_buffer (); store c; ident2 s | Some ('0'..'9' as c) -> Stream.junk strm__; let s = strm__ in reset_buffer (); store c; number s | Some '\'' -> Stream.junk strm__; let c = try char strm__ with Stream.Failure -> raise (Stream.Error "") in begin match Stream.peek strm__ with Some '\'' -> Stream.junk strm__; Some (Char c) | _ -> raise (Stream.Error "") end | Some '\"' -> Stream.junk strm__; let s = strm__ in reset_buffer (); Some (String (string s)) | Some '(' -> Stream.junk strm__; maybe_comment strm__ | Some c -> Stream.junk strm__; Some (keyword_or_error c) | _ -> None and ident (strm__ : _ Stream.t) = match Stream.peek strm__ with Some ('A'..'Z' | 'a'..'z' | '\192'..'\255' | '0'..'9' | '_' | '-' | '.' | '\'' as c) -> Stream.junk strm__; let s = strm__ in store c; ident s | _ -> Some (ident_or_keyword (get_string ())) and ident2 (strm__ : _ Stream.t) = match Stream.peek strm__ with Some ('!' | '%' | '&' | '$' | '#' | '+' | '/' | ':' | '<' | '=' | '>' | '?' | '@' | '\\' | '~' | '^' | '|' | '*' as c) -> Stream.junk strm__; let s = strm__ in store c; ident2 s | _ -> Some (ident_or_keyword (get_string ())) and number (strm__ : _ Stream.t) = match Stream.peek strm__ with Some ('0'..'9' as c) -> Stream.junk strm__; let s = strm__ in store c; number s | Some '.' -> Stream.junk strm__; let s = strm__ in store '.'; decimal_part s | Some ('e' | 'E') -> Stream.junk strm__; let s = strm__ in store 'E'; exponent_part s | _ -> Some (Int (int_of_string (get_string ()))) and decimal_part (strm__ : _ Stream.t) = match Stream.peek strm__ with Some ('0'..'9' as c) -> Stream.junk strm__; let s = strm__ in store c; decimal_part s | Some ('e' | 'E') -> Stream.junk strm__; let s = strm__ in store 'E'; exponent_part s | _ -> Some (Float (float_of_string (get_string ()))) and exponent_part (strm__ : _ Stream.t) = match Stream.peek strm__ with Some ('+' | '-' as c) -> Stream.junk strm__; let s = strm__ in store c; end_exponent_part s | _ -> end_exponent_part strm__ and end_exponent_part (strm__ : _ Stream.t) = match Stream.peek strm__ with Some ('0'..'9' as c) -> Stream.junk strm__; let s = strm__ in store c; end_exponent_part s | _ -> Some (Float (float_of_string (get_string ()))) and string (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '\"' -> Stream.junk strm__; get_string () | Some '\\' -> Stream.junk strm__; let c = try escape strm__ with Stream.Failure -> raise (Stream.Error "") in let s = strm__ in store c; string s | Some c -> Stream.junk strm__; let s = strm__ in store c; string s | _ -> raise Stream.Failure and char (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '\\' -> Stream.junk strm__; begin try escape strm__ with Stream.Failure -> raise (Stream.Error "") end | Some c -> Stream.junk strm__; c | _ -> raise Stream.Failure and escape (strm__ : _ Stream.t) = match Stream.peek strm__ with Some 'n' -> Stream.junk strm__; '\n' | Some 'r' -> Stream.junk strm__; '\r' | Some 't' -> Stream.junk strm__; '\t' | Some ('0'..'9' as c1) -> Stream.junk strm__; begin match Stream.peek strm__ with Some ('0'..'9' as c2) -> Stream.junk strm__; begin match Stream.peek strm__ with Some ('0'..'9' as c3) -> Stream.junk strm__; Char.chr ((Char.code c1 - 48) * 100 + (Char.code c2 - 48) * 10 + (Char.code c3 - 48)) | _ -> raise (Stream.Error "") end | _ -> raise (Stream.Error "") end | Some c -> Stream.junk strm__; c | _ -> raise Stream.Failure and maybe_comment (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '*' -> Stream.junk strm__; let s = strm__ in comment s; next_token s | _ -> Some (keyword_or_error '(') and comment (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '(' -> Stream.junk strm__; maybe_nested_comment strm__ | Some '*' -> Stream.junk strm__; maybe_end_comment strm__ | Some _ -> Stream.junk strm__; comment strm__ | _ -> raise Stream.Failure and maybe_nested_comment (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '*' -> Stream.junk strm__; let s = strm__ in comment s; comment s | Some _ -> Stream.junk strm__; comment strm__ | _ -> raise Stream.Failure and maybe_end_comment (strm__ : _ Stream.t) = match Stream.peek strm__ with Some ')' -> Stream.junk strm__; () | Some '*' -> Stream.junk strm__; maybe_end_comment strm__ | Some _ -> Stream.junk strm__; comment strm__ | _ -> raise Stream.Failure in fun input -> Stream.from (fun _count -> next_token input) lablgtk-3.1.2/tools/introspection/gir_to_props.xsl0000644000650106067230000000522514161276610021302 0ustar glondused class abstract set wrap wrapsig : { } " " : Read / Write signal : -> method : " " -> _array ???? lablgtk-3.1.2/tools/introspection/ml_gobject.h0000644000650106067230000000542714161276610020326 0ustar glondused/**************************************************************************/ /* 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 */ /* */ /* */ /**************************************************************************/ /* Defined in ml_gobject.h */ #define GObject_val(val) ((GObject*)Pointer_val(val)) CAMLexport value Val_GObject (GObject *); CAMLexport value Val_GObject_new (GObject *); #define Val_GAnyObject(val) Val_GObject(G_OBJECT(val)) #define Val_GAnyObject_new(val) Val_GObject_new(G_OBJECT(val)) CAMLexport void ml_g_object_unref_later (GObject *); #define GType_val(t) ((GType)Addr_val(t)) #define Val_GType Val_addr #if 0 #define GClosure_val(val) ((GClosure*)Pointer_val(val)) CAMLexport value Val_GClosure (GClosure *); CAMLexport GValue *GValue_val(value); /* check for NULL pointer */ #endif #define GValueptr_val(val) ((GValue*)MLPointer_val(val)) CAMLexport value Val_GValue_copy(GValue *); /* copy from the stack */ #define Val_GValue_wrap Val_pointer /* just wrap a pointer */ CAMLexport value ml_g_value_new(void); CAMLexport value Val_gboxed(GType t, gpointer p); /* finalized gboxed */ CAMLexport value Val_gboxed_new(GType t, gpointer p); /* without copy */ /* Macro utilities for export */ /* used in ml_gtk.h for instance */ #ifdef G_DISABLE_CAST_CHECKS #define check_cast(f,v) f(Pointer_val(v)) #else #define check_cast(f,v) (Pointer_val(v) == NULL ? NULL : f(Pointer_val(v))) #endif lablgtk-3.1.2/tools/introspection/propcc.ml0000644000650106067230000015077514161276610017677 0ustar glondused(* -*- caml -*- *) (* $Id$ *) open StdLabels open MoreLabels let caml_keywords = [ ("type", "kind"); ("class", "classe"); ("list", "liste") ] let caml_modules = [ ("List", "Liste") ] let is_not_uppercase = function | 'A' .. 'Z' -> false | _ -> true let camlize id = let b = Buffer.create ((String.length id) + 4) in (for i = 0 to (String.length id) - 1 do (match id.[i] with | ('A' .. 'Z' as c) -> (if (i > 0) && ((is_not_uppercase id.[i - 1]) || ((i < ((String.length id) - 1)) && (is_not_uppercase id.[i + 1]))) then Buffer.add_char b '_' else (); Buffer.add_char b (Char.lowercase_ascii c)) | '-' -> Buffer.add_char b '_' | c -> Buffer.add_char b c) done; let s = Buffer.contents b in try List.assoc s caml_keywords with | Not_found -> s) let camlizeM s = try List.assoc s caml_modules with | Not_found -> s let check_suffix s suff = let len1 = String.length s and len2 = String.length suff in (len1 > len2) && ((String.sub s (len1 - len2) len2) = suff) (* Arity of a caml type. Doesn't handle object types... *) let arity s = let parens = ref 0 and arity = ref 0 in (for i = 0 to (String.length s) - 1 do if (s.[i] = '(') || (s.[i] = '[') then incr parens else if (s.[i] = ')') || (s.[i] = ']') then decr parens else if (!parens = 0) && ((s.[i] = '-') && (s.[i + 1] = '>')) then incr arity else () done; if !parens <> 0 then failwith ("bad type : " ^ s) else (); !arity) let rec min_labelled = function | [] -> [] | a :: l -> let l = min_labelled l in if (l = []) && (a = "") then [] else a :: l (* The real data *) let conversions = Hashtbl.create 17 let enums = [ ("Gtk", "GtkEnums", [ "Justification"; "Align"; "ArrowType"; "ShadowType"; "ResizeMode"; "ReliefStyle"; "ImageType"; "WindowType"; "WindowPosition"; "ButtonsType"; "MessageType"; "ButtonBoxStyle"; "PositionType"; "Orientation"; "ToolbarStyle"; "IconSize"; "PolicyType"; "CornerType"; "SelectionMode"; "SortType"; "WrapMode"; "SpinButtonUpdatePolicy"; "UpdateType"; "ProgressBarStyle"; "ProgressBarOrientation"; "CellRendererMode"; "CellRendererAccelMode"; "TreeViewColumnSizing"; "SortType"; "TextDirection"; "SizeGroupMode"; (* in signals *) "MovementStep"; "ScrollStep"; "ScrollType"; "MenuDirectionType"; "DeleteType"; "StateType"; (* for canvas *) "AnchorType"; "DirectionType"; "SensitivityType"; "InputHints"; "InputPurpose"; "EntryIconPosition"; "PackDirection"; "TreeViewGridLines"; "FileChooserAction"; "FileChooserConfirmation"; "Response" ]); ("Gdk", "GdkEnums", [ "ExtensionMode"; "WindowTypeHint"; "EventMask"; "Gravity"; (* for canvas *) "CapStyle"; "JoinStyle"; "LineStyle" ]); ("Pango", "PangoEnums", [ "Stretch"; "Style"; "Underline"; "Variant"; "EllipsizeMode" ]); (* GtkSourceView *) ("Gtk", "SourceView2Enums", [ "SourceSmartHomeEndType"; "SourceDrawSpacesFlags" ]); ("Gtk3", "SourceView3Enums", [ "SourceSmartHomeEndType"; "SourceDrawSpacesFlags" ]) ] (* These types must be registered with g_boxed_register! *) let boxeds = [ ("Gdk", [ "Color"; "Font"; "RGBA" ]); ("Pango", [ "FontDescription" ]); ("Gtk", [ "IconSet"; "SelectionData"; "TextIter"; "TreePath"; "TreeIter" ]) ] let classes = [ ("Gdk", [ "Image"; "Pixmap"; "Bitmap"; "Screen"; "DragContext" ]); ("Gtk", [ "Style"; "TreeStore"; "TreeModel"; "TreeModelFilter"; "Tooltip" ]) ] let specials = [ ("GtkWidget", "GObj.conv_widget"); ("GtkWidget_opt", "GObj.conv_widget_option"); ("GtkAdjustment", "GData.conv_adjustment"); ("GtkAdjustment_opt", "GData.conv_adjustment_option") ] let add_pointer conv gtk name = (Hashtbl.add conversions gtk (Printf.sprintf "(%s : %s data_conv)" conv name); Hashtbl.add conversions (gtk ^ "_opt") (Printf.sprintf "(%s_option : %s option data_conv)" conv name)) let add_object = add_pointer "gobject" let add_boxed = add_pointer "unsafe_pointer" (* the type is not used *) let () = (List.iter ~f: (fun t -> Hashtbl.add conversions ("g" ^ t) t) [ "boolean"; "char"; "uchar"; "int"; "uint"; "long"; "ulong"; "int32"; "uint32"; "int64"; "uint64"; "float"; "double" ]; List.iter ~f: (fun (gtype, conv) -> Hashtbl.add conversions gtype conv) [ ("gchararray", "string"); ("gchararray_opt", "string_option"); ("string", "string"); ("bool", "boolean"); ("int", "int"); ("int32", "int32"); ("float", "float") ]; List.iter enums ~f: (fun (pre, modu, l) -> List.iter l ~f: (fun name -> Hashtbl.add conversions (pre ^ name) (Printf.sprintf "%s.Conv.%s" modu (camlize name)))); List.iter boxeds ~f: (fun (pre, l) -> List.iter l ~f: (fun name -> add_boxed (pre ^ name) (pre ^ ("." ^ (camlize name))))); List.iter classes ~f: (fun (pre, l) -> List.iter l ~f: (fun t -> add_object (pre ^ t) (pre ^ ("." ^ (camlize t))))); add_object "GObject" "unit obj"; add_object "GtkWidget" "Gtk.widget obj") open Genlex let lexer = make_lexer [ "{"; "}"; ":"; "/"; "("; ")"; "->"; "method"; "signal" ] let rec star ?(acc = []) p (__strm : _ Stream.t) = match try Some (p __strm) with | Stream.Failure -> None with | Some x -> let s = __strm in star ~acc: (x :: acc) p s | _ -> List.rev acc let may_token tok s = if (Stream.peek s) = (Some tok) then Stream.junk s else () let ident (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Ident id) -> (Stream.junk __strm; id) | _ -> raise Stream.Failure let string (__strm : _ Stream.t) = match Stream.peek __strm with | Some (String s) -> (Stream.junk __strm; s) | _ -> raise Stream.Failure let may_colon p def (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Kwd ":") -> (Stream.junk __strm; p __strm) | _ -> def let may_string def (__strm : _ Stream.t) = match Stream.peek __strm with | Some (String s) -> (Stream.junk __strm; s) | _ -> def let may_name s (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Kwd "(") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Ident id) -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Kwd ")") -> (Stream.junk __strm; id) | _ -> raise (Stream.Error ""))) | _ -> raise (Stream.Error ""))) | _ -> camlize s let next_attr (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Kwd "/") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Ident id) -> (Stream.junk __strm; let ids = (try star ~acc: [ id ] ident __strm with | Stream.Failure -> raise (Stream.Error "")) in String.concat ~sep: "" ids) | _ -> raise (Stream.Error ""))) | _ -> raise Stream.Failure let attributes = [ "Read"; "Write"; "Construct"; "ConstructOnly"; "NoSet"; "Set"; "NoWrap"; "Wrap"; "NoGet"; "VSet"; "NoVSet" ] let label_type2 id (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Kwd ":") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Ident ty) -> (Stream.junk __strm; (id, ty)) | _ -> raise (Stream.Error ""))) | _ -> ("", id) let label_type (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Ident id) -> (Stream.junk __strm; (try label_type2 id __strm with | Stream.Failure -> raise (Stream.Error ""))) | _ -> raise Stream.Failure type marshal = | Function of string | Types of ((string list) * (string list) * string) let return_type (l, types) (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Kwd "->") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Ident ret) -> (Stream.junk __strm; prerr_endline ("# " ^ ((String.concat "|" types) ^ (" @ " ^ ret))); Types (l, types, ret)) | _ -> raise (Stream.Error ""))) | _ -> Types (l, types, "") let marshaller (__strm : _ Stream.t) = match Stream.peek __strm with | Some (String s) -> (Stream.junk __strm; Function s) | Some (Kwd ":") -> (Stream.junk __strm; let types = (try star label_type __strm with | Stream.Failure -> raise (Stream.Error "")) in let s = __strm in return_type (List.split types) s) | _ -> Types ([], [], "") let simple_attr (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Kwd "/") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Ident s) -> (Stream.junk __strm; s) | _ -> raise (Stream.Error ""))) | _ -> raise Stream.Failure let field (__strm : _ Stream.t) = match Stream.peek __strm with | Some (String name) -> (Stream.junk __strm; let mlname = (try may_name name __strm with | Stream.Failure -> raise (Stream.Error "")) in (match Stream.peek __strm with | Some (Ident gtype) -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Kwd ":") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Ident attr0) -> (Stream.junk __strm; let attrs = (try star ~acc: [ attr0 ] next_attr __strm with | Stream.Failure -> raise (Stream.Error "")) in (if not (List.for_all attrs ~f: (List.mem ~set: attributes)) then raise (Stream.Error "bad attribute") else (); `Prop (name, mlname, gtype, attrs))) | _ -> raise (Stream.Error ""))) | _ -> raise (Stream.Error ""))) | _ -> raise (Stream.Error ""))) | Some (Kwd "method") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Ident name) -> (Stream.junk __strm; let ty = (try may_colon string "unit" __strm with | Stream.Failure -> raise (Stream.Error "")) in let attrs = (try star simple_attr __strm with | Stream.Failure -> raise (Stream.Error "")) in (if not (List.for_all attrs ~f: (List.mem ~set: [ "Wrap" ])) then raise (Stream.Error "bad attribute") else (); `Method (name, ty, attrs))) | _ -> raise (Stream.Error ""))) | Some (Kwd "signal") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Ident name) -> (Stream.junk __strm; let m = (try marshaller __strm with | Stream.Failure -> raise (Stream.Error "")) in let l = (try star simple_attr __strm with | Stream.Failure -> raise (Stream.Error "")) in (if not (List.for_all l ~f: (List.mem ~set: [ "Wrap"; "NoWrap" ])) then raise (Stream.Error "bad attribute") else (); `Signal (name, m, l))) | _ -> raise (Stream.Error ""))) | _ -> raise Stream.Failure let split_fields l = List.fold_right l ~init: ([], [], []) ~f: (fun field (props, meths, sigs) -> match field with | `Prop p -> ((p :: props), meths, sigs) | `Method m -> (props, (m :: meths), sigs) | `Signal s -> (props, meths, (s :: sigs))) let verb_braces = ref 0 let rec verbatim buf (__strm : _ Stream.t) = match Stream.peek __strm with | Some '}' -> (Stream.junk __strm; let s = __strm in if !verb_braces = 0 then Buffer.contents buf else (decr verb_braces; Buffer.add_char buf '}'; verbatim buf s)) | Some '{' -> (Stream.junk __strm; let s = __strm in (Buffer.add_char buf '{'; incr verb_braces; verbatim buf s)) | Some '\\' -> (Stream.junk __strm; (match Stream.peek __strm with | Some c -> (Stream.junk __strm; let s = __strm in (if (c <> '}') && (c <> '{') then Buffer.add_char buf '\\' else (); Buffer.add_char buf c; verbatim buf s)) | _ -> raise (Stream.Error ""))) | Some c -> (Stream.junk __strm; let s = __strm in (Buffer.add_char buf c; verbatim buf s)) | _ -> raise Stream.Failure let read_pair (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Ident cls) -> (Stream.junk __strm; let data = (try may_string (camlize cls) __strm with | Stream.Failure -> raise (Stream.Error "")) in (cls, data)) | _ -> raise Stream.Failure let qualifier (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Ident id) -> (Stream.junk __strm; let data = (try may_string "" __strm with | Stream.Failure -> raise (Stream.Error "")) in (id, data)) | _ -> raise Stream.Failure let prefix = ref "" let tagprefix = ref "" let decls = ref [] let headers = ref [] let oheaders = ref [] let checks = ref false let class_qualifiers = [ "abstract"; "notype"; "hv"; "set"; "wrap"; "wrapset"; "vset"; "tag"; "wrapsig"; "type"; "gobject" ] let process_phrase ~chars (__strm : _ Stream.t) = match Stream.peek __strm with | Some (Ident "class") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Ident name) -> (Stream.junk __strm; let gtk_name = (try may_string (!prefix ^ name) __strm with | Stream.Failure -> raise (Stream.Error "")) in let attrs = (try star qualifier __strm with | Stream.Failure -> raise (Stream.Error "")) in let parent = (try may_colon ident "" __strm with | Stream.Failure -> raise (Stream.Error "")) in (match Stream.peek __strm with | Some (Kwd "{") -> (Stream.junk __strm; let fields = (try star field __strm with | Stream.Failure -> raise (Stream.Error "")) in (match Stream.peek __strm with | Some (Kwd "}") -> (Stream.junk __strm; if List.exists attrs ~f: (fun (x, _) -> not (List.mem x class_qualifiers)) then raise (Stream.Error "bad qualifier") else (); let attrs = ("parent", parent) :: attrs in let attrs = if parent = "GObject" then ("gobject", "") :: attrs else attrs in let (props, meths, sigs) = split_fields fields in decls := (name, gtk_name, attrs, props, meths, sigs) :: !decls) | _ -> raise (Stream.Error ""))) | _ -> raise (Stream.Error ""))) | _ -> raise (Stream.Error ""))) | Some (Ident "header") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Kwd "{") -> (Stream.junk __strm; let h = verbatim (Buffer.create 1000) chars in headers := !headers @ [ h ]) | _ -> raise (Stream.Error ""))) | Some (Ident "oheader") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Kwd "{") -> (Stream.junk __strm; let h = verbatim (Buffer.create 1000) chars in oheaders := !oheaders @ [ h ]) | _ -> raise (Stream.Error ""))) | Some (Ident "prefix") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (String id) -> (Stream.junk __strm; prefix := id) | _ -> raise (Stream.Error ""))) | Some (Ident "tagprefix") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (String id) -> (Stream.junk __strm; tagprefix := id) | _ -> raise (Stream.Error ""))) | Some (Ident "conversions") -> (Stream.junk __strm; let pre1 = (try may_string "" __strm with | Stream.Failure -> raise (Stream.Error "")) in let pre2 = (try may_string pre1 __strm with | Stream.Failure -> raise (Stream.Error "")) in (match Stream.peek __strm with | Some (Kwd "{") -> (Stream.junk __strm; let l = (try star read_pair __strm with | Stream.Failure -> raise (Stream.Error "")) in (match Stream.peek __strm with | Some (Kwd "}") -> (Stream.junk __strm; List.iter l ~f: (fun (k, d) -> Hashtbl.add conversions (pre1 ^ k) (if pre2 = "" then d else pre2 ^ ("." ^ d)))) | _ -> raise (Stream.Error ""))) | _ -> raise (Stream.Error ""))) | Some (Ident "classes") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Kwd "{") -> (Stream.junk __strm; let l = (try star read_pair __strm with | Stream.Failure -> raise (Stream.Error "")) in (match Stream.peek __strm with | Some (Kwd "}") -> (Stream.junk __strm; List.iter l ~f: (fun (k, d) -> add_object k d)) | _ -> raise (Stream.Error ""))) | _ -> raise (Stream.Error ""))) | Some (Ident "boxed") -> (Stream.junk __strm; (match Stream.peek __strm with | Some (Kwd "{") -> (Stream.junk __strm; let l = (try star read_pair __strm with | Stream.Failure -> raise (Stream.Error "")) in (match Stream.peek __strm with | Some (Kwd "}") -> (Stream.junk __strm; List.iter l ~f: (fun (k, d) -> add_boxed k d)) | _ -> raise (Stream.Error ""))) | _ -> raise (Stream.Error ""))) | Some _ -> (Stream.junk __strm; raise (Stream.Error "")) | _ -> raise End_of_file let all_props = Hashtbl.create 137 let all_pnames = Hashtbl.create 137 let outfile = ref "" let ooutfile = ref "" let process_file f = let base = Filename.chop_extension f in let baseM = String.capitalize_ascii base in (* Input *) (* Redefining saves space in bytecode! *) (prefix := baseM; headers := [ "open Gobject"; "open Data"; "module Object = GtkObject" ]; oheaders := [ "open GtkSignal"; "open Gobject"; "open Data"; "let set = set"; "let get = get"; "let param = param" ]; let ic = open_in f in let chars = Stream.of_channel ic in let s = lexer chars in ((try while true do process_phrase ~chars s done with | End_of_file -> () | Stream.Error _ | Stream.Failure -> (Printf.eprintf "Parse error in file `%s' before char %d\n" f (Stream.count chars); exit 2) | exn -> (Printf.eprintf "Exception %s in file `%s' before char %d\n" (Printexc.to_string exn) f (Stream.count chars); exit 2)); (* Preproccess *) let type_name name ~attrs = try List.assoc "type" attrs with | Not_found -> if List.mem_assoc "gobject" attrs then camlize name else if !prefix <> "" then !prefix ^ ("." ^ ((camlize name) ^ " obj")) else (camlize name) ^ " obj" in let decls = List.rev !decls in let decls = List.filter decls ~f: (fun (_, _, attrs, _, _, _) -> not (List.mem_assoc "notype" attrs)) in (* Output modules *) (List.iter decls ~f: (fun (name, gtk_name, attrs, _, _, _) -> add_object gtk_name (type_name name ~attrs)); if !outfile = "" then outfile := base ^ "Props.ml" else (); let oc = open_out !outfile in let ppf = Format.formatter_of_out_channel oc in let out fmt = Format.fprintf ppf fmt in (List.iter !headers ~f: (fun s -> out "%s@." s); let decls = List.map decls ~f: (fun (name, gtk_name, attrs, props, meths, sigs) -> (name, gtk_name, attrs, (List.filter props ~f: (fun (name, _, gtype, _) -> try (ignore (Hashtbl.find conversions gtype); try let (count, _) = Hashtbl.find all_props (name, gtype) in (incr count; true) with | Not_found -> (Hashtbl.add all_props (name, gtype) ((ref 1), (ref "")); true)) with | Not_found -> (prerr_endline ("Warning: no conversion for type " ^ (gtype ^ (" for property " ^ (name ^ (" in class " ^ gtk_name))))); false))), meths, (List.filter sigs ~f: (function | (name, Function _, _) -> true | (name, Types (_, l, ret), _) -> List.for_all (if ret = "" then l else ret :: l) ~f: (fun ty -> if Hashtbl.mem conversions ty then true else (prerr_endline ("Warning: no conversion for type " ^ (ty ^ (" for signal " ^ (name ^ (" in class " ^ gtk_name))))); false)))))) in let defprop ~name ~mlname ~gtype ~tag = let conv = Hashtbl.find conversions gtype in (out "@ @[let %s " mlname; if tag <> "gtk" then out ": ([>`%s],_) property " tag else (); out "=@ @[{name=\"%s\";@ conv=%s}@]@]" name conv) in let shared_props = Hashtbl.fold all_props ~init: [] ~f: (fun ~key: ((name, gtype)) ~data: ((count, rpname)) acc -> if !count <= 1 then acc else (let pname = camlize name in let pname = if Hashtbl.mem all_pnames pname then pname ^ ("_" ^ gtype) else (Hashtbl.add all_pnames pname (); pname) in (rpname := "PrivateProps." ^ pname; (pname, name, gtype) :: acc))) in (* Redefining saves space in bytecode! *) (if shared_props <> [] then (out "@[module PrivateProps = struct"; List.iter (List.sort compare shared_props) ~f: (fun (pname, name, gtype) -> defprop ~name ~mlname: pname ~gtype ~tag: "gtk"); out "@]\nend\n@.") else (); out "let may_cons = Property.may_cons\n"; out "let may_cons_opt = Property.may_cons_opt\n@."; let may_cons_props props = if props <> [] then (out "@ @[let pl = "; List.iter props ~f: (fun (name, mlname, gtype, _) -> let op = if check_suffix gtype "_opt" then "may_cons_opt" else "may_cons" in out "(@;<0>%s P.%s %s " op (camlize name) mlname); out "pl"; for k = 1 to List.length props do out ")" done; out " in@]") else () in let omarshaller ~gtk_class ~name ppf (l, tyl, ret) = let out fmt = Format.fprintf ppf fmt in (out "fun f ->@ @[marshal%d" (List.length l); if ret <> "" then out "_ret@ ~ret:%s" (Hashtbl.find conversions ret) else (); List.iter tyl ~f: (fun ty -> out "@ %s" ty); out "@ \"%s::%s\"" gtk_class name; if List.for_all l ~f: (( = ) "") then out " f" else (let l = min_labelled l in (out "@ @[(fun "; for i = 1 to List.length l do out "x%d " i done; out "->@ f"; let i = ref 0 in (List.iter l ~f: (fun p -> (incr i; if p = "" then out "@ x%d" !i else out "@ ~%s:x%d" p !i)); out ")@]"))); out "@]") in (* Output classes *) (List.iter decls ~f: (fun (name, gtk_class, attrs, props, meths, sigs) -> (out "@[module %s = struct" (camlizeM name); out "@ @[let cast w : %s =@ try_cast w \"%s\"@]" (type_name name ~attrs) gtk_class; let tag = try List.assoc "tag" attrs with | Not_found -> !tagprefix ^ (String.lowercase_ascii name) in (if props <> [] then (out "@ @[module P = struct"; List.iter props ~f: (fun (name, _, gtype, attrs) -> let (count, rpname) = Hashtbl.find all_props (name, gtype) in if !count > 1 then out "@ let %s : ([>`%s],_) property = %s" (camlize name) tag !rpname else defprop ~name ~mlname: (camlize name) ~gtype ~tag); out "@]@ end") else (); if sigs <> [] then (out "@ @[module S = struct@ open GtkSignal"; List.iter sigs ~f: (fun (name, marshaller, _) -> (out "@ @[let %s =" (camlize name); out "@ @[{name=\"%s\";@ classe=`%s;@ marshaller=" name tag; (match marshaller with | Function s -> out "%s" s | Types ([], [], "") -> out "marshal_unit" | Types ([], [], ret) -> out "fun f -> marshal0_ret ~ret:%s f" (Hashtbl.find conversions ret) | Types (l, tyl, ret) -> omarshaller ~gtk_class ~name ppf (l, (List.map (Hashtbl.find conversions) tyl), ret)); out "}@]@]")); out "@]@ end") else (); if not (List.mem_assoc "abstract" attrs) then (let cprops = List.filter props ~f: (fun (_, _, _, a) -> (List.mem "ConstructOnly" a) && (not (List.mem "NoSet" a))) in (out "@ @[let create"; List.iter cprops ~f: (fun (_, name, _, _) -> out " ?%s" name); if List.mem_assoc "hv" attrs then (out " (dir : Gtk.Tags.orientation) pl : %s =" (type_name name ~attrs); may_cons_props cprops; out "@ @[Object.make"; out "@ (if dir = `HORIZONTAL then \"%sH%s\" else \"%sV%s\")@ pl" !prefix name !prefix name; out "@]@]") else (out " pl : %s =" (type_name name ~attrs); may_cons_props cprops; if List.mem_assoc "gobject" attrs then out "@ Gobject.unsafe_create" else out "@ Object.make"; out " \"%s\" pl@]" gtk_class))) else (); List.iter meths ~f: (fun (name, typ, attrs) -> (out "@ @[external %s :" name; out "@ @[[>`%s] obj ->@ %s@]" tag typ; let cname = (camlize ("ml" ^ gtk_class)) ^ ("_" ^ name) in (out "@ = \""; if (arity typ) > 4 then out "%s_bc\" \"" cname else (); out "%s\"@]" cname))); let set_props = let set = List.mem_assoc "set" attrs in List.filter props ~f: (fun (_, _, _, a) -> (set || (List.mem "Set" a)) && ((List.mem "Write" a) && (not ((List.mem "ConstructOnly" a) || (List.mem "NoSet" a))))) in (if set_props <> [] then (let props = set_props in (out "@ @[@[let make_params ~cont pl"; List.iter props ~f: (fun (_, name, _, _) -> out "@ ?%s" name); out " =@]"; may_cons_props props; out "@ cont pl@]")) else (); if !checks && ((props <> []) || (sigs <> [])) then (if List.mem_assoc "abstract" attrs then out "@ @[let check w =" else (out "@ @[let check () ="; out "@ let w = create%s [] in" (if List.mem_assoc "hv" attrs then " `HORIZONTAL" else "")); if props <> [] then out "@ let c p = Property.check w p in" else (); if sigs <> [] then (out "@ let closure = Closure.create ignore in"; out "@ let s name = GtkSignal.connect_by_name"; out " w ~name ~closure ~after:false in") else (); out "@ @["; List.iter props ~f: (fun (name, _, gtype, attrs) -> if List.mem "Read" attrs then out "c P.%s;@ " (camlize name) else ()); List.iter sigs ~f: (fun (name, _, _) -> out "s %s;@ " name); out "()@]") else (); out "@]@.end\n@.")))); close_out oc; if !ooutfile = "" then ooutfile := "o" ^ !outfile else (); let oc = open_out !ooutfile in let ppf = Format.formatter_of_out_channel oc in let out fmt = Format.fprintf ppf fmt in (List.iter !oheaders ~f: (fun s -> out "%s@." s); out "open %s@." (String.capitalize_ascii (Filename.chop_extension !outfile)); out "@["; let oprop ~name ~gtype ppf pname = try let conv = List.assoc gtype specials in Format.fprintf ppf "{%s.P.%s with conv=%s}" (camlizeM name) (camlize pname) conv with | Not_found -> Format.fprintf ppf "%s.P.%s" (camlizeM name) (camlize pname) in (* pre 3.10 out "@ @[class virtual %s_props = object (self)" (camlize name); out "@ method private virtual obj : _ obj"; List.iter wr_props ~f:(fun (pname,mlname,gtype,_) -> out "@ @[method set_%s =@ set %a self#obj@]" mlname (oprop ~name ~gtype) pname); List.iter rd_props ~f:(fun (pname,mlname,gtype,_) -> out "@ @[method %s =@ get %a self#obj@]" mlname (oprop ~name ~gtype) pname); List.iter wr_meths ~f:(fun (mname,typ,_) -> out "@ @[method %s %s=@ %s.%s self#obj@]" mname (if typ = "unit" then "() " else "") (camlizeM name) mname); *) (* post 3.10 *) (* #notify: easy connection to the "foo::notify" signal for the "foo" * properties. *) (* out "@ @[class virtual %s_notify obj = object (self)" (camlize name); out "@ val obj : 'a obj = obj"; out "@ method private notify : 'b. ('a, 'b) property ->"; out "@ callback:('b -> unit) -> _ ="; out "@ fun prop ~callback -> GtkSignal.connect_property obj"; out "@ ~prop ~callback"; List.iter rd_props ~f:(fun (pname, mlname, gtype, _) -> out "@ @[method %s =@ self#notify %a@]" mlname (oprop ~name ~gtype) pname); out "@]@ end@ "; *) (* notify: easy connection to "foo::notify" signals for "foo" * properties. *) (List.iter decls ~f: (fun (name, gtk_class, attrs, props, meths, sigs) -> let wrap = List.mem_assoc "wrap" attrs in let wrapset = wrap || (List.mem_assoc "wrapset" attrs) in let wr_props = List.filter props ~f: (fun (_, _, _, set) -> let has = List.mem ~set in (wrapset || (has "Wrap")) && ((has "Write") && (not ((has "ConstructOnly") || (has "NoWrap"))))) and rd_props = List.filter props ~f: (fun (_, _, _, set) -> let has = List.mem ~set in (wrap || (has "Wrap")) && ((has "Read") && (not ((has "NoWrap") || (has "NoGet"))))) and wr_meths = List.filter meths ~f: (fun (_, _, attrs) -> List.mem "Wrap" attrs) in (if (wr_props <> []) || ((rd_props <> []) || (wr_meths <> [])) then (out "@ @[class virtual %s_props = object" (camlize name); out "@ val virtual obj : _ obj"; List.iter wr_props ~f: (fun (pname, mlname, gtype, _) -> out "@ @[method set_%s =@ set %a obj@]" mlname (oprop ~name ~gtype) pname); List.iter rd_props ~f: (fun (pname, mlname, gtype, _) -> out "@ @[method %s =@ get %a obj@]" mlname (oprop ~name ~gtype) pname); List.iter wr_meths ~f: (fun (mname, typ, _) -> out "@ @[method %s %s=@ %s.%s obj@]" mname (if typ = "unit" then "() " else "") (camlizeM name) mname); out "@]@ end@ ") else (); let vset = List.mem_assoc "vset" attrs in let vprops = List.filter props ~f: (fun (_, _, _, set) -> let has = List.mem ~set in (vset || (has "VSet")) && ((has "Write") && (not ((has "ConstructOnly") || (has "NoVSet"))))) in (if vprops <> [] then (out "@ @[let %s_param = function" (camlize name); List.iter vprops ~f: (fun (pname, mlname, gtype, _) -> out "@ @[| `%s p ->@ param %a p@]" (String.uppercase_ascii mlname) (oprop ~name ~gtype) pname); out "@]@ ") else (); let wsig = List.mem_assoc "wrapsig" attrs in let wsigs = List.filter sigs ~f: (fun (_, _, attrs) -> (List.mem "Wrap" attrs) || (wsig && (not (List.mem "NoWrap" attrs)))) in if wsigs <> [] then (out "@ @[class virtual %s_sigs = object (self)" (camlize name); out "@ @[method private virtual connect :"; out "@ 'b. ('a,'b) GtkSignal.t -> callback:'b -> GtkSignal.id@]"; out "@ @[method private virtual notify :"; out "@ 'b. ('a,'b) property -> callback:('b -> unit) -> GtkSignal.id@]"; List.iter wsigs ~f: (fun (sname, types, _) -> match types with | Types (l, tyl, ret) when List.exists tyl ~f: (List.mem_assoc ~map: specials) -> let convs = List.map tyl ~f: (fun ty -> try List.assoc ty specials with | Not_found -> Hashtbl. find conversions ty) in (out "@ @[method %s =@ self#connect" sname; out "@ @[{%s.S.%s with@ marshaller = %a}@]@]" (camlizeM name) sname (omarshaller ~gtk_class ~name: sname) (l, convs, ret)) | _ -> out "@ @[method %s =@ self#connect %s.S.%s@]" sname (camlizeM name) sname); List.iter rd_props ~f: (fun (pname, mlname, gtype, _) -> (out "@ @[method notify_%s ~callback =" mlname; out "@ @[self#notify %a ~callback@]@]" (oprop ~name ~gtype) pname)); out "@]@ end@ ") else ()))); out "@."; close_out oc; outfile := ""; ooutfile := "")))))))) let main () = Arg.parse [ ("-checks", (Arg.Set checks), "generate code for checks"); ("-o", (Arg.String (fun s -> outfile := s)), "basic output file name"); ("-oo", (Arg.String (fun s -> ooutfile := s)), "wrappers output file name") ] process_file "usage: propcc file.props ..." let () = Printexc.print main () lablgtk-3.1.2/tools/introspection/propcc.ml40000644000650106067230000006232414161276610017753 0ustar glondused(* -*- caml -*- *) (* $Id$ *) open StdLabels open MoreLabels let caml_keywords = ["type","kind"; "class","classe"; "list", "liste"] let caml_modules = ["List", "Liste"] let is_not_uppercase = function | 'A' .. 'Z' -> false | _ -> true let camlize id = let b = Buffer.create (String.length id + 4) in for i = 0 to String.length id - 1 do match id.[i] with | 'A' .. 'Z' as c -> if i > 0 && (is_not_uppercase id.[i-1] || (i < String.length id - 1 && is_not_uppercase id.[i+1])) then Buffer.add_char b '_' ; Buffer.add_char b (Char.lowercase_ascii c) | '-' -> Buffer.add_char b '_' | c -> Buffer.add_char b c done; let s = Buffer.contents b in try List.assoc s caml_keywords with Not_found -> s let camlizeM s = try List.assoc s caml_modules with Not_found -> s let check_suffix s suff = let len1 = String.length s and len2 = String.length suff in len1 > len2 && String.sub s (len1-len2) len2 = suff (* Arity of a caml type. Doesn't handle object types... *) let arity s = let parens = ref 0 and arity = ref 0 in for i = 0 to String.length s - 1 do if s.[i] = '(' || s.[i] = '[' then incr parens else if s.[i] = ')' || s.[i] = ']' then decr parens else if !parens = 0 && s.[i] = '-' && s.[i+1] = '>' then incr arity done; if !parens <> 0 then failwith ("bad type : " ^ s); !arity let rec min_labelled = function | [] -> [] | a :: l -> let l = min_labelled l in if l = [] && a = "" then [] else a::l (* The real data *) let conversions = Hashtbl.create 17 let enums = [ "Gtk", "GtkEnums", [ "Justification"; "Align"; "ArrowType"; "ShadowType"; "ResizeMode"; "ReliefStyle"; "ImageType"; "WindowType"; "WindowPosition"; "ButtonsType"; "MessageType"; "ButtonBoxStyle"; "PositionType"; "Orientation"; "ToolbarStyle"; "IconSize"; "PolicyType"; "CornerType"; "SelectionMode"; "SortType"; "WrapMode"; "SpinButtonUpdatePolicy"; "UpdateType"; "ProgressBarStyle"; "ProgressBarOrientation"; "CellRendererMode"; "CellRendererAccelMode"; "TreeViewColumnSizing"; "SortType"; "TextDirection"; "SizeGroupMode"; (* in signals *) "MovementStep"; "ScrollStep"; "ScrollType"; "MenuDirectionType"; "DeleteType"; "StateType"; (* for canvas *) "AnchorType"; "DirectionType"; "SensitivityType"; "InputHints"; "InputPurpose"; "EntryIconPosition"; "PackDirection"; "TreeViewGridLines"; "FileChooserAction"; "FileChooserConfirmation"; "Response" ]; "Gdk", "GdkEnums", [ "ExtensionMode"; "WindowTypeHint"; "EventMask"; "Gravity"; (* for canvas *) "CapStyle"; "JoinStyle"; "LineStyle" ]; "Pango", "PangoEnums", [ "Stretch"; "Style"; "Underline"; "Variant"; "EllipsizeMode" ]; (* GtkSourceView *) "Gtk", "SourceView2Enums", [ "SourceSmartHomeEndType"; "SourceDrawSpacesFlags" ]; "Gtk3", "SourceView3Enums", [ "SourceSmartHomeEndType"; "SourceDrawSpacesFlags" ] ] (* These types must be registered with g_boxed_register! *) let boxeds = [ "Gdk", ["Color"; "Font"; "RGBA"]; "Pango", ["FontDescription";]; "Gtk", ["IconSet";"SelectionData";"TextIter";"TreePath"; "TreeIter";]; ] let classes = [ "Gdk", [ "Image"; "Pixmap"; "Bitmap"; "Screen"; "DragContext";]; "Gtk", [ "Style"; "TreeStore"; "TreeModel"; "TreeModelFilter"; "Tooltip" ] ] let specials = [ "GtkWidget", "GObj.conv_widget"; "GtkWidget_opt", "GObj.conv_widget_option"; "GtkAdjustment", "GData.conv_adjustment"; "GtkAdjustment_opt", "GData.conv_adjustment_option"; ] let add_pointer conv gtk name = Hashtbl.add conversions gtk (Printf.sprintf "(%s : %s data_conv)" conv name); Hashtbl.add conversions (gtk ^ "_opt") (Printf.sprintf "(%s_option : %s option data_conv)" conv name) let add_object = add_pointer "gobject" let add_boxed = add_pointer "unsafe_pointer" (* the type is not used *) let () = List.iter ~f:(fun t -> Hashtbl.add conversions ("g"^t) t) [ "boolean"; "char"; "uchar"; "int"; "uint"; "long"; "ulong"; "int32"; "uint32"; "int64"; "uint64"; "float"; "double" ]; List.iter ~f:(fun (gtype,conv) -> Hashtbl.add conversions gtype conv) [ "gchararray", "string"; "gchararray_opt", "string_option"; "string", "string"; "bool", "boolean"; "int", "int"; "int32", "int32"; "float", "float"; ]; List.iter enums ~f:(fun (pre, modu, l) -> List.iter l ~f: begin fun name -> Hashtbl.add conversions (pre ^ name) (Printf.sprintf "%s.Conv.%s" modu (camlize name)) end); List.iter boxeds ~f:(fun (pre, l) -> List.iter l ~f:(fun name -> add_boxed (pre^name) (pre^"."^camlize name))); List.iter classes ~f:(fun (pre,l) -> List.iter l ~f:(fun t -> add_object (pre^t) (pre^"."^camlize t))); add_object "GObject" "unit obj"; add_object "GtkWidget" "Gtk.widget obj" open Genlex let lexer = make_lexer ["{"; "}"; ":"; "/"; "("; ")";"->";"method";"signal"] let rec star ?(acc=[]) p = parser [< x = p ; s >] -> star ~acc:(x::acc) p s | [< >] -> List.rev acc let may_token tok s = if Stream.peek s = Some tok then Stream.junk s let ident = parser [< ' Ident id >] -> id let string = parser [< ' String s >] -> s let may_colon p def = parser | [< ' Kwd":"; s >] -> p s | [< >] -> def let may_string def = parser [< ' String s >] -> s | [< >] -> def let may_name s = parser [< ' Kwd"("; ' Ident id; ' Kwd")" >] -> id | [< >] -> (camlize s) let next_attr = parser [< ' Kwd"/"; ' Ident id; ids = star ~acc:[id] ident >] -> String.concat ~sep:"" ids let attributes = ["Read";"Write";"Construct";"ConstructOnly";"NoSet";"Set"; "NoWrap";"Wrap";"NoGet";"VSet";"NoVSet"] let label_type2 id = parser | [< ' Kwd":"; ' Ident ty >] -> (id,ty) | [< >] -> ("",id) let label_type = parser [< ' Ident id ; lty = label_type2 id >] -> lty type marshal = Function of string | Types of (string list * string list * string) let return_type (l,types) = parser [< ' Kwd"->"; ' Ident ret >] -> prerr_endline ("# " ^ String.concat "|" types ^ " @ " ^ ret); Types (l, types, ret) | [< >] -> Types (l, types, "") let marshaller = parser | [< ' String s >] -> Function s | [< ' Kwd":"; types = star label_type; s >] -> return_type (List.split types) s | [< >] -> Types ([], [], "") let simple_attr = parser [< ' Kwd"/"; ' Ident s >] -> s let field = parser [< ' String name; mlname = may_name name; ' Ident gtype; ' Kwd":"; ' Ident attr0; attrs = star ~acc:[attr0] next_attr >] -> if not (List.for_all attrs ~f:(List.mem ~set:attributes)) then raise (Stream.Error "bad attribute"); `Prop (name, mlname, gtype, attrs) | [< ' Kwd"method"; ' Ident name; ty = may_colon string "unit"; attrs = star simple_attr >] -> if not (List.for_all attrs ~f:(List.mem ~set:["Wrap"])) then raise (Stream.Error "bad attribute"); `Method (name, ty, attrs) | [< ' Kwd"signal"; ' Ident name; m = marshaller; l = star simple_attr >] -> if not (List.for_all l ~f:(List.mem ~set:["Wrap";"NoWrap"])) then raise (Stream.Error "bad attribute"); `Signal (name, m, l) let split_fields l = List.fold_right l ~init:([],[],[]) ~f: (fun field (props,meths,sigs) -> match field with `Prop p -> (p::props,meths,sigs) | `Method m -> (props,m::meths,sigs) | `Signal s -> (props,meths,s::sigs)) let verb_braces = ref 0 let rec verbatim buf = parser | [< ''}' ; s >] -> if !verb_braces = 0 then Buffer.contents buf else begin decr verb_braces; Buffer.add_char buf '}'; verbatim buf s; end | [< ''{'; s >] -> Buffer.add_char buf '{'; incr verb_braces; verbatim buf s | [< ''\\' ; 'c ; s >] -> if c <> '}' && c <> '{' then Buffer.add_char buf '\\'; Buffer.add_char buf c; verbatim buf s | [< 'c ; s >] -> Buffer.add_char buf c; verbatim buf s let read_pair = parser | [< ' Ident cls ; data = may_string (camlize cls) >] -> (cls,data) let qualifier = parser | [< ' Ident id ; data = may_string "" >] -> (id,data) let prefix = ref "" let tagprefix = ref "" let decls = ref [] let headers = ref [] let oheaders = ref [] let checks = ref false let class_qualifiers = ["abstract";"notype";"hv";"set";"wrap";"wrapset";"vset";"tag";"wrapsig"; "type";"gobject";] let process_phrase ~chars = parser [< ' Ident"class"; ' Ident name; gtk_name = may_string (!prefix ^ name); attrs = star qualifier; parent = may_colon ident ""; ' Kwd"{"; fields = star field; ' Kwd"}" >] -> if List.exists attrs ~f: (fun (x,_) -> not (List.mem x class_qualifiers)) then raise (Stream.Error "bad qualifier"); let attrs = ("parent",parent) :: attrs in let attrs = if parent = "GObject" then ("gobject","")::attrs else attrs in let props, meths, sigs = split_fields fields in decls := (name, gtk_name, attrs, props, meths, sigs) :: !decls | [< ' Ident"header"; ' Kwd"{" >] -> let h = verbatim (Buffer.create 1000) chars in headers := !headers @ [h] | [< ' Ident"oheader"; ' Kwd"{" >] -> let h = verbatim (Buffer.create 1000) chars in oheaders := !oheaders @ [h] | [< ' Ident"prefix"; ' String id >] -> prefix := id | [< ' Ident"tagprefix"; ' String id >] -> tagprefix := id | [< ' Ident"conversions"; pre1 = may_string ""; pre2 = may_string pre1; ' Kwd"{"; l = star read_pair; ' Kwd"}" >] -> List.iter l ~f:(fun (k,d) -> Hashtbl.add conversions (pre1^k) (if pre2="" then d else pre2^"."^d)) | [< ' Ident"classes"; ' Kwd"{"; l = star read_pair; ' Kwd"}" >] -> List.iter l ~f:(fun (k,d) -> add_object k d) | [< ' Ident"boxed"; ' Kwd"{"; l = star read_pair; ' Kwd"}" >] -> List.iter l ~f:(fun (k,d) -> add_boxed k d) | [< ' _ >] -> raise (Stream.Error "") | [< >] -> raise End_of_file let all_props = Hashtbl.create 137 let all_pnames = Hashtbl.create 137 let outfile = ref "" let ooutfile = ref "" let process_file f = let base = Filename.chop_extension f in let baseM = String.capitalize_ascii base in prefix := baseM; (* Input *) (* Redefining saves space in bytecode! *) headers := ["open Gobject"; "open Data"; "module Object = GtkObject"]; oheaders := ["open GtkSignal"; "open Gobject"; "open Data"; "let set = set"; "let get = get"; "let param = param"]; let ic = open_in f in let chars = Stream.of_channel ic in let s = lexer chars in begin try while true do process_phrase ~chars s done with End_of_file -> () | Stream.Error _ | Stream.Failure -> Printf.eprintf "Parse error in file `%s' before char %d\n" f (Stream.count chars); exit 2 | exn -> Printf.eprintf "Exception %s in file `%s' before char %d\n" (Printexc.to_string exn) f (Stream.count chars); exit 2 end; (* Preproccess *) let type_name name ~attrs = try List.assoc "type" attrs with Not_found -> if List.mem_assoc "gobject" attrs then camlize name else if !prefix <> "" then !prefix ^ "." ^ camlize name ^ " obj" else camlize name ^ " obj" in let decls = List.rev !decls in let decls = List.filter decls ~f:(fun (_,_,attrs,_,_,_) -> not (List.mem_assoc "notype" attrs)) in List.iter decls ~f: (fun (name, gtk_name, attrs, _, _, _) -> add_object gtk_name (type_name name ~attrs)); (* Output modules *) if !outfile = "" then outfile := base ^ "Props.ml"; let oc = open_out !outfile in let ppf = Format.formatter_of_out_channel oc in let out fmt = Format.fprintf ppf fmt in List.iter !headers ~f:(fun s -> out "%s@." s); let decls = List.map decls ~f: begin fun (name, gtk_name, attrs, props, meths, sigs) -> (name, gtk_name, attrs, List.filter props ~f: begin fun (name,_,gtype,_) -> try ignore (Hashtbl.find conversions gtype); try let count, _ = Hashtbl.find all_props (name,gtype) in incr count; true with Not_found -> Hashtbl.add all_props (name,gtype) (ref 1, ref ""); true with Not_found -> prerr_endline ("Warning: no conversion for type " ^ gtype ^ " for property " ^ name ^ " in class " ^ gtk_name); false end, meths, List.filter sigs ~f: begin function | name, Function _, _ -> true | name, Types(_, l, ret), _ -> List.for_all (if ret = "" then l else ret::l) ~f: (fun ty -> if Hashtbl.mem conversions ty then true else (prerr_endline ("Warning: no conversion for type " ^ ty ^ " for signal " ^ name ^ " in class " ^ gtk_name); false)) end) end in let defprop ~name ~mlname ~gtype ~tag = let conv = Hashtbl.find conversions gtype in out "@ @[let %s " mlname; if tag <> "gtk" then out ": ([>`%s],_) property " tag; out "=@ @[{name=\"%s\";@ conv=%s}@]@]" name conv in let shared_props = Hashtbl.fold all_props ~init:[] ~f: begin fun ~key:(name,gtype) ~data:(count,rpname) acc -> if !count <= 1 then acc else let pname = camlize name in let pname = if Hashtbl.mem all_pnames pname then pname ^ "_" ^ gtype else (Hashtbl.add all_pnames pname (); pname) in rpname := "PrivateProps." ^ pname; (pname,name,gtype) :: acc end in if shared_props <> [] then begin out "@[module PrivateProps = struct"; List.iter (List.sort compare shared_props) ~f: (fun (pname,name,gtype) -> defprop ~name ~mlname:pname ~gtype ~tag:"gtk"); out "@]\nend\n@."; end; (* Redefining saves space in bytecode! *) out "let may_cons = Property.may_cons\n"; out "let may_cons_opt = Property.may_cons_opt\n@."; let may_cons_props props = if props <> [] then begin out "@ @[let pl = "; List.iter props ~f: begin fun (name,mlname,gtype,_) -> let op = if check_suffix gtype "_opt" then "may_cons_opt" else "may_cons" in out "(@;<0>%s P.%s %s " op (camlize name) mlname; end; out "pl"; for k = 1 to List.length props do out ")" done; out " in@]" end in let omarshaller ~gtk_class ~name ppf (l,tyl,ret) = let out fmt = Format.fprintf ppf fmt in out "fun f ->@ @[marshal%d" (List.length l); if ret <> "" then out "_ret@ ~ret:%s" (Hashtbl.find conversions ret); List.iter tyl ~f:(fun ty -> out "@ %s" ty); out "@ \"%s::%s\"" gtk_class name; if List.for_all l ~f:((=) "") then out " f" else begin let l = min_labelled l in out "@ @[(fun "; for i = 1 to List.length l do out "x%d " i done; out "->@ f"; let i = ref 0 in List.iter l ~f: (fun p -> incr i; if p="" then out "@ x%d" !i else out "@ ~%s:x%d" p !i); out ")@]"; end; out "@]" in List.iter decls ~f: begin fun (name, gtk_class, attrs, props, meths, sigs) -> out "@[module %s = struct" (camlizeM name); out "@ @[let cast w : %s =@ try_cast w \"%s\"@]" (type_name name ~attrs) gtk_class; let tag = try List.assoc "tag" attrs with Not_found -> !tagprefix ^ String.lowercase_ascii name in if props <> [] then begin out "@ @[module P = struct"; List.iter props ~f: begin fun (name, _, gtype, attrs) -> let count, rpname = Hashtbl.find all_props (name,gtype) in if !count > 1 then begin out "@ let %s : ([>`%s],_) property = %s" (camlize name) tag !rpname end else defprop ~name ~mlname:(camlize name) ~gtype ~tag end; out "@]@ end" end; if sigs <> [] then begin out "@ @[module S = struct@ open GtkSignal"; List.iter sigs ~f: begin fun (name,marshaller,_) -> out "@ @[let %s =" (camlize name); out "@ @[{name=\"%s\";@ classe=`%s;@ marshaller=" name tag; begin match marshaller with | Function s -> out "%s" s | Types ([], [], "") -> out "marshal_unit" | Types ([], [], ret) -> out "fun f -> marshal0_ret ~ret:%s f" (Hashtbl.find conversions ret) | Types (l, tyl, ret) -> omarshaller ~gtk_class ~name ppf (l, List.map (Hashtbl.find conversions) tyl, ret) end; out "}@]@]"; end; out "@]@ end"; end; if not (List.mem_assoc "abstract" attrs) then begin let cprops = List.filter props ~f:(fun (_,_,_,a) -> List.mem "ConstructOnly" a && not (List.mem "NoSet" a)) in out "@ @[let create"; List.iter cprops ~f:(fun (_,name,_,_) -> out " ?%s" name); if List.mem_assoc "hv" attrs then begin out " (dir : Gtk.Tags.orientation) pl : %s =" (type_name name ~attrs); may_cons_props cprops; out "@ @[Object.make"; out "@ (if dir = `HORIZONTAL then \"%sH%s\" else \"%sV%s\")@ pl" !prefix name !prefix name; out "@]@]"; end else begin out " pl : %s =" (type_name name ~attrs); may_cons_props cprops; if List.mem_assoc "gobject" attrs then out "@ Gobject.unsafe_create" else out "@ Object.make"; out " \"%s\" pl@]" gtk_class; end end; List.iter meths ~f: begin fun (name, typ, attrs) -> out "@ @[external %s :" name; out "@ @[[>`%s] obj ->@ %s@]" tag typ; let cname = camlize ("ml" ^ gtk_class) ^ "_" ^ name in out "@ = \""; if arity typ > 4 then out "%s_bc\" \"" cname; out "%s\"@]" cname; end; let set_props = let set = List.mem_assoc "set" attrs in List.filter props ~f: (fun (_,_,_,a) -> (set || List.mem "Set" a) && List.mem "Write" a && not (List.mem "ConstructOnly" a || List.mem "NoSet" a)) in if set_props <> [] then begin let props = set_props in out "@ @[@[let make_params ~cont pl"; List.iter props ~f:(fun (_,name,_,_) -> out "@ ?%s" name); out " =@]"; may_cons_props props; out "@ cont pl@]"; end; if !checks && (props <> [] || sigs <> []) then begin if List.mem_assoc "abstract" attrs then out "@ @[let check w =" else begin out "@ @[let check () ="; out "@ let w = create%s [] in" (if List.mem_assoc "hv" attrs then " `HORIZONTAL" else ""); end; if props <> [] then out "@ let c p = Property.check w p in"; if sigs <> [] then begin out "@ let closure = Closure.create ignore in"; out "@ let s name = GtkSignal.connect_by_name"; out " w ~name ~closure ~after:false in"; end; out "@ @["; List.iter props ~f: (fun (name,_,gtype,attrs) -> if List.mem "Read" attrs then out "c P.%s;@ " (camlize name)); List.iter sigs ~f:(fun (name,_,_) -> out "s %s;@ " name); out "()@]"; end; out "@]@.end\n@." end; close_out oc; (* Output classes *) if !ooutfile = "" then ooutfile := "o" ^ !outfile; let oc = open_out !ooutfile in let ppf = Format.formatter_of_out_channel oc in let out fmt = Format.fprintf ppf fmt in List.iter !oheaders ~f:(fun s -> out "%s@." s); out "open %s@." (String.capitalize_ascii (Filename.chop_extension !outfile)); out "@["; let oprop ~name ~gtype ppf pname = try let conv = List.assoc gtype specials in Format.fprintf ppf "{%s.P.%s with conv=%s}" (camlizeM name) (camlize pname) conv with Not_found -> Format.fprintf ppf "%s.P.%s" (camlizeM name) (camlize pname) in List.iter decls ~f: begin fun (name, gtk_class, attrs, props, meths, sigs) -> let wrap = List.mem_assoc "wrap" attrs in let wrapset = wrap || List.mem_assoc "wrapset" attrs in let wr_props = List.filter props ~f: (fun (_,_,_,set) -> let has = List.mem ~set in (wrapset || has "Wrap") && has "Write" && not (has "ConstructOnly" || has "NoWrap")) and rd_props = List.filter props ~f: (fun (_,_,_,set) -> let has = List.mem ~set in (wrap || has "Wrap") && has "Read" && not (has "NoWrap" || has "NoGet")) and wr_meths = List.filter meths ~f:(fun (_,_,attrs) -> List.mem "Wrap" attrs) in if wr_props <> [] || rd_props <> [] || wr_meths <> [] then begin (* pre 3.10 out "@ @[class virtual %s_props = object (self)" (camlize name); out "@ method private virtual obj : _ obj"; List.iter wr_props ~f:(fun (pname,mlname,gtype,_) -> out "@ @[method set_%s =@ set %a self#obj@]" mlname (oprop ~name ~gtype) pname); List.iter rd_props ~f:(fun (pname,mlname,gtype,_) -> out "@ @[method %s =@ get %a self#obj@]" mlname (oprop ~name ~gtype) pname); List.iter wr_meths ~f:(fun (mname,typ,_) -> out "@ @[method %s %s=@ %s.%s self#obj@]" mname (if typ = "unit" then "() " else "") (camlizeM name) mname); *) (* post 3.10 *) out "@ @[class virtual %s_props = object" (camlize name); out "@ val virtual obj : _ obj"; List.iter wr_props ~f:(fun (pname,mlname,gtype,_) -> out "@ @[method set_%s =@ set %a obj@]" mlname (oprop ~name ~gtype) pname); List.iter rd_props ~f:(fun (pname,mlname,gtype,_) -> out "@ @[method %s =@ get %a obj@]" mlname (oprop ~name ~gtype) pname); List.iter wr_meths ~f:(fun (mname,typ,_) -> out "@ @[method %s %s=@ %s.%s obj@]" mname (if typ = "unit" then "() " else "") (camlizeM name) mname); out "@]@ end@ "; (* #notify: easy connection to the "foo::notify" signal for the "foo" * properties. *) (* out "@ @[class virtual %s_notify obj = object (self)" (camlize name); out "@ val obj : 'a obj = obj"; out "@ method private notify : 'b. ('a, 'b) property ->"; out "@ callback:('b -> unit) -> _ ="; out "@ fun prop ~callback -> GtkSignal.connect_property obj"; out "@ ~prop ~callback"; List.iter rd_props ~f:(fun (pname, mlname, gtype, _) -> out "@ @[method %s =@ self#notify %a@]" mlname (oprop ~name ~gtype) pname); out "@]@ end@ "; *) end; let vset = List.mem_assoc "vset" attrs in let vprops = List.filter props ~f: (fun (_,_,_,set) -> let has = List.mem ~set in (vset || has "VSet") && has "Write" && not (has "ConstructOnly" || has "NoVSet")) in if vprops <> [] then begin out "@ @[let %s_param = function" (camlize name); List.iter vprops ~f:(fun (pname,mlname,gtype,_) -> out "@ @[| `%s p ->@ param %a p@]" (String.uppercase_ascii mlname) (oprop ~name ~gtype) pname); out "@]@ "; end; let wsig = List.mem_assoc "wrapsig" attrs in let wsigs = List.filter sigs ~f: (fun (_,_,attrs) -> List.mem "Wrap" attrs || wsig && not (List.mem "NoWrap" attrs)) in if wsigs <> [] then begin out "@ @[class virtual %s_sigs = object (self)" (camlize name); out "@ @[method private virtual connect :"; out "@ 'b. ('a,'b) GtkSignal.t -> callback:'b -> GtkSignal.id@]"; out "@ @[method private virtual notify :"; out "@ 'b. ('a,'b) property -> callback:('b -> unit) -> GtkSignal.id@]"; List.iter wsigs ~f: begin fun (sname, types,_) -> match types with Types(l, tyl,ret) when List.exists tyl ~f:(List.mem_assoc ~map:specials) -> let convs = List.map tyl ~f: (fun ty -> try List.assoc ty specials with Not_found -> Hashtbl.find conversions ty) in out "@ @[method %s =@ self#connect" sname; out "@ @[{%s.S.%s with@ marshaller = %a}@]@]" (camlizeM name) sname (omarshaller ~gtk_class ~name:sname) (l, convs,ret) | _ -> out "@ @[method %s =@ self#connect %s.S.%s@]" sname (camlizeM name) sname end; (* notify: easy connection to "foo::notify" signals for "foo" * properties. *) List.iter rd_props ~f:(fun (pname, mlname, gtype, _) -> out "@ @[method notify_%s ~callback =" mlname; out "@ @[self#notify %a ~callback@]@]" (oprop ~name ~gtype) pname); out "@]@ end@ "; end end; out "@."; close_out oc; outfile := ""; ooutfile := "" let main () = Arg.parse [ "-checks", Arg.Set checks, "generate code for checks"; "-o", Arg.String (fun s -> outfile := s), "basic output file name"; "-oo", Arg.String (fun s -> ooutfile := s), "wrappers output file name" ] process_file "usage: propcc file.props ..." let () = Printexc.print main () lablgtk-3.1.2/tools/introspection/stubs/0000755000650106067230000000000014161276610017200 5ustar glondusedlablgtk-3.1.2/tools/introspection/stubs/ml_stubs_Atk.c0000644000650106067230000030653414161276610022006 0ustar glondused#include #include #define Val_double(val) caml_copy_double(val) #define Val_string_new(val) caml_copy_string(val) #define Val_int32(val) caml_copy_int32(val) #define Val_int32_new(val) caml_copy_int32(val) /*TODO: conversion for record 'GAllocator' */ /*TODO: conversion for record 'GArray' */ /*TODO: conversion for record 'GAsyncQueue' */ /*TODO: conversion for record 'GBookmarkFile' */ /*TODO: conversion for record 'GByteArray' */ /*TODO: conversion for record 'GCache' */ /*TODO: conversion for record 'GChecksum' */ /*TODO: conversion for record 'GCompletion' */ /*TODO: conversion for record 'GCond' */ /*TODO: conversion for record 'GData' */ /*TODO: conversion for record 'GDate' */ /*TODO: conversion for record 'GDateTime' */ /*TODO: conversion for record 'GDebugKey' */ /*TODO: conversion for record 'GDir' */ /*TODO: conversion for record 'GError' */ /*TODO: conversion for record 'GHashTable' */ /*TODO: conversion for record 'GHashTableIter' */ /*TODO: conversion for record 'GHook' */ /*TODO: conversion for record 'GHookList' */ /*TODO: conversion for record 'GIConv' */ /*TODO: conversion for record 'GIOChannel' */ /*TODO: conversion for record 'GIOFuncs' */ /*TODO: conversion for record 'GKeyFile' */ /*TODO: conversion for record 'GList' */ /*TODO: conversion for record 'GMainContext' */ /*TODO: conversion for record 'GMainLoop' */ /*TODO: conversion for record 'GMappedFile' */ /*TODO: conversion for record 'GMarkupParseContext' */ /*TODO: conversion for record 'GMarkupParser' */ /*TODO: conversion for record 'GMatchInfo' */ /*TODO: conversion for record 'GMemChunk' */ /*TODO: conversion for record 'GMemVTable' */ /*TODO: conversion for record 'GMutex' */ /*TODO: conversion for record 'GNode' */ /*TODO: conversion for record 'GOnce' */ /*TODO: conversion for record 'GOptionContext' */ /*TODO: conversion for record 'GOptionEntry' */ /*TODO: conversion for record 'GOptionGroup' */ /*TODO: conversion for record 'GPatternSpec' */ /*TODO: conversion for record 'GPollFD' */ /*TODO: conversion for record 'GPrivate' */ /*TODO: conversion for record 'GPtrArray' */ /*TODO: conversion for record 'GQueue' */ /*TODO: conversion for record 'GRand' */ /*TODO: conversion for record 'GRegex' */ /*TODO: conversion for record 'GRelation' */ /*TODO: conversion for record 'GSList' */ /*TODO: conversion for record 'GScanner' */ /*TODO: conversion for record 'GScannerConfig' */ /*TODO: conversion for record 'GSequence' */ /*TODO: conversion for record 'GSequenceIter' */ /*TODO: conversion for record 'GSource' */ /*TODO: conversion for record 'GSourceCallbackFuncs' */ /*TODO: conversion for record 'GSourceFuncs' */ /*TODO: conversion for record 'GSourcePrivate' */ /*TODO: conversion for record 'GStatBuf' */ /*TODO: conversion for record 'GStaticMutex' */ /*TODO: conversion for record 'GStaticPrivate' */ /*TODO: conversion for record 'GStaticRWLock' */ /*TODO: conversion for record 'GStaticRecMutex' */ /*TODO: conversion for record 'GString' */ /*TODO: conversion for record 'GStringChunk' */ /*TODO: conversion for record 'GTestCase' */ /*TODO: conversion for record 'GTestConfig' */ /*TODO: conversion for record 'GTestLogBuffer' */ /*TODO: conversion for record 'GTestLogMsg' */ /*TODO: conversion for record 'GTestSuite' */ /*TODO: conversion for record 'GThread' */ /*TODO: conversion for record 'GThreadFunctions' */ /*TODO: conversion for record 'GThreadPool' */ /*TODO: conversion for record 'GTimeVal' */ /*TODO: conversion for record 'GTimeZone' */ /*TODO: conversion for record 'GTimer' */ /*TODO: conversion for record 'GTrashStack' */ /*TODO: conversion for record 'GTree' */ /*TODO: conversion for record 'GTuples' */ /*TODO: conversion for record 'GVariant' */ /*TODO: conversion for record 'GVariantBuilder' */ /*TODO: conversion for record 'GVariantIter' */ /*TODO: conversion for record 'GVariantType' */ #define GBinding_val(val) check_cast(G_BINDING,val) #define Val_GBinding(val) Val_GObject((GObject*)val) #define Val_GBinding_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCClosure' */ /*TODO: conversion for record 'GClosure' */ /*TODO: conversion for record 'GClosureNotifyData' */ /*TODO: conversion for record 'GEnumClass' */ /*TODO: conversion for record 'GEnumValue' */ /*TODO: conversion for record 'GFlagsClass' */ /*TODO: conversion for record 'GFlagsValue' */ /*TODO: conversion for record 'GInitiallyUnownedClass' */ /*TODO: conversion for record 'GInterfaceInfo' */ /*TODO: conversion for record 'GObjectClass' */ /*TODO: conversion for record 'GObjectConstructParam' */ /*TODO: conversion for record 'GParamSpec' */ /*TODO: conversion for record 'GParamSpecBoolean' */ /*TODO: conversion for record 'GParamSpecBoxed' */ /*TODO: conversion for record 'GParamSpecChar' */ /*TODO: conversion for record 'GParamSpecClass' */ /*TODO: conversion for record 'GParamSpecDouble' */ /*TODO: conversion for record 'GParamSpecEnum' */ /*TODO: conversion for record 'GParamSpecFlags' */ /*TODO: conversion for record 'GParamSpecFloat' */ /*TODO: conversion for record 'GParamSpecGType' */ /*TODO: conversion for record 'GParamSpecInt' */ /*TODO: conversion for record 'GParamSpecInt64' */ /*TODO: conversion for record 'GParamSpecLong' */ /*TODO: conversion for record 'GParamSpecObject' */ /*TODO: conversion for record 'GParamSpecOverride' */ /*TODO: conversion for record 'GParamSpecParam' */ /*TODO: conversion for record 'GParamSpecPointer' */ /*TODO: conversion for record 'GParamSpecPool' */ /*TODO: conversion for record 'GParamSpecString' */ /*TODO: conversion for record 'GParamSpecTypeInfo' */ /*TODO: conversion for record 'GParamSpecUChar' */ /*TODO: conversion for record 'GParamSpecUInt' */ /*TODO: conversion for record 'GParamSpecUInt64' */ /*TODO: conversion for record 'GParamSpecULong' */ /*TODO: conversion for record 'GParamSpecUnichar' */ /*TODO: conversion for record 'GParamSpecValueArray' */ /*TODO: conversion for record 'GParamSpecVariant' */ /*TODO: conversion for record 'GParameter' */ /*TODO: conversion for record 'GSignalInvocationHint' */ /*TODO: conversion for record 'GSignalQuery' */ /*TODO: conversion for record 'GTypeClass' */ /*TODO: conversion for record 'GTypeFundamentalInfo' */ /*TODO: conversion for record 'GTypeInfo' */ /*TODO: conversion for record 'GTypeInstance' */ /*TODO: conversion for record 'GTypeInterface' */ #define GTypeModule_val(val) check_cast(G_TYPE_MODULE,val) #define Val_GTypeModule(val) Val_GObject((GObject*)val) #define Val_GTypeModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTypeModuleClass' */ /*TODO: conversion for record 'GTypePluginClass' */ /*TODO: conversion for record 'GTypeQuery' */ /*TODO: conversion for record 'GTypeValueTable' */ /*TODO: conversion for record 'GValue' */ /*TODO: conversion for record 'GValueArray' */ /*TODO: conversion for record 'AtkActionIface' */ /*TODO: conversion for record 'AtkAttribute' */ /*TODO: conversion for record 'AtkComponentIface' */ /*TODO: conversion for record 'AtkDocumentIface' */ /*TODO: conversion for record 'AtkEditableTextIface' */ #define AtkGObjectAccessible_val(val) check_cast(ATK_G_OBJECT_ACCESSIBLE,val) #define Val_AtkGObjectAccessible(val) Val_GObject((GObject*)val) #define Val_AtkGObjectAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkGObjectAccessibleClass' */ #define AtkHyperlink_val(val) check_cast(ATK_HYPERLINK,val) #define Val_AtkHyperlink(val) Val_GObject((GObject*)val) #define Val_AtkHyperlink_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkHyperlinkClass' */ /*TODO: conversion for record 'AtkHyperlinkImplIface' */ /*TODO: conversion for record 'AtkHypertextIface' */ /*TODO: conversion for record 'AtkImageIface' */ /*TODO: conversion for record 'AtkImplementor' */ /*TODO: conversion for record 'AtkKeyEventStruct' */ #define AtkMisc_val(val) check_cast(ATK_MISC,val) #define Val_AtkMisc(val) Val_GObject((GObject*)val) #define Val_AtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkMiscClass' */ #define AtkNoOpObject_val(val) check_cast(ATK_NO_OP_OBJECT,val) #define Val_AtkNoOpObject(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectClass' */ #define AtkNoOpObjectFactory_val(val) check_cast(ATK_NO_OP_OBJECT_FACTORY,val) #define Val_AtkNoOpObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectFactoryClass' */ #define AtkObject_val(val) check_cast(ATK_OBJECT,val) #define Val_AtkObject(val) Val_GObject((GObject*)val) #define Val_AtkObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectClass' */ #define AtkObjectFactory_val(val) check_cast(ATK_OBJECT_FACTORY,val) #define Val_AtkObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectFactoryClass' */ #define AtkPlug_val(val) check_cast(ATK_PLUG,val) #define Val_AtkPlug(val) Val_GObject((GObject*)val) #define Val_AtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkPlugClass' */ /*TODO: conversion for record 'AtkRectangle' */ #define AtkRelation_val(val) check_cast(ATK_RELATION,val) #define Val_AtkRelation(val) Val_GObject((GObject*)val) #define Val_AtkRelation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationClass' */ #define AtkRelationSet_val(val) check_cast(ATK_RELATION_SET,val) #define Val_AtkRelationSet(val) Val_GObject((GObject*)val) #define Val_AtkRelationSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationSetClass' */ /*TODO: conversion for record 'AtkSelectionIface' */ #define AtkSocket_val(val) check_cast(ATK_SOCKET,val) #define Val_AtkSocket(val) Val_GObject((GObject*)val) #define Val_AtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkSocketClass' */ #define AtkStateSet_val(val) check_cast(ATK_STATE_SET,val) #define Val_AtkStateSet(val) Val_GObject((GObject*)val) #define Val_AtkStateSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkStateSetClass' */ /*TODO: conversion for record 'AtkStreamableContentIface' */ /*TODO: conversion for record 'AtkTableIface' */ /*TODO: conversion for record 'AtkTextIface' */ /*TODO: conversion for record 'AtkTextRange' */ /*TODO: conversion for record 'AtkTextRectangle' */ #define AtkUtil_val(val) check_cast(ATK_UTIL,val) #define Val_AtkUtil(val) Val_GObject((GObject*)val) #define Val_AtkUtil_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkUtilClass' */ /*TODO: conversion for record 'AtkValueIface' */ /*TODO: conversion for record '_AtkPropertyValues' */ /*TODO: conversion for record '_AtkRegistry' */ /*TODO: conversion for record '_AtkRegistryClass' */ /*TODO: conversion for record 'GModule' */ /*TODO: conversion for record 'GActionGroupInterface' */ /*TODO: conversion for record 'GActionInterface' */ /*TODO: conversion for record 'GAppInfoIface' */ #define GAppLaunchContext_val(val) check_cast(G_APP_LAUNCH_CONTEXT,val) #define Val_GAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GAppLaunchContextClass' */ /*TODO: conversion for record 'GAppLaunchContextPrivate' */ #define GApplication_val(val) check_cast(G_APPLICATION,val) #define Val_GApplication(val) Val_GObject((GObject*)val) #define Val_GApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationClass' */ #define GApplicationCommandLine_val(val) check_cast(G_APPLICATION_COMMAND_LINE,val) #define Val_GApplicationCommandLine(val) Val_GObject((GObject*)val) #define Val_GApplicationCommandLine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationCommandLineClass' */ /*TODO: conversion for record 'GApplicationCommandLinePrivate' */ /*TODO: conversion for record 'GApplicationPrivate' */ /*TODO: conversion for record 'GAsyncInitableIface' */ /*TODO: conversion for record 'GAsyncResultIface' */ #define GBufferedInputStream_val(val) check_cast(G_BUFFERED_INPUT_STREAM,val) #define Val_GBufferedInputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedInputStreamClass' */ /*TODO: conversion for record 'GBufferedInputStreamPrivate' */ #define GBufferedOutputStream_val(val) check_cast(G_BUFFERED_OUTPUT_STREAM,val) #define Val_GBufferedOutputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedOutputStreamClass' */ /*TODO: conversion for record 'GBufferedOutputStreamPrivate' */ #define GCancellable_val(val) check_cast(G_CANCELLABLE,val) #define Val_GCancellable(val) Val_GObject((GObject*)val) #define Val_GCancellable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCancellableClass' */ /*TODO: conversion for record 'GCancellablePrivate' */ #define GCharsetConverter_val(val) check_cast(G_CHARSET_CONVERTER,val) #define Val_GCharsetConverter(val) Val_GObject((GObject*)val) #define Val_GCharsetConverter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCharsetConverterClass' */ /*TODO: conversion for record 'GConverterIface' */ #define GConverterInputStream_val(val) check_cast(G_CONVERTER_INPUT_STREAM,val) #define Val_GConverterInputStream(val) Val_GObject((GObject*)val) #define Val_GConverterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterInputStreamClass' */ /*TODO: conversion for record 'GConverterInputStreamPrivate' */ #define GConverterOutputStream_val(val) check_cast(G_CONVERTER_OUTPUT_STREAM,val) #define Val_GConverterOutputStream(val) Val_GObject((GObject*)val) #define Val_GConverterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterOutputStreamClass' */ /*TODO: conversion for record 'GConverterOutputStreamPrivate' */ #define GCredentials_val(val) check_cast(G_CREDENTIALS,val) #define Val_GCredentials(val) Val_GObject((GObject*)val) #define Val_GCredentials_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCredentialsClass' */ /*TODO: conversion for record 'GDBusAnnotationInfo' */ /*TODO: conversion for record 'GDBusArgInfo' */ #define GDBusAuthObserver_val(val) check_cast(G_D_BUS_AUTH_OBSERVER,val) #define Val_GDBusAuthObserver(val) Val_GObject((GObject*)val) #define Val_GDBusAuthObserver_new(val) Val_GObject_new((GObject*)val) #define GDBusConnection_val(val) check_cast(G_D_BUS_CONNECTION,val) #define Val_GDBusConnection(val) Val_GObject((GObject*)val) #define Val_GDBusConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusErrorEntry' */ /*TODO: conversion for record 'GDBusInterfaceInfo' */ /*TODO: conversion for record 'GDBusInterfaceVTable' */ #define GDBusMessage_val(val) check_cast(G_D_BUS_MESSAGE,val) #define Val_GDBusMessage(val) Val_GObject((GObject*)val) #define Val_GDBusMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusMethodInfo' */ #define GDBusMethodInvocation_val(val) check_cast(G_D_BUS_METHOD_INVOCATION,val) #define Val_GDBusMethodInvocation(val) Val_GObject((GObject*)val) #define Val_GDBusMethodInvocation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusNodeInfo' */ /*TODO: conversion for record 'GDBusPropertyInfo' */ #define GDBusProxy_val(val) check_cast(G_D_BUS_PROXY,val) #define Val_GDBusProxy(val) Val_GObject((GObject*)val) #define Val_GDBusProxy_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusProxyClass' */ /*TODO: conversion for record 'GDBusProxyPrivate' */ #define GDBusServer_val(val) check_cast(G_D_BUS_SERVER,val) #define Val_GDBusServer(val) Val_GObject((GObject*)val) #define Val_GDBusServer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusSignalInfo' */ /*TODO: conversion for record 'GDBusSubtreeVTable' */ #define GDataInputStream_val(val) check_cast(G_DATA_INPUT_STREAM,val) #define Val_GDataInputStream(val) Val_GObject((GObject*)val) #define Val_GDataInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataInputStreamClass' */ /*TODO: conversion for record 'GDataInputStreamPrivate' */ #define GDataOutputStream_val(val) check_cast(G_DATA_OUTPUT_STREAM,val) #define Val_GDataOutputStream(val) Val_GObject((GObject*)val) #define Val_GDataOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataOutputStreamClass' */ /*TODO: conversion for record 'GDataOutputStreamPrivate' */ #define GDesktopAppInfo_val(val) check_cast(G_DESKTOP_APP_INFO,val) #define Val_GDesktopAppInfo(val) Val_GObject((GObject*)val) #define Val_GDesktopAppInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDesktopAppInfoClass' */ /*TODO: conversion for record 'GDesktopAppInfoLaunchHandlerIface' */ /*TODO: conversion for record 'GDesktopAppInfoLookupIface' */ /*TODO: conversion for record 'GDriveIface' */ #define GEmblem_val(val) check_cast(G_EMBLEM,val) #define Val_GEmblem(val) Val_GObject((GObject*)val) #define Val_GEmblem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemClass' */ #define GEmblemedIcon_val(val) check_cast(G_EMBLEMED_ICON,val) #define Val_GEmblemedIcon(val) Val_GObject((GObject*)val) #define Val_GEmblemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemedIconClass' */ /*TODO: conversion for record 'GEmblemedIconPrivate' */ /*TODO: conversion for record 'GFileAttributeInfo' */ /*TODO: conversion for record 'GFileAttributeInfoList' */ /*TODO: conversion for record 'GFileAttributeMatcher' */ /*TODO: conversion for record 'GFileDescriptorBasedIface' */ #define GFileEnumerator_val(val) check_cast(G_FILE_ENUMERATOR,val) #define Val_GFileEnumerator(val) Val_GObject((GObject*)val) #define Val_GFileEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileEnumeratorClass' */ /*TODO: conversion for record 'GFileEnumeratorPrivate' */ #define GFileIOStream_val(val) check_cast(G_FILE_I_O_STREAM,val) #define Val_GFileIOStream(val) Val_GObject((GObject*)val) #define Val_GFileIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIOStreamClass' */ /*TODO: conversion for record 'GFileIOStreamPrivate' */ #define GFileIcon_val(val) check_cast(G_FILE_ICON,val) #define Val_GFileIcon(val) Val_GObject((GObject*)val) #define Val_GFileIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIconClass' */ /*TODO: conversion for record 'GFileIface' */ #define GFileInfo_val(val) check_cast(G_FILE_INFO,val) #define Val_GFileInfo(val) Val_GObject((GObject*)val) #define Val_GFileInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInfoClass' */ #define GFileInputStream_val(val) check_cast(G_FILE_INPUT_STREAM,val) #define Val_GFileInputStream(val) Val_GObject((GObject*)val) #define Val_GFileInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInputStreamClass' */ /*TODO: conversion for record 'GFileInputStreamPrivate' */ #define GFileMonitor_val(val) check_cast(G_FILE_MONITOR,val) #define Val_GFileMonitor(val) Val_GObject((GObject*)val) #define Val_GFileMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileMonitorClass' */ /*TODO: conversion for record 'GFileMonitorPrivate' */ #define GFileOutputStream_val(val) check_cast(G_FILE_OUTPUT_STREAM,val) #define Val_GFileOutputStream(val) Val_GObject((GObject*)val) #define Val_GFileOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileOutputStreamClass' */ /*TODO: conversion for record 'GFileOutputStreamPrivate' */ #define GFilenameCompleter_val(val) check_cast(G_FILENAME_COMPLETER,val) #define Val_GFilenameCompleter(val) Val_GObject((GObject*)val) #define Val_GFilenameCompleter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilenameCompleterClass' */ #define GFilterInputStream_val(val) check_cast(G_FILTER_INPUT_STREAM,val) #define Val_GFilterInputStream(val) Val_GObject((GObject*)val) #define Val_GFilterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterInputStreamClass' */ #define GFilterOutputStream_val(val) check_cast(G_FILTER_OUTPUT_STREAM,val) #define Val_GFilterOutputStream(val) Val_GObject((GObject*)val) #define Val_GFilterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterOutputStreamClass' */ /*TODO: conversion for record 'GIOExtension' */ /*TODO: conversion for record 'GIOExtensionPoint' */ #define GIOModule_val(val) check_cast(G_I_O_MODULE,val) #define Val_GIOModule(val) Val_GObject((GObject*)val) #define Val_GIOModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOModuleClass' */ /*TODO: conversion for record 'GIOSchedulerJob' */ #define GIOStream_val(val) check_cast(G_I_O_STREAM,val) #define Val_GIOStream(val) Val_GObject((GObject*)val) #define Val_GIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOStreamAdapter' */ /*TODO: conversion for record 'GIOStreamClass' */ /*TODO: conversion for record 'GIOStreamPrivate' */ /*TODO: conversion for record 'GIconIface' */ #define GInetAddress_val(val) check_cast(G_INET_ADDRESS,val) #define Val_GInetAddress(val) Val_GObject((GObject*)val) #define Val_GInetAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetAddressClass' */ /*TODO: conversion for record 'GInetAddressPrivate' */ #define GInetSocketAddress_val(val) check_cast(G_INET_SOCKET_ADDRESS,val) #define Val_GInetSocketAddress(val) Val_GObject((GObject*)val) #define Val_GInetSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetSocketAddressClass' */ /*TODO: conversion for record 'GInetSocketAddressPrivate' */ /*TODO: conversion for record 'GInitableIface' */ #define GInputStream_val(val) check_cast(G_INPUT_STREAM,val) #define Val_GInputStream(val) Val_GObject((GObject*)val) #define Val_GInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInputStreamClass' */ /*TODO: conversion for record 'GInputStreamPrivate' */ /*TODO: conversion for record 'GInputVector' */ /*TODO: conversion for record 'GLoadableIconIface' */ #define GMemoryInputStream_val(val) check_cast(G_MEMORY_INPUT_STREAM,val) #define Val_GMemoryInputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryInputStreamClass' */ /*TODO: conversion for record 'GMemoryInputStreamPrivate' */ #define GMemoryOutputStream_val(val) check_cast(G_MEMORY_OUTPUT_STREAM,val) #define Val_GMemoryOutputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryOutputStreamClass' */ /*TODO: conversion for record 'GMemoryOutputStreamPrivate' */ /*TODO: conversion for record 'GMountIface' */ #define GMountOperation_val(val) check_cast(G_MOUNT_OPERATION,val) #define Val_GMountOperation(val) Val_GObject((GObject*)val) #define Val_GMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMountOperationClass' */ /*TODO: conversion for record 'GMountOperationPrivate' */ #define GNativeVolumeMonitor_val(val) check_cast(G_NATIVE_VOLUME_MONITOR,val) #define Val_GNativeVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GNativeVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNativeVolumeMonitorClass' */ #define GNetworkAddress_val(val) check_cast(G_NETWORK_ADDRESS,val) #define Val_GNetworkAddress(val) Val_GObject((GObject*)val) #define Val_GNetworkAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkAddressClass' */ /*TODO: conversion for record 'GNetworkAddressPrivate' */ #define GNetworkService_val(val) check_cast(G_NETWORK_SERVICE,val) #define Val_GNetworkService(val) Val_GObject((GObject*)val) #define Val_GNetworkService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkServiceClass' */ /*TODO: conversion for record 'GNetworkServicePrivate' */ #define GOutputStream_val(val) check_cast(G_OUTPUT_STREAM,val) #define Val_GOutputStream(val) Val_GObject((GObject*)val) #define Val_GOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GOutputStreamClass' */ /*TODO: conversion for record 'GOutputStreamPrivate' */ /*TODO: conversion for record 'GOutputVector' */ #define GPermission_val(val) check_cast(G_PERMISSION,val) #define Val_GPermission(val) Val_GObject((GObject*)val) #define Val_GPermission_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GPermissionClass' */ /*TODO: conversion for record 'GPermissionPrivate' */ /*TODO: conversion for record 'GPollableInputStreamInterface' */ /*TODO: conversion for record 'GPollableOutputStreamInterface' */ #define GProxyAddress_val(val) check_cast(G_PROXY_ADDRESS,val) #define Val_GProxyAddress(val) Val_GObject((GObject*)val) #define Val_GProxyAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressClass' */ #define GProxyAddressEnumerator_val(val) check_cast(G_PROXY_ADDRESS_ENUMERATOR,val) #define Val_GProxyAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GProxyAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressEnumeratorClass' */ /*TODO: conversion for record 'GProxyAddressEnumeratorPrivate' */ /*TODO: conversion for record 'GProxyAddressPrivate' */ /*TODO: conversion for record 'GProxyInterface' */ /*TODO: conversion for record 'GProxyResolverInterface' */ #define GResolver_val(val) check_cast(G_RESOLVER,val) #define Val_GResolver(val) Val_GObject((GObject*)val) #define Val_GResolver_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GResolverClass' */ /*TODO: conversion for record 'GResolverPrivate' */ /*TODO: conversion for record 'GSeekableIface' */ #define GSettings_val(val) check_cast(G_SETTINGS,val) #define Val_GSettings(val) Val_GObject((GObject*)val) #define Val_GSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSettingsBackend' */ /*TODO: conversion for record 'GSettingsClass' */ /*TODO: conversion for record 'GSettingsPrivate' */ #define GSimpleAction_val(val) check_cast(G_SIMPLE_ACTION,val) #define Val_GSimpleAction(val) Val_GObject((GObject*)val) #define Val_GSimpleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionClass' */ #define GSimpleActionGroup_val(val) check_cast(G_SIMPLE_ACTION_GROUP,val) #define Val_GSimpleActionGroup(val) Val_GObject((GObject*)val) #define Val_GSimpleActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionGroupClass' */ /*TODO: conversion for record 'GSimpleActionGroupPrivate' */ /*TODO: conversion for record 'GSimpleActionPrivate' */ #define GSimpleAsyncResult_val(val) check_cast(G_SIMPLE_ASYNC_RESULT,val) #define Val_GSimpleAsyncResult(val) Val_GObject((GObject*)val) #define Val_GSimpleAsyncResult_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleAsyncResultClass' */ #define GSimplePermission_val(val) check_cast(G_SIMPLE_PERMISSION,val) #define Val_GSimplePermission(val) Val_GObject((GObject*)val) #define Val_GSimplePermission_new(val) Val_GObject_new((GObject*)val) #define GSocket_val(val) check_cast(G_SOCKET,val) #define Val_GSocket(val) Val_GObject((GObject*)val) #define Val_GSocket_new(val) Val_GObject_new((GObject*)val) #define GSocketAddress_val(val) check_cast(G_SOCKET_ADDRESS,val) #define Val_GSocketAddress(val) Val_GObject((GObject*)val) #define Val_GSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressClass' */ #define GSocketAddressEnumerator_val(val) check_cast(G_SOCKET_ADDRESS_ENUMERATOR,val) #define Val_GSocketAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GSocketAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressEnumeratorClass' */ /*TODO: conversion for record 'GSocketClass' */ #define GSocketClient_val(val) check_cast(G_SOCKET_CLIENT,val) #define Val_GSocketClient(val) Val_GObject((GObject*)val) #define Val_GSocketClient_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketClientClass' */ /*TODO: conversion for record 'GSocketClientPrivate' */ /*TODO: conversion for record 'GSocketConnectableIface' */ #define GSocketConnection_val(val) check_cast(G_SOCKET_CONNECTION,val) #define Val_GSocketConnection(val) Val_GObject((GObject*)val) #define Val_GSocketConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketConnectionClass' */ /*TODO: conversion for record 'GSocketConnectionPrivate' */ #define GSocketControlMessage_val(val) check_cast(G_SOCKET_CONTROL_MESSAGE,val) #define Val_GSocketControlMessage(val) Val_GObject((GObject*)val) #define Val_GSocketControlMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketControlMessageClass' */ /*TODO: conversion for record 'GSocketControlMessagePrivate' */ #define GSocketListener_val(val) check_cast(G_SOCKET_LISTENER,val) #define Val_GSocketListener(val) Val_GObject((GObject*)val) #define Val_GSocketListener_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketListenerClass' */ /*TODO: conversion for record 'GSocketListenerPrivate' */ /*TODO: conversion for record 'GSocketPrivate' */ #define GSocketService_val(val) check_cast(G_SOCKET_SERVICE,val) #define Val_GSocketService(val) Val_GObject((GObject*)val) #define Val_GSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketServiceClass' */ /*TODO: conversion for record 'GSocketServicePrivate' */ /*TODO: conversion for record 'GSrvTarget' */ #define GTcpConnection_val(val) check_cast(G_TCP_CONNECTION,val) #define Val_GTcpConnection(val) Val_GObject((GObject*)val) #define Val_GTcpConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpConnectionClass' */ /*TODO: conversion for record 'GTcpConnectionPrivate' */ #define GTcpWrapperConnection_val(val) check_cast(G_TCP_WRAPPER_CONNECTION,val) #define Val_GTcpWrapperConnection(val) Val_GObject((GObject*)val) #define Val_GTcpWrapperConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpWrapperConnectionClass' */ /*TODO: conversion for record 'GTcpWrapperConnectionPrivate' */ #define GThemedIcon_val(val) check_cast(G_THEMED_ICON,val) #define Val_GThemedIcon(val) Val_GObject((GObject*)val) #define Val_GThemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThemedIconClass' */ #define GThreadedSocketService_val(val) check_cast(G_THREADED_SOCKET_SERVICE,val) #define Val_GThreadedSocketService(val) Val_GObject((GObject*)val) #define Val_GThreadedSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThreadedSocketServiceClass' */ /*TODO: conversion for record 'GThreadedSocketServicePrivate' */ /*TODO: conversion for record 'GTlsBackendInterface' */ #define GTlsCertificate_val(val) check_cast(G_TLS_CERTIFICATE,val) #define Val_GTlsCertificate(val) Val_GObject((GObject*)val) #define Val_GTlsCertificate_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsCertificateClass' */ /*TODO: conversion for record 'GTlsCertificatePrivate' */ /*TODO: conversion for record 'GTlsClientConnectionInterface' */ /*TODO: conversion for record 'GTlsClientContext' */ #define GTlsConnection_val(val) check_cast(G_TLS_CONNECTION,val) #define Val_GTlsConnection(val) Val_GObject((GObject*)val) #define Val_GTlsConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsConnectionClass' */ /*TODO: conversion for record 'GTlsConnectionPrivate' */ /*TODO: conversion for record 'GTlsContext' */ /*TODO: conversion for record 'GTlsServerConnectionInterface' */ /*TODO: conversion for record 'GTlsServerContext' */ #define GUnixConnection_val(val) check_cast(G_UNIX_CONNECTION,val) #define Val_GUnixConnection(val) Val_GObject((GObject*)val) #define Val_GUnixConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixConnectionClass' */ /*TODO: conversion for record 'GUnixConnectionPrivate' */ #define GUnixCredentialsMessage_val(val) check_cast(G_UNIX_CREDENTIALS_MESSAGE,val) #define Val_GUnixCredentialsMessage(val) Val_GObject((GObject*)val) #define Val_GUnixCredentialsMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixCredentialsMessageClass' */ /*TODO: conversion for record 'GUnixCredentialsMessagePrivate' */ #define GUnixFDList_val(val) check_cast(G_UNIX_F_D_LIST,val) #define Val_GUnixFDList(val) Val_GObject((GObject*)val) #define Val_GUnixFDList_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDListClass' */ /*TODO: conversion for record 'GUnixFDListPrivate' */ #define GUnixFDMessage_val(val) check_cast(G_UNIX_F_D_MESSAGE,val) #define Val_GUnixFDMessage(val) Val_GObject((GObject*)val) #define Val_GUnixFDMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDMessageClass' */ /*TODO: conversion for record 'GUnixFDMessagePrivate' */ #define GUnixInputStream_val(val) check_cast(G_UNIX_INPUT_STREAM,val) #define Val_GUnixInputStream(val) Val_GObject((GObject*)val) #define Val_GUnixInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixInputStreamClass' */ /*TODO: conversion for record 'GUnixInputStreamPrivate' */ /*TODO: conversion for record 'GUnixMountEntry' */ #define GUnixMountMonitor_val(val) check_cast(G_UNIX_MOUNT_MONITOR,val) #define Val_GUnixMountMonitor(val) Val_GObject((GObject*)val) #define Val_GUnixMountMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixMountMonitorClass' */ /*TODO: conversion for record 'GUnixMountPoint' */ #define GUnixOutputStream_val(val) check_cast(G_UNIX_OUTPUT_STREAM,val) #define Val_GUnixOutputStream(val) Val_GObject((GObject*)val) #define Val_GUnixOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixOutputStreamClass' */ /*TODO: conversion for record 'GUnixOutputStreamPrivate' */ #define GUnixSocketAddress_val(val) check_cast(G_UNIX_SOCKET_ADDRESS,val) #define Val_GUnixSocketAddress(val) Val_GObject((GObject*)val) #define Val_GUnixSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixSocketAddressClass' */ /*TODO: conversion for record 'GUnixSocketAddressPrivate' */ #define GVfs_val(val) check_cast(G_VFS,val) #define Val_GVfs(val) Val_GObject((GObject*)val) #define Val_GVfs_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVfsClass' */ /*TODO: conversion for record 'GVolumeIface' */ #define GVolumeMonitor_val(val) check_cast(G_VOLUME_MONITOR,val) #define Val_GVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVolumeMonitorClass' */ #define GZlibCompressor_val(val) check_cast(G_ZLIB_COMPRESSOR,val) #define Val_GZlibCompressor(val) Val_GObject((GObject*)val) #define Val_GZlibCompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibCompressorClass' */ #define GZlibDecompressor_val(val) check_cast(G_ZLIB_DECOMPRESSOR,val) #define Val_GZlibDecompressor(val) Val_GObject((GObject*)val) #define Val_GZlibDecompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibDecompressorClass' */ #define GdkPixbuf_val(val) check_cast(GDK_PIXBUF,val) #define Val_GdkPixbuf(val) Val_GObject((GObject*)val) #define Val_GdkPixbuf_new(val) Val_GObject_new((GObject*)val) #define GdkPixbufAnimation_val(val) check_cast(GDK_PIXBUF_ANIMATION,val) #define Val_GdkPixbufAnimation(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationClass' */ #define GdkPixbufAnimationIter_val(val) check_cast(GDK_PIXBUF_ANIMATION_ITER,val) #define Val_GdkPixbufAnimationIter(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimationIter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationIterClass' */ /*TODO: conversion for record 'GdkPixbufFormat' */ #define GdkPixbufLoader_val(val) check_cast(GDK_PIXBUF_LOADER,val) #define Val_GdkPixbufLoader(val) Val_GObject((GObject*)val) #define Val_GdkPixbufLoader_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufLoaderClass' */ /*TODO: conversion for record 'GdkPixbufModule' */ /*TODO: conversion for record 'GdkPixbufModulePattern' */ #define GdkPixbufSimpleAnim_val(val) check_cast(GDK_PIXBUF_SIMPLE_ANIM,val) #define Val_GdkPixbufSimpleAnim(val) Val_GObject((GObject*)val) #define Val_GdkPixbufSimpleAnim_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufSimpleAnimClass' */ /*TODO: conversion for record 'GdkPixdata' */ /*TODO: conversion for record 'cairo_t' */ /*TODO: conversion for record 'cairo_surface_t' */ /*TODO: conversion for record 'cairo_matrix_t' */ /*TODO: conversion for record 'cairo_pattern_t' */ /*TODO: conversion for record 'cairo_region_t' */ /*TODO: conversion for record 'cairo_font_options_t' */ /*TODO: conversion for record 'cairo_font_type_t' */ /*TODO: conversion for record 'cairo_font_face_t' */ /*TODO: conversion for record 'cairo_scaled_font_t' */ /*TODO: conversion for record 'cairo_path_t' */ /*TODO: conversion for record 'cairo_rectangle_int_t' */ /*TODO: conversion for record 'PangoAnalysis' */ /*TODO: conversion for record 'PangoAttrClass' */ /*TODO: conversion for record 'PangoAttrColor' */ /*TODO: conversion for record 'PangoAttrFloat' */ /*TODO: conversion for record 'PangoAttrFontDesc' */ /*TODO: conversion for record 'PangoAttrInt' */ /*TODO: conversion for record 'PangoAttrIterator' */ /*TODO: conversion for record 'PangoAttrLanguage' */ /*TODO: conversion for record 'PangoAttrList' */ /*TODO: conversion for record 'PangoAttrShape' */ /*TODO: conversion for record 'PangoAttrSize' */ /*TODO: conversion for record 'PangoAttrString' */ /*TODO: conversion for record 'PangoAttribute' */ /*TODO: conversion for record 'PangoColor' */ #define PangoContext_val(val) check_cast(PANGO_CONTEXT,val) #define Val_PangoContext(val) Val_GObject((GObject*)val) #define Val_PangoContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoContextClass' */ /*TODO: conversion for record 'PangoCoverage' */ /*TODO: conversion for record 'PangoEngineLang' */ /*TODO: conversion for record 'PangoEngineShape' */ #define PangoFont_val(val) check_cast(PANGO_FONT,val) #define Val_PangoFont(val) Val_GObject((GObject*)val) #define Val_PangoFont_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontDescription' */ #define PangoFontFace_val(val) check_cast(PANGO_FONT_FACE,val) #define Val_PangoFontFace(val) Val_GObject((GObject*)val) #define Val_PangoFontFace_new(val) Val_GObject_new((GObject*)val) #define PangoFontFamily_val(val) check_cast(PANGO_FONT_FAMILY,val) #define Val_PangoFontFamily(val) Val_GObject((GObject*)val) #define Val_PangoFontFamily_new(val) Val_GObject_new((GObject*)val) #define PangoFontMap_val(val) check_cast(PANGO_FONT_MAP,val) #define Val_PangoFontMap(val) Val_GObject((GObject*)val) #define Val_PangoFontMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontMetrics' */ #define PangoFontset_val(val) check_cast(PANGO_FONTSET,val) #define Val_PangoFontset(val) Val_GObject((GObject*)val) #define Val_PangoFontset_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoGlyphGeometry' */ /*TODO: conversion for record 'PangoGlyphInfo' */ /*TODO: conversion for record 'PangoGlyphItem' */ /*TODO: conversion for record 'PangoGlyphItemIter' */ /*TODO: conversion for record 'PangoGlyphString' */ /*TODO: conversion for record 'PangoGlyphVisAttr' */ /*TODO: conversion for record 'PangoItem' */ /*TODO: conversion for record 'PangoLanguage' */ #define PangoLayout_val(val) check_cast(PANGO_LAYOUT,val) #define Val_PangoLayout(val) Val_GObject((GObject*)val) #define Val_PangoLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoLayoutClass' */ /*TODO: conversion for record 'PangoLayoutIter' */ /*TODO: conversion for record 'PangoLayoutLine' */ /*TODO: conversion for record 'PangoLogAttr' */ /*TODO: conversion for record 'PangoMatrix' */ /*TODO: conversion for record 'PangoRectangle' */ #define PangoRenderer_val(val) check_cast(PANGO_RENDERER,val) #define Val_PangoRenderer(val) Val_GObject((GObject*)val) #define Val_PangoRenderer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoRendererClass' */ /*TODO: conversion for record 'PangoRendererPrivate' */ /*TODO: conversion for record 'PangoScriptIter' */ /*TODO: conversion for record 'PangoTabArray' */ /*TODO: conversion for record '_PangoScriptForLang' */ #define GdkAppLaunchContext_val(val) check_cast(GDK_APP_LAUNCH_CONTEXT,val) #define Val_GdkAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GdkAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkAtom' */ /*TODO: conversion for record 'GdkColor' */ #define GdkCursor_val(val) check_cast(GDK_CURSOR,val) #define Val_GdkCursor(val) Val_GObject((GObject*)val) #define Val_GdkCursor_new(val) Val_GObject_new((GObject*)val) #define GdkDevice_val(val) check_cast(GDK_DEVICE,val) #define Val_GdkDevice(val) Val_GObject((GObject*)val) #define Val_GdkDevice_new(val) Val_GObject_new((GObject*)val) #define GdkDeviceManager_val(val) check_cast(GDK_DEVICE_MANAGER,val) #define Val_GdkDeviceManager(val) Val_GObject((GObject*)val) #define Val_GdkDeviceManager_new(val) Val_GObject_new((GObject*)val) #define GdkDisplay_val(val) check_cast(GDK_DISPLAY_OBJECT,val) #define Val_GdkDisplay(val) Val_GObject((GObject*)val) #define Val_GdkDisplay_new(val) Val_GObject_new((GObject*)val) #define GdkDisplayManager_val(val) check_cast(GDK_DISPLAY_MANAGER,val) #define Val_GdkDisplayManager(val) Val_GObject((GObject*)val) #define Val_GdkDisplayManager_new(val) Val_GObject_new((GObject*)val) #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val) #define Val_GdkDragContext(val) Val_GObject((GObject*)val) #define Val_GdkDragContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkEventAny' */ /*TODO: conversion for record 'GdkEventButton' */ /*TODO: conversion for record 'GdkEventConfigure' */ /*TODO: conversion for record 'GdkEventCrossing' */ /*TODO: conversion for record 'GdkEventDND' */ /*TODO: conversion for record 'GdkEventExpose' */ /*TODO: conversion for record 'GdkEventFocus' */ /*TODO: conversion for record 'GdkEventGrabBroken' */ /*TODO: conversion for record 'GdkEventKey' */ /*TODO: conversion for record 'GdkEventMotion' */ /*TODO: conversion for record 'GdkEventOwnerChange' */ /*TODO: conversion for record 'GdkEventProperty' */ /*TODO: conversion for record 'GdkEventProximity' */ /*TODO: conversion for record 'GdkEventScroll' */ /*TODO: conversion for record 'GdkEventSelection' */ /*TODO: conversion for record 'GdkEventSetting' */ /*TODO: conversion for record 'GdkEventVisibility' */ /*TODO: conversion for record 'GdkEventWindowState' */ /*TODO: conversion for record 'GdkGeometry' */ #define GdkKeymap_val(val) check_cast(GDK_KEYMAP,val) #define Val_GdkKeymap(val) Val_GObject((GObject*)val) #define Val_GdkKeymap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkKeymapKey' */ /*TODO: conversion for record 'GdkPoint' */ /*TODO: conversion for record 'GdkRGBA' */ #define GdkScreen_val(val) check_cast(GDK_SCREEN,val) #define Val_GdkScreen(val) Val_GObject((GObject*)val) #define Val_GdkScreen_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkTimeCoord' */ #define GdkVisual_val(val) check_cast(GDK_VISUAL,val) #define Val_GdkVisual(val) Val_GObject((GObject*)val) #define Val_GdkVisual_new(val) Val_GObject_new((GObject*)val) #define GdkWindow_val(val) check_cast(GDK_WINDOW,val) #define Val_GdkWindow(val) Val_GObject((GObject*)val) #define Val_GdkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkWindowAttr' */ /*TODO: conversion for record 'GdkWindowClass' */ /*TODO: conversion for record 'GdkWindowRedirect' */ #define GtkAboutDialog_val(val) check_cast(GTK_ABOUT_DIALOG,val) #define Val_GtkAboutDialog(val) Val_GObject((GObject*)val) #define Val_GtkAboutDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAboutDialogClass' */ /*TODO: conversion for record 'GtkAboutDialogPrivate' */ #define GtkAccelGroup_val(val) check_cast(GTK_ACCEL_GROUP,val) #define Val_GtkAccelGroup(val) Val_GObject((GObject*)val) #define Val_GtkAccelGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelGroupClass' */ /*TODO: conversion for record 'GtkAccelGroupEntry' */ /*TODO: conversion for record 'GtkAccelGroupPrivate' */ /*TODO: conversion for record 'GtkAccelKey' */ #define GtkAccelLabel_val(val) check_cast(GTK_ACCEL_LABEL,val) #define Val_GtkAccelLabel(val) Val_GObject((GObject*)val) #define Val_GtkAccelLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelLabelClass' */ /*TODO: conversion for record 'GtkAccelLabelPrivate' */ #define GtkAccelMap_val(val) check_cast(GTK_ACCEL_MAP,val) #define Val_GtkAccelMap(val) Val_GObject((GObject*)val) #define Val_GtkAccelMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelMapClass' */ #define GtkAccessible_val(val) check_cast(GTK_ACCESSIBLE,val) #define Val_GtkAccessible(val) Val_GObject((GObject*)val) #define Val_GtkAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccessibleClass' */ /*TODO: conversion for record 'GtkAccessiblePrivate' */ #define GtkAction_val(val) check_cast(GTK_ACTION,val) #define Val_GtkAction(val) Val_GObject((GObject*)val) #define Val_GtkAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionClass' */ /*TODO: conversion for record 'GtkActionEntry' */ #define GtkActionGroup_val(val) check_cast(GTK_ACTION_GROUP,val) #define Val_GtkActionGroup(val) Val_GObject((GObject*)val) #define Val_GtkActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionGroupClass' */ /*TODO: conversion for record 'GtkActionGroupPrivate' */ /*TODO: conversion for record 'GtkActionPrivate' */ /*TODO: conversion for record 'GtkActivatableIface' */ #define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val) #define Val_GtkAdjustment(val) Val_GObject((GObject*)val) #define Val_GtkAdjustment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAdjustmentClass' */ /*TODO: conversion for record 'GtkAdjustmentPrivate' */ #define GtkAlignment_val(val) check_cast(GTK_ALIGNMENT,val) #define Val_GtkAlignment(val) Val_GObject((GObject*)val) #define Val_GtkAlignment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAlignmentClass' */ /*TODO: conversion for record 'GtkAlignmentPrivate' */ #define GtkAppChooserButton_val(val) check_cast(GTK_APP_CHOOSER_BUTTON,val) #define Val_GtkAppChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserButtonClass' */ /*TODO: conversion for record 'GtkAppChooserButtonPrivate' */ #define GtkAppChooserDialog_val(val) check_cast(GTK_APP_CHOOSER_DIALOG,val) #define Val_GtkAppChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserDialogClass' */ /*TODO: conversion for record 'GtkAppChooserDialogPrivate' */ #define GtkAppChooserWidget_val(val) check_cast(GTK_APP_CHOOSER_WIDGET,val) #define Val_GtkAppChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserWidgetClass' */ /*TODO: conversion for record 'GtkAppChooserWidgetPrivate' */ #define GtkApplication_val(val) check_cast(GTK_APPLICATION,val) #define Val_GtkApplication(val) Val_GObject((GObject*)val) #define Val_GtkApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkApplicationClass' */ /*TODO: conversion for record 'GtkApplicationPrivate' */ #define GtkArrow_val(val) check_cast(GTK_ARROW,val) #define Val_GtkArrow(val) Val_GObject((GObject*)val) #define Val_GtkArrow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkArrowClass' */ /*TODO: conversion for record 'GtkArrowPrivate' */ #define GtkAspectFrame_val(val) check_cast(GTK_ASPECT_FRAME,val) #define Val_GtkAspectFrame(val) Val_GObject((GObject*)val) #define Val_GtkAspectFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAspectFrameClass' */ /*TODO: conversion for record 'GtkAspectFramePrivate' */ #define GtkAssistant_val(val) check_cast(GTK_ASSISTANT,val) #define Val_GtkAssistant(val) Val_GObject((GObject*)val) #define Val_GtkAssistant_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAssistantClass' */ /*TODO: conversion for record 'GtkAssistantPrivate' */ #define GtkBin_val(val) check_cast(GTK_BIN,val) #define Val_GtkBin(val) Val_GObject((GObject*)val) #define Val_GtkBin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBinClass' */ /*TODO: conversion for record 'GtkBinPrivate' */ /*TODO: conversion for record 'GtkBindingArg' */ /*TODO: conversion for record 'GtkBindingEntry' */ /*TODO: conversion for record 'GtkBindingSet' */ /*TODO: conversion for record 'GtkBindingSignal' */ /*TODO: conversion for record 'GtkBorder' */ #define GtkBox_val(val) check_cast(GTK_BOX,val) #define Val_GtkBox(val) Val_GObject((GObject*)val) #define Val_GtkBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBoxClass' */ /*TODO: conversion for record 'GtkBoxPrivate' */ /*TODO: conversion for record 'GtkBuildableIface' */ #define GtkBuilder_val(val) check_cast(GTK_BUILDER,val) #define Val_GtkBuilder(val) Val_GObject((GObject*)val) #define Val_GtkBuilder_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBuilderClass' */ /*TODO: conversion for record 'GtkBuilderPrivate' */ #define GtkButton_val(val) check_cast(GTK_BUTTON,val) #define Val_GtkButton(val) Val_GObject((GObject*)val) #define Val_GtkButton_new(val) Val_GObject_new((GObject*)val) #define GtkButtonBox_val(val) check_cast(GTK_BUTTON_BOX,val) #define Val_GtkButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkButtonBoxClass' */ /*TODO: conversion for record 'GtkButtonBoxPrivate' */ /*TODO: conversion for record 'GtkButtonClass' */ /*TODO: conversion for record 'GtkButtonPrivate' */ #define GtkCalendar_val(val) check_cast(GTK_CALENDAR,val) #define Val_GtkCalendar(val) Val_GObject((GObject*)val) #define Val_GtkCalendar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCalendarClass' */ /*TODO: conversion for record 'GtkCalendarPrivate' */ #define GtkCellArea_val(val) check_cast(GTK_CELL_AREA,val) #define Val_GtkCellArea(val) Val_GObject((GObject*)val) #define Val_GtkCellArea_new(val) Val_GObject_new((GObject*)val) #define GtkCellAreaBox_val(val) check_cast(GTK_CELL_AREA_BOX,val) #define Val_GtkCellAreaBox(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaBoxClass' */ /*TODO: conversion for record 'GtkCellAreaBoxPrivate' */ /*TODO: conversion for record 'GtkCellAreaClass' */ #define GtkCellAreaContext_val(val) check_cast(GTK_CELL_AREA_CONTEXT,val) #define Val_GtkCellAreaContext(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaContextClass' */ /*TODO: conversion for record 'GtkCellAreaContextPrivate' */ /*TODO: conversion for record 'GtkCellAreaPrivate' */ /*TODO: conversion for record 'GtkCellEditableIface' */ /*TODO: conversion for record 'GtkCellLayoutIface' */ #define GtkCellRenderer_val(val) check_cast(GTK_CELL_RENDERER,val) #define Val_GtkCellRenderer(val) Val_GObject((GObject*)val) #define Val_GtkCellRenderer_new(val) Val_GObject_new((GObject*)val) #define GtkCellRendererAccel_val(val) check_cast(GTK_CELL_RENDERER_ACCEL,val) #define Val_GtkCellRendererAccel(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererAccel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererAccelClass' */ /*TODO: conversion for record 'GtkCellRendererAccelPrivate' */ /*TODO: conversion for record 'GtkCellRendererClass' */ #define GtkCellRendererCombo_val(val) check_cast(GTK_CELL_RENDERER_COMBO,val) #define Val_GtkCellRendererCombo(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererCombo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererComboClass' */ /*TODO: conversion for record 'GtkCellRendererComboPrivate' */ #define GtkCellRendererPixbuf_val(val) check_cast(GTK_CELL_RENDERER_PIXBUF,val) #define Val_GtkCellRendererPixbuf(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererPixbuf_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererPixbufClass' */ /*TODO: conversion for record 'GtkCellRendererPixbufPrivate' */ /*TODO: conversion for record 'GtkCellRendererPrivate' */ #define GtkCellRendererProgress_val(val) check_cast(GTK_CELL_RENDERER_PROGRESS,val) #define Val_GtkCellRendererProgress(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererProgress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererProgressClass' */ /*TODO: conversion for record 'GtkCellRendererProgressPrivate' */ #define GtkCellRendererSpin_val(val) check_cast(GTK_CELL_RENDERER_SPIN,val) #define Val_GtkCellRendererSpin(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinClass' */ /*TODO: conversion for record 'GtkCellRendererSpinPrivate' */ #define GtkCellRendererSpinner_val(val) check_cast(GTK_CELL_RENDERER_SPINNER,val) #define Val_GtkCellRendererSpinner(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinnerClass' */ /*TODO: conversion for record 'GtkCellRendererSpinnerPrivate' */ #define GtkCellRendererText_val(val) check_cast(GTK_CELL_RENDERER_TEXT,val) #define Val_GtkCellRendererText(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererTextClass' */ /*TODO: conversion for record 'GtkCellRendererTextPrivate' */ #define GtkCellRendererToggle_val(val) check_cast(GTK_CELL_RENDERER_TOGGLE,val) #define Val_GtkCellRendererToggle(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererToggle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererToggleClass' */ /*TODO: conversion for record 'GtkCellRendererTogglePrivate' */ #define GtkCellView_val(val) check_cast(GTK_CELL_VIEW,val) #define Val_GtkCellView(val) Val_GObject((GObject*)val) #define Val_GtkCellView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellViewClass' */ /*TODO: conversion for record 'GtkCellViewPrivate' */ #define GtkCheckButton_val(val) check_cast(GTK_CHECK_BUTTON,val) #define Val_GtkCheckButton(val) Val_GObject((GObject*)val) #define Val_GtkCheckButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckButtonClass' */ #define GtkCheckMenuItem_val(val) check_cast(GTK_CHECK_MENU_ITEM,val) #define Val_GtkCheckMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkCheckMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckMenuItemClass' */ /*TODO: conversion for record 'GtkCheckMenuItemPrivate' */ #define GtkClipboard_val(val) check_cast(GTK_CLIPBOARD,val) #define Val_GtkClipboard(val) Val_GObject((GObject*)val) #define Val_GtkClipboard_new(val) Val_GObject_new((GObject*)val) #define GtkColorButton_val(val) check_cast(GTK_COLOR_BUTTON,val) #define Val_GtkColorButton(val) Val_GObject((GObject*)val) #define Val_GtkColorButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorButtonClass' */ /*TODO: conversion for record 'GtkColorButtonPrivate' */ #define GtkColorSelection_val(val) check_cast(GTK_COLOR_SELECTION,val) #define Val_GtkColorSelection(val) Val_GObject((GObject*)val) #define Val_GtkColorSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionClass' */ #define GtkColorSelectionDialog_val(val) check_cast(GTK_COLOR_SELECTION_DIALOG,val) #define Val_GtkColorSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkColorSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionDialogClass' */ /*TODO: conversion for record 'GtkColorSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkColorSelectionPrivate' */ #define GtkComboBox_val(val) check_cast(GTK_COMBO_BOX,val) #define Val_GtkComboBox(val) Val_GObject((GObject*)val) #define Val_GtkComboBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxClass' */ /*TODO: conversion for record 'GtkComboBoxPrivate' */ #define GtkComboBoxText_val(val) check_cast(GTK_COMBO_BOX_TEXT,val) #define Val_GtkComboBoxText(val) Val_GObject((GObject*)val) #define Val_GtkComboBoxText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxTextClass' */ /*TODO: conversion for record 'GtkComboBoxTextPrivate' */ #define GtkContainer_val(val) check_cast(GTK_CONTAINER,val) #define Val_GtkContainer(val) Val_GObject((GObject*)val) #define Val_GtkContainer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkContainerClass' */ /*TODO: conversion for record 'GtkContainerPrivate' */ #define GtkCssProvider_val(val) check_cast(GTK_CSS_PROVIDER,val) #define Val_GtkCssProvider(val) Val_GObject((GObject*)val) #define Val_GtkCssProvider_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCssProviderClass' */ #define GtkDialog_val(val) check_cast(GTK_DIALOG,val) #define Val_GtkDialog(val) Val_GObject((GObject*)val) #define Val_GtkDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDialogClass' */ /*TODO: conversion for record 'GtkDialogPrivate' */ #define GtkDrawingArea_val(val) check_cast(GTK_DRAWING_AREA,val) #define Val_GtkDrawingArea(val) Val_GObject((GObject*)val) #define Val_GtkDrawingArea_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDrawingAreaClass' */ /*TODO: conversion for record 'GtkEditableInterface' */ #define GtkEntry_val(val) check_cast(GTK_ENTRY,val) #define Val_GtkEntry(val) Val_GObject((GObject*)val) #define Val_GtkEntry_new(val) Val_GObject_new((GObject*)val) #define GtkEntryBuffer_val(val) check_cast(GTK_ENTRY_BUFFER,val) #define Val_GtkEntryBuffer(val) Val_GObject((GObject*)val) #define Val_GtkEntryBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryBufferClass' */ /*TODO: conversion for record 'GtkEntryBufferPrivate' */ /*TODO: conversion for record 'GtkEntryClass' */ #define GtkEntryCompletion_val(val) check_cast(GTK_ENTRY_COMPLETION,val) #define Val_GtkEntryCompletion(val) Val_GObject((GObject*)val) #define Val_GtkEntryCompletion_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryCompletionClass' */ /*TODO: conversion for record 'GtkEntryCompletionPrivate' */ /*TODO: conversion for record 'GtkEntryPrivate' */ #define GtkEventBox_val(val) check_cast(GTK_EVENT_BOX,val) #define Val_GtkEventBox(val) Val_GObject((GObject*)val) #define Val_GtkEventBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEventBoxClass' */ /*TODO: conversion for record 'GtkEventBoxPrivate' */ #define GtkExpander_val(val) check_cast(GTK_EXPANDER,val) #define Val_GtkExpander(val) Val_GObject((GObject*)val) #define Val_GtkExpander_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkExpanderClass' */ /*TODO: conversion for record 'GtkExpanderPrivate' */ #define GtkFileChooserButton_val(val) check_cast(GTK_FILE_CHOOSER_BUTTON,val) #define Val_GtkFileChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserButtonClass' */ /*TODO: conversion for record 'GtkFileChooserButtonPrivate' */ #define GtkFileChooserDialog_val(val) check_cast(GTK_FILE_CHOOSER_DIALOG,val) #define Val_GtkFileChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserDialogClass' */ /*TODO: conversion for record 'GtkFileChooserDialogPrivate' */ #define GtkFileChooserWidget_val(val) check_cast(GTK_FILE_CHOOSER_WIDGET,val) #define Val_GtkFileChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserWidgetClass' */ /*TODO: conversion for record 'GtkFileChooserWidgetPrivate' */ #define GtkFileFilter_val(val) check_cast(GTK_FILE_FILTER,val) #define Val_GtkFileFilter(val) Val_GObject((GObject*)val) #define Val_GtkFileFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileFilterInfo' */ #define GtkFixed_val(val) check_cast(GTK_FIXED,val) #define Val_GtkFixed(val) Val_GObject((GObject*)val) #define Val_GtkFixed_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFixedChild' */ /*TODO: conversion for record 'GtkFixedClass' */ /*TODO: conversion for record 'GtkFixedPrivate' */ #define GtkFontButton_val(val) check_cast(GTK_FONT_BUTTON,val) #define Val_GtkFontButton(val) Val_GObject((GObject*)val) #define Val_GtkFontButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontButtonClass' */ /*TODO: conversion for record 'GtkFontButtonPrivate' */ #define GtkFontSelection_val(val) check_cast(GTK_FONT_SELECTION,val) #define Val_GtkFontSelection(val) Val_GObject((GObject*)val) #define Val_GtkFontSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionClass' */ #define GtkFontSelectionDialog_val(val) check_cast(GTK_FONT_SELECTION_DIALOG,val) #define Val_GtkFontSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkFontSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionDialogClass' */ /*TODO: conversion for record 'GtkFontSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkFontSelectionPrivate' */ #define GtkFrame_val(val) check_cast(GTK_FRAME,val) #define Val_GtkFrame(val) Val_GObject((GObject*)val) #define Val_GtkFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFrameClass' */ /*TODO: conversion for record 'GtkFramePrivate' */ /*TODO: conversion for record 'GtkGradient' */ #define GtkGrid_val(val) check_cast(GTK_GRID,val) #define Val_GtkGrid(val) Val_GObject((GObject*)val) #define Val_GtkGrid_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkGridClass' */ /*TODO: conversion for record 'GtkGridPrivate' */ #define GtkHBox_val(val) check_cast(GTK_H_BOX,val) #define Val_GtkHBox(val) Val_GObject((GObject*)val) #define Val_GtkHBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHBoxClass' */ #define GtkHButtonBox_val(val) check_cast(GTK_H_BUTTON_BOX,val) #define Val_GtkHButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkHButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHButtonBoxClass' */ #define GtkHPaned_val(val) check_cast(GTK_H_PANED,val) #define Val_GtkHPaned(val) Val_GObject((GObject*)val) #define Val_GtkHPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHPanedClass' */ #define GtkHSV_val(val) check_cast(GTK_HSV,val) #define Val_GtkHSV(val) Val_GObject((GObject*)val) #define Val_GtkHSV_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSVClass' */ /*TODO: conversion for record 'GtkHSVPrivate' */ #define GtkHScale_val(val) check_cast(GTK_H_SCALE,val) #define Val_GtkHScale(val) Val_GObject((GObject*)val) #define Val_GtkHScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScaleClass' */ #define GtkHScrollbar_val(val) check_cast(GTK_H_SCROLLBAR,val) #define Val_GtkHScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkHScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScrollbarClass' */ #define GtkHSeparator_val(val) check_cast(GTK_H_SEPARATOR,val) #define Val_GtkHSeparator(val) Val_GObject((GObject*)val) #define Val_GtkHSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSeparatorClass' */ #define GtkHandleBox_val(val) check_cast(GTK_HANDLE_BOX,val) #define Val_GtkHandleBox(val) Val_GObject((GObject*)val) #define Val_GtkHandleBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHandleBoxClass' */ /*TODO: conversion for record 'GtkHandleBoxPrivate' */ #define GtkIMContext_val(val) check_cast(GTK_IM_CONTEXT,val) #define Val_GtkIMContext(val) Val_GObject((GObject*)val) #define Val_GtkIMContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextClass' */ /*TODO: conversion for record 'GtkIMContextInfo' */ #define GtkIMContextSimple_val(val) check_cast(GTK_I_M_CONTEXT_SIMPLE,val) #define Val_GtkIMContextSimple(val) Val_GObject((GObject*)val) #define Val_GtkIMContextSimple_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextSimpleClass' */ /*TODO: conversion for record 'GtkIMContextSimplePrivate' */ #define GtkIMMulticontext_val(val) check_cast(GTK_IM_MULTICONTEXT,val) #define Val_GtkIMMulticontext(val) Val_GObject((GObject*)val) #define Val_GtkIMMulticontext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMMulticontextClass' */ /*TODO: conversion for record 'GtkIMMulticontextPrivate' */ #define GtkIconFactory_val(val) check_cast(GTK_ICON_FACTORY,val) #define Val_GtkIconFactory(val) Val_GObject((GObject*)val) #define Val_GtkIconFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconFactoryClass' */ /*TODO: conversion for record 'GtkIconFactoryPrivate' */ /*TODO: conversion for record 'GtkIconInfo' */ /*TODO: conversion for record 'GtkIconSet' */ /*TODO: conversion for record 'GtkIconSource' */ #define GtkIconTheme_val(val) check_cast(GTK_ICON_THEME,val) #define Val_GtkIconTheme(val) Val_GObject((GObject*)val) #define Val_GtkIconTheme_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconThemeClass' */ /*TODO: conversion for record 'GtkIconThemePrivate' */ #define GtkIconView_val(val) check_cast(GTK_ICON_VIEW,val) #define Val_GtkIconView(val) Val_GObject((GObject*)val) #define Val_GtkIconView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconViewClass' */ /*TODO: conversion for record 'GtkIconViewPrivate' */ #define GtkImage_val(val) check_cast(GTK_IMAGE,val) #define Val_GtkImage(val) Val_GObject((GObject*)val) #define Val_GtkImage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageClass' */ #define GtkImageMenuItem_val(val) check_cast(GTK_IMAGE_MENU_ITEM,val) #define Val_GtkImageMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkImageMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageMenuItemClass' */ /*TODO: conversion for record 'GtkImageMenuItemPrivate' */ /*TODO: conversion for record 'GtkImagePrivate' */ #define GtkInfoBar_val(val) check_cast(GTK_INFO_BAR,val) #define Val_GtkInfoBar(val) Val_GObject((GObject*)val) #define Val_GtkInfoBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInfoBarClass' */ /*TODO: conversion for record 'GtkInfoBarPrivate' */ #define GtkInvisible_val(val) check_cast(GTK_INVISIBLE,val) #define Val_GtkInvisible(val) Val_GObject((GObject*)val) #define Val_GtkInvisible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInvisibleClass' */ /*TODO: conversion for record 'GtkInvisiblePrivate' */ #define GtkLabel_val(val) check_cast(GTK_LABEL,val) #define Val_GtkLabel(val) Val_GObject((GObject*)val) #define Val_GtkLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLabelClass' */ /*TODO: conversion for record 'GtkLabelPrivate' */ /*TODO: conversion for record 'GtkLabelSelectionInfo' */ #define GtkLayout_val(val) check_cast(GTK_LAYOUT,val) #define Val_GtkLayout(val) Val_GObject((GObject*)val) #define Val_GtkLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLayoutClass' */ /*TODO: conversion for record 'GtkLayoutPrivate' */ #define GtkLinkButton_val(val) check_cast(GTK_LINK_BUTTON,val) #define Val_GtkLinkButton(val) Val_GObject((GObject*)val) #define Val_GtkLinkButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLinkButtonClass' */ /*TODO: conversion for record 'GtkLinkButtonPrivate' */ #define GtkListStore_val(val) check_cast(GTK_LIST_STORE,val) #define Val_GtkListStore(val) Val_GObject((GObject*)val) #define Val_GtkListStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkListStoreClass' */ /*TODO: conversion for record 'GtkListStorePrivate' */ #define GtkMenu_val(val) check_cast(GTK_MENU,val) #define Val_GtkMenu(val) Val_GObject((GObject*)val) #define Val_GtkMenu_new(val) Val_GObject_new((GObject*)val) #define GtkMenuBar_val(val) check_cast(GTK_MENU_BAR,val) #define Val_GtkMenuBar(val) Val_GObject((GObject*)val) #define Val_GtkMenuBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuBarClass' */ /*TODO: conversion for record 'GtkMenuBarPrivate' */ /*TODO: conversion for record 'GtkMenuClass' */ #define GtkMenuItem_val(val) check_cast(GTK_MENU_ITEM,val) #define Val_GtkMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuItemClass' */ /*TODO: conversion for record 'GtkMenuItemPrivate' */ /*TODO: conversion for record 'GtkMenuPrivate' */ #define GtkMenuShell_val(val) check_cast(GTK_MENU_SHELL,val) #define Val_GtkMenuShell(val) Val_GObject((GObject*)val) #define Val_GtkMenuShell_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuShellClass' */ /*TODO: conversion for record 'GtkMenuShellPrivate' */ #define GtkMenuToolButton_val(val) check_cast(GTK_MENU_TOOL_BUTTON,val) #define Val_GtkMenuToolButton(val) Val_GObject((GObject*)val) #define Val_GtkMenuToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuToolButtonClass' */ /*TODO: conversion for record 'GtkMenuToolButtonPrivate' */ #define GtkMessageDialog_val(val) check_cast(GTK_MESSAGE_DIALOG,val) #define Val_GtkMessageDialog(val) Val_GObject((GObject*)val) #define Val_GtkMessageDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMessageDialogClass' */ /*TODO: conversion for record 'GtkMessageDialogPrivate' */ #define GtkMisc_val(val) check_cast(GTK_MISC,val) #define Val_GtkMisc(val) Val_GObject((GObject*)val) #define Val_GtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMiscClass' */ /*TODO: conversion for record 'GtkMiscPrivate' */ #define GtkMountOperation_val(val) check_cast(GTK_MOUNT_OPERATION,val) #define Val_GtkMountOperation(val) Val_GObject((GObject*)val) #define Val_GtkMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMountOperationClass' */ /*TODO: conversion for record 'GtkMountOperationPrivate' */ #define GtkNotebook_val(val) check_cast(GTK_NOTEBOOK,val) #define Val_GtkNotebook(val) Val_GObject((GObject*)val) #define Val_GtkNotebook_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNotebookClass' */ /*TODO: conversion for record 'GtkNotebookPrivate' */ #define GtkNumerableIcon_val(val) check_cast(GTK_NUMERABLE_ICON,val) #define Val_GtkNumerableIcon(val) Val_GObject((GObject*)val) #define Val_GtkNumerableIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNumerableIconClass' */ /*TODO: conversion for record 'GtkNumerableIconPrivate' */ #define GtkOffscreenWindow_val(val) check_cast(GTK_OFFSCREEN_WINDOW,val) #define Val_GtkOffscreenWindow(val) Val_GObject((GObject*)val) #define Val_GtkOffscreenWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkOffscreenWindowClass' */ /*TODO: conversion for record 'GtkOrientableIface' */ /*TODO: conversion for record 'GtkPageRange' */ #define GtkPageSetup_val(val) check_cast(GTK_PAGE_SETUP,val) #define Val_GtkPageSetup(val) Val_GObject((GObject*)val) #define Val_GtkPageSetup_new(val) Val_GObject_new((GObject*)val) #define GtkPaned_val(val) check_cast(GTK_PANED,val) #define Val_GtkPaned(val) Val_GObject((GObject*)val) #define Val_GtkPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPanedClass' */ /*TODO: conversion for record 'GtkPanedPrivate' */ /*TODO: conversion for record 'GtkPaperSize' */ #define GtkPlug_val(val) check_cast(GTK_PLUG,val) #define Val_GtkPlug(val) Val_GObject((GObject*)val) #define Val_GtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPlugClass' */ /*TODO: conversion for record 'GtkPlugPrivate' */ #define GtkPrintContext_val(val) check_cast(GTK_PRINT_CONTEXT,val) #define Val_GtkPrintContext(val) Val_GObject((GObject*)val) #define Val_GtkPrintContext_new(val) Val_GObject_new((GObject*)val) #define GtkPrintOperation_val(val) check_cast(GTK_PRINT_OPERATION,val) #define Val_GtkPrintOperation(val) Val_GObject((GObject*)val) #define Val_GtkPrintOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPrintOperationClass' */ /*TODO: conversion for record 'GtkPrintOperationPreviewIface' */ /*TODO: conversion for record 'GtkPrintOperationPrivate' */ #define GtkPrintSettings_val(val) check_cast(GTK_PRINT_SETTINGS,val) #define Val_GtkPrintSettings(val) Val_GObject((GObject*)val) #define Val_GtkPrintSettings_new(val) Val_GObject_new((GObject*)val) #define GtkProgressBar_val(val) check_cast(GTK_PROGRESS_BAR,val) #define Val_GtkProgressBar(val) Val_GObject((GObject*)val) #define Val_GtkProgressBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkProgressBarClass' */ /*TODO: conversion for record 'GtkProgressBarPrivate' */ #define GtkRadioAction_val(val) check_cast(GTK_RADIO_ACTION,val) #define Val_GtkRadioAction(val) Val_GObject((GObject*)val) #define Val_GtkRadioAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioActionClass' */ /*TODO: conversion for record 'GtkRadioActionEntry' */ /*TODO: conversion for record 'GtkRadioActionPrivate' */ #define GtkRadioButton_val(val) check_cast(GTK_RADIO_BUTTON,val) #define Val_GtkRadioButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioButtonClass' */ /*TODO: conversion for record 'GtkRadioButtonPrivate' */ #define GtkRadioMenuItem_val(val) check_cast(GTK_RADIO_MENU_ITEM,val) #define Val_GtkRadioMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkRadioMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioMenuItemClass' */ /*TODO: conversion for record 'GtkRadioMenuItemPrivate' */ #define GtkRadioToolButton_val(val) check_cast(GTK_RADIO_TOOL_BUTTON,val) #define Val_GtkRadioToolButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioToolButtonClass' */ #define GtkRange_val(val) check_cast(GTK_RANGE,val) #define Val_GtkRange(val) Val_GObject((GObject*)val) #define Val_GtkRange_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRangeClass' */ /*TODO: conversion for record 'GtkRangePrivate' */ /*TODO: conversion for record 'GtkRcContext' */ /*TODO: conversion for record 'GtkRcProperty' */ #define GtkRcStyle_val(val) check_cast(GTK_RC_STYLE,val) #define Val_GtkRcStyle(val) Val_GObject((GObject*)val) #define Val_GtkRcStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRcStyleClass' */ #define GtkRecentAction_val(val) check_cast(GTK_RECENT_ACTION,val) #define Val_GtkRecentAction(val) Val_GObject((GObject*)val) #define Val_GtkRecentAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentActionClass' */ /*TODO: conversion for record 'GtkRecentActionPrivate' */ #define GtkRecentChooserDialog_val(val) check_cast(GTK_RECENT_CHOOSER_DIALOG,val) #define Val_GtkRecentChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserDialogClass' */ /*TODO: conversion for record 'GtkRecentChooserDialogPrivate' */ /*TODO: conversion for record 'GtkRecentChooserIface' */ #define GtkRecentChooserMenu_val(val) check_cast(GTK_RECENT_CHOOSER_MENU,val) #define Val_GtkRecentChooserMenu(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserMenu_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserMenuClass' */ /*TODO: conversion for record 'GtkRecentChooserMenuPrivate' */ #define GtkRecentChooserWidget_val(val) check_cast(GTK_RECENT_CHOOSER_WIDGET,val) #define Val_GtkRecentChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserWidgetClass' */ /*TODO: conversion for record 'GtkRecentChooserWidgetPrivate' */ /*TODO: conversion for record 'GtkRecentData' */ #define GtkRecentFilter_val(val) check_cast(GTK_RECENT_FILTER,val) #define Val_GtkRecentFilter(val) Val_GObject((GObject*)val) #define Val_GtkRecentFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentFilterInfo' */ /*TODO: conversion for record 'GtkRecentInfo' */ #define GtkRecentManager_val(val) check_cast(GTK_RECENT_MANAGER,val) #define Val_GtkRecentManager(val) Val_GObject((GObject*)val) #define Val_GtkRecentManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentManagerClass' */ /*TODO: conversion for record 'GtkRecentManagerPrivate' */ /*TODO: conversion for record 'GtkRequestedSize' */ /*TODO: conversion for record 'GtkRequisition' */ #define GtkScale_val(val) check_cast(GTK_SCALE,val) #define Val_GtkScale(val) Val_GObject((GObject*)val) #define Val_GtkScale_new(val) Val_GObject_new((GObject*)val) #define GtkScaleButton_val(val) check_cast(GTK_SCALE_BUTTON,val) #define Val_GtkScaleButton(val) Val_GObject((GObject*)val) #define Val_GtkScaleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScaleButtonClass' */ /*TODO: conversion for record 'GtkScaleButtonPrivate' */ /*TODO: conversion for record 'GtkScaleClass' */ /*TODO: conversion for record 'GtkScalePrivate' */ /*TODO: conversion for record 'GtkScrollableInterface' */ #define GtkScrollbar_val(val) check_cast(GTK_SCROLLBAR,val) #define Val_GtkScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrollbarClass' */ #define GtkScrolledWindow_val(val) check_cast(GTK_SCROLLED_WINDOW,val) #define Val_GtkScrolledWindow(val) Val_GObject((GObject*)val) #define Val_GtkScrolledWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrolledWindowClass' */ /*TODO: conversion for record 'GtkScrolledWindowPrivate' */ /*TODO: conversion for record 'GtkSelectionData' */ #define GtkSeparator_val(val) check_cast(GTK_SEPARATOR,val) #define Val_GtkSeparator(val) Val_GObject((GObject*)val) #define Val_GtkSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorClass' */ #define GtkSeparatorMenuItem_val(val) check_cast(GTK_SEPARATOR_MENU_ITEM,val) #define Val_GtkSeparatorMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorMenuItemClass' */ /*TODO: conversion for record 'GtkSeparatorPrivate' */ #define GtkSeparatorToolItem_val(val) check_cast(GTK_SEPARATOR_TOOL_ITEM,val) #define Val_GtkSeparatorToolItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorToolItemClass' */ /*TODO: conversion for record 'GtkSeparatorToolItemPrivate' */ #define GtkSettings_val(val) check_cast(GTK_SETTINGS,val) #define Val_GtkSettings(val) Val_GObject((GObject*)val) #define Val_GtkSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSettingsClass' */ /*TODO: conversion for record 'GtkSettingsPrivate' */ /*TODO: conversion for record 'GtkSettingsValue' */ #define GtkSizeGroup_val(val) check_cast(GTK_SIZE_GROUP,val) #define Val_GtkSizeGroup(val) Val_GObject((GObject*)val) #define Val_GtkSizeGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSizeGroupClass' */ /*TODO: conversion for record 'GtkSizeGroupPrivate' */ #define GtkSocket_val(val) check_cast(GTK_SOCKET,val) #define Val_GtkSocket(val) Val_GObject((GObject*)val) #define Val_GtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSocketClass' */ /*TODO: conversion for record 'GtkSocketPrivate' */ #define GtkSpinButton_val(val) check_cast(GTK_SPIN_BUTTON,val) #define Val_GtkSpinButton(val) Val_GObject((GObject*)val) #define Val_GtkSpinButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinButtonClass' */ /*TODO: conversion for record 'GtkSpinButtonPrivate' */ #define GtkSpinner_val(val) check_cast(GTK_SPINNER,val) #define Val_GtkSpinner(val) Val_GObject((GObject*)val) #define Val_GtkSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinnerClass' */ /*TODO: conversion for record 'GtkSpinnerPrivate' */ #define GtkStatusIcon_val(val) check_cast(GTK_STATUS_ICON,val) #define Val_GtkStatusIcon(val) Val_GObject((GObject*)val) #define Val_GtkStatusIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusIconClass' */ /*TODO: conversion for record 'GtkStatusIconPrivate' */ #define GtkStatusbar_val(val) check_cast(GTK_STATUSBAR,val) #define Val_GtkStatusbar(val) Val_GObject((GObject*)val) #define Val_GtkStatusbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusbarClass' */ /*TODO: conversion for record 'GtkStatusbarPrivate' */ /*TODO: conversion for record 'GtkStockItem' */ #define GtkStyle_val(val) check_cast(GTK_STYLE,val) #define Val_GtkStyle(val) Val_GObject((GObject*)val) #define Val_GtkStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleClass' */ #define GtkStyleContext_val(val) check_cast(GTK_STYLE_CONTEXT,val) #define Val_GtkStyleContext(val) Val_GObject((GObject*)val) #define Val_GtkStyleContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleContextClass' */ #define GtkStyleProperties_val(val) check_cast(GTK_STYLE_PROPERTIES,val) #define Val_GtkStyleProperties(val) Val_GObject((GObject*)val) #define Val_GtkStyleProperties_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStylePropertiesClass' */ /*TODO: conversion for record 'GtkStyleProviderIface' */ #define GtkSwitch_val(val) check_cast(GTK_SWITCH,val) #define Val_GtkSwitch(val) Val_GObject((GObject*)val) #define Val_GtkSwitch_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSwitchClass' */ /*TODO: conversion for record 'GtkSwitchPrivate' */ /*TODO: conversion for record 'GtkSymbolicColor' */ #define GtkTable_val(val) check_cast(GTK_TABLE,val) #define Val_GtkTable(val) Val_GObject((GObject*)val) #define Val_GtkTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTableChild' */ /*TODO: conversion for record 'GtkTableClass' */ /*TODO: conversion for record 'GtkTablePrivate' */ /*TODO: conversion for record 'GtkTableRowCol' */ /*TODO: conversion for record 'GtkTargetEntry' */ /*TODO: conversion for record 'GtkTargetList' */ #define GtkTearoffMenuItem_val(val) check_cast(GTK_TEAROFF_MENU_ITEM,val) #define Val_GtkTearoffMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkTearoffMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTearoffMenuItemClass' */ /*TODO: conversion for record 'GtkTearoffMenuItemPrivate' */ /*TODO: conversion for record 'GtkTextAppearance' */ /*TODO: conversion for record 'GtkTextAttributes' */ /*TODO: conversion for record 'GtkTextBTree' */ #define GtkTextBuffer_val(val) check_cast(GTK_TEXT_BUFFER,val) #define Val_GtkTextBuffer(val) Val_GObject((GObject*)val) #define Val_GtkTextBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextBufferClass' */ /*TODO: conversion for record 'GtkTextBufferPrivate' */ #define GtkTextChildAnchor_val(val) check_cast(GTK_TEXT_CHILD_ANCHOR,val) #define Val_GtkTextChildAnchor(val) Val_GObject((GObject*)val) #define Val_GtkTextChildAnchor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextChildAnchorClass' */ /*TODO: conversion for record 'GtkTextIter' */ #define GtkTextMark_val(val) check_cast(GTK_TEXT_MARK,val) #define Val_GtkTextMark(val) Val_GObject((GObject*)val) #define Val_GtkTextMark_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextMarkClass' */ #define GtkTextTag_val(val) check_cast(GTK_TEXT_TAG,val) #define Val_GtkTextTag(val) Val_GObject((GObject*)val) #define Val_GtkTextTag_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagClass' */ /*TODO: conversion for record 'GtkTextTagPrivate' */ #define GtkTextTagTable_val(val) check_cast(GTK_TEXT_TAG_TABLE,val) #define Val_GtkTextTagTable(val) Val_GObject((GObject*)val) #define Val_GtkTextTagTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagTableClass' */ /*TODO: conversion for record 'GtkTextTagTablePrivate' */ #define GtkTextView_val(val) check_cast(GTK_TEXT_VIEW,val) #define Val_GtkTextView(val) Val_GObject((GObject*)val) #define Val_GtkTextView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextViewClass' */ /*TODO: conversion for record 'GtkTextViewPrivate' */ /*TODO: conversion for record 'GtkThemeEngine' */ #define GtkThemingEngine_val(val) check_cast(GTK_THEMING_ENGINE,val) #define Val_GtkThemingEngine(val) Val_GObject((GObject*)val) #define Val_GtkThemingEngine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkThemingEngineClass' */ #define GtkToggleAction_val(val) check_cast(GTK_TOGGLE_ACTION,val) #define Val_GtkToggleAction(val) Val_GObject((GObject*)val) #define Val_GtkToggleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleActionClass' */ /*TODO: conversion for record 'GtkToggleActionEntry' */ /*TODO: conversion for record 'GtkToggleActionPrivate' */ #define GtkToggleButton_val(val) check_cast(GTK_TOGGLE_BUTTON,val) #define Val_GtkToggleButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleButtonClass' */ /*TODO: conversion for record 'GtkToggleButtonPrivate' */ #define GtkToggleToolButton_val(val) check_cast(GTK_TOGGLE_TOOL_BUTTON,val) #define Val_GtkToggleToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleToolButtonClass' */ /*TODO: conversion for record 'GtkToggleToolButtonPrivate' */ #define GtkToolButton_val(val) check_cast(GTK_TOOL_BUTTON,val) #define Val_GtkToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolButtonClass' */ /*TODO: conversion for record 'GtkToolButtonPrivate' */ #define GtkToolItem_val(val) check_cast(GTK_TOOL_ITEM,val) #define Val_GtkToolItem(val) Val_GObject((GObject*)val) #define Val_GtkToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemClass' */ #define GtkToolItemGroup_val(val) check_cast(GTK_TOOL_ITEM_GROUP,val) #define Val_GtkToolItemGroup(val) Val_GObject((GObject*)val) #define Val_GtkToolItemGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemGroupClass' */ /*TODO: conversion for record 'GtkToolItemGroupPrivate' */ /*TODO: conversion for record 'GtkToolItemPrivate' */ #define GtkToolPalette_val(val) check_cast(GTK_TOOL_PALETTE,val) #define Val_GtkToolPalette(val) Val_GObject((GObject*)val) #define Val_GtkToolPalette_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolPaletteClass' */ /*TODO: conversion for record 'GtkToolPalettePrivate' */ /*TODO: conversion for record 'GtkToolShellIface' */ #define GtkToolbar_val(val) check_cast(GTK_TOOLBAR,val) #define Val_GtkToolbar(val) Val_GObject((GObject*)val) #define Val_GtkToolbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolbarClass' */ /*TODO: conversion for record 'GtkToolbarPrivate' */ #define GtkTooltip_val(val) check_cast(GTK_TOOLTIP,val) #define Val_GtkTooltip(val) Val_GObject((GObject*)val) #define Val_GtkTooltip_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeDragDestIface' */ /*TODO: conversion for record 'GtkTreeDragSourceIface' */ /*TODO: conversion for record 'GtkTreeIter' */ #define GtkTreeModelFilter_val(val) check_cast(GTK_TREE_MODEL_FILTER,val) #define Val_GtkTreeModelFilter(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelFilterClass' */ /*TODO: conversion for record 'GtkTreeModelFilterPrivate' */ /*TODO: conversion for record 'GtkTreeModelIface' */ #define GtkTreeModelSort_val(val) check_cast(GTK_TREE_MODEL_SORT,val) #define Val_GtkTreeModelSort(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelSort_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelSortClass' */ /*TODO: conversion for record 'GtkTreeModelSortPrivate' */ /*TODO: conversion for record 'GtkTreePath' */ /*TODO: conversion for record 'GtkTreeRowReference' */ #define GtkTreeSelection_val(val) check_cast(GTK_TREE_SELECTION,val) #define Val_GtkTreeSelection(val) Val_GObject((GObject*)val) #define Val_GtkTreeSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeSelectionClass' */ /*TODO: conversion for record 'GtkTreeSelectionPrivate' */ /*TODO: conversion for record 'GtkTreeSortableIface' */ #define GtkTreeStore_val(val) check_cast(GTK_TREE_STORE,val) #define Val_GtkTreeStore(val) Val_GObject((GObject*)val) #define Val_GtkTreeStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeStoreClass' */ /*TODO: conversion for record 'GtkTreeStorePrivate' */ #define GtkTreeView_val(val) check_cast(GTK_TREE_VIEW,val) #define Val_GtkTreeView(val) Val_GObject((GObject*)val) #define Val_GtkTreeView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewClass' */ #define GtkTreeViewColumn_val(val) check_cast(GTK_TREE_VIEW_COLUMN,val) #define Val_GtkTreeViewColumn(val) Val_GObject((GObject*)val) #define Val_GtkTreeViewColumn_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewColumnClass' */ /*TODO: conversion for record 'GtkTreeViewColumnPrivate' */ /*TODO: conversion for record 'GtkTreeViewPrivate' */ #define GtkUIManager_val(val) check_cast(GTK_UI_MANAGER,val) #define Val_GtkUIManager(val) Val_GObject((GObject*)val) #define Val_GtkUIManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkUIManagerClass' */ /*TODO: conversion for record 'GtkUIManagerPrivate' */ #define GtkVBox_val(val) check_cast(GTK_V_BOX,val) #define Val_GtkVBox(val) Val_GObject((GObject*)val) #define Val_GtkVBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVBoxClass' */ #define GtkVButtonBox_val(val) check_cast(GTK_V_BUTTON_BOX,val) #define Val_GtkVButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkVButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVButtonBoxClass' */ #define GtkVPaned_val(val) check_cast(GTK_V_PANED,val) #define Val_GtkVPaned(val) Val_GObject((GObject*)val) #define Val_GtkVPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVPanedClass' */ #define GtkVScale_val(val) check_cast(GTK_V_SCALE,val) #define Val_GtkVScale(val) Val_GObject((GObject*)val) #define Val_GtkVScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScaleClass' */ #define GtkVScrollbar_val(val) check_cast(GTK_V_SCROLLBAR,val) #define Val_GtkVScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkVScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScrollbarClass' */ #define GtkVSeparator_val(val) check_cast(GTK_V_SEPARATOR,val) #define Val_GtkVSeparator(val) Val_GObject((GObject*)val) #define Val_GtkVSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVSeparatorClass' */ #define GtkViewport_val(val) check_cast(GTK_VIEWPORT,val) #define Val_GtkViewport(val) Val_GObject((GObject*)val) #define Val_GtkViewport_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkViewportClass' */ /*TODO: conversion for record 'GtkViewportPrivate' */ #define GtkVolumeButton_val(val) check_cast(GTK_VOLUME_BUTTON,val) #define Val_GtkVolumeButton(val) Val_GObject((GObject*)val) #define Val_GtkVolumeButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVolumeButtonClass' */ #define GtkWidget_val(val) check_cast(GTK_WIDGET,val) #define Val_GtkWidget(val) Val_GObject((GObject*)val) #define Val_GtkWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWidgetAuxInfo' */ /*TODO: conversion for record 'GtkWidgetClass' */ /*TODO: conversion for record 'GtkWidgetPath' */ /*TODO: conversion for record 'GtkWidgetPrivate' */ #define GtkWindow_val(val) check_cast(GTK_WINDOW,val) #define Val_GtkWindow(val) Val_GObject((GObject*)val) #define Val_GtkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowClass' */ /*TODO: conversion for record 'GtkWindowGeometryInfo' */ #define GtkWindowGroup_val(val) check_cast(GTK_WINDOW_GROUP,val) #define Val_GtkWindowGroup(val) Val_GObject((GObject*)val) #define Val_GtkWindowGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowGroupClass' */ /*TODO: conversion for record 'GtkWindowGroupPrivate' */ /*TODO: conversion for record 'GtkWindowPrivate' */ #include <> #include "../wrappers.h" #include "../ml_gobject.h" /* Module _RegistryClass */ /* end of _RegistryClass */ /* Module _Registry */ /* end of _Registry */ /* Module _PropertyValues */ /* end of _PropertyValues */ /* Module ValueIface */ /* end of ValueIface */ /* Module UtilClass */ /* end of UtilClass */ /* Module Util */ /* end of Util */ /* Module TextRectangle */ /* end of TextRectangle */ /* Module TextRange */ /* end of TextRange */ /* Module TextIface */ /* end of TextIface */ /* Module TableIface */ /* end of TableIface */ /* Module StreamableContentIface */ /* end of StreamableContentIface */ /* Module StateSetClass */ /* end of StateSetClass */ /* Module StateSet */ ML_2(atk_state_set_xor_sets,AtkStateSet_val, AtkStateSet_val, Val_AtkStateSet_new) ML_2(atk_state_set_or_sets,AtkStateSet_val, AtkStateSet_val, Val_AtkStateSet_new) ML_1(atk_state_set_is_empty,AtkStateSet_val, Val_bool) ML_1(atk_state_set_clear_states,AtkStateSet_val, Unit) ML_2(atk_state_set_and_sets,AtkStateSet_val, AtkStateSet_val, Val_AtkStateSet_new) /* end of StateSet */ /* Module SocketClass */ /* end of SocketClass */ /* Module Socket */ ML_1(atk_socket_is_occupied,AtkSocket_val, Val_bool) ML_2(atk_socket_embed,AtkSocket_val, String_val, Unit) /* end of Socket */ /* Module SelectionIface */ /* end of SelectionIface */ /* Module RelationSetClass */ /* end of RelationSetClass */ /* Module RelationSet */ ML_2(atk_relation_set_remove,AtkRelationSet_val, AtkRelation_val, Unit) ML_2(atk_relation_set_get_relation,AtkRelationSet_val, Int_val, Val_AtkRelation) ML_1(atk_relation_set_get_n_relations,AtkRelationSet_val, Val_int) ML_2(atk_relation_set_add,AtkRelationSet_val, AtkRelation_val, Unit) /* end of RelationSet */ /* Module RelationClass */ /* end of RelationClass */ /* Module Relation */ ML_2(atk_relation_remove_target,AtkRelation_val, AtkObject_val, Val_bool) ML_2(atk_relation_add_target,AtkRelation_val, AtkObject_val, Unit) /* end of Relation */ /* Module Registry */ /* end of Registry */ /* Module Rectangle */ /* end of Rectangle */ /* Module PlugClass */ /* end of PlugClass */ /* Module Plug */ ML_1(atk_plug_get_id,AtkPlug_val, Val_string_new) /* end of Plug */ /* Module ObjectFactoryClass */ /* end of ObjectFactoryClass */ /* Module ObjectFactory */ ML_1(atk_object_factory_invalidate,AtkObjectFactory_val, Unit) ML_1(atk_object_factory_get_accessible_type,AtkObjectFactory_val, Val_int) /* end of ObjectFactory */ /* Module ObjectClass */ /* end of ObjectClass */ /* Module Object */ ML_2(atk_object_set_parent,AtkObject_val, AtkObject_val, Unit) ML_2(atk_object_set_name,AtkObject_val, String_val, Unit) ML_2(atk_object_set_description,AtkObject_val, String_val, Unit) ML_2(atk_object_remove_property_change_handler,AtkObject_val, Int_val, Unit) ML_1(atk_object_ref_state_set,AtkObject_val, Val_AtkStateSet_new) ML_1(atk_object_ref_relation_set,AtkObject_val, Val_AtkRelationSet_new) ML_2(atk_object_ref_accessible_child,AtkObject_val, Int_val, Val_AtkObject_new) ML_3(atk_object_notify_state_change,AtkObject_val, Int64_val, Bool_val, Unit) ML_1(atk_object_get_parent,AtkObject_val, Val_AtkObject) ML_1(atk_object_get_name,AtkObject_val, Val_string) ML_1(atk_object_get_n_accessible_children,AtkObject_val, Val_int) ML_1(atk_object_get_index_in_parent,AtkObject_val, Val_int) ML_1(atk_object_get_description,AtkObject_val, Val_string) /* end of Object */ /* Module NoOpObjectFactoryClass */ /* end of NoOpObjectFactoryClass */ /* Module NoOpObjectFactory */ /* end of NoOpObjectFactory */ /* Module NoOpObjectClass */ /* end of NoOpObjectClass */ /* Module NoOpObject */ /* end of NoOpObject */ /* Module MiscClass */ /* end of MiscClass */ /* Module Misc */ ML_1(atk_misc_threads_leave,AtkMisc_val, Unit) ML_1(atk_misc_threads_enter,AtkMisc_val, Unit) ML_0(atk_misc_get_instance,Val_AtkMisc) /* end of Misc */ /* Module KeyEventStruct */ /* end of KeyEventStruct */ /* Module Implementor */ ML_1(atk_implementor_ref_accessible,AtkImplementor_val, Val_AtkObject_new) /* end of Implementor */ /* Module ImageIface */ /* end of ImageIface */ /* Module HypertextIface */ /* end of HypertextIface */ /* Module HyperlinkImplIface */ /* end of HyperlinkImplIface */ /* Module HyperlinkClass */ /* end of HyperlinkClass */ /* Module Hyperlink */ ML_1(atk_hyperlink_is_valid,AtkHyperlink_val, Val_bool) ML_1(atk_hyperlink_is_inline,AtkHyperlink_val, Val_bool) ML_2(atk_hyperlink_get_uri,AtkHyperlink_val, Int_val, Val_string_new) ML_1(atk_hyperlink_get_start_index,AtkHyperlink_val, Val_int) ML_2(atk_hyperlink_get_object,AtkHyperlink_val, Int_val, Val_AtkObject) ML_1(atk_hyperlink_get_n_anchors,AtkHyperlink_val, Val_int) ML_1(atk_hyperlink_get_end_index,AtkHyperlink_val, Val_int) /* end of Hyperlink */ /* Module GObjectAccessibleClass */ /* end of GObjectAccessibleClass */ /* Module GObjectAccessible */ /* end of GObjectAccessible */ /* Module EditableTextIface */ /* end of EditableTextIface */ /* Module DocumentIface */ /* end of DocumentIface */ /* Module ComponentIface */ /* end of ComponentIface */ /* Module Attribute */ /* end of Attribute */ /* Module ActionIface */ /* end of ActionIface */ /* Global functions */ ML_1(atk_remove_key_event_listener,Int_val, Unit) ML_1(atk_remove_global_event_listener,Int_val, Unit) ML_1(atk_remove_focus_tracker,Int_val, Unit) ML_0(atk_get_version,Val_string) ML_0(atk_get_toolkit_version,Val_string) ML_0(atk_get_toolkit_name,Val_string) ML_0(atk_get_root,Val_AtkObject) ML_0(atk_get_focus_object,Val_AtkObject) ML_1(atk_focus_tracker_notify,AtkObject_val, Unit) /* End of global functions */ lablgtk-3.1.2/tools/introspection/stubs/ml_stubs_GLib.c0000644000650106067230000042561014161276610022101 0ustar glondused#include #include #define Val_double(val) caml_copy_double(val) #define Val_string_new(val) caml_copy_string(val) #define Val_int32(val) caml_copy_int32(val) #define Val_int32_new(val) caml_copy_int32(val) /*TODO: conversion for record 'GAllocator' */ /*TODO: conversion for record 'GArray' */ /*TODO: conversion for record 'GAsyncQueue' */ /*TODO: conversion for record 'GBookmarkFile' */ /*TODO: conversion for record 'GByteArray' */ /*TODO: conversion for record 'GCache' */ /*TODO: conversion for record 'GChecksum' */ /*TODO: conversion for record 'GCompletion' */ /*TODO: conversion for record 'GCond' */ /*TODO: conversion for record 'GData' */ /*TODO: conversion for record 'GDate' */ /*TODO: conversion for record 'GDateTime' */ /*TODO: conversion for record 'GDebugKey' */ /*TODO: conversion for record 'GDir' */ /*TODO: conversion for record 'GError' */ /*TODO: conversion for record 'GHashTable' */ /*TODO: conversion for record 'GHashTableIter' */ /*TODO: conversion for record 'GHook' */ /*TODO: conversion for record 'GHookList' */ /*TODO: conversion for record 'GIConv' */ /*TODO: conversion for record 'GIOChannel' */ /*TODO: conversion for record 'GIOFuncs' */ /*TODO: conversion for record 'GKeyFile' */ /*TODO: conversion for record 'GList' */ /*TODO: conversion for record 'GMainContext' */ /*TODO: conversion for record 'GMainLoop' */ /*TODO: conversion for record 'GMappedFile' */ /*TODO: conversion for record 'GMarkupParseContext' */ /*TODO: conversion for record 'GMarkupParser' */ /*TODO: conversion for record 'GMatchInfo' */ /*TODO: conversion for record 'GMemChunk' */ /*TODO: conversion for record 'GMemVTable' */ /*TODO: conversion for record 'GMutex' */ /*TODO: conversion for record 'GNode' */ /*TODO: conversion for record 'GOnce' */ /*TODO: conversion for record 'GOptionContext' */ /*TODO: conversion for record 'GOptionEntry' */ /*TODO: conversion for record 'GOptionGroup' */ /*TODO: conversion for record 'GPatternSpec' */ /*TODO: conversion for record 'GPollFD' */ /*TODO: conversion for record 'GPrivate' */ /*TODO: conversion for record 'GPtrArray' */ /*TODO: conversion for record 'GQueue' */ /*TODO: conversion for record 'GRand' */ /*TODO: conversion for record 'GRegex' */ /*TODO: conversion for record 'GRelation' */ /*TODO: conversion for record 'GSList' */ /*TODO: conversion for record 'GScanner' */ /*TODO: conversion for record 'GScannerConfig' */ /*TODO: conversion for record 'GSequence' */ /*TODO: conversion for record 'GSequenceIter' */ /*TODO: conversion for record 'GSource' */ /*TODO: conversion for record 'GSourceCallbackFuncs' */ /*TODO: conversion for record 'GSourceFuncs' */ /*TODO: conversion for record 'GSourcePrivate' */ /*TODO: conversion for record 'GStatBuf' */ /*TODO: conversion for record 'GStaticMutex' */ /*TODO: conversion for record 'GStaticPrivate' */ /*TODO: conversion for record 'GStaticRWLock' */ /*TODO: conversion for record 'GStaticRecMutex' */ /*TODO: conversion for record 'GString' */ /*TODO: conversion for record 'GStringChunk' */ /*TODO: conversion for record 'GTestCase' */ /*TODO: conversion for record 'GTestConfig' */ /*TODO: conversion for record 'GTestLogBuffer' */ /*TODO: conversion for record 'GTestLogMsg' */ /*TODO: conversion for record 'GTestSuite' */ /*TODO: conversion for record 'GThread' */ /*TODO: conversion for record 'GThreadFunctions' */ /*TODO: conversion for record 'GThreadPool' */ /*TODO: conversion for record 'GTimeVal' */ /*TODO: conversion for record 'GTimeZone' */ /*TODO: conversion for record 'GTimer' */ /*TODO: conversion for record 'GTrashStack' */ /*TODO: conversion for record 'GTree' */ /*TODO: conversion for record 'GTuples' */ /*TODO: conversion for record 'GVariant' */ /*TODO: conversion for record 'GVariantBuilder' */ /*TODO: conversion for record 'GVariantIter' */ /*TODO: conversion for record 'GVariantType' */ #define GBinding_val(val) check_cast(G_BINDING,val) #define Val_GBinding(val) Val_GObject((GObject*)val) #define Val_GBinding_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCClosure' */ /*TODO: conversion for record 'GClosure' */ /*TODO: conversion for record 'GClosureNotifyData' */ /*TODO: conversion for record 'GEnumClass' */ /*TODO: conversion for record 'GEnumValue' */ /*TODO: conversion for record 'GFlagsClass' */ /*TODO: conversion for record 'GFlagsValue' */ /*TODO: conversion for record 'GInitiallyUnownedClass' */ /*TODO: conversion for record 'GInterfaceInfo' */ /*TODO: conversion for record 'GObjectClass' */ /*TODO: conversion for record 'GObjectConstructParam' */ /*TODO: conversion for record 'GParamSpec' */ /*TODO: conversion for record 'GParamSpecBoolean' */ /*TODO: conversion for record 'GParamSpecBoxed' */ /*TODO: conversion for record 'GParamSpecChar' */ /*TODO: conversion for record 'GParamSpecClass' */ /*TODO: conversion for record 'GParamSpecDouble' */ /*TODO: conversion for record 'GParamSpecEnum' */ /*TODO: conversion for record 'GParamSpecFlags' */ /*TODO: conversion for record 'GParamSpecFloat' */ /*TODO: conversion for record 'GParamSpecGType' */ /*TODO: conversion for record 'GParamSpecInt' */ /*TODO: conversion for record 'GParamSpecInt64' */ /*TODO: conversion for record 'GParamSpecLong' */ /*TODO: conversion for record 'GParamSpecObject' */ /*TODO: conversion for record 'GParamSpecOverride' */ /*TODO: conversion for record 'GParamSpecParam' */ /*TODO: conversion for record 'GParamSpecPointer' */ /*TODO: conversion for record 'GParamSpecPool' */ /*TODO: conversion for record 'GParamSpecString' */ /*TODO: conversion for record 'GParamSpecTypeInfo' */ /*TODO: conversion for record 'GParamSpecUChar' */ /*TODO: conversion for record 'GParamSpecUInt' */ /*TODO: conversion for record 'GParamSpecUInt64' */ /*TODO: conversion for record 'GParamSpecULong' */ /*TODO: conversion for record 'GParamSpecUnichar' */ /*TODO: conversion for record 'GParamSpecValueArray' */ /*TODO: conversion for record 'GParamSpecVariant' */ /*TODO: conversion for record 'GParameter' */ /*TODO: conversion for record 'GSignalInvocationHint' */ /*TODO: conversion for record 'GSignalQuery' */ /*TODO: conversion for record 'GTypeClass' */ /*TODO: conversion for record 'GTypeFundamentalInfo' */ /*TODO: conversion for record 'GTypeInfo' */ /*TODO: conversion for record 'GTypeInstance' */ /*TODO: conversion for record 'GTypeInterface' */ #define GTypeModule_val(val) check_cast(G_TYPE_MODULE,val) #define Val_GTypeModule(val) Val_GObject((GObject*)val) #define Val_GTypeModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTypeModuleClass' */ /*TODO: conversion for record 'GTypePluginClass' */ /*TODO: conversion for record 'GTypeQuery' */ /*TODO: conversion for record 'GTypeValueTable' */ /*TODO: conversion for record 'GValue' */ /*TODO: conversion for record 'GValueArray' */ /*TODO: conversion for record 'AtkActionIface' */ /*TODO: conversion for record 'AtkAttribute' */ /*TODO: conversion for record 'AtkComponentIface' */ /*TODO: conversion for record 'AtkDocumentIface' */ /*TODO: conversion for record 'AtkEditableTextIface' */ #define AtkGObjectAccessible_val(val) check_cast(ATK_G_OBJECT_ACCESSIBLE,val) #define Val_AtkGObjectAccessible(val) Val_GObject((GObject*)val) #define Val_AtkGObjectAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkGObjectAccessibleClass' */ #define AtkHyperlink_val(val) check_cast(ATK_HYPERLINK,val) #define Val_AtkHyperlink(val) Val_GObject((GObject*)val) #define Val_AtkHyperlink_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkHyperlinkClass' */ /*TODO: conversion for record 'AtkHyperlinkImplIface' */ /*TODO: conversion for record 'AtkHypertextIface' */ /*TODO: conversion for record 'AtkImageIface' */ /*TODO: conversion for record 'AtkImplementor' */ /*TODO: conversion for record 'AtkKeyEventStruct' */ #define AtkMisc_val(val) check_cast(ATK_MISC,val) #define Val_AtkMisc(val) Val_GObject((GObject*)val) #define Val_AtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkMiscClass' */ #define AtkNoOpObject_val(val) check_cast(ATK_NO_OP_OBJECT,val) #define Val_AtkNoOpObject(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectClass' */ #define AtkNoOpObjectFactory_val(val) check_cast(ATK_NO_OP_OBJECT_FACTORY,val) #define Val_AtkNoOpObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectFactoryClass' */ #define AtkObject_val(val) check_cast(ATK_OBJECT,val) #define Val_AtkObject(val) Val_GObject((GObject*)val) #define Val_AtkObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectClass' */ #define AtkObjectFactory_val(val) check_cast(ATK_OBJECT_FACTORY,val) #define Val_AtkObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectFactoryClass' */ #define AtkPlug_val(val) check_cast(ATK_PLUG,val) #define Val_AtkPlug(val) Val_GObject((GObject*)val) #define Val_AtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkPlugClass' */ /*TODO: conversion for record 'AtkRectangle' */ #define AtkRelation_val(val) check_cast(ATK_RELATION,val) #define Val_AtkRelation(val) Val_GObject((GObject*)val) #define Val_AtkRelation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationClass' */ #define AtkRelationSet_val(val) check_cast(ATK_RELATION_SET,val) #define Val_AtkRelationSet(val) Val_GObject((GObject*)val) #define Val_AtkRelationSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationSetClass' */ /*TODO: conversion for record 'AtkSelectionIface' */ #define AtkSocket_val(val) check_cast(ATK_SOCKET,val) #define Val_AtkSocket(val) Val_GObject((GObject*)val) #define Val_AtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkSocketClass' */ #define AtkStateSet_val(val) check_cast(ATK_STATE_SET,val) #define Val_AtkStateSet(val) Val_GObject((GObject*)val) #define Val_AtkStateSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkStateSetClass' */ /*TODO: conversion for record 'AtkStreamableContentIface' */ /*TODO: conversion for record 'AtkTableIface' */ /*TODO: conversion for record 'AtkTextIface' */ /*TODO: conversion for record 'AtkTextRange' */ /*TODO: conversion for record 'AtkTextRectangle' */ #define AtkUtil_val(val) check_cast(ATK_UTIL,val) #define Val_AtkUtil(val) Val_GObject((GObject*)val) #define Val_AtkUtil_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkUtilClass' */ /*TODO: conversion for record 'AtkValueIface' */ /*TODO: conversion for record '_AtkPropertyValues' */ /*TODO: conversion for record '_AtkRegistry' */ /*TODO: conversion for record '_AtkRegistryClass' */ /*TODO: conversion for record 'GModule' */ /*TODO: conversion for record 'GActionGroupInterface' */ /*TODO: conversion for record 'GActionInterface' */ /*TODO: conversion for record 'GAppInfoIface' */ #define GAppLaunchContext_val(val) check_cast(G_APP_LAUNCH_CONTEXT,val) #define Val_GAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GAppLaunchContextClass' */ /*TODO: conversion for record 'GAppLaunchContextPrivate' */ #define GApplication_val(val) check_cast(G_APPLICATION,val) #define Val_GApplication(val) Val_GObject((GObject*)val) #define Val_GApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationClass' */ #define GApplicationCommandLine_val(val) check_cast(G_APPLICATION_COMMAND_LINE,val) #define Val_GApplicationCommandLine(val) Val_GObject((GObject*)val) #define Val_GApplicationCommandLine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationCommandLineClass' */ /*TODO: conversion for record 'GApplicationCommandLinePrivate' */ /*TODO: conversion for record 'GApplicationPrivate' */ /*TODO: conversion for record 'GAsyncInitableIface' */ /*TODO: conversion for record 'GAsyncResultIface' */ #define GBufferedInputStream_val(val) check_cast(G_BUFFERED_INPUT_STREAM,val) #define Val_GBufferedInputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedInputStreamClass' */ /*TODO: conversion for record 'GBufferedInputStreamPrivate' */ #define GBufferedOutputStream_val(val) check_cast(G_BUFFERED_OUTPUT_STREAM,val) #define Val_GBufferedOutputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedOutputStreamClass' */ /*TODO: conversion for record 'GBufferedOutputStreamPrivate' */ #define GCancellable_val(val) check_cast(G_CANCELLABLE,val) #define Val_GCancellable(val) Val_GObject((GObject*)val) #define Val_GCancellable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCancellableClass' */ /*TODO: conversion for record 'GCancellablePrivate' */ #define GCharsetConverter_val(val) check_cast(G_CHARSET_CONVERTER,val) #define Val_GCharsetConverter(val) Val_GObject((GObject*)val) #define Val_GCharsetConverter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCharsetConverterClass' */ /*TODO: conversion for record 'GConverterIface' */ #define GConverterInputStream_val(val) check_cast(G_CONVERTER_INPUT_STREAM,val) #define Val_GConverterInputStream(val) Val_GObject((GObject*)val) #define Val_GConverterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterInputStreamClass' */ /*TODO: conversion for record 'GConverterInputStreamPrivate' */ #define GConverterOutputStream_val(val) check_cast(G_CONVERTER_OUTPUT_STREAM,val) #define Val_GConverterOutputStream(val) Val_GObject((GObject*)val) #define Val_GConverterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterOutputStreamClass' */ /*TODO: conversion for record 'GConverterOutputStreamPrivate' */ #define GCredentials_val(val) check_cast(G_CREDENTIALS,val) #define Val_GCredentials(val) Val_GObject((GObject*)val) #define Val_GCredentials_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCredentialsClass' */ /*TODO: conversion for record 'GDBusAnnotationInfo' */ /*TODO: conversion for record 'GDBusArgInfo' */ #define GDBusAuthObserver_val(val) check_cast(G_D_BUS_AUTH_OBSERVER,val) #define Val_GDBusAuthObserver(val) Val_GObject((GObject*)val) #define Val_GDBusAuthObserver_new(val) Val_GObject_new((GObject*)val) #define GDBusConnection_val(val) check_cast(G_D_BUS_CONNECTION,val) #define Val_GDBusConnection(val) Val_GObject((GObject*)val) #define Val_GDBusConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusErrorEntry' */ /*TODO: conversion for record 'GDBusInterfaceInfo' */ /*TODO: conversion for record 'GDBusInterfaceVTable' */ #define GDBusMessage_val(val) check_cast(G_D_BUS_MESSAGE,val) #define Val_GDBusMessage(val) Val_GObject((GObject*)val) #define Val_GDBusMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusMethodInfo' */ #define GDBusMethodInvocation_val(val) check_cast(G_D_BUS_METHOD_INVOCATION,val) #define Val_GDBusMethodInvocation(val) Val_GObject((GObject*)val) #define Val_GDBusMethodInvocation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusNodeInfo' */ /*TODO: conversion for record 'GDBusPropertyInfo' */ #define GDBusProxy_val(val) check_cast(G_D_BUS_PROXY,val) #define Val_GDBusProxy(val) Val_GObject((GObject*)val) #define Val_GDBusProxy_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusProxyClass' */ /*TODO: conversion for record 'GDBusProxyPrivate' */ #define GDBusServer_val(val) check_cast(G_D_BUS_SERVER,val) #define Val_GDBusServer(val) Val_GObject((GObject*)val) #define Val_GDBusServer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusSignalInfo' */ /*TODO: conversion for record 'GDBusSubtreeVTable' */ #define GDataInputStream_val(val) check_cast(G_DATA_INPUT_STREAM,val) #define Val_GDataInputStream(val) Val_GObject((GObject*)val) #define Val_GDataInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataInputStreamClass' */ /*TODO: conversion for record 'GDataInputStreamPrivate' */ #define GDataOutputStream_val(val) check_cast(G_DATA_OUTPUT_STREAM,val) #define Val_GDataOutputStream(val) Val_GObject((GObject*)val) #define Val_GDataOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataOutputStreamClass' */ /*TODO: conversion for record 'GDataOutputStreamPrivate' */ #define GDesktopAppInfo_val(val) check_cast(G_DESKTOP_APP_INFO,val) #define Val_GDesktopAppInfo(val) Val_GObject((GObject*)val) #define Val_GDesktopAppInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDesktopAppInfoClass' */ /*TODO: conversion for record 'GDesktopAppInfoLaunchHandlerIface' */ /*TODO: conversion for record 'GDesktopAppInfoLookupIface' */ /*TODO: conversion for record 'GDriveIface' */ #define GEmblem_val(val) check_cast(G_EMBLEM,val) #define Val_GEmblem(val) Val_GObject((GObject*)val) #define Val_GEmblem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemClass' */ #define GEmblemedIcon_val(val) check_cast(G_EMBLEMED_ICON,val) #define Val_GEmblemedIcon(val) Val_GObject((GObject*)val) #define Val_GEmblemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemedIconClass' */ /*TODO: conversion for record 'GEmblemedIconPrivate' */ /*TODO: conversion for record 'GFileAttributeInfo' */ /*TODO: conversion for record 'GFileAttributeInfoList' */ /*TODO: conversion for record 'GFileAttributeMatcher' */ /*TODO: conversion for record 'GFileDescriptorBasedIface' */ #define GFileEnumerator_val(val) check_cast(G_FILE_ENUMERATOR,val) #define Val_GFileEnumerator(val) Val_GObject((GObject*)val) #define Val_GFileEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileEnumeratorClass' */ /*TODO: conversion for record 'GFileEnumeratorPrivate' */ #define GFileIOStream_val(val) check_cast(G_FILE_I_O_STREAM,val) #define Val_GFileIOStream(val) Val_GObject((GObject*)val) #define Val_GFileIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIOStreamClass' */ /*TODO: conversion for record 'GFileIOStreamPrivate' */ #define GFileIcon_val(val) check_cast(G_FILE_ICON,val) #define Val_GFileIcon(val) Val_GObject((GObject*)val) #define Val_GFileIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIconClass' */ /*TODO: conversion for record 'GFileIface' */ #define GFileInfo_val(val) check_cast(G_FILE_INFO,val) #define Val_GFileInfo(val) Val_GObject((GObject*)val) #define Val_GFileInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInfoClass' */ #define GFileInputStream_val(val) check_cast(G_FILE_INPUT_STREAM,val) #define Val_GFileInputStream(val) Val_GObject((GObject*)val) #define Val_GFileInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInputStreamClass' */ /*TODO: conversion for record 'GFileInputStreamPrivate' */ #define GFileMonitor_val(val) check_cast(G_FILE_MONITOR,val) #define Val_GFileMonitor(val) Val_GObject((GObject*)val) #define Val_GFileMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileMonitorClass' */ /*TODO: conversion for record 'GFileMonitorPrivate' */ #define GFileOutputStream_val(val) check_cast(G_FILE_OUTPUT_STREAM,val) #define Val_GFileOutputStream(val) Val_GObject((GObject*)val) #define Val_GFileOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileOutputStreamClass' */ /*TODO: conversion for record 'GFileOutputStreamPrivate' */ #define GFilenameCompleter_val(val) check_cast(G_FILENAME_COMPLETER,val) #define Val_GFilenameCompleter(val) Val_GObject((GObject*)val) #define Val_GFilenameCompleter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilenameCompleterClass' */ #define GFilterInputStream_val(val) check_cast(G_FILTER_INPUT_STREAM,val) #define Val_GFilterInputStream(val) Val_GObject((GObject*)val) #define Val_GFilterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterInputStreamClass' */ #define GFilterOutputStream_val(val) check_cast(G_FILTER_OUTPUT_STREAM,val) #define Val_GFilterOutputStream(val) Val_GObject((GObject*)val) #define Val_GFilterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterOutputStreamClass' */ /*TODO: conversion for record 'GIOExtension' */ /*TODO: conversion for record 'GIOExtensionPoint' */ #define GIOModule_val(val) check_cast(G_I_O_MODULE,val) #define Val_GIOModule(val) Val_GObject((GObject*)val) #define Val_GIOModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOModuleClass' */ /*TODO: conversion for record 'GIOSchedulerJob' */ #define GIOStream_val(val) check_cast(G_I_O_STREAM,val) #define Val_GIOStream(val) Val_GObject((GObject*)val) #define Val_GIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOStreamAdapter' */ /*TODO: conversion for record 'GIOStreamClass' */ /*TODO: conversion for record 'GIOStreamPrivate' */ /*TODO: conversion for record 'GIconIface' */ #define GInetAddress_val(val) check_cast(G_INET_ADDRESS,val) #define Val_GInetAddress(val) Val_GObject((GObject*)val) #define Val_GInetAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetAddressClass' */ /*TODO: conversion for record 'GInetAddressPrivate' */ #define GInetSocketAddress_val(val) check_cast(G_INET_SOCKET_ADDRESS,val) #define Val_GInetSocketAddress(val) Val_GObject((GObject*)val) #define Val_GInetSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetSocketAddressClass' */ /*TODO: conversion for record 'GInetSocketAddressPrivate' */ /*TODO: conversion for record 'GInitableIface' */ #define GInputStream_val(val) check_cast(G_INPUT_STREAM,val) #define Val_GInputStream(val) Val_GObject((GObject*)val) #define Val_GInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInputStreamClass' */ /*TODO: conversion for record 'GInputStreamPrivate' */ /*TODO: conversion for record 'GInputVector' */ /*TODO: conversion for record 'GLoadableIconIface' */ #define GMemoryInputStream_val(val) check_cast(G_MEMORY_INPUT_STREAM,val) #define Val_GMemoryInputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryInputStreamClass' */ /*TODO: conversion for record 'GMemoryInputStreamPrivate' */ #define GMemoryOutputStream_val(val) check_cast(G_MEMORY_OUTPUT_STREAM,val) #define Val_GMemoryOutputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryOutputStreamClass' */ /*TODO: conversion for record 'GMemoryOutputStreamPrivate' */ /*TODO: conversion for record 'GMountIface' */ #define GMountOperation_val(val) check_cast(G_MOUNT_OPERATION,val) #define Val_GMountOperation(val) Val_GObject((GObject*)val) #define Val_GMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMountOperationClass' */ /*TODO: conversion for record 'GMountOperationPrivate' */ #define GNativeVolumeMonitor_val(val) check_cast(G_NATIVE_VOLUME_MONITOR,val) #define Val_GNativeVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GNativeVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNativeVolumeMonitorClass' */ #define GNetworkAddress_val(val) check_cast(G_NETWORK_ADDRESS,val) #define Val_GNetworkAddress(val) Val_GObject((GObject*)val) #define Val_GNetworkAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkAddressClass' */ /*TODO: conversion for record 'GNetworkAddressPrivate' */ #define GNetworkService_val(val) check_cast(G_NETWORK_SERVICE,val) #define Val_GNetworkService(val) Val_GObject((GObject*)val) #define Val_GNetworkService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkServiceClass' */ /*TODO: conversion for record 'GNetworkServicePrivate' */ #define GOutputStream_val(val) check_cast(G_OUTPUT_STREAM,val) #define Val_GOutputStream(val) Val_GObject((GObject*)val) #define Val_GOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GOutputStreamClass' */ /*TODO: conversion for record 'GOutputStreamPrivate' */ /*TODO: conversion for record 'GOutputVector' */ #define GPermission_val(val) check_cast(G_PERMISSION,val) #define Val_GPermission(val) Val_GObject((GObject*)val) #define Val_GPermission_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GPermissionClass' */ /*TODO: conversion for record 'GPermissionPrivate' */ /*TODO: conversion for record 'GPollableInputStreamInterface' */ /*TODO: conversion for record 'GPollableOutputStreamInterface' */ #define GProxyAddress_val(val) check_cast(G_PROXY_ADDRESS,val) #define Val_GProxyAddress(val) Val_GObject((GObject*)val) #define Val_GProxyAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressClass' */ #define GProxyAddressEnumerator_val(val) check_cast(G_PROXY_ADDRESS_ENUMERATOR,val) #define Val_GProxyAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GProxyAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressEnumeratorClass' */ /*TODO: conversion for record 'GProxyAddressEnumeratorPrivate' */ /*TODO: conversion for record 'GProxyAddressPrivate' */ /*TODO: conversion for record 'GProxyInterface' */ /*TODO: conversion for record 'GProxyResolverInterface' */ #define GResolver_val(val) check_cast(G_RESOLVER,val) #define Val_GResolver(val) Val_GObject((GObject*)val) #define Val_GResolver_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GResolverClass' */ /*TODO: conversion for record 'GResolverPrivate' */ /*TODO: conversion for record 'GSeekableIface' */ #define GSettings_val(val) check_cast(G_SETTINGS,val) #define Val_GSettings(val) Val_GObject((GObject*)val) #define Val_GSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSettingsBackend' */ /*TODO: conversion for record 'GSettingsClass' */ /*TODO: conversion for record 'GSettingsPrivate' */ #define GSimpleAction_val(val) check_cast(G_SIMPLE_ACTION,val) #define Val_GSimpleAction(val) Val_GObject((GObject*)val) #define Val_GSimpleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionClass' */ #define GSimpleActionGroup_val(val) check_cast(G_SIMPLE_ACTION_GROUP,val) #define Val_GSimpleActionGroup(val) Val_GObject((GObject*)val) #define Val_GSimpleActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionGroupClass' */ /*TODO: conversion for record 'GSimpleActionGroupPrivate' */ /*TODO: conversion for record 'GSimpleActionPrivate' */ #define GSimpleAsyncResult_val(val) check_cast(G_SIMPLE_ASYNC_RESULT,val) #define Val_GSimpleAsyncResult(val) Val_GObject((GObject*)val) #define Val_GSimpleAsyncResult_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleAsyncResultClass' */ #define GSimplePermission_val(val) check_cast(G_SIMPLE_PERMISSION,val) #define Val_GSimplePermission(val) Val_GObject((GObject*)val) #define Val_GSimplePermission_new(val) Val_GObject_new((GObject*)val) #define GSocket_val(val) check_cast(G_SOCKET,val) #define Val_GSocket(val) Val_GObject((GObject*)val) #define Val_GSocket_new(val) Val_GObject_new((GObject*)val) #define GSocketAddress_val(val) check_cast(G_SOCKET_ADDRESS,val) #define Val_GSocketAddress(val) Val_GObject((GObject*)val) #define Val_GSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressClass' */ #define GSocketAddressEnumerator_val(val) check_cast(G_SOCKET_ADDRESS_ENUMERATOR,val) #define Val_GSocketAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GSocketAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressEnumeratorClass' */ /*TODO: conversion for record 'GSocketClass' */ #define GSocketClient_val(val) check_cast(G_SOCKET_CLIENT,val) #define Val_GSocketClient(val) Val_GObject((GObject*)val) #define Val_GSocketClient_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketClientClass' */ /*TODO: conversion for record 'GSocketClientPrivate' */ /*TODO: conversion for record 'GSocketConnectableIface' */ #define GSocketConnection_val(val) check_cast(G_SOCKET_CONNECTION,val) #define Val_GSocketConnection(val) Val_GObject((GObject*)val) #define Val_GSocketConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketConnectionClass' */ /*TODO: conversion for record 'GSocketConnectionPrivate' */ #define GSocketControlMessage_val(val) check_cast(G_SOCKET_CONTROL_MESSAGE,val) #define Val_GSocketControlMessage(val) Val_GObject((GObject*)val) #define Val_GSocketControlMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketControlMessageClass' */ /*TODO: conversion for record 'GSocketControlMessagePrivate' */ #define GSocketListener_val(val) check_cast(G_SOCKET_LISTENER,val) #define Val_GSocketListener(val) Val_GObject((GObject*)val) #define Val_GSocketListener_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketListenerClass' */ /*TODO: conversion for record 'GSocketListenerPrivate' */ /*TODO: conversion for record 'GSocketPrivate' */ #define GSocketService_val(val) check_cast(G_SOCKET_SERVICE,val) #define Val_GSocketService(val) Val_GObject((GObject*)val) #define Val_GSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketServiceClass' */ /*TODO: conversion for record 'GSocketServicePrivate' */ /*TODO: conversion for record 'GSrvTarget' */ #define GTcpConnection_val(val) check_cast(G_TCP_CONNECTION,val) #define Val_GTcpConnection(val) Val_GObject((GObject*)val) #define Val_GTcpConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpConnectionClass' */ /*TODO: conversion for record 'GTcpConnectionPrivate' */ #define GTcpWrapperConnection_val(val) check_cast(G_TCP_WRAPPER_CONNECTION,val) #define Val_GTcpWrapperConnection(val) Val_GObject((GObject*)val) #define Val_GTcpWrapperConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpWrapperConnectionClass' */ /*TODO: conversion for record 'GTcpWrapperConnectionPrivate' */ #define GThemedIcon_val(val) check_cast(G_THEMED_ICON,val) #define Val_GThemedIcon(val) Val_GObject((GObject*)val) #define Val_GThemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThemedIconClass' */ #define GThreadedSocketService_val(val) check_cast(G_THREADED_SOCKET_SERVICE,val) #define Val_GThreadedSocketService(val) Val_GObject((GObject*)val) #define Val_GThreadedSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThreadedSocketServiceClass' */ /*TODO: conversion for record 'GThreadedSocketServicePrivate' */ /*TODO: conversion for record 'GTlsBackendInterface' */ #define GTlsCertificate_val(val) check_cast(G_TLS_CERTIFICATE,val) #define Val_GTlsCertificate(val) Val_GObject((GObject*)val) #define Val_GTlsCertificate_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsCertificateClass' */ /*TODO: conversion for record 'GTlsCertificatePrivate' */ /*TODO: conversion for record 'GTlsClientConnectionInterface' */ /*TODO: conversion for record 'GTlsClientContext' */ #define GTlsConnection_val(val) check_cast(G_TLS_CONNECTION,val) #define Val_GTlsConnection(val) Val_GObject((GObject*)val) #define Val_GTlsConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsConnectionClass' */ /*TODO: conversion for record 'GTlsConnectionPrivate' */ /*TODO: conversion for record 'GTlsContext' */ /*TODO: conversion for record 'GTlsServerConnectionInterface' */ /*TODO: conversion for record 'GTlsServerContext' */ #define GUnixConnection_val(val) check_cast(G_UNIX_CONNECTION,val) #define Val_GUnixConnection(val) Val_GObject((GObject*)val) #define Val_GUnixConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixConnectionClass' */ /*TODO: conversion for record 'GUnixConnectionPrivate' */ #define GUnixCredentialsMessage_val(val) check_cast(G_UNIX_CREDENTIALS_MESSAGE,val) #define Val_GUnixCredentialsMessage(val) Val_GObject((GObject*)val) #define Val_GUnixCredentialsMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixCredentialsMessageClass' */ /*TODO: conversion for record 'GUnixCredentialsMessagePrivate' */ #define GUnixFDList_val(val) check_cast(G_UNIX_F_D_LIST,val) #define Val_GUnixFDList(val) Val_GObject((GObject*)val) #define Val_GUnixFDList_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDListClass' */ /*TODO: conversion for record 'GUnixFDListPrivate' */ #define GUnixFDMessage_val(val) check_cast(G_UNIX_F_D_MESSAGE,val) #define Val_GUnixFDMessage(val) Val_GObject((GObject*)val) #define Val_GUnixFDMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDMessageClass' */ /*TODO: conversion for record 'GUnixFDMessagePrivate' */ #define GUnixInputStream_val(val) check_cast(G_UNIX_INPUT_STREAM,val) #define Val_GUnixInputStream(val) Val_GObject((GObject*)val) #define Val_GUnixInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixInputStreamClass' */ /*TODO: conversion for record 'GUnixInputStreamPrivate' */ /*TODO: conversion for record 'GUnixMountEntry' */ #define GUnixMountMonitor_val(val) check_cast(G_UNIX_MOUNT_MONITOR,val) #define Val_GUnixMountMonitor(val) Val_GObject((GObject*)val) #define Val_GUnixMountMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixMountMonitorClass' */ /*TODO: conversion for record 'GUnixMountPoint' */ #define GUnixOutputStream_val(val) check_cast(G_UNIX_OUTPUT_STREAM,val) #define Val_GUnixOutputStream(val) Val_GObject((GObject*)val) #define Val_GUnixOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixOutputStreamClass' */ /*TODO: conversion for record 'GUnixOutputStreamPrivate' */ #define GUnixSocketAddress_val(val) check_cast(G_UNIX_SOCKET_ADDRESS,val) #define Val_GUnixSocketAddress(val) Val_GObject((GObject*)val) #define Val_GUnixSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixSocketAddressClass' */ /*TODO: conversion for record 'GUnixSocketAddressPrivate' */ #define GVfs_val(val) check_cast(G_VFS,val) #define Val_GVfs(val) Val_GObject((GObject*)val) #define Val_GVfs_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVfsClass' */ /*TODO: conversion for record 'GVolumeIface' */ #define GVolumeMonitor_val(val) check_cast(G_VOLUME_MONITOR,val) #define Val_GVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVolumeMonitorClass' */ #define GZlibCompressor_val(val) check_cast(G_ZLIB_COMPRESSOR,val) #define Val_GZlibCompressor(val) Val_GObject((GObject*)val) #define Val_GZlibCompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibCompressorClass' */ #define GZlibDecompressor_val(val) check_cast(G_ZLIB_DECOMPRESSOR,val) #define Val_GZlibDecompressor(val) Val_GObject((GObject*)val) #define Val_GZlibDecompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibDecompressorClass' */ #define GdkPixbuf_val(val) check_cast(GDK_PIXBUF,val) #define Val_GdkPixbuf(val) Val_GObject((GObject*)val) #define Val_GdkPixbuf_new(val) Val_GObject_new((GObject*)val) #define GdkPixbufAnimation_val(val) check_cast(GDK_PIXBUF_ANIMATION,val) #define Val_GdkPixbufAnimation(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationClass' */ #define GdkPixbufAnimationIter_val(val) check_cast(GDK_PIXBUF_ANIMATION_ITER,val) #define Val_GdkPixbufAnimationIter(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimationIter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationIterClass' */ /*TODO: conversion for record 'GdkPixbufFormat' */ #define GdkPixbufLoader_val(val) check_cast(GDK_PIXBUF_LOADER,val) #define Val_GdkPixbufLoader(val) Val_GObject((GObject*)val) #define Val_GdkPixbufLoader_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufLoaderClass' */ /*TODO: conversion for record 'GdkPixbufModule' */ /*TODO: conversion for record 'GdkPixbufModulePattern' */ #define GdkPixbufSimpleAnim_val(val) check_cast(GDK_PIXBUF_SIMPLE_ANIM,val) #define Val_GdkPixbufSimpleAnim(val) Val_GObject((GObject*)val) #define Val_GdkPixbufSimpleAnim_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufSimpleAnimClass' */ /*TODO: conversion for record 'GdkPixdata' */ /*TODO: conversion for record 'cairo_t' */ /*TODO: conversion for record 'cairo_surface_t' */ /*TODO: conversion for record 'cairo_matrix_t' */ /*TODO: conversion for record 'cairo_pattern_t' */ /*TODO: conversion for record 'cairo_region_t' */ /*TODO: conversion for record 'cairo_font_options_t' */ /*TODO: conversion for record 'cairo_font_type_t' */ /*TODO: conversion for record 'cairo_font_face_t' */ /*TODO: conversion for record 'cairo_scaled_font_t' */ /*TODO: conversion for record 'cairo_path_t' */ /*TODO: conversion for record 'cairo_rectangle_int_t' */ /*TODO: conversion for record 'PangoAnalysis' */ /*TODO: conversion for record 'PangoAttrClass' */ /*TODO: conversion for record 'PangoAttrColor' */ /*TODO: conversion for record 'PangoAttrFloat' */ /*TODO: conversion for record 'PangoAttrFontDesc' */ /*TODO: conversion for record 'PangoAttrInt' */ /*TODO: conversion for record 'PangoAttrIterator' */ /*TODO: conversion for record 'PangoAttrLanguage' */ /*TODO: conversion for record 'PangoAttrList' */ /*TODO: conversion for record 'PangoAttrShape' */ /*TODO: conversion for record 'PangoAttrSize' */ /*TODO: conversion for record 'PangoAttrString' */ /*TODO: conversion for record 'PangoAttribute' */ /*TODO: conversion for record 'PangoColor' */ #define PangoContext_val(val) check_cast(PANGO_CONTEXT,val) #define Val_PangoContext(val) Val_GObject((GObject*)val) #define Val_PangoContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoContextClass' */ /*TODO: conversion for record 'PangoCoverage' */ /*TODO: conversion for record 'PangoEngineLang' */ /*TODO: conversion for record 'PangoEngineShape' */ #define PangoFont_val(val) check_cast(PANGO_FONT,val) #define Val_PangoFont(val) Val_GObject((GObject*)val) #define Val_PangoFont_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontDescription' */ #define PangoFontFace_val(val) check_cast(PANGO_FONT_FACE,val) #define Val_PangoFontFace(val) Val_GObject((GObject*)val) #define Val_PangoFontFace_new(val) Val_GObject_new((GObject*)val) #define PangoFontFamily_val(val) check_cast(PANGO_FONT_FAMILY,val) #define Val_PangoFontFamily(val) Val_GObject((GObject*)val) #define Val_PangoFontFamily_new(val) Val_GObject_new((GObject*)val) #define PangoFontMap_val(val) check_cast(PANGO_FONT_MAP,val) #define Val_PangoFontMap(val) Val_GObject((GObject*)val) #define Val_PangoFontMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontMetrics' */ #define PangoFontset_val(val) check_cast(PANGO_FONTSET,val) #define Val_PangoFontset(val) Val_GObject((GObject*)val) #define Val_PangoFontset_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoGlyphGeometry' */ /*TODO: conversion for record 'PangoGlyphInfo' */ /*TODO: conversion for record 'PangoGlyphItem' */ /*TODO: conversion for record 'PangoGlyphItemIter' */ /*TODO: conversion for record 'PangoGlyphString' */ /*TODO: conversion for record 'PangoGlyphVisAttr' */ /*TODO: conversion for record 'PangoItem' */ /*TODO: conversion for record 'PangoLanguage' */ #define PangoLayout_val(val) check_cast(PANGO_LAYOUT,val) #define Val_PangoLayout(val) Val_GObject((GObject*)val) #define Val_PangoLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoLayoutClass' */ /*TODO: conversion for record 'PangoLayoutIter' */ /*TODO: conversion for record 'PangoLayoutLine' */ /*TODO: conversion for record 'PangoLogAttr' */ /*TODO: conversion for record 'PangoMatrix' */ /*TODO: conversion for record 'PangoRectangle' */ #define PangoRenderer_val(val) check_cast(PANGO_RENDERER,val) #define Val_PangoRenderer(val) Val_GObject((GObject*)val) #define Val_PangoRenderer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoRendererClass' */ /*TODO: conversion for record 'PangoRendererPrivate' */ /*TODO: conversion for record 'PangoScriptIter' */ /*TODO: conversion for record 'PangoTabArray' */ /*TODO: conversion for record '_PangoScriptForLang' */ #define GdkAppLaunchContext_val(val) check_cast(GDK_APP_LAUNCH_CONTEXT,val) #define Val_GdkAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GdkAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkAtom' */ /*TODO: conversion for record 'GdkColor' */ #define GdkCursor_val(val) check_cast(GDK_CURSOR,val) #define Val_GdkCursor(val) Val_GObject((GObject*)val) #define Val_GdkCursor_new(val) Val_GObject_new((GObject*)val) #define GdkDevice_val(val) check_cast(GDK_DEVICE,val) #define Val_GdkDevice(val) Val_GObject((GObject*)val) #define Val_GdkDevice_new(val) Val_GObject_new((GObject*)val) #define GdkDeviceManager_val(val) check_cast(GDK_DEVICE_MANAGER,val) #define Val_GdkDeviceManager(val) Val_GObject((GObject*)val) #define Val_GdkDeviceManager_new(val) Val_GObject_new((GObject*)val) #define GdkDisplay_val(val) check_cast(GDK_DISPLAY_OBJECT,val) #define Val_GdkDisplay(val) Val_GObject((GObject*)val) #define Val_GdkDisplay_new(val) Val_GObject_new((GObject*)val) #define GdkDisplayManager_val(val) check_cast(GDK_DISPLAY_MANAGER,val) #define Val_GdkDisplayManager(val) Val_GObject((GObject*)val) #define Val_GdkDisplayManager_new(val) Val_GObject_new((GObject*)val) #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val) #define Val_GdkDragContext(val) Val_GObject((GObject*)val) #define Val_GdkDragContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkEventAny' */ /*TODO: conversion for record 'GdkEventButton' */ /*TODO: conversion for record 'GdkEventConfigure' */ /*TODO: conversion for record 'GdkEventCrossing' */ /*TODO: conversion for record 'GdkEventDND' */ /*TODO: conversion for record 'GdkEventExpose' */ /*TODO: conversion for record 'GdkEventFocus' */ /*TODO: conversion for record 'GdkEventGrabBroken' */ /*TODO: conversion for record 'GdkEventKey' */ /*TODO: conversion for record 'GdkEventMotion' */ /*TODO: conversion for record 'GdkEventOwnerChange' */ /*TODO: conversion for record 'GdkEventProperty' */ /*TODO: conversion for record 'GdkEventProximity' */ /*TODO: conversion for record 'GdkEventScroll' */ /*TODO: conversion for record 'GdkEventSelection' */ /*TODO: conversion for record 'GdkEventSetting' */ /*TODO: conversion for record 'GdkEventVisibility' */ /*TODO: conversion for record 'GdkEventWindowState' */ /*TODO: conversion for record 'GdkGeometry' */ #define GdkKeymap_val(val) check_cast(GDK_KEYMAP,val) #define Val_GdkKeymap(val) Val_GObject((GObject*)val) #define Val_GdkKeymap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkKeymapKey' */ /*TODO: conversion for record 'GdkPoint' */ /*TODO: conversion for record 'GdkRGBA' */ #define GdkScreen_val(val) check_cast(GDK_SCREEN,val) #define Val_GdkScreen(val) Val_GObject((GObject*)val) #define Val_GdkScreen_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkTimeCoord' */ #define GdkVisual_val(val) check_cast(GDK_VISUAL,val) #define Val_GdkVisual(val) Val_GObject((GObject*)val) #define Val_GdkVisual_new(val) Val_GObject_new((GObject*)val) #define GdkWindow_val(val) check_cast(GDK_WINDOW,val) #define Val_GdkWindow(val) Val_GObject((GObject*)val) #define Val_GdkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkWindowAttr' */ /*TODO: conversion for record 'GdkWindowClass' */ /*TODO: conversion for record 'GdkWindowRedirect' */ #define GtkAboutDialog_val(val) check_cast(GTK_ABOUT_DIALOG,val) #define Val_GtkAboutDialog(val) Val_GObject((GObject*)val) #define Val_GtkAboutDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAboutDialogClass' */ /*TODO: conversion for record 'GtkAboutDialogPrivate' */ #define GtkAccelGroup_val(val) check_cast(GTK_ACCEL_GROUP,val) #define Val_GtkAccelGroup(val) Val_GObject((GObject*)val) #define Val_GtkAccelGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelGroupClass' */ /*TODO: conversion for record 'GtkAccelGroupEntry' */ /*TODO: conversion for record 'GtkAccelGroupPrivate' */ /*TODO: conversion for record 'GtkAccelKey' */ #define GtkAccelLabel_val(val) check_cast(GTK_ACCEL_LABEL,val) #define Val_GtkAccelLabel(val) Val_GObject((GObject*)val) #define Val_GtkAccelLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelLabelClass' */ /*TODO: conversion for record 'GtkAccelLabelPrivate' */ #define GtkAccelMap_val(val) check_cast(GTK_ACCEL_MAP,val) #define Val_GtkAccelMap(val) Val_GObject((GObject*)val) #define Val_GtkAccelMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelMapClass' */ #define GtkAccessible_val(val) check_cast(GTK_ACCESSIBLE,val) #define Val_GtkAccessible(val) Val_GObject((GObject*)val) #define Val_GtkAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccessibleClass' */ /*TODO: conversion for record 'GtkAccessiblePrivate' */ #define GtkAction_val(val) check_cast(GTK_ACTION,val) #define Val_GtkAction(val) Val_GObject((GObject*)val) #define Val_GtkAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionClass' */ /*TODO: conversion for record 'GtkActionEntry' */ #define GtkActionGroup_val(val) check_cast(GTK_ACTION_GROUP,val) #define Val_GtkActionGroup(val) Val_GObject((GObject*)val) #define Val_GtkActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionGroupClass' */ /*TODO: conversion for record 'GtkActionGroupPrivate' */ /*TODO: conversion for record 'GtkActionPrivate' */ /*TODO: conversion for record 'GtkActivatableIface' */ #define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val) #define Val_GtkAdjustment(val) Val_GObject((GObject*)val) #define Val_GtkAdjustment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAdjustmentClass' */ /*TODO: conversion for record 'GtkAdjustmentPrivate' */ #define GtkAlignment_val(val) check_cast(GTK_ALIGNMENT,val) #define Val_GtkAlignment(val) Val_GObject((GObject*)val) #define Val_GtkAlignment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAlignmentClass' */ /*TODO: conversion for record 'GtkAlignmentPrivate' */ #define GtkAppChooserButton_val(val) check_cast(GTK_APP_CHOOSER_BUTTON,val) #define Val_GtkAppChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserButtonClass' */ /*TODO: conversion for record 'GtkAppChooserButtonPrivate' */ #define GtkAppChooserDialog_val(val) check_cast(GTK_APP_CHOOSER_DIALOG,val) #define Val_GtkAppChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserDialogClass' */ /*TODO: conversion for record 'GtkAppChooserDialogPrivate' */ #define GtkAppChooserWidget_val(val) check_cast(GTK_APP_CHOOSER_WIDGET,val) #define Val_GtkAppChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserWidgetClass' */ /*TODO: conversion for record 'GtkAppChooserWidgetPrivate' */ #define GtkApplication_val(val) check_cast(GTK_APPLICATION,val) #define Val_GtkApplication(val) Val_GObject((GObject*)val) #define Val_GtkApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkApplicationClass' */ /*TODO: conversion for record 'GtkApplicationPrivate' */ #define GtkArrow_val(val) check_cast(GTK_ARROW,val) #define Val_GtkArrow(val) Val_GObject((GObject*)val) #define Val_GtkArrow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkArrowClass' */ /*TODO: conversion for record 'GtkArrowPrivate' */ #define GtkAspectFrame_val(val) check_cast(GTK_ASPECT_FRAME,val) #define Val_GtkAspectFrame(val) Val_GObject((GObject*)val) #define Val_GtkAspectFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAspectFrameClass' */ /*TODO: conversion for record 'GtkAspectFramePrivate' */ #define GtkAssistant_val(val) check_cast(GTK_ASSISTANT,val) #define Val_GtkAssistant(val) Val_GObject((GObject*)val) #define Val_GtkAssistant_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAssistantClass' */ /*TODO: conversion for record 'GtkAssistantPrivate' */ #define GtkBin_val(val) check_cast(GTK_BIN,val) #define Val_GtkBin(val) Val_GObject((GObject*)val) #define Val_GtkBin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBinClass' */ /*TODO: conversion for record 'GtkBinPrivate' */ /*TODO: conversion for record 'GtkBindingArg' */ /*TODO: conversion for record 'GtkBindingEntry' */ /*TODO: conversion for record 'GtkBindingSet' */ /*TODO: conversion for record 'GtkBindingSignal' */ /*TODO: conversion for record 'GtkBorder' */ #define GtkBox_val(val) check_cast(GTK_BOX,val) #define Val_GtkBox(val) Val_GObject((GObject*)val) #define Val_GtkBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBoxClass' */ /*TODO: conversion for record 'GtkBoxPrivate' */ /*TODO: conversion for record 'GtkBuildableIface' */ #define GtkBuilder_val(val) check_cast(GTK_BUILDER,val) #define Val_GtkBuilder(val) Val_GObject((GObject*)val) #define Val_GtkBuilder_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBuilderClass' */ /*TODO: conversion for record 'GtkBuilderPrivate' */ #define GtkButton_val(val) check_cast(GTK_BUTTON,val) #define Val_GtkButton(val) Val_GObject((GObject*)val) #define Val_GtkButton_new(val) Val_GObject_new((GObject*)val) #define GtkButtonBox_val(val) check_cast(GTK_BUTTON_BOX,val) #define Val_GtkButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkButtonBoxClass' */ /*TODO: conversion for record 'GtkButtonBoxPrivate' */ /*TODO: conversion for record 'GtkButtonClass' */ /*TODO: conversion for record 'GtkButtonPrivate' */ #define GtkCalendar_val(val) check_cast(GTK_CALENDAR,val) #define Val_GtkCalendar(val) Val_GObject((GObject*)val) #define Val_GtkCalendar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCalendarClass' */ /*TODO: conversion for record 'GtkCalendarPrivate' */ #define GtkCellArea_val(val) check_cast(GTK_CELL_AREA,val) #define Val_GtkCellArea(val) Val_GObject((GObject*)val) #define Val_GtkCellArea_new(val) Val_GObject_new((GObject*)val) #define GtkCellAreaBox_val(val) check_cast(GTK_CELL_AREA_BOX,val) #define Val_GtkCellAreaBox(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaBoxClass' */ /*TODO: conversion for record 'GtkCellAreaBoxPrivate' */ /*TODO: conversion for record 'GtkCellAreaClass' */ #define GtkCellAreaContext_val(val) check_cast(GTK_CELL_AREA_CONTEXT,val) #define Val_GtkCellAreaContext(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaContextClass' */ /*TODO: conversion for record 'GtkCellAreaContextPrivate' */ /*TODO: conversion for record 'GtkCellAreaPrivate' */ /*TODO: conversion for record 'GtkCellEditableIface' */ /*TODO: conversion for record 'GtkCellLayoutIface' */ #define GtkCellRenderer_val(val) check_cast(GTK_CELL_RENDERER,val) #define Val_GtkCellRenderer(val) Val_GObject((GObject*)val) #define Val_GtkCellRenderer_new(val) Val_GObject_new((GObject*)val) #define GtkCellRendererAccel_val(val) check_cast(GTK_CELL_RENDERER_ACCEL,val) #define Val_GtkCellRendererAccel(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererAccel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererAccelClass' */ /*TODO: conversion for record 'GtkCellRendererAccelPrivate' */ /*TODO: conversion for record 'GtkCellRendererClass' */ #define GtkCellRendererCombo_val(val) check_cast(GTK_CELL_RENDERER_COMBO,val) #define Val_GtkCellRendererCombo(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererCombo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererComboClass' */ /*TODO: conversion for record 'GtkCellRendererComboPrivate' */ #define GtkCellRendererPixbuf_val(val) check_cast(GTK_CELL_RENDERER_PIXBUF,val) #define Val_GtkCellRendererPixbuf(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererPixbuf_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererPixbufClass' */ /*TODO: conversion for record 'GtkCellRendererPixbufPrivate' */ /*TODO: conversion for record 'GtkCellRendererPrivate' */ #define GtkCellRendererProgress_val(val) check_cast(GTK_CELL_RENDERER_PROGRESS,val) #define Val_GtkCellRendererProgress(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererProgress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererProgressClass' */ /*TODO: conversion for record 'GtkCellRendererProgressPrivate' */ #define GtkCellRendererSpin_val(val) check_cast(GTK_CELL_RENDERER_SPIN,val) #define Val_GtkCellRendererSpin(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinClass' */ /*TODO: conversion for record 'GtkCellRendererSpinPrivate' */ #define GtkCellRendererSpinner_val(val) check_cast(GTK_CELL_RENDERER_SPINNER,val) #define Val_GtkCellRendererSpinner(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinnerClass' */ /*TODO: conversion for record 'GtkCellRendererSpinnerPrivate' */ #define GtkCellRendererText_val(val) check_cast(GTK_CELL_RENDERER_TEXT,val) #define Val_GtkCellRendererText(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererTextClass' */ /*TODO: conversion for record 'GtkCellRendererTextPrivate' */ #define GtkCellRendererToggle_val(val) check_cast(GTK_CELL_RENDERER_TOGGLE,val) #define Val_GtkCellRendererToggle(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererToggle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererToggleClass' */ /*TODO: conversion for record 'GtkCellRendererTogglePrivate' */ #define GtkCellView_val(val) check_cast(GTK_CELL_VIEW,val) #define Val_GtkCellView(val) Val_GObject((GObject*)val) #define Val_GtkCellView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellViewClass' */ /*TODO: conversion for record 'GtkCellViewPrivate' */ #define GtkCheckButton_val(val) check_cast(GTK_CHECK_BUTTON,val) #define Val_GtkCheckButton(val) Val_GObject((GObject*)val) #define Val_GtkCheckButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckButtonClass' */ #define GtkCheckMenuItem_val(val) check_cast(GTK_CHECK_MENU_ITEM,val) #define Val_GtkCheckMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkCheckMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckMenuItemClass' */ /*TODO: conversion for record 'GtkCheckMenuItemPrivate' */ #define GtkClipboard_val(val) check_cast(GTK_CLIPBOARD,val) #define Val_GtkClipboard(val) Val_GObject((GObject*)val) #define Val_GtkClipboard_new(val) Val_GObject_new((GObject*)val) #define GtkColorButton_val(val) check_cast(GTK_COLOR_BUTTON,val) #define Val_GtkColorButton(val) Val_GObject((GObject*)val) #define Val_GtkColorButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorButtonClass' */ /*TODO: conversion for record 'GtkColorButtonPrivate' */ #define GtkColorSelection_val(val) check_cast(GTK_COLOR_SELECTION,val) #define Val_GtkColorSelection(val) Val_GObject((GObject*)val) #define Val_GtkColorSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionClass' */ #define GtkColorSelectionDialog_val(val) check_cast(GTK_COLOR_SELECTION_DIALOG,val) #define Val_GtkColorSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkColorSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionDialogClass' */ /*TODO: conversion for record 'GtkColorSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkColorSelectionPrivate' */ #define GtkComboBox_val(val) check_cast(GTK_COMBO_BOX,val) #define Val_GtkComboBox(val) Val_GObject((GObject*)val) #define Val_GtkComboBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxClass' */ /*TODO: conversion for record 'GtkComboBoxPrivate' */ #define GtkComboBoxText_val(val) check_cast(GTK_COMBO_BOX_TEXT,val) #define Val_GtkComboBoxText(val) Val_GObject((GObject*)val) #define Val_GtkComboBoxText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxTextClass' */ /*TODO: conversion for record 'GtkComboBoxTextPrivate' */ #define GtkContainer_val(val) check_cast(GTK_CONTAINER,val) #define Val_GtkContainer(val) Val_GObject((GObject*)val) #define Val_GtkContainer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkContainerClass' */ /*TODO: conversion for record 'GtkContainerPrivate' */ #define GtkCssProvider_val(val) check_cast(GTK_CSS_PROVIDER,val) #define Val_GtkCssProvider(val) Val_GObject((GObject*)val) #define Val_GtkCssProvider_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCssProviderClass' */ #define GtkDialog_val(val) check_cast(GTK_DIALOG,val) #define Val_GtkDialog(val) Val_GObject((GObject*)val) #define Val_GtkDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDialogClass' */ /*TODO: conversion for record 'GtkDialogPrivate' */ #define GtkDrawingArea_val(val) check_cast(GTK_DRAWING_AREA,val) #define Val_GtkDrawingArea(val) Val_GObject((GObject*)val) #define Val_GtkDrawingArea_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDrawingAreaClass' */ /*TODO: conversion for record 'GtkEditableInterface' */ #define GtkEntry_val(val) check_cast(GTK_ENTRY,val) #define Val_GtkEntry(val) Val_GObject((GObject*)val) #define Val_GtkEntry_new(val) Val_GObject_new((GObject*)val) #define GtkEntryBuffer_val(val) check_cast(GTK_ENTRY_BUFFER,val) #define Val_GtkEntryBuffer(val) Val_GObject((GObject*)val) #define Val_GtkEntryBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryBufferClass' */ /*TODO: conversion for record 'GtkEntryBufferPrivate' */ /*TODO: conversion for record 'GtkEntryClass' */ #define GtkEntryCompletion_val(val) check_cast(GTK_ENTRY_COMPLETION,val) #define Val_GtkEntryCompletion(val) Val_GObject((GObject*)val) #define Val_GtkEntryCompletion_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryCompletionClass' */ /*TODO: conversion for record 'GtkEntryCompletionPrivate' */ /*TODO: conversion for record 'GtkEntryPrivate' */ #define GtkEventBox_val(val) check_cast(GTK_EVENT_BOX,val) #define Val_GtkEventBox(val) Val_GObject((GObject*)val) #define Val_GtkEventBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEventBoxClass' */ /*TODO: conversion for record 'GtkEventBoxPrivate' */ #define GtkExpander_val(val) check_cast(GTK_EXPANDER,val) #define Val_GtkExpander(val) Val_GObject((GObject*)val) #define Val_GtkExpander_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkExpanderClass' */ /*TODO: conversion for record 'GtkExpanderPrivate' */ #define GtkFileChooserButton_val(val) check_cast(GTK_FILE_CHOOSER_BUTTON,val) #define Val_GtkFileChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserButtonClass' */ /*TODO: conversion for record 'GtkFileChooserButtonPrivate' */ #define GtkFileChooserDialog_val(val) check_cast(GTK_FILE_CHOOSER_DIALOG,val) #define Val_GtkFileChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserDialogClass' */ /*TODO: conversion for record 'GtkFileChooserDialogPrivate' */ #define GtkFileChooserWidget_val(val) check_cast(GTK_FILE_CHOOSER_WIDGET,val) #define Val_GtkFileChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserWidgetClass' */ /*TODO: conversion for record 'GtkFileChooserWidgetPrivate' */ #define GtkFileFilter_val(val) check_cast(GTK_FILE_FILTER,val) #define Val_GtkFileFilter(val) Val_GObject((GObject*)val) #define Val_GtkFileFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileFilterInfo' */ #define GtkFixed_val(val) check_cast(GTK_FIXED,val) #define Val_GtkFixed(val) Val_GObject((GObject*)val) #define Val_GtkFixed_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFixedChild' */ /*TODO: conversion for record 'GtkFixedClass' */ /*TODO: conversion for record 'GtkFixedPrivate' */ #define GtkFontButton_val(val) check_cast(GTK_FONT_BUTTON,val) #define Val_GtkFontButton(val) Val_GObject((GObject*)val) #define Val_GtkFontButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontButtonClass' */ /*TODO: conversion for record 'GtkFontButtonPrivate' */ #define GtkFontSelection_val(val) check_cast(GTK_FONT_SELECTION,val) #define Val_GtkFontSelection(val) Val_GObject((GObject*)val) #define Val_GtkFontSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionClass' */ #define GtkFontSelectionDialog_val(val) check_cast(GTK_FONT_SELECTION_DIALOG,val) #define Val_GtkFontSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkFontSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionDialogClass' */ /*TODO: conversion for record 'GtkFontSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkFontSelectionPrivate' */ #define GtkFrame_val(val) check_cast(GTK_FRAME,val) #define Val_GtkFrame(val) Val_GObject((GObject*)val) #define Val_GtkFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFrameClass' */ /*TODO: conversion for record 'GtkFramePrivate' */ /*TODO: conversion for record 'GtkGradient' */ #define GtkGrid_val(val) check_cast(GTK_GRID,val) #define Val_GtkGrid(val) Val_GObject((GObject*)val) #define Val_GtkGrid_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkGridClass' */ /*TODO: conversion for record 'GtkGridPrivate' */ #define GtkHBox_val(val) check_cast(GTK_H_BOX,val) #define Val_GtkHBox(val) Val_GObject((GObject*)val) #define Val_GtkHBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHBoxClass' */ #define GtkHButtonBox_val(val) check_cast(GTK_H_BUTTON_BOX,val) #define Val_GtkHButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkHButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHButtonBoxClass' */ #define GtkHPaned_val(val) check_cast(GTK_H_PANED,val) #define Val_GtkHPaned(val) Val_GObject((GObject*)val) #define Val_GtkHPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHPanedClass' */ #define GtkHSV_val(val) check_cast(GTK_HSV,val) #define Val_GtkHSV(val) Val_GObject((GObject*)val) #define Val_GtkHSV_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSVClass' */ /*TODO: conversion for record 'GtkHSVPrivate' */ #define GtkHScale_val(val) check_cast(GTK_H_SCALE,val) #define Val_GtkHScale(val) Val_GObject((GObject*)val) #define Val_GtkHScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScaleClass' */ #define GtkHScrollbar_val(val) check_cast(GTK_H_SCROLLBAR,val) #define Val_GtkHScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkHScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScrollbarClass' */ #define GtkHSeparator_val(val) check_cast(GTK_H_SEPARATOR,val) #define Val_GtkHSeparator(val) Val_GObject((GObject*)val) #define Val_GtkHSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSeparatorClass' */ #define GtkHandleBox_val(val) check_cast(GTK_HANDLE_BOX,val) #define Val_GtkHandleBox(val) Val_GObject((GObject*)val) #define Val_GtkHandleBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHandleBoxClass' */ /*TODO: conversion for record 'GtkHandleBoxPrivate' */ #define GtkIMContext_val(val) check_cast(GTK_IM_CONTEXT,val) #define Val_GtkIMContext(val) Val_GObject((GObject*)val) #define Val_GtkIMContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextClass' */ /*TODO: conversion for record 'GtkIMContextInfo' */ #define GtkIMContextSimple_val(val) check_cast(GTK_I_M_CONTEXT_SIMPLE,val) #define Val_GtkIMContextSimple(val) Val_GObject((GObject*)val) #define Val_GtkIMContextSimple_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextSimpleClass' */ /*TODO: conversion for record 'GtkIMContextSimplePrivate' */ #define GtkIMMulticontext_val(val) check_cast(GTK_IM_MULTICONTEXT,val) #define Val_GtkIMMulticontext(val) Val_GObject((GObject*)val) #define Val_GtkIMMulticontext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMMulticontextClass' */ /*TODO: conversion for record 'GtkIMMulticontextPrivate' */ #define GtkIconFactory_val(val) check_cast(GTK_ICON_FACTORY,val) #define Val_GtkIconFactory(val) Val_GObject((GObject*)val) #define Val_GtkIconFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconFactoryClass' */ /*TODO: conversion for record 'GtkIconFactoryPrivate' */ /*TODO: conversion for record 'GtkIconInfo' */ /*TODO: conversion for record 'GtkIconSet' */ /*TODO: conversion for record 'GtkIconSource' */ #define GtkIconTheme_val(val) check_cast(GTK_ICON_THEME,val) #define Val_GtkIconTheme(val) Val_GObject((GObject*)val) #define Val_GtkIconTheme_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconThemeClass' */ /*TODO: conversion for record 'GtkIconThemePrivate' */ #define GtkIconView_val(val) check_cast(GTK_ICON_VIEW,val) #define Val_GtkIconView(val) Val_GObject((GObject*)val) #define Val_GtkIconView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconViewClass' */ /*TODO: conversion for record 'GtkIconViewPrivate' */ #define GtkImage_val(val) check_cast(GTK_IMAGE,val) #define Val_GtkImage(val) Val_GObject((GObject*)val) #define Val_GtkImage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageClass' */ #define GtkImageMenuItem_val(val) check_cast(GTK_IMAGE_MENU_ITEM,val) #define Val_GtkImageMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkImageMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageMenuItemClass' */ /*TODO: conversion for record 'GtkImageMenuItemPrivate' */ /*TODO: conversion for record 'GtkImagePrivate' */ #define GtkInfoBar_val(val) check_cast(GTK_INFO_BAR,val) #define Val_GtkInfoBar(val) Val_GObject((GObject*)val) #define Val_GtkInfoBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInfoBarClass' */ /*TODO: conversion for record 'GtkInfoBarPrivate' */ #define GtkInvisible_val(val) check_cast(GTK_INVISIBLE,val) #define Val_GtkInvisible(val) Val_GObject((GObject*)val) #define Val_GtkInvisible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInvisibleClass' */ /*TODO: conversion for record 'GtkInvisiblePrivate' */ #define GtkLabel_val(val) check_cast(GTK_LABEL,val) #define Val_GtkLabel(val) Val_GObject((GObject*)val) #define Val_GtkLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLabelClass' */ /*TODO: conversion for record 'GtkLabelPrivate' */ /*TODO: conversion for record 'GtkLabelSelectionInfo' */ #define GtkLayout_val(val) check_cast(GTK_LAYOUT,val) #define Val_GtkLayout(val) Val_GObject((GObject*)val) #define Val_GtkLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLayoutClass' */ /*TODO: conversion for record 'GtkLayoutPrivate' */ #define GtkLinkButton_val(val) check_cast(GTK_LINK_BUTTON,val) #define Val_GtkLinkButton(val) Val_GObject((GObject*)val) #define Val_GtkLinkButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLinkButtonClass' */ /*TODO: conversion for record 'GtkLinkButtonPrivate' */ #define GtkListStore_val(val) check_cast(GTK_LIST_STORE,val) #define Val_GtkListStore(val) Val_GObject((GObject*)val) #define Val_GtkListStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkListStoreClass' */ /*TODO: conversion for record 'GtkListStorePrivate' */ #define GtkMenu_val(val) check_cast(GTK_MENU,val) #define Val_GtkMenu(val) Val_GObject((GObject*)val) #define Val_GtkMenu_new(val) Val_GObject_new((GObject*)val) #define GtkMenuBar_val(val) check_cast(GTK_MENU_BAR,val) #define Val_GtkMenuBar(val) Val_GObject((GObject*)val) #define Val_GtkMenuBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuBarClass' */ /*TODO: conversion for record 'GtkMenuBarPrivate' */ /*TODO: conversion for record 'GtkMenuClass' */ #define GtkMenuItem_val(val) check_cast(GTK_MENU_ITEM,val) #define Val_GtkMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuItemClass' */ /*TODO: conversion for record 'GtkMenuItemPrivate' */ /*TODO: conversion for record 'GtkMenuPrivate' */ #define GtkMenuShell_val(val) check_cast(GTK_MENU_SHELL,val) #define Val_GtkMenuShell(val) Val_GObject((GObject*)val) #define Val_GtkMenuShell_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuShellClass' */ /*TODO: conversion for record 'GtkMenuShellPrivate' */ #define GtkMenuToolButton_val(val) check_cast(GTK_MENU_TOOL_BUTTON,val) #define Val_GtkMenuToolButton(val) Val_GObject((GObject*)val) #define Val_GtkMenuToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuToolButtonClass' */ /*TODO: conversion for record 'GtkMenuToolButtonPrivate' */ #define GtkMessageDialog_val(val) check_cast(GTK_MESSAGE_DIALOG,val) #define Val_GtkMessageDialog(val) Val_GObject((GObject*)val) #define Val_GtkMessageDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMessageDialogClass' */ /*TODO: conversion for record 'GtkMessageDialogPrivate' */ #define GtkMisc_val(val) check_cast(GTK_MISC,val) #define Val_GtkMisc(val) Val_GObject((GObject*)val) #define Val_GtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMiscClass' */ /*TODO: conversion for record 'GtkMiscPrivate' */ #define GtkMountOperation_val(val) check_cast(GTK_MOUNT_OPERATION,val) #define Val_GtkMountOperation(val) Val_GObject((GObject*)val) #define Val_GtkMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMountOperationClass' */ /*TODO: conversion for record 'GtkMountOperationPrivate' */ #define GtkNotebook_val(val) check_cast(GTK_NOTEBOOK,val) #define Val_GtkNotebook(val) Val_GObject((GObject*)val) #define Val_GtkNotebook_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNotebookClass' */ /*TODO: conversion for record 'GtkNotebookPrivate' */ #define GtkNumerableIcon_val(val) check_cast(GTK_NUMERABLE_ICON,val) #define Val_GtkNumerableIcon(val) Val_GObject((GObject*)val) #define Val_GtkNumerableIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNumerableIconClass' */ /*TODO: conversion for record 'GtkNumerableIconPrivate' */ #define GtkOffscreenWindow_val(val) check_cast(GTK_OFFSCREEN_WINDOW,val) #define Val_GtkOffscreenWindow(val) Val_GObject((GObject*)val) #define Val_GtkOffscreenWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkOffscreenWindowClass' */ /*TODO: conversion for record 'GtkOrientableIface' */ /*TODO: conversion for record 'GtkPageRange' */ #define GtkPageSetup_val(val) check_cast(GTK_PAGE_SETUP,val) #define Val_GtkPageSetup(val) Val_GObject((GObject*)val) #define Val_GtkPageSetup_new(val) Val_GObject_new((GObject*)val) #define GtkPaned_val(val) check_cast(GTK_PANED,val) #define Val_GtkPaned(val) Val_GObject((GObject*)val) #define Val_GtkPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPanedClass' */ /*TODO: conversion for record 'GtkPanedPrivate' */ /*TODO: conversion for record 'GtkPaperSize' */ #define GtkPlug_val(val) check_cast(GTK_PLUG,val) #define Val_GtkPlug(val) Val_GObject((GObject*)val) #define Val_GtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPlugClass' */ /*TODO: conversion for record 'GtkPlugPrivate' */ #define GtkPrintContext_val(val) check_cast(GTK_PRINT_CONTEXT,val) #define Val_GtkPrintContext(val) Val_GObject((GObject*)val) #define Val_GtkPrintContext_new(val) Val_GObject_new((GObject*)val) #define GtkPrintOperation_val(val) check_cast(GTK_PRINT_OPERATION,val) #define Val_GtkPrintOperation(val) Val_GObject((GObject*)val) #define Val_GtkPrintOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPrintOperationClass' */ /*TODO: conversion for record 'GtkPrintOperationPreviewIface' */ /*TODO: conversion for record 'GtkPrintOperationPrivate' */ #define GtkPrintSettings_val(val) check_cast(GTK_PRINT_SETTINGS,val) #define Val_GtkPrintSettings(val) Val_GObject((GObject*)val) #define Val_GtkPrintSettings_new(val) Val_GObject_new((GObject*)val) #define GtkProgressBar_val(val) check_cast(GTK_PROGRESS_BAR,val) #define Val_GtkProgressBar(val) Val_GObject((GObject*)val) #define Val_GtkProgressBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkProgressBarClass' */ /*TODO: conversion for record 'GtkProgressBarPrivate' */ #define GtkRadioAction_val(val) check_cast(GTK_RADIO_ACTION,val) #define Val_GtkRadioAction(val) Val_GObject((GObject*)val) #define Val_GtkRadioAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioActionClass' */ /*TODO: conversion for record 'GtkRadioActionEntry' */ /*TODO: conversion for record 'GtkRadioActionPrivate' */ #define GtkRadioButton_val(val) check_cast(GTK_RADIO_BUTTON,val) #define Val_GtkRadioButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioButtonClass' */ /*TODO: conversion for record 'GtkRadioButtonPrivate' */ #define GtkRadioMenuItem_val(val) check_cast(GTK_RADIO_MENU_ITEM,val) #define Val_GtkRadioMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkRadioMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioMenuItemClass' */ /*TODO: conversion for record 'GtkRadioMenuItemPrivate' */ #define GtkRadioToolButton_val(val) check_cast(GTK_RADIO_TOOL_BUTTON,val) #define Val_GtkRadioToolButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioToolButtonClass' */ #define GtkRange_val(val) check_cast(GTK_RANGE,val) #define Val_GtkRange(val) Val_GObject((GObject*)val) #define Val_GtkRange_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRangeClass' */ /*TODO: conversion for record 'GtkRangePrivate' */ /*TODO: conversion for record 'GtkRcContext' */ /*TODO: conversion for record 'GtkRcProperty' */ #define GtkRcStyle_val(val) check_cast(GTK_RC_STYLE,val) #define Val_GtkRcStyle(val) Val_GObject((GObject*)val) #define Val_GtkRcStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRcStyleClass' */ #define GtkRecentAction_val(val) check_cast(GTK_RECENT_ACTION,val) #define Val_GtkRecentAction(val) Val_GObject((GObject*)val) #define Val_GtkRecentAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentActionClass' */ /*TODO: conversion for record 'GtkRecentActionPrivate' */ #define GtkRecentChooserDialog_val(val) check_cast(GTK_RECENT_CHOOSER_DIALOG,val) #define Val_GtkRecentChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserDialogClass' */ /*TODO: conversion for record 'GtkRecentChooserDialogPrivate' */ /*TODO: conversion for record 'GtkRecentChooserIface' */ #define GtkRecentChooserMenu_val(val) check_cast(GTK_RECENT_CHOOSER_MENU,val) #define Val_GtkRecentChooserMenu(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserMenu_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserMenuClass' */ /*TODO: conversion for record 'GtkRecentChooserMenuPrivate' */ #define GtkRecentChooserWidget_val(val) check_cast(GTK_RECENT_CHOOSER_WIDGET,val) #define Val_GtkRecentChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserWidgetClass' */ /*TODO: conversion for record 'GtkRecentChooserWidgetPrivate' */ /*TODO: conversion for record 'GtkRecentData' */ #define GtkRecentFilter_val(val) check_cast(GTK_RECENT_FILTER,val) #define Val_GtkRecentFilter(val) Val_GObject((GObject*)val) #define Val_GtkRecentFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentFilterInfo' */ /*TODO: conversion for record 'GtkRecentInfo' */ #define GtkRecentManager_val(val) check_cast(GTK_RECENT_MANAGER,val) #define Val_GtkRecentManager(val) Val_GObject((GObject*)val) #define Val_GtkRecentManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentManagerClass' */ /*TODO: conversion for record 'GtkRecentManagerPrivate' */ /*TODO: conversion for record 'GtkRequestedSize' */ /*TODO: conversion for record 'GtkRequisition' */ #define GtkScale_val(val) check_cast(GTK_SCALE,val) #define Val_GtkScale(val) Val_GObject((GObject*)val) #define Val_GtkScale_new(val) Val_GObject_new((GObject*)val) #define GtkScaleButton_val(val) check_cast(GTK_SCALE_BUTTON,val) #define Val_GtkScaleButton(val) Val_GObject((GObject*)val) #define Val_GtkScaleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScaleButtonClass' */ /*TODO: conversion for record 'GtkScaleButtonPrivate' */ /*TODO: conversion for record 'GtkScaleClass' */ /*TODO: conversion for record 'GtkScalePrivate' */ /*TODO: conversion for record 'GtkScrollableInterface' */ #define GtkScrollbar_val(val) check_cast(GTK_SCROLLBAR,val) #define Val_GtkScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrollbarClass' */ #define GtkScrolledWindow_val(val) check_cast(GTK_SCROLLED_WINDOW,val) #define Val_GtkScrolledWindow(val) Val_GObject((GObject*)val) #define Val_GtkScrolledWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrolledWindowClass' */ /*TODO: conversion for record 'GtkScrolledWindowPrivate' */ /*TODO: conversion for record 'GtkSelectionData' */ #define GtkSeparator_val(val) check_cast(GTK_SEPARATOR,val) #define Val_GtkSeparator(val) Val_GObject((GObject*)val) #define Val_GtkSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorClass' */ #define GtkSeparatorMenuItem_val(val) check_cast(GTK_SEPARATOR_MENU_ITEM,val) #define Val_GtkSeparatorMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorMenuItemClass' */ /*TODO: conversion for record 'GtkSeparatorPrivate' */ #define GtkSeparatorToolItem_val(val) check_cast(GTK_SEPARATOR_TOOL_ITEM,val) #define Val_GtkSeparatorToolItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorToolItemClass' */ /*TODO: conversion for record 'GtkSeparatorToolItemPrivate' */ #define GtkSettings_val(val) check_cast(GTK_SETTINGS,val) #define Val_GtkSettings(val) Val_GObject((GObject*)val) #define Val_GtkSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSettingsClass' */ /*TODO: conversion for record 'GtkSettingsPrivate' */ /*TODO: conversion for record 'GtkSettingsValue' */ #define GtkSizeGroup_val(val) check_cast(GTK_SIZE_GROUP,val) #define Val_GtkSizeGroup(val) Val_GObject((GObject*)val) #define Val_GtkSizeGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSizeGroupClass' */ /*TODO: conversion for record 'GtkSizeGroupPrivate' */ #define GtkSocket_val(val) check_cast(GTK_SOCKET,val) #define Val_GtkSocket(val) Val_GObject((GObject*)val) #define Val_GtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSocketClass' */ /*TODO: conversion for record 'GtkSocketPrivate' */ #define GtkSpinButton_val(val) check_cast(GTK_SPIN_BUTTON,val) #define Val_GtkSpinButton(val) Val_GObject((GObject*)val) #define Val_GtkSpinButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinButtonClass' */ /*TODO: conversion for record 'GtkSpinButtonPrivate' */ #define GtkSpinner_val(val) check_cast(GTK_SPINNER,val) #define Val_GtkSpinner(val) Val_GObject((GObject*)val) #define Val_GtkSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinnerClass' */ /*TODO: conversion for record 'GtkSpinnerPrivate' */ #define GtkStatusIcon_val(val) check_cast(GTK_STATUS_ICON,val) #define Val_GtkStatusIcon(val) Val_GObject((GObject*)val) #define Val_GtkStatusIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusIconClass' */ /*TODO: conversion for record 'GtkStatusIconPrivate' */ #define GtkStatusbar_val(val) check_cast(GTK_STATUSBAR,val) #define Val_GtkStatusbar(val) Val_GObject((GObject*)val) #define Val_GtkStatusbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusbarClass' */ /*TODO: conversion for record 'GtkStatusbarPrivate' */ /*TODO: conversion for record 'GtkStockItem' */ #define GtkStyle_val(val) check_cast(GTK_STYLE,val) #define Val_GtkStyle(val) Val_GObject((GObject*)val) #define Val_GtkStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleClass' */ #define GtkStyleContext_val(val) check_cast(GTK_STYLE_CONTEXT,val) #define Val_GtkStyleContext(val) Val_GObject((GObject*)val) #define Val_GtkStyleContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleContextClass' */ #define GtkStyleProperties_val(val) check_cast(GTK_STYLE_PROPERTIES,val) #define Val_GtkStyleProperties(val) Val_GObject((GObject*)val) #define Val_GtkStyleProperties_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStylePropertiesClass' */ /*TODO: conversion for record 'GtkStyleProviderIface' */ #define GtkSwitch_val(val) check_cast(GTK_SWITCH,val) #define Val_GtkSwitch(val) Val_GObject((GObject*)val) #define Val_GtkSwitch_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSwitchClass' */ /*TODO: conversion for record 'GtkSwitchPrivate' */ /*TODO: conversion for record 'GtkSymbolicColor' */ #define GtkTable_val(val) check_cast(GTK_TABLE,val) #define Val_GtkTable(val) Val_GObject((GObject*)val) #define Val_GtkTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTableChild' */ /*TODO: conversion for record 'GtkTableClass' */ /*TODO: conversion for record 'GtkTablePrivate' */ /*TODO: conversion for record 'GtkTableRowCol' */ /*TODO: conversion for record 'GtkTargetEntry' */ /*TODO: conversion for record 'GtkTargetList' */ #define GtkTearoffMenuItem_val(val) check_cast(GTK_TEAROFF_MENU_ITEM,val) #define Val_GtkTearoffMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkTearoffMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTearoffMenuItemClass' */ /*TODO: conversion for record 'GtkTearoffMenuItemPrivate' */ /*TODO: conversion for record 'GtkTextAppearance' */ /*TODO: conversion for record 'GtkTextAttributes' */ /*TODO: conversion for record 'GtkTextBTree' */ #define GtkTextBuffer_val(val) check_cast(GTK_TEXT_BUFFER,val) #define Val_GtkTextBuffer(val) Val_GObject((GObject*)val) #define Val_GtkTextBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextBufferClass' */ /*TODO: conversion for record 'GtkTextBufferPrivate' */ #define GtkTextChildAnchor_val(val) check_cast(GTK_TEXT_CHILD_ANCHOR,val) #define Val_GtkTextChildAnchor(val) Val_GObject((GObject*)val) #define Val_GtkTextChildAnchor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextChildAnchorClass' */ /*TODO: conversion for record 'GtkTextIter' */ #define GtkTextMark_val(val) check_cast(GTK_TEXT_MARK,val) #define Val_GtkTextMark(val) Val_GObject((GObject*)val) #define Val_GtkTextMark_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextMarkClass' */ #define GtkTextTag_val(val) check_cast(GTK_TEXT_TAG,val) #define Val_GtkTextTag(val) Val_GObject((GObject*)val) #define Val_GtkTextTag_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagClass' */ /*TODO: conversion for record 'GtkTextTagPrivate' */ #define GtkTextTagTable_val(val) check_cast(GTK_TEXT_TAG_TABLE,val) #define Val_GtkTextTagTable(val) Val_GObject((GObject*)val) #define Val_GtkTextTagTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagTableClass' */ /*TODO: conversion for record 'GtkTextTagTablePrivate' */ #define GtkTextView_val(val) check_cast(GTK_TEXT_VIEW,val) #define Val_GtkTextView(val) Val_GObject((GObject*)val) #define Val_GtkTextView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextViewClass' */ /*TODO: conversion for record 'GtkTextViewPrivate' */ /*TODO: conversion for record 'GtkThemeEngine' */ #define GtkThemingEngine_val(val) check_cast(GTK_THEMING_ENGINE,val) #define Val_GtkThemingEngine(val) Val_GObject((GObject*)val) #define Val_GtkThemingEngine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkThemingEngineClass' */ #define GtkToggleAction_val(val) check_cast(GTK_TOGGLE_ACTION,val) #define Val_GtkToggleAction(val) Val_GObject((GObject*)val) #define Val_GtkToggleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleActionClass' */ /*TODO: conversion for record 'GtkToggleActionEntry' */ /*TODO: conversion for record 'GtkToggleActionPrivate' */ #define GtkToggleButton_val(val) check_cast(GTK_TOGGLE_BUTTON,val) #define Val_GtkToggleButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleButtonClass' */ /*TODO: conversion for record 'GtkToggleButtonPrivate' */ #define GtkToggleToolButton_val(val) check_cast(GTK_TOGGLE_TOOL_BUTTON,val) #define Val_GtkToggleToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleToolButtonClass' */ /*TODO: conversion for record 'GtkToggleToolButtonPrivate' */ #define GtkToolButton_val(val) check_cast(GTK_TOOL_BUTTON,val) #define Val_GtkToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolButtonClass' */ /*TODO: conversion for record 'GtkToolButtonPrivate' */ #define GtkToolItem_val(val) check_cast(GTK_TOOL_ITEM,val) #define Val_GtkToolItem(val) Val_GObject((GObject*)val) #define Val_GtkToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemClass' */ #define GtkToolItemGroup_val(val) check_cast(GTK_TOOL_ITEM_GROUP,val) #define Val_GtkToolItemGroup(val) Val_GObject((GObject*)val) #define Val_GtkToolItemGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemGroupClass' */ /*TODO: conversion for record 'GtkToolItemGroupPrivate' */ /*TODO: conversion for record 'GtkToolItemPrivate' */ #define GtkToolPalette_val(val) check_cast(GTK_TOOL_PALETTE,val) #define Val_GtkToolPalette(val) Val_GObject((GObject*)val) #define Val_GtkToolPalette_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolPaletteClass' */ /*TODO: conversion for record 'GtkToolPalettePrivate' */ /*TODO: conversion for record 'GtkToolShellIface' */ #define GtkToolbar_val(val) check_cast(GTK_TOOLBAR,val) #define Val_GtkToolbar(val) Val_GObject((GObject*)val) #define Val_GtkToolbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolbarClass' */ /*TODO: conversion for record 'GtkToolbarPrivate' */ #define GtkTooltip_val(val) check_cast(GTK_TOOLTIP,val) #define Val_GtkTooltip(val) Val_GObject((GObject*)val) #define Val_GtkTooltip_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeDragDestIface' */ /*TODO: conversion for record 'GtkTreeDragSourceIface' */ /*TODO: conversion for record 'GtkTreeIter' */ #define GtkTreeModelFilter_val(val) check_cast(GTK_TREE_MODEL_FILTER,val) #define Val_GtkTreeModelFilter(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelFilterClass' */ /*TODO: conversion for record 'GtkTreeModelFilterPrivate' */ /*TODO: conversion for record 'GtkTreeModelIface' */ #define GtkTreeModelSort_val(val) check_cast(GTK_TREE_MODEL_SORT,val) #define Val_GtkTreeModelSort(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelSort_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelSortClass' */ /*TODO: conversion for record 'GtkTreeModelSortPrivate' */ /*TODO: conversion for record 'GtkTreePath' */ /*TODO: conversion for record 'GtkTreeRowReference' */ #define GtkTreeSelection_val(val) check_cast(GTK_TREE_SELECTION,val) #define Val_GtkTreeSelection(val) Val_GObject((GObject*)val) #define Val_GtkTreeSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeSelectionClass' */ /*TODO: conversion for record 'GtkTreeSelectionPrivate' */ /*TODO: conversion for record 'GtkTreeSortableIface' */ #define GtkTreeStore_val(val) check_cast(GTK_TREE_STORE,val) #define Val_GtkTreeStore(val) Val_GObject((GObject*)val) #define Val_GtkTreeStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeStoreClass' */ /*TODO: conversion for record 'GtkTreeStorePrivate' */ #define GtkTreeView_val(val) check_cast(GTK_TREE_VIEW,val) #define Val_GtkTreeView(val) Val_GObject((GObject*)val) #define Val_GtkTreeView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewClass' */ #define GtkTreeViewColumn_val(val) check_cast(GTK_TREE_VIEW_COLUMN,val) #define Val_GtkTreeViewColumn(val) Val_GObject((GObject*)val) #define Val_GtkTreeViewColumn_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewColumnClass' */ /*TODO: conversion for record 'GtkTreeViewColumnPrivate' */ /*TODO: conversion for record 'GtkTreeViewPrivate' */ #define GtkUIManager_val(val) check_cast(GTK_UI_MANAGER,val) #define Val_GtkUIManager(val) Val_GObject((GObject*)val) #define Val_GtkUIManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkUIManagerClass' */ /*TODO: conversion for record 'GtkUIManagerPrivate' */ #define GtkVBox_val(val) check_cast(GTK_V_BOX,val) #define Val_GtkVBox(val) Val_GObject((GObject*)val) #define Val_GtkVBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVBoxClass' */ #define GtkVButtonBox_val(val) check_cast(GTK_V_BUTTON_BOX,val) #define Val_GtkVButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkVButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVButtonBoxClass' */ #define GtkVPaned_val(val) check_cast(GTK_V_PANED,val) #define Val_GtkVPaned(val) Val_GObject((GObject*)val) #define Val_GtkVPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVPanedClass' */ #define GtkVScale_val(val) check_cast(GTK_V_SCALE,val) #define Val_GtkVScale(val) Val_GObject((GObject*)val) #define Val_GtkVScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScaleClass' */ #define GtkVScrollbar_val(val) check_cast(GTK_V_SCROLLBAR,val) #define Val_GtkVScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkVScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScrollbarClass' */ #define GtkVSeparator_val(val) check_cast(GTK_V_SEPARATOR,val) #define Val_GtkVSeparator(val) Val_GObject((GObject*)val) #define Val_GtkVSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVSeparatorClass' */ #define GtkViewport_val(val) check_cast(GTK_VIEWPORT,val) #define Val_GtkViewport(val) Val_GObject((GObject*)val) #define Val_GtkViewport_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkViewportClass' */ /*TODO: conversion for record 'GtkViewportPrivate' */ #define GtkVolumeButton_val(val) check_cast(GTK_VOLUME_BUTTON,val) #define Val_GtkVolumeButton(val) Val_GObject((GObject*)val) #define Val_GtkVolumeButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVolumeButtonClass' */ #define GtkWidget_val(val) check_cast(GTK_WIDGET,val) #define Val_GtkWidget(val) Val_GObject((GObject*)val) #define Val_GtkWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWidgetAuxInfo' */ /*TODO: conversion for record 'GtkWidgetClass' */ /*TODO: conversion for record 'GtkWidgetPath' */ /*TODO: conversion for record 'GtkWidgetPrivate' */ #define GtkWindow_val(val) check_cast(GTK_WINDOW,val) #define Val_GtkWindow(val) Val_GObject((GObject*)val) #define Val_GtkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowClass' */ /*TODO: conversion for record 'GtkWindowGeometryInfo' */ #define GtkWindowGroup_val(val) check_cast(GTK_WINDOW_GROUP,val) #define Val_GtkWindowGroup(val) Val_GObject((GObject*)val) #define Val_GtkWindowGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowGroupClass' */ /*TODO: conversion for record 'GtkWindowGroupPrivate' */ /*TODO: conversion for record 'GtkWindowPrivate' */ #include #include "../wrappers.h" #include "../ml_gobject.h" /* Module VariantType */ ML_1(g_variant_type_value,GVariantType_val, Val_GVariantType) ML_1(g_variant_type_peek_string,GVariantType_val, Val_string) ML_1(g_variant_type_next,GVariantType_val, Val_GVariantType) ML_1(g_variant_type_new_maybe,GVariantType_val, Val_GVariantType) ML_2(g_variant_type_new_dict_entry,GVariantType_val, GVariantType_val, Val_GVariantType) ML_1(g_variant_type_new_array,GVariantType_val, Val_GVariantType) ML_1(g_variant_type_n_items,GVariantType_val, Val_int) ML_1(g_variant_type_key,GVariantType_val, Val_GVariantType) ML_1(g_variant_type_is_variant,GVariantType_val, Val_bool) ML_1(g_variant_type_is_tuple,GVariantType_val, Val_bool) ML_2(g_variant_type_is_subtype_of,GVariantType_val, GVariantType_val, Val_bool) ML_1(g_variant_type_is_maybe,GVariantType_val, Val_bool) ML_1(g_variant_type_is_dict_entry,GVariantType_val, Val_bool) ML_1(g_variant_type_is_definite,GVariantType_val, Val_bool) ML_1(g_variant_type_is_container,GVariantType_val, Val_bool) ML_1(g_variant_type_is_basic,GVariantType_val, Val_bool) ML_1(g_variant_type_is_array,GVariantType_val, Val_bool) ML_1(g_variant_type_get_string_length,GVariantType_val, Val_int) ML_1(g_variant_type_free,GVariantType_val, Unit) ML_1(g_variant_type_first,GVariantType_val, Val_GVariantType) ML_1(g_variant_type_element,GVariantType_val, Val_GVariantType) ML_1(g_variant_type_dup_string,GVariantType_val, Val_string_new) ML_1(g_variant_type_copy,GVariantType_val, Val_GVariantType) /* end of VariantType */ /* Module VariantIter */ ML_1(g_variant_iter_next_value,GVariantIter_val, Val_GVariant_new) ML_1(g_variant_iter_n_children,GVariantIter_val, Val_int) ML_2(g_variant_iter_init,GVariantIter_val, GVariant_val, Val_int) ML_1(g_variant_iter_free,GVariantIter_val, Unit) ML_1(g_variant_iter_copy,GVariantIter_val, Val_GVariantIter) /* end of VariantIter */ /* Module VariantBuilder */ ML_1(g_variant_builder_unref,GVariantBuilder_val, Unit) ML_1(g_variant_builder_ref,GVariantBuilder_val, Val_GVariantBuilder) ML_2(g_variant_builder_open,GVariantBuilder_val, GVariantType_val, Unit) ML_2(g_variant_builder_init,GVariantBuilder_val, GVariantType_val, Unit) ML_1(g_variant_builder_end,GVariantBuilder_val, Val_GVariant) ML_1(g_variant_builder_close,GVariantBuilder_val, Unit) ML_1(g_variant_builder_clear,GVariantBuilder_val, Unit) ML_2(g_variant_builder_add_value,GVariantBuilder_val, GVariant_val, Unit) /* end of VariantBuilder */ /* Module Variant */ ML_1(g_variant_unref,GVariant_val, Unit) ML_1(g_variant_ref_sink,GVariant_val, Val_GVariant_new) ML_1(g_variant_ref,GVariant_val, Val_GVariant_new) ML_3(g_variant_print_string,GVariant_val, GString_val, Bool_val, Val_GString) ML_2(g_variant_print,GVariant_val, Bool_val, Val_string_new) ML_1(g_variant_new_variant,GVariant_val, Val_GVariant_new) ML_2(g_variant_new_dict_entry,GVariant_val, GVariant_val, Val_GVariant_new) ML_1(g_variant_n_children,GVariant_val, Val_int) ML_3(g_variant_lookup_value,GVariant_val, String_val, GVariantType_val, Val_GVariant_new) ML_1(g_variant_iter_new,GVariant_val, Val_GVariantIter) ML_2(g_variant_is_of_type,GVariant_val, GVariantType_val, Val_bool) ML_1(g_variant_is_normal_form,GVariant_val, Val_bool) ML_1(g_variant_is_floating,GVariant_val, Val_bool) ML_1(g_variant_is_container,GVariant_val, Val_bool) ML_1(g_variant_get_variant,GVariant_val, Val_GVariant_new) ML_1(g_variant_get_uint64,GVariant_val, Val_int64) ML_1(g_variant_get_uint32,GVariant_val, Val_int32) ML_1(g_variant_get_uint16,GVariant_val, Val_int) ML_1(g_variant_get_type_string,GVariant_val, Val_string) ML_1(g_variant_get_size,GVariant_val, Val_int) ML_1(g_variant_get_normal_form,GVariant_val, Val_GVariant_new) ML_1(g_variant_get_maybe,GVariant_val, Val_GVariant_new) ML_1(g_variant_get_int64,GVariant_val, Val_int64) ML_1(g_variant_get_int32,GVariant_val, Val_int32) ML_1(g_variant_get_int16,GVariant_val, Val_int) ML_1(g_variant_get_handle,GVariant_val, Val_int32) ML_1(g_variant_get_double,GVariant_val, Val_double) ML_2(g_variant_get_child_value,GVariant_val, Int_val, Val_GVariant_new) ML_1(g_variant_get_bytestring,GVariant_val, Val_string) ML_1(g_variant_get_byte,GVariant_val, Val_int) ML_1(g_variant_get_boolean,GVariant_val, Val_bool) ML_1(g_variant_byteswap,GVariant_val, Val_GVariant_new) /* end of Variant */ /* Module Tuples */ ML_1(g_tuples_destroy,GTuples_val, Unit) /* end of Tuples */ /* Module Tree */ ML_1(g_tree_unref,GTree_val, Unit) ML_1(g_tree_ref,GTree_val, Val_GTree) ML_1(g_tree_nnodes,GTree_val, Val_int) ML_1(g_tree_height,GTree_val, Val_int) ML_1(g_tree_destroy,GTree_val, Unit) /* end of Tree */ /* Module TrashStack */ /* end of TrashStack */ /* Module Timer */ ML_1(g_timer_stop,GTimer_val, Unit) ML_1(g_timer_start,GTimer_val, Unit) ML_1(g_timer_reset,GTimer_val, Unit) ML_1(g_timer_destroy,GTimer_val, Unit) ML_1(g_timer_continue,GTimer_val, Unit) /* end of Timer */ /* Module TimeZone */ ML_1(g_time_zone_unref,GTimeZone_val, Unit) ML_1(g_time_zone_ref,GTimeZone_val, Val_GTimeZone) ML_2(g_time_zone_is_dst,GTimeZone_val, Int_val, Val_bool) ML_2(g_time_zone_get_offset,GTimeZone_val, Int_val, Val_int32) ML_2(g_time_zone_get_abbreviation,GTimeZone_val, Int_val, Val_string) /* end of TimeZone */ /* Module TimeVal */ ML_1(g_time_val_to_iso8601,GTimeVal_val, Val_string_new) ML_2(g_time_val_add,GTimeVal_val, Double_val, Unit) /* end of TimeVal */ /* Module ThreadPool */ ML_1(g_thread_pool_unprocessed,GThreadPool_val, Val_int) ML_1(g_thread_pool_get_num_threads,GThreadPool_val, Val_int) ML_1(g_thread_pool_get_max_threads,GThreadPool_val, Val_int) ML_3(g_thread_pool_free,GThreadPool_val, Bool_val, Bool_val, Unit) /* end of ThreadPool */ /* Module ThreadFunctions */ /* end of ThreadFunctions */ /* Module Thread */ /* end of Thread */ /* Module TestSuite */ ML_2(g_test_suite_add_suite,GTestSuite_val, GTestSuite_val, Unit) ML_2(g_test_suite_add,GTestSuite_val, GTestCase_val, Unit) /* end of TestSuite */ /* Module TestLogMsg */ ML_1(g_test_log_msg_free,GTestLogMsg_val, Unit) /* end of TestLogMsg */ /* Module TestLogBuffer */ ML_1(g_test_log_buffer_pop,GTestLogBuffer_val, Val_GTestLogMsg) ML_1(g_test_log_buffer_free,GTestLogBuffer_val, Unit) /* end of TestLogBuffer */ /* Module TestConfig */ /* end of TestConfig */ /* Module TestCase */ /* end of TestCase */ /* Module StringChunk */ ML_3(g_string_chunk_insert_len,GStringChunk_val, String_val, Int_val, Val_string_new) ML_2(g_string_chunk_insert_const,GStringChunk_val, String_val, Val_string_new) ML_2(g_string_chunk_insert,GStringChunk_val, String_val, Val_string_new) ML_1(g_string_chunk_free,GStringChunk_val, Unit) ML_1(g_string_chunk_clear,GStringChunk_val, Unit) /* end of StringChunk */ /* Module String */ ML_1(g_string_up,GString_val, Val_GString) ML_2(g_string_truncate,GString_val, Int_val, Val_GString) ML_2(g_string_set_size,GString_val, Int_val, Val_GString) ML_2(g_string_prepend_unichar,GString_val, Int32_val, Val_GString) ML_3(g_string_prepend_len,GString_val, String_val, Int_val, Val_GString) ML_2(g_string_prepend_c,GString_val, Int_val, Val_GString) ML_2(g_string_prepend,GString_val, String_val, Val_GString) ML_4(g_string_overwrite_len,GString_val, Int_val, String_val, Int_val, Val_GString) ML_3(g_string_overwrite,GString_val, Int_val, String_val, Val_GString) ML_3(g_string_insert_unichar,GString_val, Int_val, Int32_val, Val_GString) ML_4(g_string_insert_len,GString_val, Int_val, String_val, Int_val, Val_GString) ML_3(g_string_insert_c,GString_val, Int_val, Int_val, Val_GString) ML_3(g_string_insert,GString_val, Int_val, String_val, Val_GString) ML_1(g_string_hash,GString_val, Val_int) ML_2(g_string_free,GString_val, Bool_val, Val_string_new) ML_3(g_string_erase,GString_val, Int_val, Int_val, Val_GString) ML_2(g_string_equal,GString_val, GString_val, Val_bool) ML_1(g_string_down,GString_val, Val_GString) ML_2(g_string_assign,GString_val, String_val, Val_GString) ML_1(g_string_ascii_up,GString_val, Val_GString) ML_1(g_string_ascii_down,GString_val, Val_GString) ML_4(g_string_append_uri_escaped,GString_val, String_val, String_val, Bool_val, Val_GString) ML_2(g_string_append_unichar,GString_val, Int32_val, Val_GString) ML_3(g_string_append_len,GString_val, String_val, Int_val, Val_GString) ML_2(g_string_append_c,GString_val, Int_val, Val_GString) ML_2(g_string_append,GString_val, String_val, Val_GString) /* end of String */ /* Module StaticRecMutex */ ML_1(g_static_rec_mutex_unlock_full,GStaticRecMutex_val, Val_int) ML_1(g_static_rec_mutex_unlock,GStaticRecMutex_val, Unit) ML_1(g_static_rec_mutex_trylock,GStaticRecMutex_val, Val_bool) ML_2(g_static_rec_mutex_lock_full,GStaticRecMutex_val, Int_val, Unit) ML_1(g_static_rec_mutex_lock,GStaticRecMutex_val, Unit) ML_1(g_static_rec_mutex_init,GStaticRecMutex_val, Unit) ML_1(g_static_rec_mutex_free,GStaticRecMutex_val, Unit) /* end of StaticRecMutex */ /* Module StaticRWLock */ ML_1(g_static_rw_lock_writer_unlock,GStaticRWLock_val, Unit) ML_1(g_static_rw_lock_writer_trylock,GStaticRWLock_val, Val_bool) ML_1(g_static_rw_lock_writer_lock,GStaticRWLock_val, Unit) ML_1(g_static_rw_lock_reader_unlock,GStaticRWLock_val, Unit) ML_1(g_static_rw_lock_reader_trylock,GStaticRWLock_val, Val_bool) ML_1(g_static_rw_lock_reader_lock,GStaticRWLock_val, Unit) ML_1(g_static_rw_lock_init,GStaticRWLock_val, Unit) ML_1(g_static_rw_lock_free,GStaticRWLock_val, Unit) /* end of StaticRWLock */ /* Module StaticPrivate */ ML_1(g_static_private_init,GStaticPrivate_val, Unit) ML_1(g_static_private_free,GStaticPrivate_val, Unit) /* end of StaticPrivate */ /* Module StaticMutex */ ML_1(g_static_mutex_init,GStaticMutex_val, Unit) ML_1(g_static_mutex_free,GStaticMutex_val, Unit) /* end of StaticMutex */ /* Module StatBuf */ /* end of StatBuf */ /* Module SourcePrivate */ /* end of SourcePrivate */ /* Module SourceFuncs */ /* end of SourceFuncs */ /* Module SourceCallbackFuncs */ /* end of SourceCallbackFuncs */ /* Module Source */ ML_1(g_source_unref,GSource_val, Unit) ML_2(g_source_set_priority,GSource_val, Int_val, Unit) ML_2(g_source_set_name,GSource_val, String_val, Unit) ML_2(g_source_set_funcs,GSource_val, GSourceFuncs_val, Unit) ML_2(g_source_set_can_recurse,GSource_val, Bool_val, Unit) ML_2(g_source_remove_poll,GSource_val, GPollFD_val, Unit) ML_2(g_source_remove_child_source,GSource_val, GSource_val, Unit) ML_1(g_source_ref,GSource_val, Val_GSource) ML_1(g_source_is_destroyed,GSource_val, Val_bool) ML_1(g_source_get_time,GSource_val, Val_int64) ML_1(g_source_get_priority,GSource_val, Val_int) ML_1(g_source_get_name,GSource_val, Val_string) ML_1(g_source_get_id,GSource_val, Val_int) ML_2(g_source_get_current_time,GSource_val, GTimeVal_val, Unit) ML_1(g_source_get_context,GSource_val, Val_GMainContext) ML_1(g_source_get_can_recurse,GSource_val, Val_bool) ML_1(g_source_destroy,GSource_val, Unit) ML_2(g_source_attach,GSource_val, GMainContext_val, Val_int) ML_2(g_source_add_poll,GSource_val, GPollFD_val, Unit) ML_2(g_source_add_child_source,GSource_val, GSource_val, Unit) /* end of Source */ /* Module SequenceIter */ ML_1(g_sequence_iter_prev,GSequenceIter_val, Val_GSequenceIter) ML_1(g_sequence_iter_next,GSequenceIter_val, Val_GSequenceIter) ML_2(g_sequence_iter_move,GSequenceIter_val, Int_val, Val_GSequenceIter) ML_1(g_sequence_iter_is_end,GSequenceIter_val, Val_bool) ML_1(g_sequence_iter_is_begin,GSequenceIter_val, Val_bool) ML_1(g_sequence_iter_get_sequence,GSequenceIter_val, Val_GSequence) ML_1(g_sequence_iter_get_position,GSequenceIter_val, Val_int) ML_2(g_sequence_iter_compare,GSequenceIter_val, GSequenceIter_val, Val_int) /* end of SequenceIter */ /* Module Sequence */ ML_1(g_sequence_get_length,GSequence_val, Val_int) ML_2(g_sequence_get_iter_at_pos,GSequence_val, Int_val, Val_GSequenceIter) ML_1(g_sequence_get_end_iter,GSequence_val, Val_GSequenceIter) ML_1(g_sequence_get_begin_iter,GSequence_val, Val_GSequenceIter) ML_1(g_sequence_free,GSequence_val, Unit) /* end of Sequence */ /* Module ScannerConfig */ /* end of ScannerConfig */ /* Module Scanner */ ML_1(g_scanner_sync_file_offset,GScanner_val, Unit) ML_2(g_scanner_set_scope,GScanner_val, Int_val, Val_int) ML_3(g_scanner_scope_remove_symbol,GScanner_val, Int_val, String_val, Unit) ML_3(g_scanner_input_text,GScanner_val, String_val, Int_val, Unit) ML_2(g_scanner_input_file,GScanner_val, Int_val, Unit) ML_1(g_scanner_eof,GScanner_val, Val_bool) ML_1(g_scanner_destroy,GScanner_val, Unit) ML_1(g_scanner_cur_position,GScanner_val, Val_int) ML_1(g_scanner_cur_line,GScanner_val, Val_int) /* end of Scanner */ /* Module SList */ /* end of SList */ /* Module Relation */ ML_1(g_relation_print,GRelation_val, Unit) ML_1(g_relation_destroy,GRelation_val, Unit) /* end of Relation */ /* Module Regex */ ML_1(g_regex_unref,GRegex_val, Unit) ML_1(g_regex_ref,GRegex_val, Val_GRegex) ML_2(g_regex_get_string_number,GRegex_val, String_val, Val_int) ML_1(g_regex_get_pattern,GRegex_val, Val_string) ML_1(g_regex_get_max_backref,GRegex_val, Val_int) ML_1(g_regex_get_capture_count,GRegex_val, Val_int) /* end of Regex */ /* Module Rand */ ML_2(g_rand_set_seed,GRand_val, Int32_val, Unit) ML_3(g_rand_int_range,GRand_val, Int32_val, Int32_val, Val_int32) ML_1(g_rand_int,GRand_val, Val_int32) ML_1(g_rand_free,GRand_val, Unit) ML_3(g_rand_double_range,GRand_val, Double_val, Double_val, Val_double) ML_1(g_rand_double,GRand_val, Val_double) ML_1(g_rand_copy,GRand_val, Val_GRand) /* end of Rand */ /* Module Queue */ ML_2(g_queue_unlink,GQueue_val, GList_val, Unit) ML_1(g_queue_reverse,GQueue_val, Unit) ML_2(g_queue_push_tail_link,GQueue_val, GList_val, Unit) ML_3(g_queue_push_nth_link,GQueue_val, Int_val, GList_val, Unit) ML_2(g_queue_push_head_link,GQueue_val, GList_val, Unit) ML_1(g_queue_pop_tail_link,GQueue_val, Val_GList) ML_2(g_queue_pop_nth_link,GQueue_val, Int_val, Val_GList) ML_1(g_queue_pop_head_link,GQueue_val, Val_GList) ML_1(g_queue_peek_tail_link,GQueue_val, Val_GList) ML_2(g_queue_peek_nth_link,GQueue_val, Int_val, Val_GList) ML_1(g_queue_peek_head_link,GQueue_val, Val_GList) ML_2(g_queue_link_index,GQueue_val, GList_val, Val_int) ML_1(g_queue_is_empty,GQueue_val, Val_bool) ML_1(g_queue_init,GQueue_val, Unit) ML_1(g_queue_get_length,GQueue_val, Val_int) ML_1(g_queue_free,GQueue_val, Unit) ML_2(g_queue_delete_link,GQueue_val, GList_val, Unit) ML_1(g_queue_copy,GQueue_val, Val_GQueue) ML_1(g_queue_clear,GQueue_val, Unit) /* end of Queue */ /* Module PtrArray */ /* end of PtrArray */ /* Module Private */ /* end of Private */ /* Module PollFD */ /* end of PollFD */ /* Module PatternSpec */ ML_1(g_pattern_spec_free,GPatternSpec_val, Unit) ML_2(g_pattern_spec_equal,GPatternSpec_val, GPatternSpec_val, Val_bool) /* end of PatternSpec */ /* Module OptionGroup */ ML_2(g_option_group_set_translation_domain,GOptionGroup_val, String_val, Unit) ML_1(g_option_group_free,GOptionGroup_val, Unit) ML_2(g_option_group_add_entries,GOptionGroup_val, GOptionEntry_val, Unit) /* end of OptionGroup */ /* Module OptionEntry */ /* end of OptionEntry */ /* Module OptionContext */ ML_2(g_option_context_set_translation_domain,GOptionContext_val, String_val, Unit) ML_2(g_option_context_set_summary,GOptionContext_val, String_val, Unit) ML_2(g_option_context_set_main_group,GOptionContext_val, GOptionGroup_val, Unit) ML_2(g_option_context_set_ignore_unknown_options,GOptionContext_val, Bool_val, Unit) ML_2(g_option_context_set_help_enabled,GOptionContext_val, Bool_val, Unit) ML_2(g_option_context_set_description,GOptionContext_val, String_val, Unit) ML_1(g_option_context_get_summary,GOptionContext_val, Val_string) ML_1(g_option_context_get_main_group,GOptionContext_val, Val_GOptionGroup) ML_1(g_option_context_get_ignore_unknown_options,GOptionContext_val, Val_bool) ML_1(g_option_context_get_help_enabled,GOptionContext_val, Val_bool) ML_3(g_option_context_get_help,GOptionContext_val, Bool_val, GOptionGroup_val, Val_string_new) ML_1(g_option_context_get_description,GOptionContext_val, Val_string) ML_1(g_option_context_free,GOptionContext_val, Unit) ML_3(g_option_context_add_main_entries,GOptionContext_val, GOptionEntry_val, String_val, Unit) ML_2(g_option_context_add_group,GOptionContext_val, GOptionGroup_val, Unit) /* end of OptionContext */ /* Module Once */ /* end of Once */ /* Module Node */ ML_1(g_node_unlink,GNode_val, Unit) ML_1(g_node_reverse_children,GNode_val, Unit) ML_2(g_node_prepend,GNode_val, GNode_val, Val_GNode) ML_2(g_node_nth_child,GNode_val, Int_val, Val_GNode) ML_1(g_node_n_children,GNode_val, Val_int) ML_1(g_node_max_height,GNode_val, Val_int) ML_1(g_node_last_sibling,GNode_val, Val_GNode) ML_1(g_node_last_child,GNode_val, Val_GNode) ML_2(g_node_is_ancestor,GNode_val, GNode_val, Val_bool) ML_3(g_node_insert_before,GNode_val, GNode_val, GNode_val, Val_GNode) ML_3(g_node_insert_after,GNode_val, GNode_val, GNode_val, Val_GNode) ML_3(g_node_insert,GNode_val, Int_val, GNode_val, Val_GNode) ML_1(g_node_get_root,GNode_val, Val_GNode) ML_1(g_node_first_sibling,GNode_val, Val_GNode) ML_1(g_node_destroy,GNode_val, Unit) ML_1(g_node_depth,GNode_val, Val_int) ML_1(g_node_copy,GNode_val, Val_GNode) ML_2(g_node_child_position,GNode_val, GNode_val, Val_int) /* end of Node */ /* Module Mutex */ /* end of Mutex */ /* Module MemVTable */ /* end of MemVTable */ /* Module MemChunk */ ML_1(g_mem_chunk_reset,GMemChunk_val, Unit) ML_1(g_mem_chunk_print,GMemChunk_val, Unit) ML_1(g_mem_chunk_destroy,GMemChunk_val, Unit) ML_1(g_mem_chunk_clean,GMemChunk_val, Unit) /* end of MemChunk */ /* Module MatchInfo */ ML_1(g_match_info_matches,GMatchInfo_val, Val_bool) ML_1(g_match_info_is_partial_match,GMatchInfo_val, Val_bool) ML_1(g_match_info_get_string,GMatchInfo_val, Val_string) ML_1(g_match_info_get_regex,GMatchInfo_val, Val_GRegex) ML_1(g_match_info_get_match_count,GMatchInfo_val, Val_int) ML_1(g_match_info_free,GMatchInfo_val, Unit) ML_2(g_match_info_fetch_named,GMatchInfo_val, String_val, Val_string_new) ML_2(g_match_info_fetch,GMatchInfo_val, Int_val, Val_string_new) /* end of MatchInfo */ /* Module MarkupParser */ /* end of MarkupParser */ /* Module MarkupParseContext */ ML_1(g_markup_parse_context_get_element_stack,GMarkupParseContext_val, Val_GSList) ML_1(g_markup_parse_context_get_element,GMarkupParseContext_val, Val_string) ML_1(g_markup_parse_context_free,GMarkupParseContext_val, Unit) /* end of MarkupParseContext */ /* Module MappedFile */ ML_1(g_mapped_file_unref,GMappedFile_val, Unit) ML_1(g_mapped_file_ref,GMappedFile_val, Val_GMappedFile) ML_1(g_mapped_file_get_length,GMappedFile_val, Val_int) ML_1(g_mapped_file_get_contents,GMappedFile_val, Val_string_new) ML_1(g_mapped_file_free,GMappedFile_val, Unit) /* end of MappedFile */ /* Module MainLoop */ ML_1(g_main_loop_unref,GMainLoop_val, Unit) ML_1(g_main_loop_run,GMainLoop_val, Unit) ML_1(g_main_loop_ref,GMainLoop_val, Val_GMainLoop) ML_1(g_main_loop_quit,GMainLoop_val, Unit) ML_1(g_main_loop_is_running,GMainLoop_val, Val_bool) ML_1(g_main_loop_get_context,GMainLoop_val, Val_GMainContext) /* end of MainLoop */ /* Module MainContext */ ML_1(g_main_context_wakeup,GMainContext_val, Unit) ML_3(g_main_context_wait,GMainContext_val, GCond_val, GMutex_val, Val_bool) ML_1(g_main_context_unref,GMainContext_val, Unit) ML_2(g_main_context_remove_poll,GMainContext_val, GPollFD_val, Unit) ML_1(g_main_context_release,GMainContext_val, Unit) ML_1(g_main_context_ref,GMainContext_val, Val_GMainContext) ML_1(g_main_context_push_thread_default,GMainContext_val, Unit) ML_1(g_main_context_pop_thread_default,GMainContext_val, Unit) ML_1(g_main_context_pending,GMainContext_val, Val_bool) ML_2(g_main_context_iteration,GMainContext_val, Bool_val, Val_bool) ML_1(g_main_context_is_owner,GMainContext_val, Val_bool) ML_2(g_main_context_find_source_by_id,GMainContext_val, Int_val, Val_GSource) ML_1(g_main_context_dispatch,GMainContext_val, Unit) ML_4(g_main_context_check,GMainContext_val, Int_val, GPollFD_val, Int_val, Val_int) ML_3(g_main_context_add_poll,GMainContext_val, GPollFD_val, Int_val, Unit) ML_1(g_main_context_acquire,GMainContext_val, Val_bool) /* end of MainContext */ /* Module List */ /* end of List */ /* Module KeyFile */ ML_4(g_key_file_set_value,GKeyFile_val, String_val, String_val, String_val, Unit) ML_4(g_key_file_set_uint64,GKeyFile_val, String_val, String_val, Int64_val, Unit) ML_4(g_key_file_set_string,GKeyFile_val, String_val, String_val, String_val, Unit) ML_5(g_key_file_set_locale_string,GKeyFile_val, String_val, String_val, String_val, String_val, Unit) ML_2(g_key_file_set_list_separator,GKeyFile_val, Int_val, Unit) ML_5(g_key_file_set_integer_list,GKeyFile_val, String_val, String_val, Int_val, Int_val, Unit) ML_4(g_key_file_set_integer,GKeyFile_val, String_val, String_val, Int_val, Unit) ML_4(g_key_file_set_int64,GKeyFile_val, String_val, String_val, Int64_val, Unit) ML_5(g_key_file_set_double_list,GKeyFile_val, String_val, String_val, Double_val, Int_val, Unit) ML_4(g_key_file_set_double,GKeyFile_val, String_val, String_val, Double_val, Unit) ML_5(g_key_file_set_boolean_list,GKeyFile_val, String_val, String_val, Bool_val, Int_val, Unit) ML_4(g_key_file_set_boolean,GKeyFile_val, String_val, String_val, Bool_val, Unit) ML_2(g_key_file_has_group,GKeyFile_val, String_val, Val_bool) ML_1(g_key_file_get_start_group,GKeyFile_val, Val_string_new) ML_1(g_key_file_free,GKeyFile_val, Unit) /* end of KeyFile */ /* Module IOFuncs */ /* end of IOFuncs */ /* Module IOChannel */ ML_1(g_io_channel_unref,GIOChannel_val, Unit) ML_1(g_io_channel_unix_get_fd,GIOChannel_val, Val_int) ML_3(g_io_channel_set_line_term,GIOChannel_val, String_val, Int_val, Unit) ML_2(g_io_channel_set_close_on_unref,GIOChannel_val, Bool_val, Unit) ML_2(g_io_channel_set_buffered,GIOChannel_val, Bool_val, Unit) ML_2(g_io_channel_set_buffer_size,GIOChannel_val, Int_val, Unit) ML_1(g_io_channel_ref,GIOChannel_val, Val_GIOChannel) ML_1(g_io_channel_init,GIOChannel_val, Unit) ML_1(g_io_channel_get_encoding,GIOChannel_val, Val_string) ML_1(g_io_channel_get_close_on_unref,GIOChannel_val, Val_bool) ML_1(g_io_channel_get_buffered,GIOChannel_val, Val_bool) ML_1(g_io_channel_get_buffer_size,GIOChannel_val, Val_int) ML_1(g_io_channel_close,GIOChannel_val, Unit) /* end of IOChannel */ /* Module IConv */ /* end of IConv */ /* Module HookList */ ML_2(g_hook_list_invoke_check,GHookList_val, Bool_val, Unit) ML_2(g_hook_list_invoke,GHookList_val, Bool_val, Unit) ML_2(g_hook_list_init,GHookList_val, Int_val, Unit) ML_1(g_hook_list_clear,GHookList_val, Unit) /* end of HookList */ /* Module Hook */ ML_2(g_hook_compare_ids,GHook_val, GHook_val, Val_int) /* end of Hook */ /* Module HashTableIter */ ML_1(g_hash_table_iter_steal,GHashTableIter_val, Unit) ML_1(g_hash_table_iter_remove,GHashTableIter_val, Unit) ML_2(g_hash_table_iter_init,GHashTableIter_val, GHashTable_val, Unit) ML_1(g_hash_table_iter_get_hash_table,GHashTableIter_val, Val_GHashTable) /* end of HashTableIter */ /* Module HashTable */ /* end of HashTable */ /* Module Error */ ML_3(g_error_matches,GError_val, Int32_val, Int_val, Val_bool) ML_1(g_error_free,GError_val, Unit) ML_1(g_error_copy,GError_val, Val_GError) /* end of Error */ /* Module Dir */ ML_1(g_dir_rewind,GDir_val, Unit) ML_1(g_dir_read_name,GDir_val, Val_string) ML_1(g_dir_close,GDir_val, Unit) /* end of Dir */ /* Module DebugKey */ /* end of DebugKey */ /* Module DateTime */ ML_1(g_date_time_unref,GDateTime_val, Unit) ML_1(g_date_time_to_utc,GDateTime_val, Val_GDateTime) ML_1(g_date_time_to_unix,GDateTime_val, Val_int64) ML_2(g_date_time_to_timezone,GDateTime_val, GTimeZone_val, Val_GDateTime) ML_2(g_date_time_to_timeval,GDateTime_val, GTimeVal_val, Val_bool) ML_1(g_date_time_to_local,GDateTime_val, Val_GDateTime) ML_1(g_date_time_ref,GDateTime_val, Val_GDateTime) ML_1(g_date_time_is_daylight_savings,GDateTime_val, Val_bool) ML_1(g_date_time_get_year,GDateTime_val, Val_int) ML_1(g_date_time_get_week_of_year,GDateTime_val, Val_int) ML_1(g_date_time_get_week_numbering_year,GDateTime_val, Val_int) ML_1(g_date_time_get_utc_offset,GDateTime_val, Val_int64) ML_1(g_date_time_get_timezone_abbreviation,GDateTime_val, Val_string) ML_1(g_date_time_get_seconds,GDateTime_val, Val_double) ML_1(g_date_time_get_second,GDateTime_val, Val_int) ML_1(g_date_time_get_month,GDateTime_val, Val_int) ML_1(g_date_time_get_minute,GDateTime_val, Val_int) ML_1(g_date_time_get_microsecond,GDateTime_val, Val_int) ML_1(g_date_time_get_hour,GDateTime_val, Val_int) ML_1(g_date_time_get_day_of_year,GDateTime_val, Val_int) ML_1(g_date_time_get_day_of_week,GDateTime_val, Val_int) ML_1(g_date_time_get_day_of_month,GDateTime_val, Val_int) ML_2(g_date_time_format,GDateTime_val, String_val, Val_string_new) ML_2(g_date_time_difference,GDateTime_val, GDateTime_val, Val_int64) ML_2(g_date_time_add_years,GDateTime_val, Int_val, Val_GDateTime) ML_2(g_date_time_add_weeks,GDateTime_val, Int_val, Val_GDateTime) ML_2(g_date_time_add_seconds,GDateTime_val, Double_val, Val_GDateTime) ML_2(g_date_time_add_months,GDateTime_val, Int_val, Val_GDateTime) ML_2(g_date_time_add_minutes,GDateTime_val, Int_val, Val_GDateTime) ML_2(g_date_time_add_hours,GDateTime_val, Int_val, Val_GDateTime) ML_7(g_date_time_add_full,GDateTime_val, Int_val, Int_val, Int_val, Int_val, Int_val, Double_val, Val_GDateTime) ML_bc7(ml_g_date_time_add_full) ML_2(g_date_time_add_days,GDateTime_val, Int_val, Val_GDateTime) ML_2(g_date_time_add,GDateTime_val, Int64_val, Val_GDateTime) /* end of DateTime */ /* Module Date */ ML_1(g_date_valid,GDate_val, Val_bool) ML_2(g_date_subtract_years,GDate_val, Int_val, Unit) ML_2(g_date_subtract_months,GDate_val, Int_val, Unit) ML_2(g_date_subtract_days,GDate_val, Int_val, Unit) ML_2(g_date_set_year,GDate_val, Int_val, Unit) ML_2(g_date_set_time_val,GDate_val, GTimeVal_val, Unit) ML_2(g_date_set_time,GDate_val, Int32_val, Unit) ML_2(g_date_set_parse,GDate_val, String_val, Unit) ML_2(g_date_set_julian,GDate_val, Int32_val, Unit) ML_2(g_date_set_day,GDate_val, Int_val, Unit) ML_2(g_date_order,GDate_val, GDate_val, Unit) ML_1(g_date_is_last_of_month,GDate_val, Val_bool) ML_1(g_date_is_first_of_month,GDate_val, Val_bool) ML_1(g_date_get_year,GDate_val, Val_int) ML_1(g_date_get_sunday_week_of_year,GDate_val, Val_int) ML_1(g_date_get_monday_week_of_year,GDate_val, Val_int) ML_1(g_date_get_julian,GDate_val, Val_int32) ML_1(g_date_get_iso8601_week_of_year,GDate_val, Val_int) ML_1(g_date_get_day_of_year,GDate_val, Val_int) ML_1(g_date_get_day,GDate_val, Val_int) ML_1(g_date_free,GDate_val, Unit) ML_2(g_date_days_between,GDate_val, GDate_val, Val_int) ML_2(g_date_compare,GDate_val, GDate_val, Val_int) ML_2(g_date_clear,GDate_val, Int_val, Unit) ML_3(g_date_clamp,GDate_val, GDate_val, GDate_val, Unit) ML_2(g_date_add_years,GDate_val, Int_val, Unit) ML_2(g_date_add_months,GDate_val, Int_val, Unit) ML_2(g_date_add_days,GDate_val, Int_val, Unit) /* end of Date */ /* Module Data */ /* end of Data */ /* Module Cond */ /* end of Cond */ /* Module Completion */ ML_2(g_completion_remove_items,GCompletion_val, GList_val, Unit) ML_1(g_completion_free,GCompletion_val, Unit) ML_1(g_completion_clear_items,GCompletion_val, Unit) ML_2(g_completion_add_items,GCompletion_val, GList_val, Unit) /* end of Completion */ /* Module Checksum */ ML_3(g_checksum_update,GChecksum_val, String_val, Int_val, Unit) ML_1(g_checksum_reset,GChecksum_val, Unit) ML_1(g_checksum_get_string,GChecksum_val, Val_string) ML_1(g_checksum_free,GChecksum_val, Unit) ML_1(g_checksum_copy,GChecksum_val, Val_GChecksum) /* end of Checksum */ /* Module Cache */ ML_1(g_cache_destroy,GCache_val, Unit) /* end of Cache */ /* Module ByteArray */ /* end of ByteArray */ /* Module BookmarkFile */ ML_3(g_bookmark_file_set_title,GBookmarkFile_val, String_val, String_val, Unit) ML_3(g_bookmark_file_set_mime_type,GBookmarkFile_val, String_val, String_val, Unit) ML_3(g_bookmark_file_set_is_private,GBookmarkFile_val, String_val, Bool_val, Unit) ML_4(g_bookmark_file_set_icon,GBookmarkFile_val, String_val, String_val, String_val, Unit) ML_3(g_bookmark_file_set_description,GBookmarkFile_val, String_val, String_val, Unit) ML_2(g_bookmark_file_has_item,GBookmarkFile_val, String_val, Val_bool) ML_1(g_bookmark_file_get_size,GBookmarkFile_val, Val_int) ML_1(g_bookmark_file_free,GBookmarkFile_val, Unit) ML_3(g_bookmark_file_add_group,GBookmarkFile_val, String_val, String_val, Unit) ML_4(g_bookmark_file_add_application,GBookmarkFile_val, String_val, String_val, String_val, Unit) /* end of BookmarkFile */ /* Module AsyncQueue */ ML_1(g_async_queue_unref_and_unlock,GAsyncQueue_val, Unit) ML_1(g_async_queue_unref,GAsyncQueue_val, Unit) ML_1(g_async_queue_unlock,GAsyncQueue_val, Unit) ML_1(g_async_queue_ref_unlocked,GAsyncQueue_val, Unit) ML_1(g_async_queue_ref,GAsyncQueue_val, Val_GAsyncQueue) ML_1(g_async_queue_lock,GAsyncQueue_val, Unit) ML_1(g_async_queue_length_unlocked,GAsyncQueue_val, Val_int) ML_1(g_async_queue_length,GAsyncQueue_val, Val_int) /* end of AsyncQueue */ /* Module Array */ /* end of Array */ /* Module Allocator */ ML_1(g_allocator_free,GAllocator_val, Unit) /* end of Allocator */ /* Global functions */ ML_5(g_warn_message,String_val, String_val, Int_val, String_val, String_val, Unit) ML_1(g_variant_type_string_is_valid,String_val, Val_bool) ML_1(g_variant_type_new,String_val, Val_GVariantType) ML_1(g_variant_type_checked_,String_val, Val_GVariantType) ML_0(g_variant_parser_get_error_quark,Val_int32) ML_1(g_variant_is_signature,String_val, Val_bool) ML_1(g_variant_is_object_path,String_val, Val_bool) ML_1(g_variant_get_type,GVariant_val, Val_GVariantType) ML_1(g_variant_builder_new,GVariantType_val, Val_GVariantBuilder) ML_2(g_utf8_strup,String_val, Int_val, Val_string_new) ML_2(g_utf8_strreverse,String_val, Int_val, Val_string_new) ML_3(g_utf8_strrchr,String_val, Int_val, Int32_val, Val_string_new) ML_3(g_utf8_strncpy,String_val, String_val, Int_val, Val_string_new) ML_2(g_utf8_strlen,String_val, Int_val, Val_double) ML_2(g_utf8_strdown,String_val, Int_val, Val_string_new) ML_3(g_utf8_strchr,String_val, Int_val, Int32_val, Val_string_new) ML_1(g_utf8_prev_char,String_val, Val_string_new) ML_2(g_utf8_pointer_to_offset,String_val, String_val, Val_double) ML_2(g_utf8_offset_to_pointer,String_val, Double_val, Val_string_new) ML_2(g_utf8_get_char_validated,String_val, Int_val, Val_int32) ML_1(g_utf8_get_char,String_val, Val_int32) ML_2(g_utf8_find_prev_char,String_val, String_val, Val_string_new) ML_2(g_utf8_find_next_char,String_val, String_val, Val_string_new) ML_2(g_utf8_collate_key_for_filename,String_val, Int_val, Val_string_new) ML_2(g_utf8_collate_key,String_val, Int_val, Val_string_new) ML_2(g_utf8_collate,String_val, String_val, Val_int) ML_2(g_utf8_casefold,String_val, Int_val, Val_string_new) ML_1(g_usleep,Double_val, Unit) ML_2(g_uri_unescape_string,String_val, String_val, Val_string_new) ML_3(g_uri_unescape_segment,String_val, String_val, String_val, Val_string_new) ML_1(g_uri_parse_scheme,String_val, Val_string_new) ML_3(g_uri_escape_string,String_val, String_val, Bool_val, Val_string_new) ML_1(g_unsetenv,String_val, Unit) ML_1(g_unlink,String_val, Val_int) ML_1(g_unichar_xdigit_value,Int32_val, Val_int) ML_1(g_unichar_validate,Int32_val, Val_bool) ML_1(g_unichar_toupper,Int32_val, Val_int32) ML_1(g_unichar_totitle,Int32_val, Val_int32) ML_1(g_unichar_tolower,Int32_val, Val_int32) ML_2(g_unichar_to_utf8,Int32_val, String_val, Val_int) ML_1(g_unichar_iszerowidth,Int32_val, Val_bool) ML_1(g_unichar_isxdigit,Int32_val, Val_bool) ML_1(g_unichar_iswide_cjk,Int32_val, Val_bool) ML_1(g_unichar_iswide,Int32_val, Val_bool) ML_1(g_unichar_isupper,Int32_val, Val_bool) ML_1(g_unichar_istitle,Int32_val, Val_bool) ML_1(g_unichar_isspace,Int32_val, Val_bool) ML_1(g_unichar_ispunct,Int32_val, Val_bool) ML_1(g_unichar_isprint,Int32_val, Val_bool) ML_1(g_unichar_ismark,Int32_val, Val_bool) ML_1(g_unichar_islower,Int32_val, Val_bool) ML_1(g_unichar_isgraph,Int32_val, Val_bool) ML_1(g_unichar_isdigit,Int32_val, Val_bool) ML_1(g_unichar_isdefined,Int32_val, Val_bool) ML_1(g_unichar_iscntrl,Int32_val, Val_bool) ML_1(g_unichar_isalpha,Int32_val, Val_bool) ML_1(g_unichar_isalnum,Int32_val, Val_bool) ML_1(g_unichar_digit_value,Int32_val, Val_int) ML_1(g_unichar_combining_class,Int32_val, Val_int) ML_0(g_timer_new,Val_GTimer) ML_1(g_timeout_source_new_seconds,Int_val, Val_GSource) ML_1(g_timeout_source_new,Int_val, Val_GSource) ML_0(g_time_zone_new_utc,Val_GTimeZone) ML_0(g_time_zone_new_local,Val_GTimeZone) ML_1(g_time_zone_new,String_val, Val_GTimeZone) ML_2(g_time_val_from_iso8601,String_val, GTimeVal_val, Val_bool) ML_0(g_thread_self,Val_GThread) ML_0(g_thread_pool_stop_unused_threads,Unit) ML_1(g_thread_pool_set_max_unused_threads,Int_val, Unit) ML_1(g_thread_pool_set_max_idle_time,Int_val, Unit) ML_0(g_thread_pool_get_num_unused_threads,Val_int) ML_0(g_thread_pool_get_max_unused_threads,Val_int) ML_0(g_thread_pool_get_max_idle_time,Val_int) ML_1(g_thread_init_with_errorcheck_mutexes,GThreadFunctions_val, Unit) ML_1(g_thread_init,Option_val(arg1,GThreadFunctions_val,NULL) Ignore, Unit) ML_0(g_thread_get_initialized,Val_bool) ML_0(g_thread_error_quark,Val_int32) ML_0(g_test_trap_reached_timeout,Val_bool) ML_0(g_test_trap_has_passed,Val_bool) ML_6(g_test_trap_assertions,String_val, String_val, Int_val, String_val, Int64_val, String_val, Unit) ML_bc6(ml_g_test_trap_assertions) ML_0(g_test_timer_start,Unit) ML_0(g_test_timer_last,Val_double) ML_0(g_test_timer_elapsed,Val_double) ML_1(g_test_run_suite,GTestSuite_val, Val_int) ML_0(g_test_run,Val_int) ML_2(g_test_rand_int_range,Int32_val, Int32_val, Val_int32) ML_0(g_test_rand_int,Val_int32) ML_2(g_test_rand_double_range,Double_val, Double_val, Val_double) ML_0(g_test_rand_double,Val_double) ML_0(g_test_log_buffer_new,Val_GTestLogBuffer) ML_0(g_test_get_root,Val_GTestSuite) ML_1(g_test_create_suite,String_val, Val_GTestSuite) ML_1(g_test_bug_base,String_val, Unit) ML_1(g_test_bug,String_val, Unit) ML_1(g_strup,String_val, Val_string_new) ML_3(g_strstr_len,String_val, Int_val, String_val, Val_string_new) ML_1(g_strsignal,Int_val, Val_string) ML_3(g_strrstr_len,String_val, Int_val, String_val, Val_string_new) ML_2(g_strrstr,String_val, String_val, Val_string_new) ML_1(g_strreverse,String_val, Val_string_new) ML_2(g_strnfill,Int_val, Int_val, Val_string_new) ML_2(g_strndup,String_val, Int_val, Val_string_new) ML_3(g_strncasecmp,String_val, String_val, Int_val, Val_int) ML_3(g_strlcpy,String_val, String_val, Int_val, Val_int) ML_3(g_strlcat,String_val, String_val, Int_val, Val_int) ML_2(g_strip_context,String_val, String_val, Val_string) ML_1(g_string_sized_new,Int_val, Val_GString) ML_2(g_string_new_len,String_val, Int_val, Val_GString) ML_1(g_string_new,String_val, Val_GString) ML_1(g_string_chunk_new,Int_val, Val_GStringChunk) ML_2(g_strescape,String_val, String_val, Val_string_new) ML_1(g_strerror,Int_val, Val_string) ML_1(g_strdup,String_val, Val_string_new) ML_1(g_strdown,String_val, Val_string_new) ML_3(g_strdelimit,String_val, String_val, Int_val, Val_string_new) ML_1(g_strcompress,String_val, Val_string_new) ML_2(g_strcmp0,String_val, String_val, Val_int) ML_1(g_strchug,String_val, Val_string_new) ML_1(g_strchomp,String_val, Val_string_new) ML_2(g_strcasecmp,String_val, String_val, Val_int) ML_3(g_strcanon,String_val, String_val, Int_val, Val_string_new) ML_2(g_str_has_suffix,String_val, String_val, Val_bool) ML_2(g_str_has_prefix,String_val, String_val, Val_bool) ML_2(g_stpcpy,String_val, String_val, Val_string_new) ML_0(g_spawn_error_quark,Val_int32) ML_1(g_spawn_close_pid,Int_val, Unit) ML_1(g_spaced_primes_closest,Int_val, Val_int) ML_2(g_source_set_name_by_id,Int_val, String_val, Unit) ML_1(g_source_remove,Int_val, Val_bool) ML_2(g_source_new,GSourceFuncs_val, Int_val, Val_GSource) ML_1(g_slist_reverse,GSList_val, Val_GSList) ML_2(g_slist_remove_link,GSList_val, GSList_val, Val_GSList) ML_2(g_slist_position,GSList_val, GSList_val, Val_int) ML_0(g_slist_pop_allocator,Unit) ML_2(g_slist_nth,GSList_val, Int_val, Val_GSList) ML_1(g_slist_length,GSList_val, Val_int) ML_1(g_slist_last,GSList_val, Val_GSList) ML_1(g_slist_free_1,GSList_val, Unit) ML_1(g_slist_free,GSList_val, Unit) ML_2(g_slist_delete_link,GSList_val, GSList_val, Val_GSList) ML_1(g_slist_copy,GSList_val, Val_GSList) ML_2(g_slist_concat,GSList_val, GSList_val, Val_GSList) ML_0(g_slist_alloc,Val_GSList) ML_1(g_shell_quote,String_val, Val_string_new) ML_0(g_shell_error_quark,Val_int32) ML_3(g_setenv,String_val, String_val, Bool_val, Val_bool) ML_1(g_set_prgname,String_val, Unit) ML_1(g_set_application_name,String_val, Unit) ML_2(g_sequence_swap,GSequenceIter_val, GSequenceIter_val, Unit) ML_2(g_sequence_remove_range,GSequenceIter_val, GSequenceIter_val, Unit) ML_1(g_sequence_remove,GSequenceIter_val, Unit) ML_2(g_sequence_range_get_midpoint,GSequenceIter_val, GSequenceIter_val, Val_GSequenceIter) ML_3(g_sequence_move_range,GSequenceIter_val, GSequenceIter_val, GSequenceIter_val, Unit) ML_2(g_sequence_move,GSequenceIter_val, GSequenceIter_val, Unit) ML_1(g_scanner_new,GScannerConfig_val, Val_GScanner) ML_1(g_rmdir,String_val, Val_int) ML_3(g_return_if_fail_warning,String_val, String_val, String_val, Unit) ML_0(g_reload_user_special_dirs_cache,Unit) ML_1(g_relation_new,Int_val, Val_GRelation) ML_2(g_regex_escape_string,String_val, Int_val, Val_string_new) ML_0(g_regex_error_quark,Val_int32) ML_1(g_random_set_seed,Int32_val, Unit) ML_2(g_random_int_range,Int32_val, Int32_val, Val_int32) ML_0(g_random_int,Val_int32) ML_2(g_random_double_range,Double_val, Double_val, Val_double) ML_0(g_random_double,Val_double) ML_1(g_rand_new_with_seed,Int32_val, Val_GRand) ML_0(g_rand_new,Val_GRand) ML_0(g_queue_new,Val_GQueue) ML_1(g_quark_try_string,String_val, Val_int32) ML_1(g_quark_to_string,Int32_val, Val_string) ML_1(g_quark_from_string,String_val, Val_int32) ML_1(g_quark_from_static_string,String_val, Val_int32) ML_3(g_poll,GPollFD_val, Int_val, Int_val, Val_int) ML_1(g_pattern_spec_new,String_val, Val_GPatternSpec) ML_2(g_pattern_match_string,GPatternSpec_val, String_val, Val_bool) ML_2(g_pattern_match_simple,String_val, String_val, Val_bool) ML_4(g_pattern_match,GPatternSpec_val, Int_val, String_val, String_val, Val_bool) ML_1(g_path_skip_root,String_val, Val_string) ML_1(g_path_is_absolute,String_val, Val_bool) ML_1(g_path_get_dirname,String_val, Val_string_new) ML_1(g_path_get_basename,String_val, Val_string_new) ML_3(g_parse_debug_string,String_val, GDebugKey_val, Int_val, Val_int) ML_0(g_option_error_quark,Val_int32) ML_1(g_option_context_new,String_val, Val_GOptionContext) ML_1(g_on_error_stack_trace,String_val, Unit) ML_1(g_on_error_query,String_val, Unit) ML_0(g_node_pop_allocator,Unit) ML_3(g_mkstemp_full,String_val, Int_val, Int_val, Val_int) ML_1(g_mkstemp,String_val, Val_int) ML_2(g_mkdir_with_parents,String_val, Int_val, Val_int) ML_1(g_mem_set_vtable,GMemVTable_val, Unit) ML_0(g_mem_profile,Unit) ML_0(g_mem_is_system_malloc,Val_bool) ML_4(g_mem_chunk_new,String_val, Int_val, Int_val, Int_val, Val_GMemChunk) ML_0(g_mem_chunk_info,Unit) ML_2(g_markup_escape_text,String_val, Int_val, Val_string_new) ML_0(g_markup_error_quark,Val_int32) ML_2(g_main_loop_new,Option_val(arg1,GMainContext_val,NULL) Ignore, Bool_val, Val_GMainLoop) ML_0(g_main_depth,Val_int) ML_0(g_main_current_source,Val_GSource) ML_0(g_main_context_new,Val_GMainContext) ML_0(g_main_context_get_thread_default,Val_GMainContext) ML_0(g_main_context_default,Val_GMainContext) ML_2(g_log_remove_handler,String_val, Int_val, Unit) ML_1(g_list_reverse,GList_val, Val_GList) ML_2(g_list_remove_link,GList_val, GList_val, Val_GList) ML_2(g_list_position,GList_val, GList_val, Val_int) ML_0(g_list_pop_allocator,Unit) ML_2(g_list_nth_prev,GList_val, Int_val, Val_GList) ML_2(g_list_nth,GList_val, Int_val, Val_GList) ML_1(g_list_length,GList_val, Val_int) ML_1(g_list_last,GList_val, Val_GList) ML_1(g_list_free_1,GList_val, Unit) ML_1(g_list_free,GList_val, Unit) ML_1(g_list_first,GList_val, Val_GList) ML_2(g_list_delete_link,GList_val, GList_val, Val_GList) ML_1(g_list_copy,GList_val, Val_GList) ML_2(g_list_concat,GList_val, GList_val, Val_GList) ML_0(g_list_alloc,Val_GList) ML_0(g_key_file_new,Val_GKeyFile) ML_0(g_key_file_error_quark,Val_int32) ML_1(g_io_channel_unix_new,Int_val, Val_GIOChannel) ML_0(g_io_channel_error_quark,Val_int32) ML_1(g_intern_string,String_val, Val_string) ML_1(g_intern_static_string,String_val, Val_string) ML_0(g_idle_source_new,Val_GSource) ML_1(g_hostname_to_unicode,String_val, Val_string_new) ML_1(g_hostname_to_ascii,String_val, Val_string_new) ML_1(g_hostname_is_non_ascii,String_val, Val_bool) ML_1(g_hostname_is_ip_address,String_val, Val_bool) ML_1(g_hostname_is_ascii_encoded,String_val, Val_bool) ML_2(g_hook_unref,GHookList_val, GHook_val, Unit) ML_2(g_hook_ref,GHookList_val, GHook_val, Val_GHook) ML_2(g_hook_prepend,GHookList_val, GHook_val, Unit) ML_3(g_hook_next_valid,GHookList_val, GHook_val, Bool_val, Val_GHook) ML_3(g_hook_insert_before,GHookList_val, GHook_val, GHook_val, Unit) ML_2(g_hook_get,GHookList_val, Double_val, Val_GHook) ML_2(g_hook_free,GHookList_val, GHook_val, Unit) ML_2(g_hook_first_valid,GHookList_val, Bool_val, Val_GHook) ML_2(g_hook_destroy_link,GHookList_val, GHook_val, Unit) ML_2(g_hook_destroy,GHookList_val, Double_val, Val_bool) ML_1(g_hook_alloc,GHookList_val, Val_GHook) ML_1(g_hash_table_unref,GHashTable_val, Unit) ML_1(g_hash_table_steal_all,GHashTable_val, Unit) ML_1(g_hash_table_size,GHashTable_val, Val_int) ML_1(g_hash_table_remove_all,GHashTable_val, Unit) ML_1(g_hash_table_ref,GHashTable_val, Val_GHashTable) ML_1(g_hash_table_get_values,GHashTable_val, Val_GList) ML_1(g_hash_table_get_keys,GHashTable_val, Val_GList) ML_1(g_hash_table_destroy,GHashTable_val, Unit) ML_1(g_getenv,String_val, Val_string) ML_0(g_get_user_runtime_dir,Val_string) ML_0(g_get_user_name,Val_string) ML_0(g_get_user_data_dir,Val_string) ML_0(g_get_user_config_dir,Val_string) ML_0(g_get_user_cache_dir,Val_string) ML_0(g_get_tmp_dir,Val_string) ML_0(g_get_real_time,Val_int64) ML_0(g_get_real_name,Val_string) ML_0(g_get_prgname,Val_string_new) ML_0(g_get_monotonic_time,Val_int64) ML_0(g_get_host_name,Val_string) ML_0(g_get_home_dir,Val_string) ML_1(g_get_current_time,GTimeVal_val, Unit) ML_0(g_get_current_dir,Val_string_new) ML_0(g_get_application_name,Val_string) ML_1(g_find_program_in_path,String_val, Val_string_new) ML_1(g_filename_display_name,String_val, Val_string_new) ML_1(g_filename_display_basename,String_val, Val_string_new) ML_0(g_file_error_quark,Val_int32) ML_3(g_error_new_literal,Int32_val, Int_val, String_val, Val_GError) ML_0(glib_dummy_decl,Unit) ML_3(g_dpgettext2,String_val, String_val, String_val, Val_string) ML_3(g_dpgettext,String_val, String_val, Int_val, Val_string) ML_4(g_dngettext,String_val, String_val, String_val, Double_val, Val_string) ML_2(g_dgettext,String_val, String_val, Val_string) ML_3(g_dcgettext,String_val, String_val, Int_val, Val_string) ML_1(g_date_valid_year,Int_val, Val_bool) ML_1(g_date_valid_julian,Int32_val, Val_bool) ML_1(g_date_valid_day,Int_val, Val_bool) ML_6(g_date_time_new_utc,Int_val, Int_val, Int_val, Int_val, Int_val, Double_val, Val_GDateTime) ML_bc6(ml_g_date_time_new_utc) ML_0(g_date_time_new_now_utc,Val_GDateTime) ML_0(g_date_time_new_now_local,Val_GDateTime) ML_1(g_date_time_new_now,GTimeZone_val, Val_GDateTime) ML_6(g_date_time_new_local,Int_val, Int_val, Int_val, Int_val, Int_val, Double_val, Val_GDateTime) ML_bc6(ml_g_date_time_new_local) ML_1(g_date_time_new_from_unix_utc,Int64_val, Val_GDateTime) ML_1(g_date_time_new_from_unix_local,Int64_val, Val_GDateTime) ML_1(g_date_time_new_from_timeval_utc,GTimeVal_val, Val_GDateTime) ML_1(g_date_time_new_from_timeval_local,GTimeVal_val, Val_GDateTime) ML_7(g_date_time_new,GTimeZone_val, Int_val, Int_val, Int_val, Int_val, Int_val, Double_val, Val_GDateTime) ML_bc7(ml_g_date_time_new) ML_4(g_date_strftime,String_val, Int_val, String_val, GDate_val, Val_int) ML_1(g_date_new_julian,Int32_val, Val_GDate) ML_0(g_date_new,Val_GDate) ML_1(g_date_is_leap_year,Int_val, Val_bool) ML_1(g_date_get_sunday_weeks_in_year,Int_val, Val_int) ML_1(g_date_get_monday_weeks_in_year,Int_val, Val_int) ML_0(g_convert_error_quark,Val_int32) ML_1(g_child_watch_source_new,Int_val, Val_GSource) ML_3(glib_check_version,Int_val, Int_val, Int_val, Val_string) ML_1(g_chdir,String_val, Val_int) ML_0(g_bookmark_file_new,Val_GBookmarkFile) ML_0(g_bookmark_file_error_quark,Val_int32) ML_0(g_blow_chunks,Unit) ML_1(g_bit_storage,Double_val, Val_int) ML_2(g_bit_nth_msf,Double_val, Int_val, Val_int) ML_2(g_bit_nth_lsf,Double_val, Int_val, Val_int) ML_1(g_basename,String_val, Val_string) ML_2(g_base64_encode,String_val, Int_val, Val_string_new) ML_0(g_async_queue_new,Val_GAsyncQueue) ML_5(g_assertion_message_expr,String_val, String_val, Int_val, String_val, String_val, Unit) ML_8(g_assertion_message_error,String_val, String_val, Int_val, String_val, String_val, GError_val, Int32_val, Int_val, Unit) ML_bc8(ml_g_assertion_message_error) ML_8(g_assertion_message_cmpstr,String_val, String_val, Int_val, String_val, String_val, String_val, String_val, String_val, Unit) ML_bc8(ml_g_assertion_message_cmpstr) ML_9(g_assertion_message_cmpnum,String_val, String_val, Int_val, String_val, String_val, Double_val, String_val, Double_val, Int_val, Unit) ML_bc9(ml_g_assertion_message_cmpnum) ML_5(g_assertion_message,String_val, String_val, Int_val, String_val, String_val, Unit) ML_5(g_assert_warning,String_val, String_val, Int_val, String_val, String_val, Unit) ML_1(g_ascii_xdigit_value,Int_val, Val_int) ML_1(g_ascii_toupper,Int_val, Val_int) ML_1(g_ascii_tolower,Int_val, Val_int) ML_2(g_ascii_strup,String_val, Int_val, Val_string_new) ML_3(g_ascii_strncasecmp,String_val, String_val, Int_val, Val_int) ML_2(g_ascii_strdown,String_val, Int_val, Val_string_new) ML_2(g_ascii_strcasecmp,String_val, String_val, Val_int) ML_4(g_ascii_formatd,String_val, Int_val, String_val, Double_val, Val_string_new) ML_3(g_ascii_dtostr,String_val, Int_val, Double_val, Val_string_new) ML_1(g_ascii_digit_value,Int_val, Val_int) ML_2(g_allocator_new,String_val, Int_val, Val_GAllocator) ML_2(g_access,String_val, Int_val, Val_int) /* End of global functions */ lablgtk-3.1.2/tools/introspection/stubs/ml_stubs_GModule.c0000644000650106067230000027447714161276610022635 0ustar glondused#include #include #define Val_double(val) caml_copy_double(val) #define Val_string_new(val) caml_copy_string(val) #define Val_int32(val) caml_copy_int32(val) #define Val_int32_new(val) caml_copy_int32(val) /*TODO: conversion for record 'GAllocator' */ /*TODO: conversion for record 'GArray' */ /*TODO: conversion for record 'GAsyncQueue' */ /*TODO: conversion for record 'GBookmarkFile' */ /*TODO: conversion for record 'GByteArray' */ /*TODO: conversion for record 'GCache' */ /*TODO: conversion for record 'GChecksum' */ /*TODO: conversion for record 'GCompletion' */ /*TODO: conversion for record 'GCond' */ /*TODO: conversion for record 'GData' */ /*TODO: conversion for record 'GDate' */ /*TODO: conversion for record 'GDateTime' */ /*TODO: conversion for record 'GDebugKey' */ /*TODO: conversion for record 'GDir' */ /*TODO: conversion for record 'GError' */ /*TODO: conversion for record 'GHashTable' */ /*TODO: conversion for record 'GHashTableIter' */ /*TODO: conversion for record 'GHook' */ /*TODO: conversion for record 'GHookList' */ /*TODO: conversion for record 'GIConv' */ /*TODO: conversion for record 'GIOChannel' */ /*TODO: conversion for record 'GIOFuncs' */ /*TODO: conversion for record 'GKeyFile' */ /*TODO: conversion for record 'GList' */ /*TODO: conversion for record 'GMainContext' */ /*TODO: conversion for record 'GMainLoop' */ /*TODO: conversion for record 'GMappedFile' */ /*TODO: conversion for record 'GMarkupParseContext' */ /*TODO: conversion for record 'GMarkupParser' */ /*TODO: conversion for record 'GMatchInfo' */ /*TODO: conversion for record 'GMemChunk' */ /*TODO: conversion for record 'GMemVTable' */ /*TODO: conversion for record 'GMutex' */ /*TODO: conversion for record 'GNode' */ /*TODO: conversion for record 'GOnce' */ /*TODO: conversion for record 'GOptionContext' */ /*TODO: conversion for record 'GOptionEntry' */ /*TODO: conversion for record 'GOptionGroup' */ /*TODO: conversion for record 'GPatternSpec' */ /*TODO: conversion for record 'GPollFD' */ /*TODO: conversion for record 'GPrivate' */ /*TODO: conversion for record 'GPtrArray' */ /*TODO: conversion for record 'GQueue' */ /*TODO: conversion for record 'GRand' */ /*TODO: conversion for record 'GRegex' */ /*TODO: conversion for record 'GRelation' */ /*TODO: conversion for record 'GSList' */ /*TODO: conversion for record 'GScanner' */ /*TODO: conversion for record 'GScannerConfig' */ /*TODO: conversion for record 'GSequence' */ /*TODO: conversion for record 'GSequenceIter' */ /*TODO: conversion for record 'GSource' */ /*TODO: conversion for record 'GSourceCallbackFuncs' */ /*TODO: conversion for record 'GSourceFuncs' */ /*TODO: conversion for record 'GSourcePrivate' */ /*TODO: conversion for record 'GStatBuf' */ /*TODO: conversion for record 'GStaticMutex' */ /*TODO: conversion for record 'GStaticPrivate' */ /*TODO: conversion for record 'GStaticRWLock' */ /*TODO: conversion for record 'GStaticRecMutex' */ /*TODO: conversion for record 'GString' */ /*TODO: conversion for record 'GStringChunk' */ /*TODO: conversion for record 'GTestCase' */ /*TODO: conversion for record 'GTestConfig' */ /*TODO: conversion for record 'GTestLogBuffer' */ /*TODO: conversion for record 'GTestLogMsg' */ /*TODO: conversion for record 'GTestSuite' */ /*TODO: conversion for record 'GThread' */ /*TODO: conversion for record 'GThreadFunctions' */ /*TODO: conversion for record 'GThreadPool' */ /*TODO: conversion for record 'GTimeVal' */ /*TODO: conversion for record 'GTimeZone' */ /*TODO: conversion for record 'GTimer' */ /*TODO: conversion for record 'GTrashStack' */ /*TODO: conversion for record 'GTree' */ /*TODO: conversion for record 'GTuples' */ /*TODO: conversion for record 'GVariant' */ /*TODO: conversion for record 'GVariantBuilder' */ /*TODO: conversion for record 'GVariantIter' */ /*TODO: conversion for record 'GVariantType' */ #define GBinding_val(val) check_cast(G_BINDING,val) #define Val_GBinding(val) Val_GObject((GObject*)val) #define Val_GBinding_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCClosure' */ /*TODO: conversion for record 'GClosure' */ /*TODO: conversion for record 'GClosureNotifyData' */ /*TODO: conversion for record 'GEnumClass' */ /*TODO: conversion for record 'GEnumValue' */ /*TODO: conversion for record 'GFlagsClass' */ /*TODO: conversion for record 'GFlagsValue' */ /*TODO: conversion for record 'GInitiallyUnownedClass' */ /*TODO: conversion for record 'GInterfaceInfo' */ /*TODO: conversion for record 'GObjectClass' */ /*TODO: conversion for record 'GObjectConstructParam' */ /*TODO: conversion for record 'GParamSpec' */ /*TODO: conversion for record 'GParamSpecBoolean' */ /*TODO: conversion for record 'GParamSpecBoxed' */ /*TODO: conversion for record 'GParamSpecChar' */ /*TODO: conversion for record 'GParamSpecClass' */ /*TODO: conversion for record 'GParamSpecDouble' */ /*TODO: conversion for record 'GParamSpecEnum' */ /*TODO: conversion for record 'GParamSpecFlags' */ /*TODO: conversion for record 'GParamSpecFloat' */ /*TODO: conversion for record 'GParamSpecGType' */ /*TODO: conversion for record 'GParamSpecInt' */ /*TODO: conversion for record 'GParamSpecInt64' */ /*TODO: conversion for record 'GParamSpecLong' */ /*TODO: conversion for record 'GParamSpecObject' */ /*TODO: conversion for record 'GParamSpecOverride' */ /*TODO: conversion for record 'GParamSpecParam' */ /*TODO: conversion for record 'GParamSpecPointer' */ /*TODO: conversion for record 'GParamSpecPool' */ /*TODO: conversion for record 'GParamSpecString' */ /*TODO: conversion for record 'GParamSpecTypeInfo' */ /*TODO: conversion for record 'GParamSpecUChar' */ /*TODO: conversion for record 'GParamSpecUInt' */ /*TODO: conversion for record 'GParamSpecUInt64' */ /*TODO: conversion for record 'GParamSpecULong' */ /*TODO: conversion for record 'GParamSpecUnichar' */ /*TODO: conversion for record 'GParamSpecValueArray' */ /*TODO: conversion for record 'GParamSpecVariant' */ /*TODO: conversion for record 'GParameter' */ /*TODO: conversion for record 'GSignalInvocationHint' */ /*TODO: conversion for record 'GSignalQuery' */ /*TODO: conversion for record 'GTypeClass' */ /*TODO: conversion for record 'GTypeFundamentalInfo' */ /*TODO: conversion for record 'GTypeInfo' */ /*TODO: conversion for record 'GTypeInstance' */ /*TODO: conversion for record 'GTypeInterface' */ #define GTypeModule_val(val) check_cast(G_TYPE_MODULE,val) #define Val_GTypeModule(val) Val_GObject((GObject*)val) #define Val_GTypeModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTypeModuleClass' */ /*TODO: conversion for record 'GTypePluginClass' */ /*TODO: conversion for record 'GTypeQuery' */ /*TODO: conversion for record 'GTypeValueTable' */ /*TODO: conversion for record 'GValue' */ /*TODO: conversion for record 'GValueArray' */ /*TODO: conversion for record 'AtkActionIface' */ /*TODO: conversion for record 'AtkAttribute' */ /*TODO: conversion for record 'AtkComponentIface' */ /*TODO: conversion for record 'AtkDocumentIface' */ /*TODO: conversion for record 'AtkEditableTextIface' */ #define AtkGObjectAccessible_val(val) check_cast(ATK_G_OBJECT_ACCESSIBLE,val) #define Val_AtkGObjectAccessible(val) Val_GObject((GObject*)val) #define Val_AtkGObjectAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkGObjectAccessibleClass' */ #define AtkHyperlink_val(val) check_cast(ATK_HYPERLINK,val) #define Val_AtkHyperlink(val) Val_GObject((GObject*)val) #define Val_AtkHyperlink_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkHyperlinkClass' */ /*TODO: conversion for record 'AtkHyperlinkImplIface' */ /*TODO: conversion for record 'AtkHypertextIface' */ /*TODO: conversion for record 'AtkImageIface' */ /*TODO: conversion for record 'AtkImplementor' */ /*TODO: conversion for record 'AtkKeyEventStruct' */ #define AtkMisc_val(val) check_cast(ATK_MISC,val) #define Val_AtkMisc(val) Val_GObject((GObject*)val) #define Val_AtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkMiscClass' */ #define AtkNoOpObject_val(val) check_cast(ATK_NO_OP_OBJECT,val) #define Val_AtkNoOpObject(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectClass' */ #define AtkNoOpObjectFactory_val(val) check_cast(ATK_NO_OP_OBJECT_FACTORY,val) #define Val_AtkNoOpObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectFactoryClass' */ #define AtkObject_val(val) check_cast(ATK_OBJECT,val) #define Val_AtkObject(val) Val_GObject((GObject*)val) #define Val_AtkObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectClass' */ #define AtkObjectFactory_val(val) check_cast(ATK_OBJECT_FACTORY,val) #define Val_AtkObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectFactoryClass' */ #define AtkPlug_val(val) check_cast(ATK_PLUG,val) #define Val_AtkPlug(val) Val_GObject((GObject*)val) #define Val_AtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkPlugClass' */ /*TODO: conversion for record 'AtkRectangle' */ #define AtkRelation_val(val) check_cast(ATK_RELATION,val) #define Val_AtkRelation(val) Val_GObject((GObject*)val) #define Val_AtkRelation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationClass' */ #define AtkRelationSet_val(val) check_cast(ATK_RELATION_SET,val) #define Val_AtkRelationSet(val) Val_GObject((GObject*)val) #define Val_AtkRelationSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationSetClass' */ /*TODO: conversion for record 'AtkSelectionIface' */ #define AtkSocket_val(val) check_cast(ATK_SOCKET,val) #define Val_AtkSocket(val) Val_GObject((GObject*)val) #define Val_AtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkSocketClass' */ #define AtkStateSet_val(val) check_cast(ATK_STATE_SET,val) #define Val_AtkStateSet(val) Val_GObject((GObject*)val) #define Val_AtkStateSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkStateSetClass' */ /*TODO: conversion for record 'AtkStreamableContentIface' */ /*TODO: conversion for record 'AtkTableIface' */ /*TODO: conversion for record 'AtkTextIface' */ /*TODO: conversion for record 'AtkTextRange' */ /*TODO: conversion for record 'AtkTextRectangle' */ #define AtkUtil_val(val) check_cast(ATK_UTIL,val) #define Val_AtkUtil(val) Val_GObject((GObject*)val) #define Val_AtkUtil_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkUtilClass' */ /*TODO: conversion for record 'AtkValueIface' */ /*TODO: conversion for record '_AtkPropertyValues' */ /*TODO: conversion for record '_AtkRegistry' */ /*TODO: conversion for record '_AtkRegistryClass' */ /*TODO: conversion for record 'GModule' */ /*TODO: conversion for record 'GActionGroupInterface' */ /*TODO: conversion for record 'GActionInterface' */ /*TODO: conversion for record 'GAppInfoIface' */ #define GAppLaunchContext_val(val) check_cast(G_APP_LAUNCH_CONTEXT,val) #define Val_GAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GAppLaunchContextClass' */ /*TODO: conversion for record 'GAppLaunchContextPrivate' */ #define GApplication_val(val) check_cast(G_APPLICATION,val) #define Val_GApplication(val) Val_GObject((GObject*)val) #define Val_GApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationClass' */ #define GApplicationCommandLine_val(val) check_cast(G_APPLICATION_COMMAND_LINE,val) #define Val_GApplicationCommandLine(val) Val_GObject((GObject*)val) #define Val_GApplicationCommandLine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationCommandLineClass' */ /*TODO: conversion for record 'GApplicationCommandLinePrivate' */ /*TODO: conversion for record 'GApplicationPrivate' */ /*TODO: conversion for record 'GAsyncInitableIface' */ /*TODO: conversion for record 'GAsyncResultIface' */ #define GBufferedInputStream_val(val) check_cast(G_BUFFERED_INPUT_STREAM,val) #define Val_GBufferedInputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedInputStreamClass' */ /*TODO: conversion for record 'GBufferedInputStreamPrivate' */ #define GBufferedOutputStream_val(val) check_cast(G_BUFFERED_OUTPUT_STREAM,val) #define Val_GBufferedOutputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedOutputStreamClass' */ /*TODO: conversion for record 'GBufferedOutputStreamPrivate' */ #define GCancellable_val(val) check_cast(G_CANCELLABLE,val) #define Val_GCancellable(val) Val_GObject((GObject*)val) #define Val_GCancellable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCancellableClass' */ /*TODO: conversion for record 'GCancellablePrivate' */ #define GCharsetConverter_val(val) check_cast(G_CHARSET_CONVERTER,val) #define Val_GCharsetConverter(val) Val_GObject((GObject*)val) #define Val_GCharsetConverter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCharsetConverterClass' */ /*TODO: conversion for record 'GConverterIface' */ #define GConverterInputStream_val(val) check_cast(G_CONVERTER_INPUT_STREAM,val) #define Val_GConverterInputStream(val) Val_GObject((GObject*)val) #define Val_GConverterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterInputStreamClass' */ /*TODO: conversion for record 'GConverterInputStreamPrivate' */ #define GConverterOutputStream_val(val) check_cast(G_CONVERTER_OUTPUT_STREAM,val) #define Val_GConverterOutputStream(val) Val_GObject((GObject*)val) #define Val_GConverterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterOutputStreamClass' */ /*TODO: conversion for record 'GConverterOutputStreamPrivate' */ #define GCredentials_val(val) check_cast(G_CREDENTIALS,val) #define Val_GCredentials(val) Val_GObject((GObject*)val) #define Val_GCredentials_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCredentialsClass' */ /*TODO: conversion for record 'GDBusAnnotationInfo' */ /*TODO: conversion for record 'GDBusArgInfo' */ #define GDBusAuthObserver_val(val) check_cast(G_D_BUS_AUTH_OBSERVER,val) #define Val_GDBusAuthObserver(val) Val_GObject((GObject*)val) #define Val_GDBusAuthObserver_new(val) Val_GObject_new((GObject*)val) #define GDBusConnection_val(val) check_cast(G_D_BUS_CONNECTION,val) #define Val_GDBusConnection(val) Val_GObject((GObject*)val) #define Val_GDBusConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusErrorEntry' */ /*TODO: conversion for record 'GDBusInterfaceInfo' */ /*TODO: conversion for record 'GDBusInterfaceVTable' */ #define GDBusMessage_val(val) check_cast(G_D_BUS_MESSAGE,val) #define Val_GDBusMessage(val) Val_GObject((GObject*)val) #define Val_GDBusMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusMethodInfo' */ #define GDBusMethodInvocation_val(val) check_cast(G_D_BUS_METHOD_INVOCATION,val) #define Val_GDBusMethodInvocation(val) Val_GObject((GObject*)val) #define Val_GDBusMethodInvocation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusNodeInfo' */ /*TODO: conversion for record 'GDBusPropertyInfo' */ #define GDBusProxy_val(val) check_cast(G_D_BUS_PROXY,val) #define Val_GDBusProxy(val) Val_GObject((GObject*)val) #define Val_GDBusProxy_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusProxyClass' */ /*TODO: conversion for record 'GDBusProxyPrivate' */ #define GDBusServer_val(val) check_cast(G_D_BUS_SERVER,val) #define Val_GDBusServer(val) Val_GObject((GObject*)val) #define Val_GDBusServer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusSignalInfo' */ /*TODO: conversion for record 'GDBusSubtreeVTable' */ #define GDataInputStream_val(val) check_cast(G_DATA_INPUT_STREAM,val) #define Val_GDataInputStream(val) Val_GObject((GObject*)val) #define Val_GDataInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataInputStreamClass' */ /*TODO: conversion for record 'GDataInputStreamPrivate' */ #define GDataOutputStream_val(val) check_cast(G_DATA_OUTPUT_STREAM,val) #define Val_GDataOutputStream(val) Val_GObject((GObject*)val) #define Val_GDataOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataOutputStreamClass' */ /*TODO: conversion for record 'GDataOutputStreamPrivate' */ #define GDesktopAppInfo_val(val) check_cast(G_DESKTOP_APP_INFO,val) #define Val_GDesktopAppInfo(val) Val_GObject((GObject*)val) #define Val_GDesktopAppInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDesktopAppInfoClass' */ /*TODO: conversion for record 'GDesktopAppInfoLaunchHandlerIface' */ /*TODO: conversion for record 'GDesktopAppInfoLookupIface' */ /*TODO: conversion for record 'GDriveIface' */ #define GEmblem_val(val) check_cast(G_EMBLEM,val) #define Val_GEmblem(val) Val_GObject((GObject*)val) #define Val_GEmblem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemClass' */ #define GEmblemedIcon_val(val) check_cast(G_EMBLEMED_ICON,val) #define Val_GEmblemedIcon(val) Val_GObject((GObject*)val) #define Val_GEmblemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemedIconClass' */ /*TODO: conversion for record 'GEmblemedIconPrivate' */ /*TODO: conversion for record 'GFileAttributeInfo' */ /*TODO: conversion for record 'GFileAttributeInfoList' */ /*TODO: conversion for record 'GFileAttributeMatcher' */ /*TODO: conversion for record 'GFileDescriptorBasedIface' */ #define GFileEnumerator_val(val) check_cast(G_FILE_ENUMERATOR,val) #define Val_GFileEnumerator(val) Val_GObject((GObject*)val) #define Val_GFileEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileEnumeratorClass' */ /*TODO: conversion for record 'GFileEnumeratorPrivate' */ #define GFileIOStream_val(val) check_cast(G_FILE_I_O_STREAM,val) #define Val_GFileIOStream(val) Val_GObject((GObject*)val) #define Val_GFileIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIOStreamClass' */ /*TODO: conversion for record 'GFileIOStreamPrivate' */ #define GFileIcon_val(val) check_cast(G_FILE_ICON,val) #define Val_GFileIcon(val) Val_GObject((GObject*)val) #define Val_GFileIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIconClass' */ /*TODO: conversion for record 'GFileIface' */ #define GFileInfo_val(val) check_cast(G_FILE_INFO,val) #define Val_GFileInfo(val) Val_GObject((GObject*)val) #define Val_GFileInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInfoClass' */ #define GFileInputStream_val(val) check_cast(G_FILE_INPUT_STREAM,val) #define Val_GFileInputStream(val) Val_GObject((GObject*)val) #define Val_GFileInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInputStreamClass' */ /*TODO: conversion for record 'GFileInputStreamPrivate' */ #define GFileMonitor_val(val) check_cast(G_FILE_MONITOR,val) #define Val_GFileMonitor(val) Val_GObject((GObject*)val) #define Val_GFileMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileMonitorClass' */ /*TODO: conversion for record 'GFileMonitorPrivate' */ #define GFileOutputStream_val(val) check_cast(G_FILE_OUTPUT_STREAM,val) #define Val_GFileOutputStream(val) Val_GObject((GObject*)val) #define Val_GFileOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileOutputStreamClass' */ /*TODO: conversion for record 'GFileOutputStreamPrivate' */ #define GFilenameCompleter_val(val) check_cast(G_FILENAME_COMPLETER,val) #define Val_GFilenameCompleter(val) Val_GObject((GObject*)val) #define Val_GFilenameCompleter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilenameCompleterClass' */ #define GFilterInputStream_val(val) check_cast(G_FILTER_INPUT_STREAM,val) #define Val_GFilterInputStream(val) Val_GObject((GObject*)val) #define Val_GFilterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterInputStreamClass' */ #define GFilterOutputStream_val(val) check_cast(G_FILTER_OUTPUT_STREAM,val) #define Val_GFilterOutputStream(val) Val_GObject((GObject*)val) #define Val_GFilterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterOutputStreamClass' */ /*TODO: conversion for record 'GIOExtension' */ /*TODO: conversion for record 'GIOExtensionPoint' */ #define GIOModule_val(val) check_cast(G_I_O_MODULE,val) #define Val_GIOModule(val) Val_GObject((GObject*)val) #define Val_GIOModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOModuleClass' */ /*TODO: conversion for record 'GIOSchedulerJob' */ #define GIOStream_val(val) check_cast(G_I_O_STREAM,val) #define Val_GIOStream(val) Val_GObject((GObject*)val) #define Val_GIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOStreamAdapter' */ /*TODO: conversion for record 'GIOStreamClass' */ /*TODO: conversion for record 'GIOStreamPrivate' */ /*TODO: conversion for record 'GIconIface' */ #define GInetAddress_val(val) check_cast(G_INET_ADDRESS,val) #define Val_GInetAddress(val) Val_GObject((GObject*)val) #define Val_GInetAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetAddressClass' */ /*TODO: conversion for record 'GInetAddressPrivate' */ #define GInetSocketAddress_val(val) check_cast(G_INET_SOCKET_ADDRESS,val) #define Val_GInetSocketAddress(val) Val_GObject((GObject*)val) #define Val_GInetSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetSocketAddressClass' */ /*TODO: conversion for record 'GInetSocketAddressPrivate' */ /*TODO: conversion for record 'GInitableIface' */ #define GInputStream_val(val) check_cast(G_INPUT_STREAM,val) #define Val_GInputStream(val) Val_GObject((GObject*)val) #define Val_GInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInputStreamClass' */ /*TODO: conversion for record 'GInputStreamPrivate' */ /*TODO: conversion for record 'GInputVector' */ /*TODO: conversion for record 'GLoadableIconIface' */ #define GMemoryInputStream_val(val) check_cast(G_MEMORY_INPUT_STREAM,val) #define Val_GMemoryInputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryInputStreamClass' */ /*TODO: conversion for record 'GMemoryInputStreamPrivate' */ #define GMemoryOutputStream_val(val) check_cast(G_MEMORY_OUTPUT_STREAM,val) #define Val_GMemoryOutputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryOutputStreamClass' */ /*TODO: conversion for record 'GMemoryOutputStreamPrivate' */ /*TODO: conversion for record 'GMountIface' */ #define GMountOperation_val(val) check_cast(G_MOUNT_OPERATION,val) #define Val_GMountOperation(val) Val_GObject((GObject*)val) #define Val_GMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMountOperationClass' */ /*TODO: conversion for record 'GMountOperationPrivate' */ #define GNativeVolumeMonitor_val(val) check_cast(G_NATIVE_VOLUME_MONITOR,val) #define Val_GNativeVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GNativeVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNativeVolumeMonitorClass' */ #define GNetworkAddress_val(val) check_cast(G_NETWORK_ADDRESS,val) #define Val_GNetworkAddress(val) Val_GObject((GObject*)val) #define Val_GNetworkAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkAddressClass' */ /*TODO: conversion for record 'GNetworkAddressPrivate' */ #define GNetworkService_val(val) check_cast(G_NETWORK_SERVICE,val) #define Val_GNetworkService(val) Val_GObject((GObject*)val) #define Val_GNetworkService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkServiceClass' */ /*TODO: conversion for record 'GNetworkServicePrivate' */ #define GOutputStream_val(val) check_cast(G_OUTPUT_STREAM,val) #define Val_GOutputStream(val) Val_GObject((GObject*)val) #define Val_GOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GOutputStreamClass' */ /*TODO: conversion for record 'GOutputStreamPrivate' */ /*TODO: conversion for record 'GOutputVector' */ #define GPermission_val(val) check_cast(G_PERMISSION,val) #define Val_GPermission(val) Val_GObject((GObject*)val) #define Val_GPermission_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GPermissionClass' */ /*TODO: conversion for record 'GPermissionPrivate' */ /*TODO: conversion for record 'GPollableInputStreamInterface' */ /*TODO: conversion for record 'GPollableOutputStreamInterface' */ #define GProxyAddress_val(val) check_cast(G_PROXY_ADDRESS,val) #define Val_GProxyAddress(val) Val_GObject((GObject*)val) #define Val_GProxyAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressClass' */ #define GProxyAddressEnumerator_val(val) check_cast(G_PROXY_ADDRESS_ENUMERATOR,val) #define Val_GProxyAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GProxyAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressEnumeratorClass' */ /*TODO: conversion for record 'GProxyAddressEnumeratorPrivate' */ /*TODO: conversion for record 'GProxyAddressPrivate' */ /*TODO: conversion for record 'GProxyInterface' */ /*TODO: conversion for record 'GProxyResolverInterface' */ #define GResolver_val(val) check_cast(G_RESOLVER,val) #define Val_GResolver(val) Val_GObject((GObject*)val) #define Val_GResolver_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GResolverClass' */ /*TODO: conversion for record 'GResolverPrivate' */ /*TODO: conversion for record 'GSeekableIface' */ #define GSettings_val(val) check_cast(G_SETTINGS,val) #define Val_GSettings(val) Val_GObject((GObject*)val) #define Val_GSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSettingsBackend' */ /*TODO: conversion for record 'GSettingsClass' */ /*TODO: conversion for record 'GSettingsPrivate' */ #define GSimpleAction_val(val) check_cast(G_SIMPLE_ACTION,val) #define Val_GSimpleAction(val) Val_GObject((GObject*)val) #define Val_GSimpleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionClass' */ #define GSimpleActionGroup_val(val) check_cast(G_SIMPLE_ACTION_GROUP,val) #define Val_GSimpleActionGroup(val) Val_GObject((GObject*)val) #define Val_GSimpleActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionGroupClass' */ /*TODO: conversion for record 'GSimpleActionGroupPrivate' */ /*TODO: conversion for record 'GSimpleActionPrivate' */ #define GSimpleAsyncResult_val(val) check_cast(G_SIMPLE_ASYNC_RESULT,val) #define Val_GSimpleAsyncResult(val) Val_GObject((GObject*)val) #define Val_GSimpleAsyncResult_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleAsyncResultClass' */ #define GSimplePermission_val(val) check_cast(G_SIMPLE_PERMISSION,val) #define Val_GSimplePermission(val) Val_GObject((GObject*)val) #define Val_GSimplePermission_new(val) Val_GObject_new((GObject*)val) #define GSocket_val(val) check_cast(G_SOCKET,val) #define Val_GSocket(val) Val_GObject((GObject*)val) #define Val_GSocket_new(val) Val_GObject_new((GObject*)val) #define GSocketAddress_val(val) check_cast(G_SOCKET_ADDRESS,val) #define Val_GSocketAddress(val) Val_GObject((GObject*)val) #define Val_GSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressClass' */ #define GSocketAddressEnumerator_val(val) check_cast(G_SOCKET_ADDRESS_ENUMERATOR,val) #define Val_GSocketAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GSocketAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressEnumeratorClass' */ /*TODO: conversion for record 'GSocketClass' */ #define GSocketClient_val(val) check_cast(G_SOCKET_CLIENT,val) #define Val_GSocketClient(val) Val_GObject((GObject*)val) #define Val_GSocketClient_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketClientClass' */ /*TODO: conversion for record 'GSocketClientPrivate' */ /*TODO: conversion for record 'GSocketConnectableIface' */ #define GSocketConnection_val(val) check_cast(G_SOCKET_CONNECTION,val) #define Val_GSocketConnection(val) Val_GObject((GObject*)val) #define Val_GSocketConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketConnectionClass' */ /*TODO: conversion for record 'GSocketConnectionPrivate' */ #define GSocketControlMessage_val(val) check_cast(G_SOCKET_CONTROL_MESSAGE,val) #define Val_GSocketControlMessage(val) Val_GObject((GObject*)val) #define Val_GSocketControlMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketControlMessageClass' */ /*TODO: conversion for record 'GSocketControlMessagePrivate' */ #define GSocketListener_val(val) check_cast(G_SOCKET_LISTENER,val) #define Val_GSocketListener(val) Val_GObject((GObject*)val) #define Val_GSocketListener_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketListenerClass' */ /*TODO: conversion for record 'GSocketListenerPrivate' */ /*TODO: conversion for record 'GSocketPrivate' */ #define GSocketService_val(val) check_cast(G_SOCKET_SERVICE,val) #define Val_GSocketService(val) Val_GObject((GObject*)val) #define Val_GSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketServiceClass' */ /*TODO: conversion for record 'GSocketServicePrivate' */ /*TODO: conversion for record 'GSrvTarget' */ #define GTcpConnection_val(val) check_cast(G_TCP_CONNECTION,val) #define Val_GTcpConnection(val) Val_GObject((GObject*)val) #define Val_GTcpConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpConnectionClass' */ /*TODO: conversion for record 'GTcpConnectionPrivate' */ #define GTcpWrapperConnection_val(val) check_cast(G_TCP_WRAPPER_CONNECTION,val) #define Val_GTcpWrapperConnection(val) Val_GObject((GObject*)val) #define Val_GTcpWrapperConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpWrapperConnectionClass' */ /*TODO: conversion for record 'GTcpWrapperConnectionPrivate' */ #define GThemedIcon_val(val) check_cast(G_THEMED_ICON,val) #define Val_GThemedIcon(val) Val_GObject((GObject*)val) #define Val_GThemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThemedIconClass' */ #define GThreadedSocketService_val(val) check_cast(G_THREADED_SOCKET_SERVICE,val) #define Val_GThreadedSocketService(val) Val_GObject((GObject*)val) #define Val_GThreadedSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThreadedSocketServiceClass' */ /*TODO: conversion for record 'GThreadedSocketServicePrivate' */ /*TODO: conversion for record 'GTlsBackendInterface' */ #define GTlsCertificate_val(val) check_cast(G_TLS_CERTIFICATE,val) #define Val_GTlsCertificate(val) Val_GObject((GObject*)val) #define Val_GTlsCertificate_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsCertificateClass' */ /*TODO: conversion for record 'GTlsCertificatePrivate' */ /*TODO: conversion for record 'GTlsClientConnectionInterface' */ /*TODO: conversion for record 'GTlsClientContext' */ #define GTlsConnection_val(val) check_cast(G_TLS_CONNECTION,val) #define Val_GTlsConnection(val) Val_GObject((GObject*)val) #define Val_GTlsConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsConnectionClass' */ /*TODO: conversion for record 'GTlsConnectionPrivate' */ /*TODO: conversion for record 'GTlsContext' */ /*TODO: conversion for record 'GTlsServerConnectionInterface' */ /*TODO: conversion for record 'GTlsServerContext' */ #define GUnixConnection_val(val) check_cast(G_UNIX_CONNECTION,val) #define Val_GUnixConnection(val) Val_GObject((GObject*)val) #define Val_GUnixConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixConnectionClass' */ /*TODO: conversion for record 'GUnixConnectionPrivate' */ #define GUnixCredentialsMessage_val(val) check_cast(G_UNIX_CREDENTIALS_MESSAGE,val) #define Val_GUnixCredentialsMessage(val) Val_GObject((GObject*)val) #define Val_GUnixCredentialsMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixCredentialsMessageClass' */ /*TODO: conversion for record 'GUnixCredentialsMessagePrivate' */ #define GUnixFDList_val(val) check_cast(G_UNIX_F_D_LIST,val) #define Val_GUnixFDList(val) Val_GObject((GObject*)val) #define Val_GUnixFDList_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDListClass' */ /*TODO: conversion for record 'GUnixFDListPrivate' */ #define GUnixFDMessage_val(val) check_cast(G_UNIX_F_D_MESSAGE,val) #define Val_GUnixFDMessage(val) Val_GObject((GObject*)val) #define Val_GUnixFDMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDMessageClass' */ /*TODO: conversion for record 'GUnixFDMessagePrivate' */ #define GUnixInputStream_val(val) check_cast(G_UNIX_INPUT_STREAM,val) #define Val_GUnixInputStream(val) Val_GObject((GObject*)val) #define Val_GUnixInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixInputStreamClass' */ /*TODO: conversion for record 'GUnixInputStreamPrivate' */ /*TODO: conversion for record 'GUnixMountEntry' */ #define GUnixMountMonitor_val(val) check_cast(G_UNIX_MOUNT_MONITOR,val) #define Val_GUnixMountMonitor(val) Val_GObject((GObject*)val) #define Val_GUnixMountMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixMountMonitorClass' */ /*TODO: conversion for record 'GUnixMountPoint' */ #define GUnixOutputStream_val(val) check_cast(G_UNIX_OUTPUT_STREAM,val) #define Val_GUnixOutputStream(val) Val_GObject((GObject*)val) #define Val_GUnixOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixOutputStreamClass' */ /*TODO: conversion for record 'GUnixOutputStreamPrivate' */ #define GUnixSocketAddress_val(val) check_cast(G_UNIX_SOCKET_ADDRESS,val) #define Val_GUnixSocketAddress(val) Val_GObject((GObject*)val) #define Val_GUnixSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixSocketAddressClass' */ /*TODO: conversion for record 'GUnixSocketAddressPrivate' */ #define GVfs_val(val) check_cast(G_VFS,val) #define Val_GVfs(val) Val_GObject((GObject*)val) #define Val_GVfs_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVfsClass' */ /*TODO: conversion for record 'GVolumeIface' */ #define GVolumeMonitor_val(val) check_cast(G_VOLUME_MONITOR,val) #define Val_GVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVolumeMonitorClass' */ #define GZlibCompressor_val(val) check_cast(G_ZLIB_COMPRESSOR,val) #define Val_GZlibCompressor(val) Val_GObject((GObject*)val) #define Val_GZlibCompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibCompressorClass' */ #define GZlibDecompressor_val(val) check_cast(G_ZLIB_DECOMPRESSOR,val) #define Val_GZlibDecompressor(val) Val_GObject((GObject*)val) #define Val_GZlibDecompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibDecompressorClass' */ #define GdkPixbuf_val(val) check_cast(GDK_PIXBUF,val) #define Val_GdkPixbuf(val) Val_GObject((GObject*)val) #define Val_GdkPixbuf_new(val) Val_GObject_new((GObject*)val) #define GdkPixbufAnimation_val(val) check_cast(GDK_PIXBUF_ANIMATION,val) #define Val_GdkPixbufAnimation(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationClass' */ #define GdkPixbufAnimationIter_val(val) check_cast(GDK_PIXBUF_ANIMATION_ITER,val) #define Val_GdkPixbufAnimationIter(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimationIter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationIterClass' */ /*TODO: conversion for record 'GdkPixbufFormat' */ #define GdkPixbufLoader_val(val) check_cast(GDK_PIXBUF_LOADER,val) #define Val_GdkPixbufLoader(val) Val_GObject((GObject*)val) #define Val_GdkPixbufLoader_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufLoaderClass' */ /*TODO: conversion for record 'GdkPixbufModule' */ /*TODO: conversion for record 'GdkPixbufModulePattern' */ #define GdkPixbufSimpleAnim_val(val) check_cast(GDK_PIXBUF_SIMPLE_ANIM,val) #define Val_GdkPixbufSimpleAnim(val) Val_GObject((GObject*)val) #define Val_GdkPixbufSimpleAnim_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufSimpleAnimClass' */ /*TODO: conversion for record 'GdkPixdata' */ /*TODO: conversion for record 'cairo_t' */ /*TODO: conversion for record 'cairo_surface_t' */ /*TODO: conversion for record 'cairo_matrix_t' */ /*TODO: conversion for record 'cairo_pattern_t' */ /*TODO: conversion for record 'cairo_region_t' */ /*TODO: conversion for record 'cairo_font_options_t' */ /*TODO: conversion for record 'cairo_font_type_t' */ /*TODO: conversion for record 'cairo_font_face_t' */ /*TODO: conversion for record 'cairo_scaled_font_t' */ /*TODO: conversion for record 'cairo_path_t' */ /*TODO: conversion for record 'cairo_rectangle_int_t' */ /*TODO: conversion for record 'PangoAnalysis' */ /*TODO: conversion for record 'PangoAttrClass' */ /*TODO: conversion for record 'PangoAttrColor' */ /*TODO: conversion for record 'PangoAttrFloat' */ /*TODO: conversion for record 'PangoAttrFontDesc' */ /*TODO: conversion for record 'PangoAttrInt' */ /*TODO: conversion for record 'PangoAttrIterator' */ /*TODO: conversion for record 'PangoAttrLanguage' */ /*TODO: conversion for record 'PangoAttrList' */ /*TODO: conversion for record 'PangoAttrShape' */ /*TODO: conversion for record 'PangoAttrSize' */ /*TODO: conversion for record 'PangoAttrString' */ /*TODO: conversion for record 'PangoAttribute' */ /*TODO: conversion for record 'PangoColor' */ #define PangoContext_val(val) check_cast(PANGO_CONTEXT,val) #define Val_PangoContext(val) Val_GObject((GObject*)val) #define Val_PangoContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoContextClass' */ /*TODO: conversion for record 'PangoCoverage' */ /*TODO: conversion for record 'PangoEngineLang' */ /*TODO: conversion for record 'PangoEngineShape' */ #define PangoFont_val(val) check_cast(PANGO_FONT,val) #define Val_PangoFont(val) Val_GObject((GObject*)val) #define Val_PangoFont_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontDescription' */ #define PangoFontFace_val(val) check_cast(PANGO_FONT_FACE,val) #define Val_PangoFontFace(val) Val_GObject((GObject*)val) #define Val_PangoFontFace_new(val) Val_GObject_new((GObject*)val) #define PangoFontFamily_val(val) check_cast(PANGO_FONT_FAMILY,val) #define Val_PangoFontFamily(val) Val_GObject((GObject*)val) #define Val_PangoFontFamily_new(val) Val_GObject_new((GObject*)val) #define PangoFontMap_val(val) check_cast(PANGO_FONT_MAP,val) #define Val_PangoFontMap(val) Val_GObject((GObject*)val) #define Val_PangoFontMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontMetrics' */ #define PangoFontset_val(val) check_cast(PANGO_FONTSET,val) #define Val_PangoFontset(val) Val_GObject((GObject*)val) #define Val_PangoFontset_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoGlyphGeometry' */ /*TODO: conversion for record 'PangoGlyphInfo' */ /*TODO: conversion for record 'PangoGlyphItem' */ /*TODO: conversion for record 'PangoGlyphItemIter' */ /*TODO: conversion for record 'PangoGlyphString' */ /*TODO: conversion for record 'PangoGlyphVisAttr' */ /*TODO: conversion for record 'PangoItem' */ /*TODO: conversion for record 'PangoLanguage' */ #define PangoLayout_val(val) check_cast(PANGO_LAYOUT,val) #define Val_PangoLayout(val) Val_GObject((GObject*)val) #define Val_PangoLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoLayoutClass' */ /*TODO: conversion for record 'PangoLayoutIter' */ /*TODO: conversion for record 'PangoLayoutLine' */ /*TODO: conversion for record 'PangoLogAttr' */ /*TODO: conversion for record 'PangoMatrix' */ /*TODO: conversion for record 'PangoRectangle' */ #define PangoRenderer_val(val) check_cast(PANGO_RENDERER,val) #define Val_PangoRenderer(val) Val_GObject((GObject*)val) #define Val_PangoRenderer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoRendererClass' */ /*TODO: conversion for record 'PangoRendererPrivate' */ /*TODO: conversion for record 'PangoScriptIter' */ /*TODO: conversion for record 'PangoTabArray' */ /*TODO: conversion for record '_PangoScriptForLang' */ #define GdkAppLaunchContext_val(val) check_cast(GDK_APP_LAUNCH_CONTEXT,val) #define Val_GdkAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GdkAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkAtom' */ /*TODO: conversion for record 'GdkColor' */ #define GdkCursor_val(val) check_cast(GDK_CURSOR,val) #define Val_GdkCursor(val) Val_GObject((GObject*)val) #define Val_GdkCursor_new(val) Val_GObject_new((GObject*)val) #define GdkDevice_val(val) check_cast(GDK_DEVICE,val) #define Val_GdkDevice(val) Val_GObject((GObject*)val) #define Val_GdkDevice_new(val) Val_GObject_new((GObject*)val) #define GdkDeviceManager_val(val) check_cast(GDK_DEVICE_MANAGER,val) #define Val_GdkDeviceManager(val) Val_GObject((GObject*)val) #define Val_GdkDeviceManager_new(val) Val_GObject_new((GObject*)val) #define GdkDisplay_val(val) check_cast(GDK_DISPLAY_OBJECT,val) #define Val_GdkDisplay(val) Val_GObject((GObject*)val) #define Val_GdkDisplay_new(val) Val_GObject_new((GObject*)val) #define GdkDisplayManager_val(val) check_cast(GDK_DISPLAY_MANAGER,val) #define Val_GdkDisplayManager(val) Val_GObject((GObject*)val) #define Val_GdkDisplayManager_new(val) Val_GObject_new((GObject*)val) #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val) #define Val_GdkDragContext(val) Val_GObject((GObject*)val) #define Val_GdkDragContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkEventAny' */ /*TODO: conversion for record 'GdkEventButton' */ /*TODO: conversion for record 'GdkEventConfigure' */ /*TODO: conversion for record 'GdkEventCrossing' */ /*TODO: conversion for record 'GdkEventDND' */ /*TODO: conversion for record 'GdkEventExpose' */ /*TODO: conversion for record 'GdkEventFocus' */ /*TODO: conversion for record 'GdkEventGrabBroken' */ /*TODO: conversion for record 'GdkEventKey' */ /*TODO: conversion for record 'GdkEventMotion' */ /*TODO: conversion for record 'GdkEventOwnerChange' */ /*TODO: conversion for record 'GdkEventProperty' */ /*TODO: conversion for record 'GdkEventProximity' */ /*TODO: conversion for record 'GdkEventScroll' */ /*TODO: conversion for record 'GdkEventSelection' */ /*TODO: conversion for record 'GdkEventSetting' */ /*TODO: conversion for record 'GdkEventVisibility' */ /*TODO: conversion for record 'GdkEventWindowState' */ /*TODO: conversion for record 'GdkGeometry' */ #define GdkKeymap_val(val) check_cast(GDK_KEYMAP,val) #define Val_GdkKeymap(val) Val_GObject((GObject*)val) #define Val_GdkKeymap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkKeymapKey' */ /*TODO: conversion for record 'GdkPoint' */ /*TODO: conversion for record 'GdkRGBA' */ #define GdkScreen_val(val) check_cast(GDK_SCREEN,val) #define Val_GdkScreen(val) Val_GObject((GObject*)val) #define Val_GdkScreen_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkTimeCoord' */ #define GdkVisual_val(val) check_cast(GDK_VISUAL,val) #define Val_GdkVisual(val) Val_GObject((GObject*)val) #define Val_GdkVisual_new(val) Val_GObject_new((GObject*)val) #define GdkWindow_val(val) check_cast(GDK_WINDOW,val) #define Val_GdkWindow(val) Val_GObject((GObject*)val) #define Val_GdkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkWindowAttr' */ /*TODO: conversion for record 'GdkWindowClass' */ /*TODO: conversion for record 'GdkWindowRedirect' */ #define GtkAboutDialog_val(val) check_cast(GTK_ABOUT_DIALOG,val) #define Val_GtkAboutDialog(val) Val_GObject((GObject*)val) #define Val_GtkAboutDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAboutDialogClass' */ /*TODO: conversion for record 'GtkAboutDialogPrivate' */ #define GtkAccelGroup_val(val) check_cast(GTK_ACCEL_GROUP,val) #define Val_GtkAccelGroup(val) Val_GObject((GObject*)val) #define Val_GtkAccelGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelGroupClass' */ /*TODO: conversion for record 'GtkAccelGroupEntry' */ /*TODO: conversion for record 'GtkAccelGroupPrivate' */ /*TODO: conversion for record 'GtkAccelKey' */ #define GtkAccelLabel_val(val) check_cast(GTK_ACCEL_LABEL,val) #define Val_GtkAccelLabel(val) Val_GObject((GObject*)val) #define Val_GtkAccelLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelLabelClass' */ /*TODO: conversion for record 'GtkAccelLabelPrivate' */ #define GtkAccelMap_val(val) check_cast(GTK_ACCEL_MAP,val) #define Val_GtkAccelMap(val) Val_GObject((GObject*)val) #define Val_GtkAccelMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelMapClass' */ #define GtkAccessible_val(val) check_cast(GTK_ACCESSIBLE,val) #define Val_GtkAccessible(val) Val_GObject((GObject*)val) #define Val_GtkAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccessibleClass' */ /*TODO: conversion for record 'GtkAccessiblePrivate' */ #define GtkAction_val(val) check_cast(GTK_ACTION,val) #define Val_GtkAction(val) Val_GObject((GObject*)val) #define Val_GtkAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionClass' */ /*TODO: conversion for record 'GtkActionEntry' */ #define GtkActionGroup_val(val) check_cast(GTK_ACTION_GROUP,val) #define Val_GtkActionGroup(val) Val_GObject((GObject*)val) #define Val_GtkActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionGroupClass' */ /*TODO: conversion for record 'GtkActionGroupPrivate' */ /*TODO: conversion for record 'GtkActionPrivate' */ /*TODO: conversion for record 'GtkActivatableIface' */ #define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val) #define Val_GtkAdjustment(val) Val_GObject((GObject*)val) #define Val_GtkAdjustment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAdjustmentClass' */ /*TODO: conversion for record 'GtkAdjustmentPrivate' */ #define GtkAlignment_val(val) check_cast(GTK_ALIGNMENT,val) #define Val_GtkAlignment(val) Val_GObject((GObject*)val) #define Val_GtkAlignment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAlignmentClass' */ /*TODO: conversion for record 'GtkAlignmentPrivate' */ #define GtkAppChooserButton_val(val) check_cast(GTK_APP_CHOOSER_BUTTON,val) #define Val_GtkAppChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserButtonClass' */ /*TODO: conversion for record 'GtkAppChooserButtonPrivate' */ #define GtkAppChooserDialog_val(val) check_cast(GTK_APP_CHOOSER_DIALOG,val) #define Val_GtkAppChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserDialogClass' */ /*TODO: conversion for record 'GtkAppChooserDialogPrivate' */ #define GtkAppChooserWidget_val(val) check_cast(GTK_APP_CHOOSER_WIDGET,val) #define Val_GtkAppChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserWidgetClass' */ /*TODO: conversion for record 'GtkAppChooserWidgetPrivate' */ #define GtkApplication_val(val) check_cast(GTK_APPLICATION,val) #define Val_GtkApplication(val) Val_GObject((GObject*)val) #define Val_GtkApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkApplicationClass' */ /*TODO: conversion for record 'GtkApplicationPrivate' */ #define GtkArrow_val(val) check_cast(GTK_ARROW,val) #define Val_GtkArrow(val) Val_GObject((GObject*)val) #define Val_GtkArrow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkArrowClass' */ /*TODO: conversion for record 'GtkArrowPrivate' */ #define GtkAspectFrame_val(val) check_cast(GTK_ASPECT_FRAME,val) #define Val_GtkAspectFrame(val) Val_GObject((GObject*)val) #define Val_GtkAspectFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAspectFrameClass' */ /*TODO: conversion for record 'GtkAspectFramePrivate' */ #define GtkAssistant_val(val) check_cast(GTK_ASSISTANT,val) #define Val_GtkAssistant(val) Val_GObject((GObject*)val) #define Val_GtkAssistant_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAssistantClass' */ /*TODO: conversion for record 'GtkAssistantPrivate' */ #define GtkBin_val(val) check_cast(GTK_BIN,val) #define Val_GtkBin(val) Val_GObject((GObject*)val) #define Val_GtkBin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBinClass' */ /*TODO: conversion for record 'GtkBinPrivate' */ /*TODO: conversion for record 'GtkBindingArg' */ /*TODO: conversion for record 'GtkBindingEntry' */ /*TODO: conversion for record 'GtkBindingSet' */ /*TODO: conversion for record 'GtkBindingSignal' */ /*TODO: conversion for record 'GtkBorder' */ #define GtkBox_val(val) check_cast(GTK_BOX,val) #define Val_GtkBox(val) Val_GObject((GObject*)val) #define Val_GtkBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBoxClass' */ /*TODO: conversion for record 'GtkBoxPrivate' */ /*TODO: conversion for record 'GtkBuildableIface' */ #define GtkBuilder_val(val) check_cast(GTK_BUILDER,val) #define Val_GtkBuilder(val) Val_GObject((GObject*)val) #define Val_GtkBuilder_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBuilderClass' */ /*TODO: conversion for record 'GtkBuilderPrivate' */ #define GtkButton_val(val) check_cast(GTK_BUTTON,val) #define Val_GtkButton(val) Val_GObject((GObject*)val) #define Val_GtkButton_new(val) Val_GObject_new((GObject*)val) #define GtkButtonBox_val(val) check_cast(GTK_BUTTON_BOX,val) #define Val_GtkButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkButtonBoxClass' */ /*TODO: conversion for record 'GtkButtonBoxPrivate' */ /*TODO: conversion for record 'GtkButtonClass' */ /*TODO: conversion for record 'GtkButtonPrivate' */ #define GtkCalendar_val(val) check_cast(GTK_CALENDAR,val) #define Val_GtkCalendar(val) Val_GObject((GObject*)val) #define Val_GtkCalendar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCalendarClass' */ /*TODO: conversion for record 'GtkCalendarPrivate' */ #define GtkCellArea_val(val) check_cast(GTK_CELL_AREA,val) #define Val_GtkCellArea(val) Val_GObject((GObject*)val) #define Val_GtkCellArea_new(val) Val_GObject_new((GObject*)val) #define GtkCellAreaBox_val(val) check_cast(GTK_CELL_AREA_BOX,val) #define Val_GtkCellAreaBox(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaBoxClass' */ /*TODO: conversion for record 'GtkCellAreaBoxPrivate' */ /*TODO: conversion for record 'GtkCellAreaClass' */ #define GtkCellAreaContext_val(val) check_cast(GTK_CELL_AREA_CONTEXT,val) #define Val_GtkCellAreaContext(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaContextClass' */ /*TODO: conversion for record 'GtkCellAreaContextPrivate' */ /*TODO: conversion for record 'GtkCellAreaPrivate' */ /*TODO: conversion for record 'GtkCellEditableIface' */ /*TODO: conversion for record 'GtkCellLayoutIface' */ #define GtkCellRenderer_val(val) check_cast(GTK_CELL_RENDERER,val) #define Val_GtkCellRenderer(val) Val_GObject((GObject*)val) #define Val_GtkCellRenderer_new(val) Val_GObject_new((GObject*)val) #define GtkCellRendererAccel_val(val) check_cast(GTK_CELL_RENDERER_ACCEL,val) #define Val_GtkCellRendererAccel(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererAccel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererAccelClass' */ /*TODO: conversion for record 'GtkCellRendererAccelPrivate' */ /*TODO: conversion for record 'GtkCellRendererClass' */ #define GtkCellRendererCombo_val(val) check_cast(GTK_CELL_RENDERER_COMBO,val) #define Val_GtkCellRendererCombo(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererCombo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererComboClass' */ /*TODO: conversion for record 'GtkCellRendererComboPrivate' */ #define GtkCellRendererPixbuf_val(val) check_cast(GTK_CELL_RENDERER_PIXBUF,val) #define Val_GtkCellRendererPixbuf(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererPixbuf_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererPixbufClass' */ /*TODO: conversion for record 'GtkCellRendererPixbufPrivate' */ /*TODO: conversion for record 'GtkCellRendererPrivate' */ #define GtkCellRendererProgress_val(val) check_cast(GTK_CELL_RENDERER_PROGRESS,val) #define Val_GtkCellRendererProgress(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererProgress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererProgressClass' */ /*TODO: conversion for record 'GtkCellRendererProgressPrivate' */ #define GtkCellRendererSpin_val(val) check_cast(GTK_CELL_RENDERER_SPIN,val) #define Val_GtkCellRendererSpin(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinClass' */ /*TODO: conversion for record 'GtkCellRendererSpinPrivate' */ #define GtkCellRendererSpinner_val(val) check_cast(GTK_CELL_RENDERER_SPINNER,val) #define Val_GtkCellRendererSpinner(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinnerClass' */ /*TODO: conversion for record 'GtkCellRendererSpinnerPrivate' */ #define GtkCellRendererText_val(val) check_cast(GTK_CELL_RENDERER_TEXT,val) #define Val_GtkCellRendererText(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererTextClass' */ /*TODO: conversion for record 'GtkCellRendererTextPrivate' */ #define GtkCellRendererToggle_val(val) check_cast(GTK_CELL_RENDERER_TOGGLE,val) #define Val_GtkCellRendererToggle(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererToggle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererToggleClass' */ /*TODO: conversion for record 'GtkCellRendererTogglePrivate' */ #define GtkCellView_val(val) check_cast(GTK_CELL_VIEW,val) #define Val_GtkCellView(val) Val_GObject((GObject*)val) #define Val_GtkCellView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellViewClass' */ /*TODO: conversion for record 'GtkCellViewPrivate' */ #define GtkCheckButton_val(val) check_cast(GTK_CHECK_BUTTON,val) #define Val_GtkCheckButton(val) Val_GObject((GObject*)val) #define Val_GtkCheckButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckButtonClass' */ #define GtkCheckMenuItem_val(val) check_cast(GTK_CHECK_MENU_ITEM,val) #define Val_GtkCheckMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkCheckMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckMenuItemClass' */ /*TODO: conversion for record 'GtkCheckMenuItemPrivate' */ #define GtkClipboard_val(val) check_cast(GTK_CLIPBOARD,val) #define Val_GtkClipboard(val) Val_GObject((GObject*)val) #define Val_GtkClipboard_new(val) Val_GObject_new((GObject*)val) #define GtkColorButton_val(val) check_cast(GTK_COLOR_BUTTON,val) #define Val_GtkColorButton(val) Val_GObject((GObject*)val) #define Val_GtkColorButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorButtonClass' */ /*TODO: conversion for record 'GtkColorButtonPrivate' */ #define GtkColorSelection_val(val) check_cast(GTK_COLOR_SELECTION,val) #define Val_GtkColorSelection(val) Val_GObject((GObject*)val) #define Val_GtkColorSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionClass' */ #define GtkColorSelectionDialog_val(val) check_cast(GTK_COLOR_SELECTION_DIALOG,val) #define Val_GtkColorSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkColorSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionDialogClass' */ /*TODO: conversion for record 'GtkColorSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkColorSelectionPrivate' */ #define GtkComboBox_val(val) check_cast(GTK_COMBO_BOX,val) #define Val_GtkComboBox(val) Val_GObject((GObject*)val) #define Val_GtkComboBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxClass' */ /*TODO: conversion for record 'GtkComboBoxPrivate' */ #define GtkComboBoxText_val(val) check_cast(GTK_COMBO_BOX_TEXT,val) #define Val_GtkComboBoxText(val) Val_GObject((GObject*)val) #define Val_GtkComboBoxText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxTextClass' */ /*TODO: conversion for record 'GtkComboBoxTextPrivate' */ #define GtkContainer_val(val) check_cast(GTK_CONTAINER,val) #define Val_GtkContainer(val) Val_GObject((GObject*)val) #define Val_GtkContainer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkContainerClass' */ /*TODO: conversion for record 'GtkContainerPrivate' */ #define GtkCssProvider_val(val) check_cast(GTK_CSS_PROVIDER,val) #define Val_GtkCssProvider(val) Val_GObject((GObject*)val) #define Val_GtkCssProvider_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCssProviderClass' */ #define GtkDialog_val(val) check_cast(GTK_DIALOG,val) #define Val_GtkDialog(val) Val_GObject((GObject*)val) #define Val_GtkDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDialogClass' */ /*TODO: conversion for record 'GtkDialogPrivate' */ #define GtkDrawingArea_val(val) check_cast(GTK_DRAWING_AREA,val) #define Val_GtkDrawingArea(val) Val_GObject((GObject*)val) #define Val_GtkDrawingArea_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDrawingAreaClass' */ /*TODO: conversion for record 'GtkEditableInterface' */ #define GtkEntry_val(val) check_cast(GTK_ENTRY,val) #define Val_GtkEntry(val) Val_GObject((GObject*)val) #define Val_GtkEntry_new(val) Val_GObject_new((GObject*)val) #define GtkEntryBuffer_val(val) check_cast(GTK_ENTRY_BUFFER,val) #define Val_GtkEntryBuffer(val) Val_GObject((GObject*)val) #define Val_GtkEntryBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryBufferClass' */ /*TODO: conversion for record 'GtkEntryBufferPrivate' */ /*TODO: conversion for record 'GtkEntryClass' */ #define GtkEntryCompletion_val(val) check_cast(GTK_ENTRY_COMPLETION,val) #define Val_GtkEntryCompletion(val) Val_GObject((GObject*)val) #define Val_GtkEntryCompletion_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryCompletionClass' */ /*TODO: conversion for record 'GtkEntryCompletionPrivate' */ /*TODO: conversion for record 'GtkEntryPrivate' */ #define GtkEventBox_val(val) check_cast(GTK_EVENT_BOX,val) #define Val_GtkEventBox(val) Val_GObject((GObject*)val) #define Val_GtkEventBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEventBoxClass' */ /*TODO: conversion for record 'GtkEventBoxPrivate' */ #define GtkExpander_val(val) check_cast(GTK_EXPANDER,val) #define Val_GtkExpander(val) Val_GObject((GObject*)val) #define Val_GtkExpander_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkExpanderClass' */ /*TODO: conversion for record 'GtkExpanderPrivate' */ #define GtkFileChooserButton_val(val) check_cast(GTK_FILE_CHOOSER_BUTTON,val) #define Val_GtkFileChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserButtonClass' */ /*TODO: conversion for record 'GtkFileChooserButtonPrivate' */ #define GtkFileChooserDialog_val(val) check_cast(GTK_FILE_CHOOSER_DIALOG,val) #define Val_GtkFileChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserDialogClass' */ /*TODO: conversion for record 'GtkFileChooserDialogPrivate' */ #define GtkFileChooserWidget_val(val) check_cast(GTK_FILE_CHOOSER_WIDGET,val) #define Val_GtkFileChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserWidgetClass' */ /*TODO: conversion for record 'GtkFileChooserWidgetPrivate' */ #define GtkFileFilter_val(val) check_cast(GTK_FILE_FILTER,val) #define Val_GtkFileFilter(val) Val_GObject((GObject*)val) #define Val_GtkFileFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileFilterInfo' */ #define GtkFixed_val(val) check_cast(GTK_FIXED,val) #define Val_GtkFixed(val) Val_GObject((GObject*)val) #define Val_GtkFixed_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFixedChild' */ /*TODO: conversion for record 'GtkFixedClass' */ /*TODO: conversion for record 'GtkFixedPrivate' */ #define GtkFontButton_val(val) check_cast(GTK_FONT_BUTTON,val) #define Val_GtkFontButton(val) Val_GObject((GObject*)val) #define Val_GtkFontButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontButtonClass' */ /*TODO: conversion for record 'GtkFontButtonPrivate' */ #define GtkFontSelection_val(val) check_cast(GTK_FONT_SELECTION,val) #define Val_GtkFontSelection(val) Val_GObject((GObject*)val) #define Val_GtkFontSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionClass' */ #define GtkFontSelectionDialog_val(val) check_cast(GTK_FONT_SELECTION_DIALOG,val) #define Val_GtkFontSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkFontSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionDialogClass' */ /*TODO: conversion for record 'GtkFontSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkFontSelectionPrivate' */ #define GtkFrame_val(val) check_cast(GTK_FRAME,val) #define Val_GtkFrame(val) Val_GObject((GObject*)val) #define Val_GtkFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFrameClass' */ /*TODO: conversion for record 'GtkFramePrivate' */ /*TODO: conversion for record 'GtkGradient' */ #define GtkGrid_val(val) check_cast(GTK_GRID,val) #define Val_GtkGrid(val) Val_GObject((GObject*)val) #define Val_GtkGrid_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkGridClass' */ /*TODO: conversion for record 'GtkGridPrivate' */ #define GtkHBox_val(val) check_cast(GTK_H_BOX,val) #define Val_GtkHBox(val) Val_GObject((GObject*)val) #define Val_GtkHBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHBoxClass' */ #define GtkHButtonBox_val(val) check_cast(GTK_H_BUTTON_BOX,val) #define Val_GtkHButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkHButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHButtonBoxClass' */ #define GtkHPaned_val(val) check_cast(GTK_H_PANED,val) #define Val_GtkHPaned(val) Val_GObject((GObject*)val) #define Val_GtkHPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHPanedClass' */ #define GtkHSV_val(val) check_cast(GTK_HSV,val) #define Val_GtkHSV(val) Val_GObject((GObject*)val) #define Val_GtkHSV_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSVClass' */ /*TODO: conversion for record 'GtkHSVPrivate' */ #define GtkHScale_val(val) check_cast(GTK_H_SCALE,val) #define Val_GtkHScale(val) Val_GObject((GObject*)val) #define Val_GtkHScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScaleClass' */ #define GtkHScrollbar_val(val) check_cast(GTK_H_SCROLLBAR,val) #define Val_GtkHScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkHScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScrollbarClass' */ #define GtkHSeparator_val(val) check_cast(GTK_H_SEPARATOR,val) #define Val_GtkHSeparator(val) Val_GObject((GObject*)val) #define Val_GtkHSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSeparatorClass' */ #define GtkHandleBox_val(val) check_cast(GTK_HANDLE_BOX,val) #define Val_GtkHandleBox(val) Val_GObject((GObject*)val) #define Val_GtkHandleBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHandleBoxClass' */ /*TODO: conversion for record 'GtkHandleBoxPrivate' */ #define GtkIMContext_val(val) check_cast(GTK_IM_CONTEXT,val) #define Val_GtkIMContext(val) Val_GObject((GObject*)val) #define Val_GtkIMContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextClass' */ /*TODO: conversion for record 'GtkIMContextInfo' */ #define GtkIMContextSimple_val(val) check_cast(GTK_I_M_CONTEXT_SIMPLE,val) #define Val_GtkIMContextSimple(val) Val_GObject((GObject*)val) #define Val_GtkIMContextSimple_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextSimpleClass' */ /*TODO: conversion for record 'GtkIMContextSimplePrivate' */ #define GtkIMMulticontext_val(val) check_cast(GTK_IM_MULTICONTEXT,val) #define Val_GtkIMMulticontext(val) Val_GObject((GObject*)val) #define Val_GtkIMMulticontext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMMulticontextClass' */ /*TODO: conversion for record 'GtkIMMulticontextPrivate' */ #define GtkIconFactory_val(val) check_cast(GTK_ICON_FACTORY,val) #define Val_GtkIconFactory(val) Val_GObject((GObject*)val) #define Val_GtkIconFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconFactoryClass' */ /*TODO: conversion for record 'GtkIconFactoryPrivate' */ /*TODO: conversion for record 'GtkIconInfo' */ /*TODO: conversion for record 'GtkIconSet' */ /*TODO: conversion for record 'GtkIconSource' */ #define GtkIconTheme_val(val) check_cast(GTK_ICON_THEME,val) #define Val_GtkIconTheme(val) Val_GObject((GObject*)val) #define Val_GtkIconTheme_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconThemeClass' */ /*TODO: conversion for record 'GtkIconThemePrivate' */ #define GtkIconView_val(val) check_cast(GTK_ICON_VIEW,val) #define Val_GtkIconView(val) Val_GObject((GObject*)val) #define Val_GtkIconView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconViewClass' */ /*TODO: conversion for record 'GtkIconViewPrivate' */ #define GtkImage_val(val) check_cast(GTK_IMAGE,val) #define Val_GtkImage(val) Val_GObject((GObject*)val) #define Val_GtkImage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageClass' */ #define GtkImageMenuItem_val(val) check_cast(GTK_IMAGE_MENU_ITEM,val) #define Val_GtkImageMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkImageMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageMenuItemClass' */ /*TODO: conversion for record 'GtkImageMenuItemPrivate' */ /*TODO: conversion for record 'GtkImagePrivate' */ #define GtkInfoBar_val(val) check_cast(GTK_INFO_BAR,val) #define Val_GtkInfoBar(val) Val_GObject((GObject*)val) #define Val_GtkInfoBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInfoBarClass' */ /*TODO: conversion for record 'GtkInfoBarPrivate' */ #define GtkInvisible_val(val) check_cast(GTK_INVISIBLE,val) #define Val_GtkInvisible(val) Val_GObject((GObject*)val) #define Val_GtkInvisible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInvisibleClass' */ /*TODO: conversion for record 'GtkInvisiblePrivate' */ #define GtkLabel_val(val) check_cast(GTK_LABEL,val) #define Val_GtkLabel(val) Val_GObject((GObject*)val) #define Val_GtkLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLabelClass' */ /*TODO: conversion for record 'GtkLabelPrivate' */ /*TODO: conversion for record 'GtkLabelSelectionInfo' */ #define GtkLayout_val(val) check_cast(GTK_LAYOUT,val) #define Val_GtkLayout(val) Val_GObject((GObject*)val) #define Val_GtkLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLayoutClass' */ /*TODO: conversion for record 'GtkLayoutPrivate' */ #define GtkLinkButton_val(val) check_cast(GTK_LINK_BUTTON,val) #define Val_GtkLinkButton(val) Val_GObject((GObject*)val) #define Val_GtkLinkButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLinkButtonClass' */ /*TODO: conversion for record 'GtkLinkButtonPrivate' */ #define GtkListStore_val(val) check_cast(GTK_LIST_STORE,val) #define Val_GtkListStore(val) Val_GObject((GObject*)val) #define Val_GtkListStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkListStoreClass' */ /*TODO: conversion for record 'GtkListStorePrivate' */ #define GtkMenu_val(val) check_cast(GTK_MENU,val) #define Val_GtkMenu(val) Val_GObject((GObject*)val) #define Val_GtkMenu_new(val) Val_GObject_new((GObject*)val) #define GtkMenuBar_val(val) check_cast(GTK_MENU_BAR,val) #define Val_GtkMenuBar(val) Val_GObject((GObject*)val) #define Val_GtkMenuBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuBarClass' */ /*TODO: conversion for record 'GtkMenuBarPrivate' */ /*TODO: conversion for record 'GtkMenuClass' */ #define GtkMenuItem_val(val) check_cast(GTK_MENU_ITEM,val) #define Val_GtkMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuItemClass' */ /*TODO: conversion for record 'GtkMenuItemPrivate' */ /*TODO: conversion for record 'GtkMenuPrivate' */ #define GtkMenuShell_val(val) check_cast(GTK_MENU_SHELL,val) #define Val_GtkMenuShell(val) Val_GObject((GObject*)val) #define Val_GtkMenuShell_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuShellClass' */ /*TODO: conversion for record 'GtkMenuShellPrivate' */ #define GtkMenuToolButton_val(val) check_cast(GTK_MENU_TOOL_BUTTON,val) #define Val_GtkMenuToolButton(val) Val_GObject((GObject*)val) #define Val_GtkMenuToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuToolButtonClass' */ /*TODO: conversion for record 'GtkMenuToolButtonPrivate' */ #define GtkMessageDialog_val(val) check_cast(GTK_MESSAGE_DIALOG,val) #define Val_GtkMessageDialog(val) Val_GObject((GObject*)val) #define Val_GtkMessageDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMessageDialogClass' */ /*TODO: conversion for record 'GtkMessageDialogPrivate' */ #define GtkMisc_val(val) check_cast(GTK_MISC,val) #define Val_GtkMisc(val) Val_GObject((GObject*)val) #define Val_GtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMiscClass' */ /*TODO: conversion for record 'GtkMiscPrivate' */ #define GtkMountOperation_val(val) check_cast(GTK_MOUNT_OPERATION,val) #define Val_GtkMountOperation(val) Val_GObject((GObject*)val) #define Val_GtkMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMountOperationClass' */ /*TODO: conversion for record 'GtkMountOperationPrivate' */ #define GtkNotebook_val(val) check_cast(GTK_NOTEBOOK,val) #define Val_GtkNotebook(val) Val_GObject((GObject*)val) #define Val_GtkNotebook_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNotebookClass' */ /*TODO: conversion for record 'GtkNotebookPrivate' */ #define GtkNumerableIcon_val(val) check_cast(GTK_NUMERABLE_ICON,val) #define Val_GtkNumerableIcon(val) Val_GObject((GObject*)val) #define Val_GtkNumerableIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNumerableIconClass' */ /*TODO: conversion for record 'GtkNumerableIconPrivate' */ #define GtkOffscreenWindow_val(val) check_cast(GTK_OFFSCREEN_WINDOW,val) #define Val_GtkOffscreenWindow(val) Val_GObject((GObject*)val) #define Val_GtkOffscreenWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkOffscreenWindowClass' */ /*TODO: conversion for record 'GtkOrientableIface' */ /*TODO: conversion for record 'GtkPageRange' */ #define GtkPageSetup_val(val) check_cast(GTK_PAGE_SETUP,val) #define Val_GtkPageSetup(val) Val_GObject((GObject*)val) #define Val_GtkPageSetup_new(val) Val_GObject_new((GObject*)val) #define GtkPaned_val(val) check_cast(GTK_PANED,val) #define Val_GtkPaned(val) Val_GObject((GObject*)val) #define Val_GtkPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPanedClass' */ /*TODO: conversion for record 'GtkPanedPrivate' */ /*TODO: conversion for record 'GtkPaperSize' */ #define GtkPlug_val(val) check_cast(GTK_PLUG,val) #define Val_GtkPlug(val) Val_GObject((GObject*)val) #define Val_GtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPlugClass' */ /*TODO: conversion for record 'GtkPlugPrivate' */ #define GtkPrintContext_val(val) check_cast(GTK_PRINT_CONTEXT,val) #define Val_GtkPrintContext(val) Val_GObject((GObject*)val) #define Val_GtkPrintContext_new(val) Val_GObject_new((GObject*)val) #define GtkPrintOperation_val(val) check_cast(GTK_PRINT_OPERATION,val) #define Val_GtkPrintOperation(val) Val_GObject((GObject*)val) #define Val_GtkPrintOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPrintOperationClass' */ /*TODO: conversion for record 'GtkPrintOperationPreviewIface' */ /*TODO: conversion for record 'GtkPrintOperationPrivate' */ #define GtkPrintSettings_val(val) check_cast(GTK_PRINT_SETTINGS,val) #define Val_GtkPrintSettings(val) Val_GObject((GObject*)val) #define Val_GtkPrintSettings_new(val) Val_GObject_new((GObject*)val) #define GtkProgressBar_val(val) check_cast(GTK_PROGRESS_BAR,val) #define Val_GtkProgressBar(val) Val_GObject((GObject*)val) #define Val_GtkProgressBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkProgressBarClass' */ /*TODO: conversion for record 'GtkProgressBarPrivate' */ #define GtkRadioAction_val(val) check_cast(GTK_RADIO_ACTION,val) #define Val_GtkRadioAction(val) Val_GObject((GObject*)val) #define Val_GtkRadioAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioActionClass' */ /*TODO: conversion for record 'GtkRadioActionEntry' */ /*TODO: conversion for record 'GtkRadioActionPrivate' */ #define GtkRadioButton_val(val) check_cast(GTK_RADIO_BUTTON,val) #define Val_GtkRadioButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioButtonClass' */ /*TODO: conversion for record 'GtkRadioButtonPrivate' */ #define GtkRadioMenuItem_val(val) check_cast(GTK_RADIO_MENU_ITEM,val) #define Val_GtkRadioMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkRadioMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioMenuItemClass' */ /*TODO: conversion for record 'GtkRadioMenuItemPrivate' */ #define GtkRadioToolButton_val(val) check_cast(GTK_RADIO_TOOL_BUTTON,val) #define Val_GtkRadioToolButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioToolButtonClass' */ #define GtkRange_val(val) check_cast(GTK_RANGE,val) #define Val_GtkRange(val) Val_GObject((GObject*)val) #define Val_GtkRange_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRangeClass' */ /*TODO: conversion for record 'GtkRangePrivate' */ /*TODO: conversion for record 'GtkRcContext' */ /*TODO: conversion for record 'GtkRcProperty' */ #define GtkRcStyle_val(val) check_cast(GTK_RC_STYLE,val) #define Val_GtkRcStyle(val) Val_GObject((GObject*)val) #define Val_GtkRcStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRcStyleClass' */ #define GtkRecentAction_val(val) check_cast(GTK_RECENT_ACTION,val) #define Val_GtkRecentAction(val) Val_GObject((GObject*)val) #define Val_GtkRecentAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentActionClass' */ /*TODO: conversion for record 'GtkRecentActionPrivate' */ #define GtkRecentChooserDialog_val(val) check_cast(GTK_RECENT_CHOOSER_DIALOG,val) #define Val_GtkRecentChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserDialogClass' */ /*TODO: conversion for record 'GtkRecentChooserDialogPrivate' */ /*TODO: conversion for record 'GtkRecentChooserIface' */ #define GtkRecentChooserMenu_val(val) check_cast(GTK_RECENT_CHOOSER_MENU,val) #define Val_GtkRecentChooserMenu(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserMenu_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserMenuClass' */ /*TODO: conversion for record 'GtkRecentChooserMenuPrivate' */ #define GtkRecentChooserWidget_val(val) check_cast(GTK_RECENT_CHOOSER_WIDGET,val) #define Val_GtkRecentChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserWidgetClass' */ /*TODO: conversion for record 'GtkRecentChooserWidgetPrivate' */ /*TODO: conversion for record 'GtkRecentData' */ #define GtkRecentFilter_val(val) check_cast(GTK_RECENT_FILTER,val) #define Val_GtkRecentFilter(val) Val_GObject((GObject*)val) #define Val_GtkRecentFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentFilterInfo' */ /*TODO: conversion for record 'GtkRecentInfo' */ #define GtkRecentManager_val(val) check_cast(GTK_RECENT_MANAGER,val) #define Val_GtkRecentManager(val) Val_GObject((GObject*)val) #define Val_GtkRecentManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentManagerClass' */ /*TODO: conversion for record 'GtkRecentManagerPrivate' */ /*TODO: conversion for record 'GtkRequestedSize' */ /*TODO: conversion for record 'GtkRequisition' */ #define GtkScale_val(val) check_cast(GTK_SCALE,val) #define Val_GtkScale(val) Val_GObject((GObject*)val) #define Val_GtkScale_new(val) Val_GObject_new((GObject*)val) #define GtkScaleButton_val(val) check_cast(GTK_SCALE_BUTTON,val) #define Val_GtkScaleButton(val) Val_GObject((GObject*)val) #define Val_GtkScaleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScaleButtonClass' */ /*TODO: conversion for record 'GtkScaleButtonPrivate' */ /*TODO: conversion for record 'GtkScaleClass' */ /*TODO: conversion for record 'GtkScalePrivate' */ /*TODO: conversion for record 'GtkScrollableInterface' */ #define GtkScrollbar_val(val) check_cast(GTK_SCROLLBAR,val) #define Val_GtkScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrollbarClass' */ #define GtkScrolledWindow_val(val) check_cast(GTK_SCROLLED_WINDOW,val) #define Val_GtkScrolledWindow(val) Val_GObject((GObject*)val) #define Val_GtkScrolledWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrolledWindowClass' */ /*TODO: conversion for record 'GtkScrolledWindowPrivate' */ /*TODO: conversion for record 'GtkSelectionData' */ #define GtkSeparator_val(val) check_cast(GTK_SEPARATOR,val) #define Val_GtkSeparator(val) Val_GObject((GObject*)val) #define Val_GtkSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorClass' */ #define GtkSeparatorMenuItem_val(val) check_cast(GTK_SEPARATOR_MENU_ITEM,val) #define Val_GtkSeparatorMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorMenuItemClass' */ /*TODO: conversion for record 'GtkSeparatorPrivate' */ #define GtkSeparatorToolItem_val(val) check_cast(GTK_SEPARATOR_TOOL_ITEM,val) #define Val_GtkSeparatorToolItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorToolItemClass' */ /*TODO: conversion for record 'GtkSeparatorToolItemPrivate' */ #define GtkSettings_val(val) check_cast(GTK_SETTINGS,val) #define Val_GtkSettings(val) Val_GObject((GObject*)val) #define Val_GtkSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSettingsClass' */ /*TODO: conversion for record 'GtkSettingsPrivate' */ /*TODO: conversion for record 'GtkSettingsValue' */ #define GtkSizeGroup_val(val) check_cast(GTK_SIZE_GROUP,val) #define Val_GtkSizeGroup(val) Val_GObject((GObject*)val) #define Val_GtkSizeGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSizeGroupClass' */ /*TODO: conversion for record 'GtkSizeGroupPrivate' */ #define GtkSocket_val(val) check_cast(GTK_SOCKET,val) #define Val_GtkSocket(val) Val_GObject((GObject*)val) #define Val_GtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSocketClass' */ /*TODO: conversion for record 'GtkSocketPrivate' */ #define GtkSpinButton_val(val) check_cast(GTK_SPIN_BUTTON,val) #define Val_GtkSpinButton(val) Val_GObject((GObject*)val) #define Val_GtkSpinButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinButtonClass' */ /*TODO: conversion for record 'GtkSpinButtonPrivate' */ #define GtkSpinner_val(val) check_cast(GTK_SPINNER,val) #define Val_GtkSpinner(val) Val_GObject((GObject*)val) #define Val_GtkSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinnerClass' */ /*TODO: conversion for record 'GtkSpinnerPrivate' */ #define GtkStatusIcon_val(val) check_cast(GTK_STATUS_ICON,val) #define Val_GtkStatusIcon(val) Val_GObject((GObject*)val) #define Val_GtkStatusIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusIconClass' */ /*TODO: conversion for record 'GtkStatusIconPrivate' */ #define GtkStatusbar_val(val) check_cast(GTK_STATUSBAR,val) #define Val_GtkStatusbar(val) Val_GObject((GObject*)val) #define Val_GtkStatusbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusbarClass' */ /*TODO: conversion for record 'GtkStatusbarPrivate' */ /*TODO: conversion for record 'GtkStockItem' */ #define GtkStyle_val(val) check_cast(GTK_STYLE,val) #define Val_GtkStyle(val) Val_GObject((GObject*)val) #define Val_GtkStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleClass' */ #define GtkStyleContext_val(val) check_cast(GTK_STYLE_CONTEXT,val) #define Val_GtkStyleContext(val) Val_GObject((GObject*)val) #define Val_GtkStyleContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleContextClass' */ #define GtkStyleProperties_val(val) check_cast(GTK_STYLE_PROPERTIES,val) #define Val_GtkStyleProperties(val) Val_GObject((GObject*)val) #define Val_GtkStyleProperties_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStylePropertiesClass' */ /*TODO: conversion for record 'GtkStyleProviderIface' */ #define GtkSwitch_val(val) check_cast(GTK_SWITCH,val) #define Val_GtkSwitch(val) Val_GObject((GObject*)val) #define Val_GtkSwitch_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSwitchClass' */ /*TODO: conversion for record 'GtkSwitchPrivate' */ /*TODO: conversion for record 'GtkSymbolicColor' */ #define GtkTable_val(val) check_cast(GTK_TABLE,val) #define Val_GtkTable(val) Val_GObject((GObject*)val) #define Val_GtkTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTableChild' */ /*TODO: conversion for record 'GtkTableClass' */ /*TODO: conversion for record 'GtkTablePrivate' */ /*TODO: conversion for record 'GtkTableRowCol' */ /*TODO: conversion for record 'GtkTargetEntry' */ /*TODO: conversion for record 'GtkTargetList' */ #define GtkTearoffMenuItem_val(val) check_cast(GTK_TEAROFF_MENU_ITEM,val) #define Val_GtkTearoffMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkTearoffMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTearoffMenuItemClass' */ /*TODO: conversion for record 'GtkTearoffMenuItemPrivate' */ /*TODO: conversion for record 'GtkTextAppearance' */ /*TODO: conversion for record 'GtkTextAttributes' */ /*TODO: conversion for record 'GtkTextBTree' */ #define GtkTextBuffer_val(val) check_cast(GTK_TEXT_BUFFER,val) #define Val_GtkTextBuffer(val) Val_GObject((GObject*)val) #define Val_GtkTextBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextBufferClass' */ /*TODO: conversion for record 'GtkTextBufferPrivate' */ #define GtkTextChildAnchor_val(val) check_cast(GTK_TEXT_CHILD_ANCHOR,val) #define Val_GtkTextChildAnchor(val) Val_GObject((GObject*)val) #define Val_GtkTextChildAnchor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextChildAnchorClass' */ /*TODO: conversion for record 'GtkTextIter' */ #define GtkTextMark_val(val) check_cast(GTK_TEXT_MARK,val) #define Val_GtkTextMark(val) Val_GObject((GObject*)val) #define Val_GtkTextMark_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextMarkClass' */ #define GtkTextTag_val(val) check_cast(GTK_TEXT_TAG,val) #define Val_GtkTextTag(val) Val_GObject((GObject*)val) #define Val_GtkTextTag_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagClass' */ /*TODO: conversion for record 'GtkTextTagPrivate' */ #define GtkTextTagTable_val(val) check_cast(GTK_TEXT_TAG_TABLE,val) #define Val_GtkTextTagTable(val) Val_GObject((GObject*)val) #define Val_GtkTextTagTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagTableClass' */ /*TODO: conversion for record 'GtkTextTagTablePrivate' */ #define GtkTextView_val(val) check_cast(GTK_TEXT_VIEW,val) #define Val_GtkTextView(val) Val_GObject((GObject*)val) #define Val_GtkTextView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextViewClass' */ /*TODO: conversion for record 'GtkTextViewPrivate' */ /*TODO: conversion for record 'GtkThemeEngine' */ #define GtkThemingEngine_val(val) check_cast(GTK_THEMING_ENGINE,val) #define Val_GtkThemingEngine(val) Val_GObject((GObject*)val) #define Val_GtkThemingEngine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkThemingEngineClass' */ #define GtkToggleAction_val(val) check_cast(GTK_TOGGLE_ACTION,val) #define Val_GtkToggleAction(val) Val_GObject((GObject*)val) #define Val_GtkToggleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleActionClass' */ /*TODO: conversion for record 'GtkToggleActionEntry' */ /*TODO: conversion for record 'GtkToggleActionPrivate' */ #define GtkToggleButton_val(val) check_cast(GTK_TOGGLE_BUTTON,val) #define Val_GtkToggleButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleButtonClass' */ /*TODO: conversion for record 'GtkToggleButtonPrivate' */ #define GtkToggleToolButton_val(val) check_cast(GTK_TOGGLE_TOOL_BUTTON,val) #define Val_GtkToggleToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleToolButtonClass' */ /*TODO: conversion for record 'GtkToggleToolButtonPrivate' */ #define GtkToolButton_val(val) check_cast(GTK_TOOL_BUTTON,val) #define Val_GtkToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolButtonClass' */ /*TODO: conversion for record 'GtkToolButtonPrivate' */ #define GtkToolItem_val(val) check_cast(GTK_TOOL_ITEM,val) #define Val_GtkToolItem(val) Val_GObject((GObject*)val) #define Val_GtkToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemClass' */ #define GtkToolItemGroup_val(val) check_cast(GTK_TOOL_ITEM_GROUP,val) #define Val_GtkToolItemGroup(val) Val_GObject((GObject*)val) #define Val_GtkToolItemGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemGroupClass' */ /*TODO: conversion for record 'GtkToolItemGroupPrivate' */ /*TODO: conversion for record 'GtkToolItemPrivate' */ #define GtkToolPalette_val(val) check_cast(GTK_TOOL_PALETTE,val) #define Val_GtkToolPalette(val) Val_GObject((GObject*)val) #define Val_GtkToolPalette_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolPaletteClass' */ /*TODO: conversion for record 'GtkToolPalettePrivate' */ /*TODO: conversion for record 'GtkToolShellIface' */ #define GtkToolbar_val(val) check_cast(GTK_TOOLBAR,val) #define Val_GtkToolbar(val) Val_GObject((GObject*)val) #define Val_GtkToolbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolbarClass' */ /*TODO: conversion for record 'GtkToolbarPrivate' */ #define GtkTooltip_val(val) check_cast(GTK_TOOLTIP,val) #define Val_GtkTooltip(val) Val_GObject((GObject*)val) #define Val_GtkTooltip_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeDragDestIface' */ /*TODO: conversion for record 'GtkTreeDragSourceIface' */ /*TODO: conversion for record 'GtkTreeIter' */ #define GtkTreeModelFilter_val(val) check_cast(GTK_TREE_MODEL_FILTER,val) #define Val_GtkTreeModelFilter(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelFilterClass' */ /*TODO: conversion for record 'GtkTreeModelFilterPrivate' */ /*TODO: conversion for record 'GtkTreeModelIface' */ #define GtkTreeModelSort_val(val) check_cast(GTK_TREE_MODEL_SORT,val) #define Val_GtkTreeModelSort(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelSort_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelSortClass' */ /*TODO: conversion for record 'GtkTreeModelSortPrivate' */ /*TODO: conversion for record 'GtkTreePath' */ /*TODO: conversion for record 'GtkTreeRowReference' */ #define GtkTreeSelection_val(val) check_cast(GTK_TREE_SELECTION,val) #define Val_GtkTreeSelection(val) Val_GObject((GObject*)val) #define Val_GtkTreeSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeSelectionClass' */ /*TODO: conversion for record 'GtkTreeSelectionPrivate' */ /*TODO: conversion for record 'GtkTreeSortableIface' */ #define GtkTreeStore_val(val) check_cast(GTK_TREE_STORE,val) #define Val_GtkTreeStore(val) Val_GObject((GObject*)val) #define Val_GtkTreeStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeStoreClass' */ /*TODO: conversion for record 'GtkTreeStorePrivate' */ #define GtkTreeView_val(val) check_cast(GTK_TREE_VIEW,val) #define Val_GtkTreeView(val) Val_GObject((GObject*)val) #define Val_GtkTreeView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewClass' */ #define GtkTreeViewColumn_val(val) check_cast(GTK_TREE_VIEW_COLUMN,val) #define Val_GtkTreeViewColumn(val) Val_GObject((GObject*)val) #define Val_GtkTreeViewColumn_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewColumnClass' */ /*TODO: conversion for record 'GtkTreeViewColumnPrivate' */ /*TODO: conversion for record 'GtkTreeViewPrivate' */ #define GtkUIManager_val(val) check_cast(GTK_UI_MANAGER,val) #define Val_GtkUIManager(val) Val_GObject((GObject*)val) #define Val_GtkUIManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkUIManagerClass' */ /*TODO: conversion for record 'GtkUIManagerPrivate' */ #define GtkVBox_val(val) check_cast(GTK_V_BOX,val) #define Val_GtkVBox(val) Val_GObject((GObject*)val) #define Val_GtkVBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVBoxClass' */ #define GtkVButtonBox_val(val) check_cast(GTK_V_BUTTON_BOX,val) #define Val_GtkVButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkVButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVButtonBoxClass' */ #define GtkVPaned_val(val) check_cast(GTK_V_PANED,val) #define Val_GtkVPaned(val) Val_GObject((GObject*)val) #define Val_GtkVPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVPanedClass' */ #define GtkVScale_val(val) check_cast(GTK_V_SCALE,val) #define Val_GtkVScale(val) Val_GObject((GObject*)val) #define Val_GtkVScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScaleClass' */ #define GtkVScrollbar_val(val) check_cast(GTK_V_SCROLLBAR,val) #define Val_GtkVScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkVScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScrollbarClass' */ #define GtkVSeparator_val(val) check_cast(GTK_V_SEPARATOR,val) #define Val_GtkVSeparator(val) Val_GObject((GObject*)val) #define Val_GtkVSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVSeparatorClass' */ #define GtkViewport_val(val) check_cast(GTK_VIEWPORT,val) #define Val_GtkViewport(val) Val_GObject((GObject*)val) #define Val_GtkViewport_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkViewportClass' */ /*TODO: conversion for record 'GtkViewportPrivate' */ #define GtkVolumeButton_val(val) check_cast(GTK_VOLUME_BUTTON,val) #define Val_GtkVolumeButton(val) Val_GObject((GObject*)val) #define Val_GtkVolumeButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVolumeButtonClass' */ #define GtkWidget_val(val) check_cast(GTK_WIDGET,val) #define Val_GtkWidget(val) Val_GObject((GObject*)val) #define Val_GtkWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWidgetAuxInfo' */ /*TODO: conversion for record 'GtkWidgetClass' */ /*TODO: conversion for record 'GtkWidgetPath' */ /*TODO: conversion for record 'GtkWidgetPrivate' */ #define GtkWindow_val(val) check_cast(GTK_WINDOW,val) #define Val_GtkWindow(val) Val_GObject((GObject*)val) #define Val_GtkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowClass' */ /*TODO: conversion for record 'GtkWindowGeometryInfo' */ #define GtkWindowGroup_val(val) check_cast(GTK_WINDOW_GROUP,val) #define Val_GtkWindowGroup(val) Val_GObject((GObject*)val) #define Val_GtkWindowGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowGroupClass' */ /*TODO: conversion for record 'GtkWindowGroupPrivate' */ /*TODO: conversion for record 'GtkWindowPrivate' */ #include #include "../wrappers.h" #include "../ml_gobject.h" /* Module Module */ ML_1(g_module_name,GModule_val, Val_string) ML_1(g_module_make_resident,GModule_val, Unit) ML_1(g_module_close,GModule_val, Val_bool) /* end of Module */ /* Global functions */ ML_0(g_module_supported,Val_bool) ML_0(g_module_error,Val_string) ML_2(g_module_build_path,String_val, String_val, Val_string_new) /* End of global functions */ lablgtk-3.1.2/tools/introspection/stubs/ml_stubs_GObject.c0000644000650106067230000032302714161276610022600 0ustar glondused#include #include #define Val_double(val) caml_copy_double(val) #define Val_string_new(val) caml_copy_string(val) #define Val_int32(val) caml_copy_int32(val) #define Val_int32_new(val) caml_copy_int32(val) /*TODO: conversion for record 'GAllocator' */ /*TODO: conversion for record 'GArray' */ /*TODO: conversion for record 'GAsyncQueue' */ /*TODO: conversion for record 'GBookmarkFile' */ /*TODO: conversion for record 'GByteArray' */ /*TODO: conversion for record 'GCache' */ /*TODO: conversion for record 'GChecksum' */ /*TODO: conversion for record 'GCompletion' */ /*TODO: conversion for record 'GCond' */ /*TODO: conversion for record 'GData' */ /*TODO: conversion for record 'GDate' */ /*TODO: conversion for record 'GDateTime' */ /*TODO: conversion for record 'GDebugKey' */ /*TODO: conversion for record 'GDir' */ /*TODO: conversion for record 'GError' */ /*TODO: conversion for record 'GHashTable' */ /*TODO: conversion for record 'GHashTableIter' */ /*TODO: conversion for record 'GHook' */ /*TODO: conversion for record 'GHookList' */ /*TODO: conversion for record 'GIConv' */ /*TODO: conversion for record 'GIOChannel' */ /*TODO: conversion for record 'GIOFuncs' */ /*TODO: conversion for record 'GKeyFile' */ /*TODO: conversion for record 'GList' */ /*TODO: conversion for record 'GMainContext' */ /*TODO: conversion for record 'GMainLoop' */ /*TODO: conversion for record 'GMappedFile' */ /*TODO: conversion for record 'GMarkupParseContext' */ /*TODO: conversion for record 'GMarkupParser' */ /*TODO: conversion for record 'GMatchInfo' */ /*TODO: conversion for record 'GMemChunk' */ /*TODO: conversion for record 'GMemVTable' */ /*TODO: conversion for record 'GMutex' */ /*TODO: conversion for record 'GNode' */ /*TODO: conversion for record 'GOnce' */ /*TODO: conversion for record 'GOptionContext' */ /*TODO: conversion for record 'GOptionEntry' */ /*TODO: conversion for record 'GOptionGroup' */ /*TODO: conversion for record 'GPatternSpec' */ /*TODO: conversion for record 'GPollFD' */ /*TODO: conversion for record 'GPrivate' */ /*TODO: conversion for record 'GPtrArray' */ /*TODO: conversion for record 'GQueue' */ /*TODO: conversion for record 'GRand' */ /*TODO: conversion for record 'GRegex' */ /*TODO: conversion for record 'GRelation' */ /*TODO: conversion for record 'GSList' */ /*TODO: conversion for record 'GScanner' */ /*TODO: conversion for record 'GScannerConfig' */ /*TODO: conversion for record 'GSequence' */ /*TODO: conversion for record 'GSequenceIter' */ /*TODO: conversion for record 'GSource' */ /*TODO: conversion for record 'GSourceCallbackFuncs' */ /*TODO: conversion for record 'GSourceFuncs' */ /*TODO: conversion for record 'GSourcePrivate' */ /*TODO: conversion for record 'GStatBuf' */ /*TODO: conversion for record 'GStaticMutex' */ /*TODO: conversion for record 'GStaticPrivate' */ /*TODO: conversion for record 'GStaticRWLock' */ /*TODO: conversion for record 'GStaticRecMutex' */ /*TODO: conversion for record 'GString' */ /*TODO: conversion for record 'GStringChunk' */ /*TODO: conversion for record 'GTestCase' */ /*TODO: conversion for record 'GTestConfig' */ /*TODO: conversion for record 'GTestLogBuffer' */ /*TODO: conversion for record 'GTestLogMsg' */ /*TODO: conversion for record 'GTestSuite' */ /*TODO: conversion for record 'GThread' */ /*TODO: conversion for record 'GThreadFunctions' */ /*TODO: conversion for record 'GThreadPool' */ /*TODO: conversion for record 'GTimeVal' */ /*TODO: conversion for record 'GTimeZone' */ /*TODO: conversion for record 'GTimer' */ /*TODO: conversion for record 'GTrashStack' */ /*TODO: conversion for record 'GTree' */ /*TODO: conversion for record 'GTuples' */ /*TODO: conversion for record 'GVariant' */ /*TODO: conversion for record 'GVariantBuilder' */ /*TODO: conversion for record 'GVariantIter' */ /*TODO: conversion for record 'GVariantType' */ #define GBinding_val(val) check_cast(G_BINDING,val) #define Val_GBinding(val) Val_GObject((GObject*)val) #define Val_GBinding_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCClosure' */ /*TODO: conversion for record 'GClosure' */ /*TODO: conversion for record 'GClosureNotifyData' */ /*TODO: conversion for record 'GEnumClass' */ /*TODO: conversion for record 'GEnumValue' */ /*TODO: conversion for record 'GFlagsClass' */ /*TODO: conversion for record 'GFlagsValue' */ /*TODO: conversion for record 'GInitiallyUnownedClass' */ /*TODO: conversion for record 'GInterfaceInfo' */ /*TODO: conversion for record 'GObjectClass' */ /*TODO: conversion for record 'GObjectConstructParam' */ /*TODO: conversion for record 'GParamSpec' */ /*TODO: conversion for record 'GParamSpecBoolean' */ /*TODO: conversion for record 'GParamSpecBoxed' */ /*TODO: conversion for record 'GParamSpecChar' */ /*TODO: conversion for record 'GParamSpecClass' */ /*TODO: conversion for record 'GParamSpecDouble' */ /*TODO: conversion for record 'GParamSpecEnum' */ /*TODO: conversion for record 'GParamSpecFlags' */ /*TODO: conversion for record 'GParamSpecFloat' */ /*TODO: conversion for record 'GParamSpecGType' */ /*TODO: conversion for record 'GParamSpecInt' */ /*TODO: conversion for record 'GParamSpecInt64' */ /*TODO: conversion for record 'GParamSpecLong' */ /*TODO: conversion for record 'GParamSpecObject' */ /*TODO: conversion for record 'GParamSpecOverride' */ /*TODO: conversion for record 'GParamSpecParam' */ /*TODO: conversion for record 'GParamSpecPointer' */ /*TODO: conversion for record 'GParamSpecPool' */ /*TODO: conversion for record 'GParamSpecString' */ /*TODO: conversion for record 'GParamSpecTypeInfo' */ /*TODO: conversion for record 'GParamSpecUChar' */ /*TODO: conversion for record 'GParamSpecUInt' */ /*TODO: conversion for record 'GParamSpecUInt64' */ /*TODO: conversion for record 'GParamSpecULong' */ /*TODO: conversion for record 'GParamSpecUnichar' */ /*TODO: conversion for record 'GParamSpecValueArray' */ /*TODO: conversion for record 'GParamSpecVariant' */ /*TODO: conversion for record 'GParameter' */ /*TODO: conversion for record 'GSignalInvocationHint' */ /*TODO: conversion for record 'GSignalQuery' */ /*TODO: conversion for record 'GTypeClass' */ /*TODO: conversion for record 'GTypeFundamentalInfo' */ /*TODO: conversion for record 'GTypeInfo' */ /*TODO: conversion for record 'GTypeInstance' */ /*TODO: conversion for record 'GTypeInterface' */ #define GTypeModule_val(val) check_cast(G_TYPE_MODULE,val) #define Val_GTypeModule(val) Val_GObject((GObject*)val) #define Val_GTypeModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTypeModuleClass' */ /*TODO: conversion for record 'GTypePluginClass' */ /*TODO: conversion for record 'GTypeQuery' */ /*TODO: conversion for record 'GTypeValueTable' */ /*TODO: conversion for record 'GValue' */ /*TODO: conversion for record 'GValueArray' */ /*TODO: conversion for record 'AtkActionIface' */ /*TODO: conversion for record 'AtkAttribute' */ /*TODO: conversion for record 'AtkComponentIface' */ /*TODO: conversion for record 'AtkDocumentIface' */ /*TODO: conversion for record 'AtkEditableTextIface' */ #define AtkGObjectAccessible_val(val) check_cast(ATK_G_OBJECT_ACCESSIBLE,val) #define Val_AtkGObjectAccessible(val) Val_GObject((GObject*)val) #define Val_AtkGObjectAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkGObjectAccessibleClass' */ #define AtkHyperlink_val(val) check_cast(ATK_HYPERLINK,val) #define Val_AtkHyperlink(val) Val_GObject((GObject*)val) #define Val_AtkHyperlink_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkHyperlinkClass' */ /*TODO: conversion for record 'AtkHyperlinkImplIface' */ /*TODO: conversion for record 'AtkHypertextIface' */ /*TODO: conversion for record 'AtkImageIface' */ /*TODO: conversion for record 'AtkImplementor' */ /*TODO: conversion for record 'AtkKeyEventStruct' */ #define AtkMisc_val(val) check_cast(ATK_MISC,val) #define Val_AtkMisc(val) Val_GObject((GObject*)val) #define Val_AtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkMiscClass' */ #define AtkNoOpObject_val(val) check_cast(ATK_NO_OP_OBJECT,val) #define Val_AtkNoOpObject(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectClass' */ #define AtkNoOpObjectFactory_val(val) check_cast(ATK_NO_OP_OBJECT_FACTORY,val) #define Val_AtkNoOpObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectFactoryClass' */ #define AtkObject_val(val) check_cast(ATK_OBJECT,val) #define Val_AtkObject(val) Val_GObject((GObject*)val) #define Val_AtkObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectClass' */ #define AtkObjectFactory_val(val) check_cast(ATK_OBJECT_FACTORY,val) #define Val_AtkObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectFactoryClass' */ #define AtkPlug_val(val) check_cast(ATK_PLUG,val) #define Val_AtkPlug(val) Val_GObject((GObject*)val) #define Val_AtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkPlugClass' */ /*TODO: conversion for record 'AtkRectangle' */ #define AtkRelation_val(val) check_cast(ATK_RELATION,val) #define Val_AtkRelation(val) Val_GObject((GObject*)val) #define Val_AtkRelation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationClass' */ #define AtkRelationSet_val(val) check_cast(ATK_RELATION_SET,val) #define Val_AtkRelationSet(val) Val_GObject((GObject*)val) #define Val_AtkRelationSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationSetClass' */ /*TODO: conversion for record 'AtkSelectionIface' */ #define AtkSocket_val(val) check_cast(ATK_SOCKET,val) #define Val_AtkSocket(val) Val_GObject((GObject*)val) #define Val_AtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkSocketClass' */ #define AtkStateSet_val(val) check_cast(ATK_STATE_SET,val) #define Val_AtkStateSet(val) Val_GObject((GObject*)val) #define Val_AtkStateSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkStateSetClass' */ /*TODO: conversion for record 'AtkStreamableContentIface' */ /*TODO: conversion for record 'AtkTableIface' */ /*TODO: conversion for record 'AtkTextIface' */ /*TODO: conversion for record 'AtkTextRange' */ /*TODO: conversion for record 'AtkTextRectangle' */ #define AtkUtil_val(val) check_cast(ATK_UTIL,val) #define Val_AtkUtil(val) Val_GObject((GObject*)val) #define Val_AtkUtil_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkUtilClass' */ /*TODO: conversion for record 'AtkValueIface' */ /*TODO: conversion for record '_AtkPropertyValues' */ /*TODO: conversion for record '_AtkRegistry' */ /*TODO: conversion for record '_AtkRegistryClass' */ /*TODO: conversion for record 'GModule' */ /*TODO: conversion for record 'GActionGroupInterface' */ /*TODO: conversion for record 'GActionInterface' */ /*TODO: conversion for record 'GAppInfoIface' */ #define GAppLaunchContext_val(val) check_cast(G_APP_LAUNCH_CONTEXT,val) #define Val_GAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GAppLaunchContextClass' */ /*TODO: conversion for record 'GAppLaunchContextPrivate' */ #define GApplication_val(val) check_cast(G_APPLICATION,val) #define Val_GApplication(val) Val_GObject((GObject*)val) #define Val_GApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationClass' */ #define GApplicationCommandLine_val(val) check_cast(G_APPLICATION_COMMAND_LINE,val) #define Val_GApplicationCommandLine(val) Val_GObject((GObject*)val) #define Val_GApplicationCommandLine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationCommandLineClass' */ /*TODO: conversion for record 'GApplicationCommandLinePrivate' */ /*TODO: conversion for record 'GApplicationPrivate' */ /*TODO: conversion for record 'GAsyncInitableIface' */ /*TODO: conversion for record 'GAsyncResultIface' */ #define GBufferedInputStream_val(val) check_cast(G_BUFFERED_INPUT_STREAM,val) #define Val_GBufferedInputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedInputStreamClass' */ /*TODO: conversion for record 'GBufferedInputStreamPrivate' */ #define GBufferedOutputStream_val(val) check_cast(G_BUFFERED_OUTPUT_STREAM,val) #define Val_GBufferedOutputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedOutputStreamClass' */ /*TODO: conversion for record 'GBufferedOutputStreamPrivate' */ #define GCancellable_val(val) check_cast(G_CANCELLABLE,val) #define Val_GCancellable(val) Val_GObject((GObject*)val) #define Val_GCancellable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCancellableClass' */ /*TODO: conversion for record 'GCancellablePrivate' */ #define GCharsetConverter_val(val) check_cast(G_CHARSET_CONVERTER,val) #define Val_GCharsetConverter(val) Val_GObject((GObject*)val) #define Val_GCharsetConverter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCharsetConverterClass' */ /*TODO: conversion for record 'GConverterIface' */ #define GConverterInputStream_val(val) check_cast(G_CONVERTER_INPUT_STREAM,val) #define Val_GConverterInputStream(val) Val_GObject((GObject*)val) #define Val_GConverterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterInputStreamClass' */ /*TODO: conversion for record 'GConverterInputStreamPrivate' */ #define GConverterOutputStream_val(val) check_cast(G_CONVERTER_OUTPUT_STREAM,val) #define Val_GConverterOutputStream(val) Val_GObject((GObject*)val) #define Val_GConverterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterOutputStreamClass' */ /*TODO: conversion for record 'GConverterOutputStreamPrivate' */ #define GCredentials_val(val) check_cast(G_CREDENTIALS,val) #define Val_GCredentials(val) Val_GObject((GObject*)val) #define Val_GCredentials_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCredentialsClass' */ /*TODO: conversion for record 'GDBusAnnotationInfo' */ /*TODO: conversion for record 'GDBusArgInfo' */ #define GDBusAuthObserver_val(val) check_cast(G_D_BUS_AUTH_OBSERVER,val) #define Val_GDBusAuthObserver(val) Val_GObject((GObject*)val) #define Val_GDBusAuthObserver_new(val) Val_GObject_new((GObject*)val) #define GDBusConnection_val(val) check_cast(G_D_BUS_CONNECTION,val) #define Val_GDBusConnection(val) Val_GObject((GObject*)val) #define Val_GDBusConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusErrorEntry' */ /*TODO: conversion for record 'GDBusInterfaceInfo' */ /*TODO: conversion for record 'GDBusInterfaceVTable' */ #define GDBusMessage_val(val) check_cast(G_D_BUS_MESSAGE,val) #define Val_GDBusMessage(val) Val_GObject((GObject*)val) #define Val_GDBusMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusMethodInfo' */ #define GDBusMethodInvocation_val(val) check_cast(G_D_BUS_METHOD_INVOCATION,val) #define Val_GDBusMethodInvocation(val) Val_GObject((GObject*)val) #define Val_GDBusMethodInvocation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusNodeInfo' */ /*TODO: conversion for record 'GDBusPropertyInfo' */ #define GDBusProxy_val(val) check_cast(G_D_BUS_PROXY,val) #define Val_GDBusProxy(val) Val_GObject((GObject*)val) #define Val_GDBusProxy_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusProxyClass' */ /*TODO: conversion for record 'GDBusProxyPrivate' */ #define GDBusServer_val(val) check_cast(G_D_BUS_SERVER,val) #define Val_GDBusServer(val) Val_GObject((GObject*)val) #define Val_GDBusServer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusSignalInfo' */ /*TODO: conversion for record 'GDBusSubtreeVTable' */ #define GDataInputStream_val(val) check_cast(G_DATA_INPUT_STREAM,val) #define Val_GDataInputStream(val) Val_GObject((GObject*)val) #define Val_GDataInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataInputStreamClass' */ /*TODO: conversion for record 'GDataInputStreamPrivate' */ #define GDataOutputStream_val(val) check_cast(G_DATA_OUTPUT_STREAM,val) #define Val_GDataOutputStream(val) Val_GObject((GObject*)val) #define Val_GDataOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataOutputStreamClass' */ /*TODO: conversion for record 'GDataOutputStreamPrivate' */ #define GDesktopAppInfo_val(val) check_cast(G_DESKTOP_APP_INFO,val) #define Val_GDesktopAppInfo(val) Val_GObject((GObject*)val) #define Val_GDesktopAppInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDesktopAppInfoClass' */ /*TODO: conversion for record 'GDesktopAppInfoLaunchHandlerIface' */ /*TODO: conversion for record 'GDesktopAppInfoLookupIface' */ /*TODO: conversion for record 'GDriveIface' */ #define GEmblem_val(val) check_cast(G_EMBLEM,val) #define Val_GEmblem(val) Val_GObject((GObject*)val) #define Val_GEmblem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemClass' */ #define GEmblemedIcon_val(val) check_cast(G_EMBLEMED_ICON,val) #define Val_GEmblemedIcon(val) Val_GObject((GObject*)val) #define Val_GEmblemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemedIconClass' */ /*TODO: conversion for record 'GEmblemedIconPrivate' */ /*TODO: conversion for record 'GFileAttributeInfo' */ /*TODO: conversion for record 'GFileAttributeInfoList' */ /*TODO: conversion for record 'GFileAttributeMatcher' */ /*TODO: conversion for record 'GFileDescriptorBasedIface' */ #define GFileEnumerator_val(val) check_cast(G_FILE_ENUMERATOR,val) #define Val_GFileEnumerator(val) Val_GObject((GObject*)val) #define Val_GFileEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileEnumeratorClass' */ /*TODO: conversion for record 'GFileEnumeratorPrivate' */ #define GFileIOStream_val(val) check_cast(G_FILE_I_O_STREAM,val) #define Val_GFileIOStream(val) Val_GObject((GObject*)val) #define Val_GFileIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIOStreamClass' */ /*TODO: conversion for record 'GFileIOStreamPrivate' */ #define GFileIcon_val(val) check_cast(G_FILE_ICON,val) #define Val_GFileIcon(val) Val_GObject((GObject*)val) #define Val_GFileIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIconClass' */ /*TODO: conversion for record 'GFileIface' */ #define GFileInfo_val(val) check_cast(G_FILE_INFO,val) #define Val_GFileInfo(val) Val_GObject((GObject*)val) #define Val_GFileInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInfoClass' */ #define GFileInputStream_val(val) check_cast(G_FILE_INPUT_STREAM,val) #define Val_GFileInputStream(val) Val_GObject((GObject*)val) #define Val_GFileInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInputStreamClass' */ /*TODO: conversion for record 'GFileInputStreamPrivate' */ #define GFileMonitor_val(val) check_cast(G_FILE_MONITOR,val) #define Val_GFileMonitor(val) Val_GObject((GObject*)val) #define Val_GFileMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileMonitorClass' */ /*TODO: conversion for record 'GFileMonitorPrivate' */ #define GFileOutputStream_val(val) check_cast(G_FILE_OUTPUT_STREAM,val) #define Val_GFileOutputStream(val) Val_GObject((GObject*)val) #define Val_GFileOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileOutputStreamClass' */ /*TODO: conversion for record 'GFileOutputStreamPrivate' */ #define GFilenameCompleter_val(val) check_cast(G_FILENAME_COMPLETER,val) #define Val_GFilenameCompleter(val) Val_GObject((GObject*)val) #define Val_GFilenameCompleter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilenameCompleterClass' */ #define GFilterInputStream_val(val) check_cast(G_FILTER_INPUT_STREAM,val) #define Val_GFilterInputStream(val) Val_GObject((GObject*)val) #define Val_GFilterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterInputStreamClass' */ #define GFilterOutputStream_val(val) check_cast(G_FILTER_OUTPUT_STREAM,val) #define Val_GFilterOutputStream(val) Val_GObject((GObject*)val) #define Val_GFilterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterOutputStreamClass' */ /*TODO: conversion for record 'GIOExtension' */ /*TODO: conversion for record 'GIOExtensionPoint' */ #define GIOModule_val(val) check_cast(G_I_O_MODULE,val) #define Val_GIOModule(val) Val_GObject((GObject*)val) #define Val_GIOModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOModuleClass' */ /*TODO: conversion for record 'GIOSchedulerJob' */ #define GIOStream_val(val) check_cast(G_I_O_STREAM,val) #define Val_GIOStream(val) Val_GObject((GObject*)val) #define Val_GIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOStreamAdapter' */ /*TODO: conversion for record 'GIOStreamClass' */ /*TODO: conversion for record 'GIOStreamPrivate' */ /*TODO: conversion for record 'GIconIface' */ #define GInetAddress_val(val) check_cast(G_INET_ADDRESS,val) #define Val_GInetAddress(val) Val_GObject((GObject*)val) #define Val_GInetAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetAddressClass' */ /*TODO: conversion for record 'GInetAddressPrivate' */ #define GInetSocketAddress_val(val) check_cast(G_INET_SOCKET_ADDRESS,val) #define Val_GInetSocketAddress(val) Val_GObject((GObject*)val) #define Val_GInetSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetSocketAddressClass' */ /*TODO: conversion for record 'GInetSocketAddressPrivate' */ /*TODO: conversion for record 'GInitableIface' */ #define GInputStream_val(val) check_cast(G_INPUT_STREAM,val) #define Val_GInputStream(val) Val_GObject((GObject*)val) #define Val_GInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInputStreamClass' */ /*TODO: conversion for record 'GInputStreamPrivate' */ /*TODO: conversion for record 'GInputVector' */ /*TODO: conversion for record 'GLoadableIconIface' */ #define GMemoryInputStream_val(val) check_cast(G_MEMORY_INPUT_STREAM,val) #define Val_GMemoryInputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryInputStreamClass' */ /*TODO: conversion for record 'GMemoryInputStreamPrivate' */ #define GMemoryOutputStream_val(val) check_cast(G_MEMORY_OUTPUT_STREAM,val) #define Val_GMemoryOutputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryOutputStreamClass' */ /*TODO: conversion for record 'GMemoryOutputStreamPrivate' */ /*TODO: conversion for record 'GMountIface' */ #define GMountOperation_val(val) check_cast(G_MOUNT_OPERATION,val) #define Val_GMountOperation(val) Val_GObject((GObject*)val) #define Val_GMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMountOperationClass' */ /*TODO: conversion for record 'GMountOperationPrivate' */ #define GNativeVolumeMonitor_val(val) check_cast(G_NATIVE_VOLUME_MONITOR,val) #define Val_GNativeVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GNativeVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNativeVolumeMonitorClass' */ #define GNetworkAddress_val(val) check_cast(G_NETWORK_ADDRESS,val) #define Val_GNetworkAddress(val) Val_GObject((GObject*)val) #define Val_GNetworkAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkAddressClass' */ /*TODO: conversion for record 'GNetworkAddressPrivate' */ #define GNetworkService_val(val) check_cast(G_NETWORK_SERVICE,val) #define Val_GNetworkService(val) Val_GObject((GObject*)val) #define Val_GNetworkService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkServiceClass' */ /*TODO: conversion for record 'GNetworkServicePrivate' */ #define GOutputStream_val(val) check_cast(G_OUTPUT_STREAM,val) #define Val_GOutputStream(val) Val_GObject((GObject*)val) #define Val_GOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GOutputStreamClass' */ /*TODO: conversion for record 'GOutputStreamPrivate' */ /*TODO: conversion for record 'GOutputVector' */ #define GPermission_val(val) check_cast(G_PERMISSION,val) #define Val_GPermission(val) Val_GObject((GObject*)val) #define Val_GPermission_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GPermissionClass' */ /*TODO: conversion for record 'GPermissionPrivate' */ /*TODO: conversion for record 'GPollableInputStreamInterface' */ /*TODO: conversion for record 'GPollableOutputStreamInterface' */ #define GProxyAddress_val(val) check_cast(G_PROXY_ADDRESS,val) #define Val_GProxyAddress(val) Val_GObject((GObject*)val) #define Val_GProxyAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressClass' */ #define GProxyAddressEnumerator_val(val) check_cast(G_PROXY_ADDRESS_ENUMERATOR,val) #define Val_GProxyAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GProxyAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressEnumeratorClass' */ /*TODO: conversion for record 'GProxyAddressEnumeratorPrivate' */ /*TODO: conversion for record 'GProxyAddressPrivate' */ /*TODO: conversion for record 'GProxyInterface' */ /*TODO: conversion for record 'GProxyResolverInterface' */ #define GResolver_val(val) check_cast(G_RESOLVER,val) #define Val_GResolver(val) Val_GObject((GObject*)val) #define Val_GResolver_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GResolverClass' */ /*TODO: conversion for record 'GResolverPrivate' */ /*TODO: conversion for record 'GSeekableIface' */ #define GSettings_val(val) check_cast(G_SETTINGS,val) #define Val_GSettings(val) Val_GObject((GObject*)val) #define Val_GSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSettingsBackend' */ /*TODO: conversion for record 'GSettingsClass' */ /*TODO: conversion for record 'GSettingsPrivate' */ #define GSimpleAction_val(val) check_cast(G_SIMPLE_ACTION,val) #define Val_GSimpleAction(val) Val_GObject((GObject*)val) #define Val_GSimpleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionClass' */ #define GSimpleActionGroup_val(val) check_cast(G_SIMPLE_ACTION_GROUP,val) #define Val_GSimpleActionGroup(val) Val_GObject((GObject*)val) #define Val_GSimpleActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionGroupClass' */ /*TODO: conversion for record 'GSimpleActionGroupPrivate' */ /*TODO: conversion for record 'GSimpleActionPrivate' */ #define GSimpleAsyncResult_val(val) check_cast(G_SIMPLE_ASYNC_RESULT,val) #define Val_GSimpleAsyncResult(val) Val_GObject((GObject*)val) #define Val_GSimpleAsyncResult_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleAsyncResultClass' */ #define GSimplePermission_val(val) check_cast(G_SIMPLE_PERMISSION,val) #define Val_GSimplePermission(val) Val_GObject((GObject*)val) #define Val_GSimplePermission_new(val) Val_GObject_new((GObject*)val) #define GSocket_val(val) check_cast(G_SOCKET,val) #define Val_GSocket(val) Val_GObject((GObject*)val) #define Val_GSocket_new(val) Val_GObject_new((GObject*)val) #define GSocketAddress_val(val) check_cast(G_SOCKET_ADDRESS,val) #define Val_GSocketAddress(val) Val_GObject((GObject*)val) #define Val_GSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressClass' */ #define GSocketAddressEnumerator_val(val) check_cast(G_SOCKET_ADDRESS_ENUMERATOR,val) #define Val_GSocketAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GSocketAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressEnumeratorClass' */ /*TODO: conversion for record 'GSocketClass' */ #define GSocketClient_val(val) check_cast(G_SOCKET_CLIENT,val) #define Val_GSocketClient(val) Val_GObject((GObject*)val) #define Val_GSocketClient_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketClientClass' */ /*TODO: conversion for record 'GSocketClientPrivate' */ /*TODO: conversion for record 'GSocketConnectableIface' */ #define GSocketConnection_val(val) check_cast(G_SOCKET_CONNECTION,val) #define Val_GSocketConnection(val) Val_GObject((GObject*)val) #define Val_GSocketConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketConnectionClass' */ /*TODO: conversion for record 'GSocketConnectionPrivate' */ #define GSocketControlMessage_val(val) check_cast(G_SOCKET_CONTROL_MESSAGE,val) #define Val_GSocketControlMessage(val) Val_GObject((GObject*)val) #define Val_GSocketControlMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketControlMessageClass' */ /*TODO: conversion for record 'GSocketControlMessagePrivate' */ #define GSocketListener_val(val) check_cast(G_SOCKET_LISTENER,val) #define Val_GSocketListener(val) Val_GObject((GObject*)val) #define Val_GSocketListener_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketListenerClass' */ /*TODO: conversion for record 'GSocketListenerPrivate' */ /*TODO: conversion for record 'GSocketPrivate' */ #define GSocketService_val(val) check_cast(G_SOCKET_SERVICE,val) #define Val_GSocketService(val) Val_GObject((GObject*)val) #define Val_GSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketServiceClass' */ /*TODO: conversion for record 'GSocketServicePrivate' */ /*TODO: conversion for record 'GSrvTarget' */ #define GTcpConnection_val(val) check_cast(G_TCP_CONNECTION,val) #define Val_GTcpConnection(val) Val_GObject((GObject*)val) #define Val_GTcpConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpConnectionClass' */ /*TODO: conversion for record 'GTcpConnectionPrivate' */ #define GTcpWrapperConnection_val(val) check_cast(G_TCP_WRAPPER_CONNECTION,val) #define Val_GTcpWrapperConnection(val) Val_GObject((GObject*)val) #define Val_GTcpWrapperConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpWrapperConnectionClass' */ /*TODO: conversion for record 'GTcpWrapperConnectionPrivate' */ #define GThemedIcon_val(val) check_cast(G_THEMED_ICON,val) #define Val_GThemedIcon(val) Val_GObject((GObject*)val) #define Val_GThemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThemedIconClass' */ #define GThreadedSocketService_val(val) check_cast(G_THREADED_SOCKET_SERVICE,val) #define Val_GThreadedSocketService(val) Val_GObject((GObject*)val) #define Val_GThreadedSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThreadedSocketServiceClass' */ /*TODO: conversion for record 'GThreadedSocketServicePrivate' */ /*TODO: conversion for record 'GTlsBackendInterface' */ #define GTlsCertificate_val(val) check_cast(G_TLS_CERTIFICATE,val) #define Val_GTlsCertificate(val) Val_GObject((GObject*)val) #define Val_GTlsCertificate_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsCertificateClass' */ /*TODO: conversion for record 'GTlsCertificatePrivate' */ /*TODO: conversion for record 'GTlsClientConnectionInterface' */ /*TODO: conversion for record 'GTlsClientContext' */ #define GTlsConnection_val(val) check_cast(G_TLS_CONNECTION,val) #define Val_GTlsConnection(val) Val_GObject((GObject*)val) #define Val_GTlsConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsConnectionClass' */ /*TODO: conversion for record 'GTlsConnectionPrivate' */ /*TODO: conversion for record 'GTlsContext' */ /*TODO: conversion for record 'GTlsServerConnectionInterface' */ /*TODO: conversion for record 'GTlsServerContext' */ #define GUnixConnection_val(val) check_cast(G_UNIX_CONNECTION,val) #define Val_GUnixConnection(val) Val_GObject((GObject*)val) #define Val_GUnixConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixConnectionClass' */ /*TODO: conversion for record 'GUnixConnectionPrivate' */ #define GUnixCredentialsMessage_val(val) check_cast(G_UNIX_CREDENTIALS_MESSAGE,val) #define Val_GUnixCredentialsMessage(val) Val_GObject((GObject*)val) #define Val_GUnixCredentialsMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixCredentialsMessageClass' */ /*TODO: conversion for record 'GUnixCredentialsMessagePrivate' */ #define GUnixFDList_val(val) check_cast(G_UNIX_F_D_LIST,val) #define Val_GUnixFDList(val) Val_GObject((GObject*)val) #define Val_GUnixFDList_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDListClass' */ /*TODO: conversion for record 'GUnixFDListPrivate' */ #define GUnixFDMessage_val(val) check_cast(G_UNIX_F_D_MESSAGE,val) #define Val_GUnixFDMessage(val) Val_GObject((GObject*)val) #define Val_GUnixFDMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDMessageClass' */ /*TODO: conversion for record 'GUnixFDMessagePrivate' */ #define GUnixInputStream_val(val) check_cast(G_UNIX_INPUT_STREAM,val) #define Val_GUnixInputStream(val) Val_GObject((GObject*)val) #define Val_GUnixInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixInputStreamClass' */ /*TODO: conversion for record 'GUnixInputStreamPrivate' */ /*TODO: conversion for record 'GUnixMountEntry' */ #define GUnixMountMonitor_val(val) check_cast(G_UNIX_MOUNT_MONITOR,val) #define Val_GUnixMountMonitor(val) Val_GObject((GObject*)val) #define Val_GUnixMountMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixMountMonitorClass' */ /*TODO: conversion for record 'GUnixMountPoint' */ #define GUnixOutputStream_val(val) check_cast(G_UNIX_OUTPUT_STREAM,val) #define Val_GUnixOutputStream(val) Val_GObject((GObject*)val) #define Val_GUnixOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixOutputStreamClass' */ /*TODO: conversion for record 'GUnixOutputStreamPrivate' */ #define GUnixSocketAddress_val(val) check_cast(G_UNIX_SOCKET_ADDRESS,val) #define Val_GUnixSocketAddress(val) Val_GObject((GObject*)val) #define Val_GUnixSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixSocketAddressClass' */ /*TODO: conversion for record 'GUnixSocketAddressPrivate' */ #define GVfs_val(val) check_cast(G_VFS,val) #define Val_GVfs(val) Val_GObject((GObject*)val) #define Val_GVfs_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVfsClass' */ /*TODO: conversion for record 'GVolumeIface' */ #define GVolumeMonitor_val(val) check_cast(G_VOLUME_MONITOR,val) #define Val_GVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVolumeMonitorClass' */ #define GZlibCompressor_val(val) check_cast(G_ZLIB_COMPRESSOR,val) #define Val_GZlibCompressor(val) Val_GObject((GObject*)val) #define Val_GZlibCompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibCompressorClass' */ #define GZlibDecompressor_val(val) check_cast(G_ZLIB_DECOMPRESSOR,val) #define Val_GZlibDecompressor(val) Val_GObject((GObject*)val) #define Val_GZlibDecompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibDecompressorClass' */ #define GdkPixbuf_val(val) check_cast(GDK_PIXBUF,val) #define Val_GdkPixbuf(val) Val_GObject((GObject*)val) #define Val_GdkPixbuf_new(val) Val_GObject_new((GObject*)val) #define GdkPixbufAnimation_val(val) check_cast(GDK_PIXBUF_ANIMATION,val) #define Val_GdkPixbufAnimation(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationClass' */ #define GdkPixbufAnimationIter_val(val) check_cast(GDK_PIXBUF_ANIMATION_ITER,val) #define Val_GdkPixbufAnimationIter(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimationIter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationIterClass' */ /*TODO: conversion for record 'GdkPixbufFormat' */ #define GdkPixbufLoader_val(val) check_cast(GDK_PIXBUF_LOADER,val) #define Val_GdkPixbufLoader(val) Val_GObject((GObject*)val) #define Val_GdkPixbufLoader_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufLoaderClass' */ /*TODO: conversion for record 'GdkPixbufModule' */ /*TODO: conversion for record 'GdkPixbufModulePattern' */ #define GdkPixbufSimpleAnim_val(val) check_cast(GDK_PIXBUF_SIMPLE_ANIM,val) #define Val_GdkPixbufSimpleAnim(val) Val_GObject((GObject*)val) #define Val_GdkPixbufSimpleAnim_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufSimpleAnimClass' */ /*TODO: conversion for record 'GdkPixdata' */ /*TODO: conversion for record 'cairo_t' */ /*TODO: conversion for record 'cairo_surface_t' */ /*TODO: conversion for record 'cairo_matrix_t' */ /*TODO: conversion for record 'cairo_pattern_t' */ /*TODO: conversion for record 'cairo_region_t' */ /*TODO: conversion for record 'cairo_font_options_t' */ /*TODO: conversion for record 'cairo_font_type_t' */ /*TODO: conversion for record 'cairo_font_face_t' */ /*TODO: conversion for record 'cairo_scaled_font_t' */ /*TODO: conversion for record 'cairo_path_t' */ /*TODO: conversion for record 'cairo_rectangle_int_t' */ /*TODO: conversion for record 'PangoAnalysis' */ /*TODO: conversion for record 'PangoAttrClass' */ /*TODO: conversion for record 'PangoAttrColor' */ /*TODO: conversion for record 'PangoAttrFloat' */ /*TODO: conversion for record 'PangoAttrFontDesc' */ /*TODO: conversion for record 'PangoAttrInt' */ /*TODO: conversion for record 'PangoAttrIterator' */ /*TODO: conversion for record 'PangoAttrLanguage' */ /*TODO: conversion for record 'PangoAttrList' */ /*TODO: conversion for record 'PangoAttrShape' */ /*TODO: conversion for record 'PangoAttrSize' */ /*TODO: conversion for record 'PangoAttrString' */ /*TODO: conversion for record 'PangoAttribute' */ /*TODO: conversion for record 'PangoColor' */ #define PangoContext_val(val) check_cast(PANGO_CONTEXT,val) #define Val_PangoContext(val) Val_GObject((GObject*)val) #define Val_PangoContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoContextClass' */ /*TODO: conversion for record 'PangoCoverage' */ /*TODO: conversion for record 'PangoEngineLang' */ /*TODO: conversion for record 'PangoEngineShape' */ #define PangoFont_val(val) check_cast(PANGO_FONT,val) #define Val_PangoFont(val) Val_GObject((GObject*)val) #define Val_PangoFont_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontDescription' */ #define PangoFontFace_val(val) check_cast(PANGO_FONT_FACE,val) #define Val_PangoFontFace(val) Val_GObject((GObject*)val) #define Val_PangoFontFace_new(val) Val_GObject_new((GObject*)val) #define PangoFontFamily_val(val) check_cast(PANGO_FONT_FAMILY,val) #define Val_PangoFontFamily(val) Val_GObject((GObject*)val) #define Val_PangoFontFamily_new(val) Val_GObject_new((GObject*)val) #define PangoFontMap_val(val) check_cast(PANGO_FONT_MAP,val) #define Val_PangoFontMap(val) Val_GObject((GObject*)val) #define Val_PangoFontMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontMetrics' */ #define PangoFontset_val(val) check_cast(PANGO_FONTSET,val) #define Val_PangoFontset(val) Val_GObject((GObject*)val) #define Val_PangoFontset_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoGlyphGeometry' */ /*TODO: conversion for record 'PangoGlyphInfo' */ /*TODO: conversion for record 'PangoGlyphItem' */ /*TODO: conversion for record 'PangoGlyphItemIter' */ /*TODO: conversion for record 'PangoGlyphString' */ /*TODO: conversion for record 'PangoGlyphVisAttr' */ /*TODO: conversion for record 'PangoItem' */ /*TODO: conversion for record 'PangoLanguage' */ #define PangoLayout_val(val) check_cast(PANGO_LAYOUT,val) #define Val_PangoLayout(val) Val_GObject((GObject*)val) #define Val_PangoLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoLayoutClass' */ /*TODO: conversion for record 'PangoLayoutIter' */ /*TODO: conversion for record 'PangoLayoutLine' */ /*TODO: conversion for record 'PangoLogAttr' */ /*TODO: conversion for record 'PangoMatrix' */ /*TODO: conversion for record 'PangoRectangle' */ #define PangoRenderer_val(val) check_cast(PANGO_RENDERER,val) #define Val_PangoRenderer(val) Val_GObject((GObject*)val) #define Val_PangoRenderer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoRendererClass' */ /*TODO: conversion for record 'PangoRendererPrivate' */ /*TODO: conversion for record 'PangoScriptIter' */ /*TODO: conversion for record 'PangoTabArray' */ /*TODO: conversion for record '_PangoScriptForLang' */ #define GdkAppLaunchContext_val(val) check_cast(GDK_APP_LAUNCH_CONTEXT,val) #define Val_GdkAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GdkAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkAtom' */ /*TODO: conversion for record 'GdkColor' */ #define GdkCursor_val(val) check_cast(GDK_CURSOR,val) #define Val_GdkCursor(val) Val_GObject((GObject*)val) #define Val_GdkCursor_new(val) Val_GObject_new((GObject*)val) #define GdkDevice_val(val) check_cast(GDK_DEVICE,val) #define Val_GdkDevice(val) Val_GObject((GObject*)val) #define Val_GdkDevice_new(val) Val_GObject_new((GObject*)val) #define GdkDeviceManager_val(val) check_cast(GDK_DEVICE_MANAGER,val) #define Val_GdkDeviceManager(val) Val_GObject((GObject*)val) #define Val_GdkDeviceManager_new(val) Val_GObject_new((GObject*)val) #define GdkDisplay_val(val) check_cast(GDK_DISPLAY_OBJECT,val) #define Val_GdkDisplay(val) Val_GObject((GObject*)val) #define Val_GdkDisplay_new(val) Val_GObject_new((GObject*)val) #define GdkDisplayManager_val(val) check_cast(GDK_DISPLAY_MANAGER,val) #define Val_GdkDisplayManager(val) Val_GObject((GObject*)val) #define Val_GdkDisplayManager_new(val) Val_GObject_new((GObject*)val) #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val) #define Val_GdkDragContext(val) Val_GObject((GObject*)val) #define Val_GdkDragContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkEventAny' */ /*TODO: conversion for record 'GdkEventButton' */ /*TODO: conversion for record 'GdkEventConfigure' */ /*TODO: conversion for record 'GdkEventCrossing' */ /*TODO: conversion for record 'GdkEventDND' */ /*TODO: conversion for record 'GdkEventExpose' */ /*TODO: conversion for record 'GdkEventFocus' */ /*TODO: conversion for record 'GdkEventGrabBroken' */ /*TODO: conversion for record 'GdkEventKey' */ /*TODO: conversion for record 'GdkEventMotion' */ /*TODO: conversion for record 'GdkEventOwnerChange' */ /*TODO: conversion for record 'GdkEventProperty' */ /*TODO: conversion for record 'GdkEventProximity' */ /*TODO: conversion for record 'GdkEventScroll' */ /*TODO: conversion for record 'GdkEventSelection' */ /*TODO: conversion for record 'GdkEventSetting' */ /*TODO: conversion for record 'GdkEventVisibility' */ /*TODO: conversion for record 'GdkEventWindowState' */ /*TODO: conversion for record 'GdkGeometry' */ #define GdkKeymap_val(val) check_cast(GDK_KEYMAP,val) #define Val_GdkKeymap(val) Val_GObject((GObject*)val) #define Val_GdkKeymap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkKeymapKey' */ /*TODO: conversion for record 'GdkPoint' */ /*TODO: conversion for record 'GdkRGBA' */ #define GdkScreen_val(val) check_cast(GDK_SCREEN,val) #define Val_GdkScreen(val) Val_GObject((GObject*)val) #define Val_GdkScreen_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkTimeCoord' */ #define GdkVisual_val(val) check_cast(GDK_VISUAL,val) #define Val_GdkVisual(val) Val_GObject((GObject*)val) #define Val_GdkVisual_new(val) Val_GObject_new((GObject*)val) #define GdkWindow_val(val) check_cast(GDK_WINDOW,val) #define Val_GdkWindow(val) Val_GObject((GObject*)val) #define Val_GdkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkWindowAttr' */ /*TODO: conversion for record 'GdkWindowClass' */ /*TODO: conversion for record 'GdkWindowRedirect' */ #define GtkAboutDialog_val(val) check_cast(GTK_ABOUT_DIALOG,val) #define Val_GtkAboutDialog(val) Val_GObject((GObject*)val) #define Val_GtkAboutDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAboutDialogClass' */ /*TODO: conversion for record 'GtkAboutDialogPrivate' */ #define GtkAccelGroup_val(val) check_cast(GTK_ACCEL_GROUP,val) #define Val_GtkAccelGroup(val) Val_GObject((GObject*)val) #define Val_GtkAccelGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelGroupClass' */ /*TODO: conversion for record 'GtkAccelGroupEntry' */ /*TODO: conversion for record 'GtkAccelGroupPrivate' */ /*TODO: conversion for record 'GtkAccelKey' */ #define GtkAccelLabel_val(val) check_cast(GTK_ACCEL_LABEL,val) #define Val_GtkAccelLabel(val) Val_GObject((GObject*)val) #define Val_GtkAccelLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelLabelClass' */ /*TODO: conversion for record 'GtkAccelLabelPrivate' */ #define GtkAccelMap_val(val) check_cast(GTK_ACCEL_MAP,val) #define Val_GtkAccelMap(val) Val_GObject((GObject*)val) #define Val_GtkAccelMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelMapClass' */ #define GtkAccessible_val(val) check_cast(GTK_ACCESSIBLE,val) #define Val_GtkAccessible(val) Val_GObject((GObject*)val) #define Val_GtkAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccessibleClass' */ /*TODO: conversion for record 'GtkAccessiblePrivate' */ #define GtkAction_val(val) check_cast(GTK_ACTION,val) #define Val_GtkAction(val) Val_GObject((GObject*)val) #define Val_GtkAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionClass' */ /*TODO: conversion for record 'GtkActionEntry' */ #define GtkActionGroup_val(val) check_cast(GTK_ACTION_GROUP,val) #define Val_GtkActionGroup(val) Val_GObject((GObject*)val) #define Val_GtkActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionGroupClass' */ /*TODO: conversion for record 'GtkActionGroupPrivate' */ /*TODO: conversion for record 'GtkActionPrivate' */ /*TODO: conversion for record 'GtkActivatableIface' */ #define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val) #define Val_GtkAdjustment(val) Val_GObject((GObject*)val) #define Val_GtkAdjustment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAdjustmentClass' */ /*TODO: conversion for record 'GtkAdjustmentPrivate' */ #define GtkAlignment_val(val) check_cast(GTK_ALIGNMENT,val) #define Val_GtkAlignment(val) Val_GObject((GObject*)val) #define Val_GtkAlignment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAlignmentClass' */ /*TODO: conversion for record 'GtkAlignmentPrivate' */ #define GtkAppChooserButton_val(val) check_cast(GTK_APP_CHOOSER_BUTTON,val) #define Val_GtkAppChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserButtonClass' */ /*TODO: conversion for record 'GtkAppChooserButtonPrivate' */ #define GtkAppChooserDialog_val(val) check_cast(GTK_APP_CHOOSER_DIALOG,val) #define Val_GtkAppChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserDialogClass' */ /*TODO: conversion for record 'GtkAppChooserDialogPrivate' */ #define GtkAppChooserWidget_val(val) check_cast(GTK_APP_CHOOSER_WIDGET,val) #define Val_GtkAppChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserWidgetClass' */ /*TODO: conversion for record 'GtkAppChooserWidgetPrivate' */ #define GtkApplication_val(val) check_cast(GTK_APPLICATION,val) #define Val_GtkApplication(val) Val_GObject((GObject*)val) #define Val_GtkApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkApplicationClass' */ /*TODO: conversion for record 'GtkApplicationPrivate' */ #define GtkArrow_val(val) check_cast(GTK_ARROW,val) #define Val_GtkArrow(val) Val_GObject((GObject*)val) #define Val_GtkArrow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkArrowClass' */ /*TODO: conversion for record 'GtkArrowPrivate' */ #define GtkAspectFrame_val(val) check_cast(GTK_ASPECT_FRAME,val) #define Val_GtkAspectFrame(val) Val_GObject((GObject*)val) #define Val_GtkAspectFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAspectFrameClass' */ /*TODO: conversion for record 'GtkAspectFramePrivate' */ #define GtkAssistant_val(val) check_cast(GTK_ASSISTANT,val) #define Val_GtkAssistant(val) Val_GObject((GObject*)val) #define Val_GtkAssistant_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAssistantClass' */ /*TODO: conversion for record 'GtkAssistantPrivate' */ #define GtkBin_val(val) check_cast(GTK_BIN,val) #define Val_GtkBin(val) Val_GObject((GObject*)val) #define Val_GtkBin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBinClass' */ /*TODO: conversion for record 'GtkBinPrivate' */ /*TODO: conversion for record 'GtkBindingArg' */ /*TODO: conversion for record 'GtkBindingEntry' */ /*TODO: conversion for record 'GtkBindingSet' */ /*TODO: conversion for record 'GtkBindingSignal' */ /*TODO: conversion for record 'GtkBorder' */ #define GtkBox_val(val) check_cast(GTK_BOX,val) #define Val_GtkBox(val) Val_GObject((GObject*)val) #define Val_GtkBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBoxClass' */ /*TODO: conversion for record 'GtkBoxPrivate' */ /*TODO: conversion for record 'GtkBuildableIface' */ #define GtkBuilder_val(val) check_cast(GTK_BUILDER,val) #define Val_GtkBuilder(val) Val_GObject((GObject*)val) #define Val_GtkBuilder_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBuilderClass' */ /*TODO: conversion for record 'GtkBuilderPrivate' */ #define GtkButton_val(val) check_cast(GTK_BUTTON,val) #define Val_GtkButton(val) Val_GObject((GObject*)val) #define Val_GtkButton_new(val) Val_GObject_new((GObject*)val) #define GtkButtonBox_val(val) check_cast(GTK_BUTTON_BOX,val) #define Val_GtkButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkButtonBoxClass' */ /*TODO: conversion for record 'GtkButtonBoxPrivate' */ /*TODO: conversion for record 'GtkButtonClass' */ /*TODO: conversion for record 'GtkButtonPrivate' */ #define GtkCalendar_val(val) check_cast(GTK_CALENDAR,val) #define Val_GtkCalendar(val) Val_GObject((GObject*)val) #define Val_GtkCalendar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCalendarClass' */ /*TODO: conversion for record 'GtkCalendarPrivate' */ #define GtkCellArea_val(val) check_cast(GTK_CELL_AREA,val) #define Val_GtkCellArea(val) Val_GObject((GObject*)val) #define Val_GtkCellArea_new(val) Val_GObject_new((GObject*)val) #define GtkCellAreaBox_val(val) check_cast(GTK_CELL_AREA_BOX,val) #define Val_GtkCellAreaBox(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaBoxClass' */ /*TODO: conversion for record 'GtkCellAreaBoxPrivate' */ /*TODO: conversion for record 'GtkCellAreaClass' */ #define GtkCellAreaContext_val(val) check_cast(GTK_CELL_AREA_CONTEXT,val) #define Val_GtkCellAreaContext(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaContextClass' */ /*TODO: conversion for record 'GtkCellAreaContextPrivate' */ /*TODO: conversion for record 'GtkCellAreaPrivate' */ /*TODO: conversion for record 'GtkCellEditableIface' */ /*TODO: conversion for record 'GtkCellLayoutIface' */ #define GtkCellRenderer_val(val) check_cast(GTK_CELL_RENDERER,val) #define Val_GtkCellRenderer(val) Val_GObject((GObject*)val) #define Val_GtkCellRenderer_new(val) Val_GObject_new((GObject*)val) #define GtkCellRendererAccel_val(val) check_cast(GTK_CELL_RENDERER_ACCEL,val) #define Val_GtkCellRendererAccel(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererAccel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererAccelClass' */ /*TODO: conversion for record 'GtkCellRendererAccelPrivate' */ /*TODO: conversion for record 'GtkCellRendererClass' */ #define GtkCellRendererCombo_val(val) check_cast(GTK_CELL_RENDERER_COMBO,val) #define Val_GtkCellRendererCombo(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererCombo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererComboClass' */ /*TODO: conversion for record 'GtkCellRendererComboPrivate' */ #define GtkCellRendererPixbuf_val(val) check_cast(GTK_CELL_RENDERER_PIXBUF,val) #define Val_GtkCellRendererPixbuf(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererPixbuf_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererPixbufClass' */ /*TODO: conversion for record 'GtkCellRendererPixbufPrivate' */ /*TODO: conversion for record 'GtkCellRendererPrivate' */ #define GtkCellRendererProgress_val(val) check_cast(GTK_CELL_RENDERER_PROGRESS,val) #define Val_GtkCellRendererProgress(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererProgress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererProgressClass' */ /*TODO: conversion for record 'GtkCellRendererProgressPrivate' */ #define GtkCellRendererSpin_val(val) check_cast(GTK_CELL_RENDERER_SPIN,val) #define Val_GtkCellRendererSpin(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinClass' */ /*TODO: conversion for record 'GtkCellRendererSpinPrivate' */ #define GtkCellRendererSpinner_val(val) check_cast(GTK_CELL_RENDERER_SPINNER,val) #define Val_GtkCellRendererSpinner(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinnerClass' */ /*TODO: conversion for record 'GtkCellRendererSpinnerPrivate' */ #define GtkCellRendererText_val(val) check_cast(GTK_CELL_RENDERER_TEXT,val) #define Val_GtkCellRendererText(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererTextClass' */ /*TODO: conversion for record 'GtkCellRendererTextPrivate' */ #define GtkCellRendererToggle_val(val) check_cast(GTK_CELL_RENDERER_TOGGLE,val) #define Val_GtkCellRendererToggle(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererToggle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererToggleClass' */ /*TODO: conversion for record 'GtkCellRendererTogglePrivate' */ #define GtkCellView_val(val) check_cast(GTK_CELL_VIEW,val) #define Val_GtkCellView(val) Val_GObject((GObject*)val) #define Val_GtkCellView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellViewClass' */ /*TODO: conversion for record 'GtkCellViewPrivate' */ #define GtkCheckButton_val(val) check_cast(GTK_CHECK_BUTTON,val) #define Val_GtkCheckButton(val) Val_GObject((GObject*)val) #define Val_GtkCheckButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckButtonClass' */ #define GtkCheckMenuItem_val(val) check_cast(GTK_CHECK_MENU_ITEM,val) #define Val_GtkCheckMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkCheckMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckMenuItemClass' */ /*TODO: conversion for record 'GtkCheckMenuItemPrivate' */ #define GtkClipboard_val(val) check_cast(GTK_CLIPBOARD,val) #define Val_GtkClipboard(val) Val_GObject((GObject*)val) #define Val_GtkClipboard_new(val) Val_GObject_new((GObject*)val) #define GtkColorButton_val(val) check_cast(GTK_COLOR_BUTTON,val) #define Val_GtkColorButton(val) Val_GObject((GObject*)val) #define Val_GtkColorButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorButtonClass' */ /*TODO: conversion for record 'GtkColorButtonPrivate' */ #define GtkColorSelection_val(val) check_cast(GTK_COLOR_SELECTION,val) #define Val_GtkColorSelection(val) Val_GObject((GObject*)val) #define Val_GtkColorSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionClass' */ #define GtkColorSelectionDialog_val(val) check_cast(GTK_COLOR_SELECTION_DIALOG,val) #define Val_GtkColorSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkColorSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionDialogClass' */ /*TODO: conversion for record 'GtkColorSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkColorSelectionPrivate' */ #define GtkComboBox_val(val) check_cast(GTK_COMBO_BOX,val) #define Val_GtkComboBox(val) Val_GObject((GObject*)val) #define Val_GtkComboBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxClass' */ /*TODO: conversion for record 'GtkComboBoxPrivate' */ #define GtkComboBoxText_val(val) check_cast(GTK_COMBO_BOX_TEXT,val) #define Val_GtkComboBoxText(val) Val_GObject((GObject*)val) #define Val_GtkComboBoxText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxTextClass' */ /*TODO: conversion for record 'GtkComboBoxTextPrivate' */ #define GtkContainer_val(val) check_cast(GTK_CONTAINER,val) #define Val_GtkContainer(val) Val_GObject((GObject*)val) #define Val_GtkContainer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkContainerClass' */ /*TODO: conversion for record 'GtkContainerPrivate' */ #define GtkCssProvider_val(val) check_cast(GTK_CSS_PROVIDER,val) #define Val_GtkCssProvider(val) Val_GObject((GObject*)val) #define Val_GtkCssProvider_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCssProviderClass' */ #define GtkDialog_val(val) check_cast(GTK_DIALOG,val) #define Val_GtkDialog(val) Val_GObject((GObject*)val) #define Val_GtkDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDialogClass' */ /*TODO: conversion for record 'GtkDialogPrivate' */ #define GtkDrawingArea_val(val) check_cast(GTK_DRAWING_AREA,val) #define Val_GtkDrawingArea(val) Val_GObject((GObject*)val) #define Val_GtkDrawingArea_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDrawingAreaClass' */ /*TODO: conversion for record 'GtkEditableInterface' */ #define GtkEntry_val(val) check_cast(GTK_ENTRY,val) #define Val_GtkEntry(val) Val_GObject((GObject*)val) #define Val_GtkEntry_new(val) Val_GObject_new((GObject*)val) #define GtkEntryBuffer_val(val) check_cast(GTK_ENTRY_BUFFER,val) #define Val_GtkEntryBuffer(val) Val_GObject((GObject*)val) #define Val_GtkEntryBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryBufferClass' */ /*TODO: conversion for record 'GtkEntryBufferPrivate' */ /*TODO: conversion for record 'GtkEntryClass' */ #define GtkEntryCompletion_val(val) check_cast(GTK_ENTRY_COMPLETION,val) #define Val_GtkEntryCompletion(val) Val_GObject((GObject*)val) #define Val_GtkEntryCompletion_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryCompletionClass' */ /*TODO: conversion for record 'GtkEntryCompletionPrivate' */ /*TODO: conversion for record 'GtkEntryPrivate' */ #define GtkEventBox_val(val) check_cast(GTK_EVENT_BOX,val) #define Val_GtkEventBox(val) Val_GObject((GObject*)val) #define Val_GtkEventBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEventBoxClass' */ /*TODO: conversion for record 'GtkEventBoxPrivate' */ #define GtkExpander_val(val) check_cast(GTK_EXPANDER,val) #define Val_GtkExpander(val) Val_GObject((GObject*)val) #define Val_GtkExpander_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkExpanderClass' */ /*TODO: conversion for record 'GtkExpanderPrivate' */ #define GtkFileChooserButton_val(val) check_cast(GTK_FILE_CHOOSER_BUTTON,val) #define Val_GtkFileChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserButtonClass' */ /*TODO: conversion for record 'GtkFileChooserButtonPrivate' */ #define GtkFileChooserDialog_val(val) check_cast(GTK_FILE_CHOOSER_DIALOG,val) #define Val_GtkFileChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserDialogClass' */ /*TODO: conversion for record 'GtkFileChooserDialogPrivate' */ #define GtkFileChooserWidget_val(val) check_cast(GTK_FILE_CHOOSER_WIDGET,val) #define Val_GtkFileChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserWidgetClass' */ /*TODO: conversion for record 'GtkFileChooserWidgetPrivate' */ #define GtkFileFilter_val(val) check_cast(GTK_FILE_FILTER,val) #define Val_GtkFileFilter(val) Val_GObject((GObject*)val) #define Val_GtkFileFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileFilterInfo' */ #define GtkFixed_val(val) check_cast(GTK_FIXED,val) #define Val_GtkFixed(val) Val_GObject((GObject*)val) #define Val_GtkFixed_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFixedChild' */ /*TODO: conversion for record 'GtkFixedClass' */ /*TODO: conversion for record 'GtkFixedPrivate' */ #define GtkFontButton_val(val) check_cast(GTK_FONT_BUTTON,val) #define Val_GtkFontButton(val) Val_GObject((GObject*)val) #define Val_GtkFontButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontButtonClass' */ /*TODO: conversion for record 'GtkFontButtonPrivate' */ #define GtkFontSelection_val(val) check_cast(GTK_FONT_SELECTION,val) #define Val_GtkFontSelection(val) Val_GObject((GObject*)val) #define Val_GtkFontSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionClass' */ #define GtkFontSelectionDialog_val(val) check_cast(GTK_FONT_SELECTION_DIALOG,val) #define Val_GtkFontSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkFontSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionDialogClass' */ /*TODO: conversion for record 'GtkFontSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkFontSelectionPrivate' */ #define GtkFrame_val(val) check_cast(GTK_FRAME,val) #define Val_GtkFrame(val) Val_GObject((GObject*)val) #define Val_GtkFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFrameClass' */ /*TODO: conversion for record 'GtkFramePrivate' */ /*TODO: conversion for record 'GtkGradient' */ #define GtkGrid_val(val) check_cast(GTK_GRID,val) #define Val_GtkGrid(val) Val_GObject((GObject*)val) #define Val_GtkGrid_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkGridClass' */ /*TODO: conversion for record 'GtkGridPrivate' */ #define GtkHBox_val(val) check_cast(GTK_H_BOX,val) #define Val_GtkHBox(val) Val_GObject((GObject*)val) #define Val_GtkHBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHBoxClass' */ #define GtkHButtonBox_val(val) check_cast(GTK_H_BUTTON_BOX,val) #define Val_GtkHButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkHButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHButtonBoxClass' */ #define GtkHPaned_val(val) check_cast(GTK_H_PANED,val) #define Val_GtkHPaned(val) Val_GObject((GObject*)val) #define Val_GtkHPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHPanedClass' */ #define GtkHSV_val(val) check_cast(GTK_HSV,val) #define Val_GtkHSV(val) Val_GObject((GObject*)val) #define Val_GtkHSV_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSVClass' */ /*TODO: conversion for record 'GtkHSVPrivate' */ #define GtkHScale_val(val) check_cast(GTK_H_SCALE,val) #define Val_GtkHScale(val) Val_GObject((GObject*)val) #define Val_GtkHScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScaleClass' */ #define GtkHScrollbar_val(val) check_cast(GTK_H_SCROLLBAR,val) #define Val_GtkHScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkHScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScrollbarClass' */ #define GtkHSeparator_val(val) check_cast(GTK_H_SEPARATOR,val) #define Val_GtkHSeparator(val) Val_GObject((GObject*)val) #define Val_GtkHSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSeparatorClass' */ #define GtkHandleBox_val(val) check_cast(GTK_HANDLE_BOX,val) #define Val_GtkHandleBox(val) Val_GObject((GObject*)val) #define Val_GtkHandleBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHandleBoxClass' */ /*TODO: conversion for record 'GtkHandleBoxPrivate' */ #define GtkIMContext_val(val) check_cast(GTK_IM_CONTEXT,val) #define Val_GtkIMContext(val) Val_GObject((GObject*)val) #define Val_GtkIMContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextClass' */ /*TODO: conversion for record 'GtkIMContextInfo' */ #define GtkIMContextSimple_val(val) check_cast(GTK_I_M_CONTEXT_SIMPLE,val) #define Val_GtkIMContextSimple(val) Val_GObject((GObject*)val) #define Val_GtkIMContextSimple_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextSimpleClass' */ /*TODO: conversion for record 'GtkIMContextSimplePrivate' */ #define GtkIMMulticontext_val(val) check_cast(GTK_IM_MULTICONTEXT,val) #define Val_GtkIMMulticontext(val) Val_GObject((GObject*)val) #define Val_GtkIMMulticontext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMMulticontextClass' */ /*TODO: conversion for record 'GtkIMMulticontextPrivate' */ #define GtkIconFactory_val(val) check_cast(GTK_ICON_FACTORY,val) #define Val_GtkIconFactory(val) Val_GObject((GObject*)val) #define Val_GtkIconFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconFactoryClass' */ /*TODO: conversion for record 'GtkIconFactoryPrivate' */ /*TODO: conversion for record 'GtkIconInfo' */ /*TODO: conversion for record 'GtkIconSet' */ /*TODO: conversion for record 'GtkIconSource' */ #define GtkIconTheme_val(val) check_cast(GTK_ICON_THEME,val) #define Val_GtkIconTheme(val) Val_GObject((GObject*)val) #define Val_GtkIconTheme_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconThemeClass' */ /*TODO: conversion for record 'GtkIconThemePrivate' */ #define GtkIconView_val(val) check_cast(GTK_ICON_VIEW,val) #define Val_GtkIconView(val) Val_GObject((GObject*)val) #define Val_GtkIconView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconViewClass' */ /*TODO: conversion for record 'GtkIconViewPrivate' */ #define GtkImage_val(val) check_cast(GTK_IMAGE,val) #define Val_GtkImage(val) Val_GObject((GObject*)val) #define Val_GtkImage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageClass' */ #define GtkImageMenuItem_val(val) check_cast(GTK_IMAGE_MENU_ITEM,val) #define Val_GtkImageMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkImageMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageMenuItemClass' */ /*TODO: conversion for record 'GtkImageMenuItemPrivate' */ /*TODO: conversion for record 'GtkImagePrivate' */ #define GtkInfoBar_val(val) check_cast(GTK_INFO_BAR,val) #define Val_GtkInfoBar(val) Val_GObject((GObject*)val) #define Val_GtkInfoBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInfoBarClass' */ /*TODO: conversion for record 'GtkInfoBarPrivate' */ #define GtkInvisible_val(val) check_cast(GTK_INVISIBLE,val) #define Val_GtkInvisible(val) Val_GObject((GObject*)val) #define Val_GtkInvisible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInvisibleClass' */ /*TODO: conversion for record 'GtkInvisiblePrivate' */ #define GtkLabel_val(val) check_cast(GTK_LABEL,val) #define Val_GtkLabel(val) Val_GObject((GObject*)val) #define Val_GtkLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLabelClass' */ /*TODO: conversion for record 'GtkLabelPrivate' */ /*TODO: conversion for record 'GtkLabelSelectionInfo' */ #define GtkLayout_val(val) check_cast(GTK_LAYOUT,val) #define Val_GtkLayout(val) Val_GObject((GObject*)val) #define Val_GtkLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLayoutClass' */ /*TODO: conversion for record 'GtkLayoutPrivate' */ #define GtkLinkButton_val(val) check_cast(GTK_LINK_BUTTON,val) #define Val_GtkLinkButton(val) Val_GObject((GObject*)val) #define Val_GtkLinkButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLinkButtonClass' */ /*TODO: conversion for record 'GtkLinkButtonPrivate' */ #define GtkListStore_val(val) check_cast(GTK_LIST_STORE,val) #define Val_GtkListStore(val) Val_GObject((GObject*)val) #define Val_GtkListStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkListStoreClass' */ /*TODO: conversion for record 'GtkListStorePrivate' */ #define GtkMenu_val(val) check_cast(GTK_MENU,val) #define Val_GtkMenu(val) Val_GObject((GObject*)val) #define Val_GtkMenu_new(val) Val_GObject_new((GObject*)val) #define GtkMenuBar_val(val) check_cast(GTK_MENU_BAR,val) #define Val_GtkMenuBar(val) Val_GObject((GObject*)val) #define Val_GtkMenuBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuBarClass' */ /*TODO: conversion for record 'GtkMenuBarPrivate' */ /*TODO: conversion for record 'GtkMenuClass' */ #define GtkMenuItem_val(val) check_cast(GTK_MENU_ITEM,val) #define Val_GtkMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuItemClass' */ /*TODO: conversion for record 'GtkMenuItemPrivate' */ /*TODO: conversion for record 'GtkMenuPrivate' */ #define GtkMenuShell_val(val) check_cast(GTK_MENU_SHELL,val) #define Val_GtkMenuShell(val) Val_GObject((GObject*)val) #define Val_GtkMenuShell_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuShellClass' */ /*TODO: conversion for record 'GtkMenuShellPrivate' */ #define GtkMenuToolButton_val(val) check_cast(GTK_MENU_TOOL_BUTTON,val) #define Val_GtkMenuToolButton(val) Val_GObject((GObject*)val) #define Val_GtkMenuToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuToolButtonClass' */ /*TODO: conversion for record 'GtkMenuToolButtonPrivate' */ #define GtkMessageDialog_val(val) check_cast(GTK_MESSAGE_DIALOG,val) #define Val_GtkMessageDialog(val) Val_GObject((GObject*)val) #define Val_GtkMessageDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMessageDialogClass' */ /*TODO: conversion for record 'GtkMessageDialogPrivate' */ #define GtkMisc_val(val) check_cast(GTK_MISC,val) #define Val_GtkMisc(val) Val_GObject((GObject*)val) #define Val_GtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMiscClass' */ /*TODO: conversion for record 'GtkMiscPrivate' */ #define GtkMountOperation_val(val) check_cast(GTK_MOUNT_OPERATION,val) #define Val_GtkMountOperation(val) Val_GObject((GObject*)val) #define Val_GtkMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMountOperationClass' */ /*TODO: conversion for record 'GtkMountOperationPrivate' */ #define GtkNotebook_val(val) check_cast(GTK_NOTEBOOK,val) #define Val_GtkNotebook(val) Val_GObject((GObject*)val) #define Val_GtkNotebook_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNotebookClass' */ /*TODO: conversion for record 'GtkNotebookPrivate' */ #define GtkNumerableIcon_val(val) check_cast(GTK_NUMERABLE_ICON,val) #define Val_GtkNumerableIcon(val) Val_GObject((GObject*)val) #define Val_GtkNumerableIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNumerableIconClass' */ /*TODO: conversion for record 'GtkNumerableIconPrivate' */ #define GtkOffscreenWindow_val(val) check_cast(GTK_OFFSCREEN_WINDOW,val) #define Val_GtkOffscreenWindow(val) Val_GObject((GObject*)val) #define Val_GtkOffscreenWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkOffscreenWindowClass' */ /*TODO: conversion for record 'GtkOrientableIface' */ /*TODO: conversion for record 'GtkPageRange' */ #define GtkPageSetup_val(val) check_cast(GTK_PAGE_SETUP,val) #define Val_GtkPageSetup(val) Val_GObject((GObject*)val) #define Val_GtkPageSetup_new(val) Val_GObject_new((GObject*)val) #define GtkPaned_val(val) check_cast(GTK_PANED,val) #define Val_GtkPaned(val) Val_GObject((GObject*)val) #define Val_GtkPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPanedClass' */ /*TODO: conversion for record 'GtkPanedPrivate' */ /*TODO: conversion for record 'GtkPaperSize' */ #define GtkPlug_val(val) check_cast(GTK_PLUG,val) #define Val_GtkPlug(val) Val_GObject((GObject*)val) #define Val_GtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPlugClass' */ /*TODO: conversion for record 'GtkPlugPrivate' */ #define GtkPrintContext_val(val) check_cast(GTK_PRINT_CONTEXT,val) #define Val_GtkPrintContext(val) Val_GObject((GObject*)val) #define Val_GtkPrintContext_new(val) Val_GObject_new((GObject*)val) #define GtkPrintOperation_val(val) check_cast(GTK_PRINT_OPERATION,val) #define Val_GtkPrintOperation(val) Val_GObject((GObject*)val) #define Val_GtkPrintOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPrintOperationClass' */ /*TODO: conversion for record 'GtkPrintOperationPreviewIface' */ /*TODO: conversion for record 'GtkPrintOperationPrivate' */ #define GtkPrintSettings_val(val) check_cast(GTK_PRINT_SETTINGS,val) #define Val_GtkPrintSettings(val) Val_GObject((GObject*)val) #define Val_GtkPrintSettings_new(val) Val_GObject_new((GObject*)val) #define GtkProgressBar_val(val) check_cast(GTK_PROGRESS_BAR,val) #define Val_GtkProgressBar(val) Val_GObject((GObject*)val) #define Val_GtkProgressBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkProgressBarClass' */ /*TODO: conversion for record 'GtkProgressBarPrivate' */ #define GtkRadioAction_val(val) check_cast(GTK_RADIO_ACTION,val) #define Val_GtkRadioAction(val) Val_GObject((GObject*)val) #define Val_GtkRadioAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioActionClass' */ /*TODO: conversion for record 'GtkRadioActionEntry' */ /*TODO: conversion for record 'GtkRadioActionPrivate' */ #define GtkRadioButton_val(val) check_cast(GTK_RADIO_BUTTON,val) #define Val_GtkRadioButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioButtonClass' */ /*TODO: conversion for record 'GtkRadioButtonPrivate' */ #define GtkRadioMenuItem_val(val) check_cast(GTK_RADIO_MENU_ITEM,val) #define Val_GtkRadioMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkRadioMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioMenuItemClass' */ /*TODO: conversion for record 'GtkRadioMenuItemPrivate' */ #define GtkRadioToolButton_val(val) check_cast(GTK_RADIO_TOOL_BUTTON,val) #define Val_GtkRadioToolButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioToolButtonClass' */ #define GtkRange_val(val) check_cast(GTK_RANGE,val) #define Val_GtkRange(val) Val_GObject((GObject*)val) #define Val_GtkRange_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRangeClass' */ /*TODO: conversion for record 'GtkRangePrivate' */ /*TODO: conversion for record 'GtkRcContext' */ /*TODO: conversion for record 'GtkRcProperty' */ #define GtkRcStyle_val(val) check_cast(GTK_RC_STYLE,val) #define Val_GtkRcStyle(val) Val_GObject((GObject*)val) #define Val_GtkRcStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRcStyleClass' */ #define GtkRecentAction_val(val) check_cast(GTK_RECENT_ACTION,val) #define Val_GtkRecentAction(val) Val_GObject((GObject*)val) #define Val_GtkRecentAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentActionClass' */ /*TODO: conversion for record 'GtkRecentActionPrivate' */ #define GtkRecentChooserDialog_val(val) check_cast(GTK_RECENT_CHOOSER_DIALOG,val) #define Val_GtkRecentChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserDialogClass' */ /*TODO: conversion for record 'GtkRecentChooserDialogPrivate' */ /*TODO: conversion for record 'GtkRecentChooserIface' */ #define GtkRecentChooserMenu_val(val) check_cast(GTK_RECENT_CHOOSER_MENU,val) #define Val_GtkRecentChooserMenu(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserMenu_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserMenuClass' */ /*TODO: conversion for record 'GtkRecentChooserMenuPrivate' */ #define GtkRecentChooserWidget_val(val) check_cast(GTK_RECENT_CHOOSER_WIDGET,val) #define Val_GtkRecentChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserWidgetClass' */ /*TODO: conversion for record 'GtkRecentChooserWidgetPrivate' */ /*TODO: conversion for record 'GtkRecentData' */ #define GtkRecentFilter_val(val) check_cast(GTK_RECENT_FILTER,val) #define Val_GtkRecentFilter(val) Val_GObject((GObject*)val) #define Val_GtkRecentFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentFilterInfo' */ /*TODO: conversion for record 'GtkRecentInfo' */ #define GtkRecentManager_val(val) check_cast(GTK_RECENT_MANAGER,val) #define Val_GtkRecentManager(val) Val_GObject((GObject*)val) #define Val_GtkRecentManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentManagerClass' */ /*TODO: conversion for record 'GtkRecentManagerPrivate' */ /*TODO: conversion for record 'GtkRequestedSize' */ /*TODO: conversion for record 'GtkRequisition' */ #define GtkScale_val(val) check_cast(GTK_SCALE,val) #define Val_GtkScale(val) Val_GObject((GObject*)val) #define Val_GtkScale_new(val) Val_GObject_new((GObject*)val) #define GtkScaleButton_val(val) check_cast(GTK_SCALE_BUTTON,val) #define Val_GtkScaleButton(val) Val_GObject((GObject*)val) #define Val_GtkScaleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScaleButtonClass' */ /*TODO: conversion for record 'GtkScaleButtonPrivate' */ /*TODO: conversion for record 'GtkScaleClass' */ /*TODO: conversion for record 'GtkScalePrivate' */ /*TODO: conversion for record 'GtkScrollableInterface' */ #define GtkScrollbar_val(val) check_cast(GTK_SCROLLBAR,val) #define Val_GtkScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrollbarClass' */ #define GtkScrolledWindow_val(val) check_cast(GTK_SCROLLED_WINDOW,val) #define Val_GtkScrolledWindow(val) Val_GObject((GObject*)val) #define Val_GtkScrolledWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrolledWindowClass' */ /*TODO: conversion for record 'GtkScrolledWindowPrivate' */ /*TODO: conversion for record 'GtkSelectionData' */ #define GtkSeparator_val(val) check_cast(GTK_SEPARATOR,val) #define Val_GtkSeparator(val) Val_GObject((GObject*)val) #define Val_GtkSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorClass' */ #define GtkSeparatorMenuItem_val(val) check_cast(GTK_SEPARATOR_MENU_ITEM,val) #define Val_GtkSeparatorMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorMenuItemClass' */ /*TODO: conversion for record 'GtkSeparatorPrivate' */ #define GtkSeparatorToolItem_val(val) check_cast(GTK_SEPARATOR_TOOL_ITEM,val) #define Val_GtkSeparatorToolItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorToolItemClass' */ /*TODO: conversion for record 'GtkSeparatorToolItemPrivate' */ #define GtkSettings_val(val) check_cast(GTK_SETTINGS,val) #define Val_GtkSettings(val) Val_GObject((GObject*)val) #define Val_GtkSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSettingsClass' */ /*TODO: conversion for record 'GtkSettingsPrivate' */ /*TODO: conversion for record 'GtkSettingsValue' */ #define GtkSizeGroup_val(val) check_cast(GTK_SIZE_GROUP,val) #define Val_GtkSizeGroup(val) Val_GObject((GObject*)val) #define Val_GtkSizeGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSizeGroupClass' */ /*TODO: conversion for record 'GtkSizeGroupPrivate' */ #define GtkSocket_val(val) check_cast(GTK_SOCKET,val) #define Val_GtkSocket(val) Val_GObject((GObject*)val) #define Val_GtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSocketClass' */ /*TODO: conversion for record 'GtkSocketPrivate' */ #define GtkSpinButton_val(val) check_cast(GTK_SPIN_BUTTON,val) #define Val_GtkSpinButton(val) Val_GObject((GObject*)val) #define Val_GtkSpinButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinButtonClass' */ /*TODO: conversion for record 'GtkSpinButtonPrivate' */ #define GtkSpinner_val(val) check_cast(GTK_SPINNER,val) #define Val_GtkSpinner(val) Val_GObject((GObject*)val) #define Val_GtkSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinnerClass' */ /*TODO: conversion for record 'GtkSpinnerPrivate' */ #define GtkStatusIcon_val(val) check_cast(GTK_STATUS_ICON,val) #define Val_GtkStatusIcon(val) Val_GObject((GObject*)val) #define Val_GtkStatusIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusIconClass' */ /*TODO: conversion for record 'GtkStatusIconPrivate' */ #define GtkStatusbar_val(val) check_cast(GTK_STATUSBAR,val) #define Val_GtkStatusbar(val) Val_GObject((GObject*)val) #define Val_GtkStatusbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusbarClass' */ /*TODO: conversion for record 'GtkStatusbarPrivate' */ /*TODO: conversion for record 'GtkStockItem' */ #define GtkStyle_val(val) check_cast(GTK_STYLE,val) #define Val_GtkStyle(val) Val_GObject((GObject*)val) #define Val_GtkStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleClass' */ #define GtkStyleContext_val(val) check_cast(GTK_STYLE_CONTEXT,val) #define Val_GtkStyleContext(val) Val_GObject((GObject*)val) #define Val_GtkStyleContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleContextClass' */ #define GtkStyleProperties_val(val) check_cast(GTK_STYLE_PROPERTIES,val) #define Val_GtkStyleProperties(val) Val_GObject((GObject*)val) #define Val_GtkStyleProperties_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStylePropertiesClass' */ /*TODO: conversion for record 'GtkStyleProviderIface' */ #define GtkSwitch_val(val) check_cast(GTK_SWITCH,val) #define Val_GtkSwitch(val) Val_GObject((GObject*)val) #define Val_GtkSwitch_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSwitchClass' */ /*TODO: conversion for record 'GtkSwitchPrivate' */ /*TODO: conversion for record 'GtkSymbolicColor' */ #define GtkTable_val(val) check_cast(GTK_TABLE,val) #define Val_GtkTable(val) Val_GObject((GObject*)val) #define Val_GtkTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTableChild' */ /*TODO: conversion for record 'GtkTableClass' */ /*TODO: conversion for record 'GtkTablePrivate' */ /*TODO: conversion for record 'GtkTableRowCol' */ /*TODO: conversion for record 'GtkTargetEntry' */ /*TODO: conversion for record 'GtkTargetList' */ #define GtkTearoffMenuItem_val(val) check_cast(GTK_TEAROFF_MENU_ITEM,val) #define Val_GtkTearoffMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkTearoffMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTearoffMenuItemClass' */ /*TODO: conversion for record 'GtkTearoffMenuItemPrivate' */ /*TODO: conversion for record 'GtkTextAppearance' */ /*TODO: conversion for record 'GtkTextAttributes' */ /*TODO: conversion for record 'GtkTextBTree' */ #define GtkTextBuffer_val(val) check_cast(GTK_TEXT_BUFFER,val) #define Val_GtkTextBuffer(val) Val_GObject((GObject*)val) #define Val_GtkTextBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextBufferClass' */ /*TODO: conversion for record 'GtkTextBufferPrivate' */ #define GtkTextChildAnchor_val(val) check_cast(GTK_TEXT_CHILD_ANCHOR,val) #define Val_GtkTextChildAnchor(val) Val_GObject((GObject*)val) #define Val_GtkTextChildAnchor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextChildAnchorClass' */ /*TODO: conversion for record 'GtkTextIter' */ #define GtkTextMark_val(val) check_cast(GTK_TEXT_MARK,val) #define Val_GtkTextMark(val) Val_GObject((GObject*)val) #define Val_GtkTextMark_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextMarkClass' */ #define GtkTextTag_val(val) check_cast(GTK_TEXT_TAG,val) #define Val_GtkTextTag(val) Val_GObject((GObject*)val) #define Val_GtkTextTag_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagClass' */ /*TODO: conversion for record 'GtkTextTagPrivate' */ #define GtkTextTagTable_val(val) check_cast(GTK_TEXT_TAG_TABLE,val) #define Val_GtkTextTagTable(val) Val_GObject((GObject*)val) #define Val_GtkTextTagTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagTableClass' */ /*TODO: conversion for record 'GtkTextTagTablePrivate' */ #define GtkTextView_val(val) check_cast(GTK_TEXT_VIEW,val) #define Val_GtkTextView(val) Val_GObject((GObject*)val) #define Val_GtkTextView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextViewClass' */ /*TODO: conversion for record 'GtkTextViewPrivate' */ /*TODO: conversion for record 'GtkThemeEngine' */ #define GtkThemingEngine_val(val) check_cast(GTK_THEMING_ENGINE,val) #define Val_GtkThemingEngine(val) Val_GObject((GObject*)val) #define Val_GtkThemingEngine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkThemingEngineClass' */ #define GtkToggleAction_val(val) check_cast(GTK_TOGGLE_ACTION,val) #define Val_GtkToggleAction(val) Val_GObject((GObject*)val) #define Val_GtkToggleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleActionClass' */ /*TODO: conversion for record 'GtkToggleActionEntry' */ /*TODO: conversion for record 'GtkToggleActionPrivate' */ #define GtkToggleButton_val(val) check_cast(GTK_TOGGLE_BUTTON,val) #define Val_GtkToggleButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleButtonClass' */ /*TODO: conversion for record 'GtkToggleButtonPrivate' */ #define GtkToggleToolButton_val(val) check_cast(GTK_TOGGLE_TOOL_BUTTON,val) #define Val_GtkToggleToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleToolButtonClass' */ /*TODO: conversion for record 'GtkToggleToolButtonPrivate' */ #define GtkToolButton_val(val) check_cast(GTK_TOOL_BUTTON,val) #define Val_GtkToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolButtonClass' */ /*TODO: conversion for record 'GtkToolButtonPrivate' */ #define GtkToolItem_val(val) check_cast(GTK_TOOL_ITEM,val) #define Val_GtkToolItem(val) Val_GObject((GObject*)val) #define Val_GtkToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemClass' */ #define GtkToolItemGroup_val(val) check_cast(GTK_TOOL_ITEM_GROUP,val) #define Val_GtkToolItemGroup(val) Val_GObject((GObject*)val) #define Val_GtkToolItemGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemGroupClass' */ /*TODO: conversion for record 'GtkToolItemGroupPrivate' */ /*TODO: conversion for record 'GtkToolItemPrivate' */ #define GtkToolPalette_val(val) check_cast(GTK_TOOL_PALETTE,val) #define Val_GtkToolPalette(val) Val_GObject((GObject*)val) #define Val_GtkToolPalette_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolPaletteClass' */ /*TODO: conversion for record 'GtkToolPalettePrivate' */ /*TODO: conversion for record 'GtkToolShellIface' */ #define GtkToolbar_val(val) check_cast(GTK_TOOLBAR,val) #define Val_GtkToolbar(val) Val_GObject((GObject*)val) #define Val_GtkToolbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolbarClass' */ /*TODO: conversion for record 'GtkToolbarPrivate' */ #define GtkTooltip_val(val) check_cast(GTK_TOOLTIP,val) #define Val_GtkTooltip(val) Val_GObject((GObject*)val) #define Val_GtkTooltip_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeDragDestIface' */ /*TODO: conversion for record 'GtkTreeDragSourceIface' */ /*TODO: conversion for record 'GtkTreeIter' */ #define GtkTreeModelFilter_val(val) check_cast(GTK_TREE_MODEL_FILTER,val) #define Val_GtkTreeModelFilter(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelFilterClass' */ /*TODO: conversion for record 'GtkTreeModelFilterPrivate' */ /*TODO: conversion for record 'GtkTreeModelIface' */ #define GtkTreeModelSort_val(val) check_cast(GTK_TREE_MODEL_SORT,val) #define Val_GtkTreeModelSort(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelSort_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelSortClass' */ /*TODO: conversion for record 'GtkTreeModelSortPrivate' */ /*TODO: conversion for record 'GtkTreePath' */ /*TODO: conversion for record 'GtkTreeRowReference' */ #define GtkTreeSelection_val(val) check_cast(GTK_TREE_SELECTION,val) #define Val_GtkTreeSelection(val) Val_GObject((GObject*)val) #define Val_GtkTreeSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeSelectionClass' */ /*TODO: conversion for record 'GtkTreeSelectionPrivate' */ /*TODO: conversion for record 'GtkTreeSortableIface' */ #define GtkTreeStore_val(val) check_cast(GTK_TREE_STORE,val) #define Val_GtkTreeStore(val) Val_GObject((GObject*)val) #define Val_GtkTreeStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeStoreClass' */ /*TODO: conversion for record 'GtkTreeStorePrivate' */ #define GtkTreeView_val(val) check_cast(GTK_TREE_VIEW,val) #define Val_GtkTreeView(val) Val_GObject((GObject*)val) #define Val_GtkTreeView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewClass' */ #define GtkTreeViewColumn_val(val) check_cast(GTK_TREE_VIEW_COLUMN,val) #define Val_GtkTreeViewColumn(val) Val_GObject((GObject*)val) #define Val_GtkTreeViewColumn_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewColumnClass' */ /*TODO: conversion for record 'GtkTreeViewColumnPrivate' */ /*TODO: conversion for record 'GtkTreeViewPrivate' */ #define GtkUIManager_val(val) check_cast(GTK_UI_MANAGER,val) #define Val_GtkUIManager(val) Val_GObject((GObject*)val) #define Val_GtkUIManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkUIManagerClass' */ /*TODO: conversion for record 'GtkUIManagerPrivate' */ #define GtkVBox_val(val) check_cast(GTK_V_BOX,val) #define Val_GtkVBox(val) Val_GObject((GObject*)val) #define Val_GtkVBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVBoxClass' */ #define GtkVButtonBox_val(val) check_cast(GTK_V_BUTTON_BOX,val) #define Val_GtkVButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkVButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVButtonBoxClass' */ #define GtkVPaned_val(val) check_cast(GTK_V_PANED,val) #define Val_GtkVPaned(val) Val_GObject((GObject*)val) #define Val_GtkVPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVPanedClass' */ #define GtkVScale_val(val) check_cast(GTK_V_SCALE,val) #define Val_GtkVScale(val) Val_GObject((GObject*)val) #define Val_GtkVScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScaleClass' */ #define GtkVScrollbar_val(val) check_cast(GTK_V_SCROLLBAR,val) #define Val_GtkVScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkVScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScrollbarClass' */ #define GtkVSeparator_val(val) check_cast(GTK_V_SEPARATOR,val) #define Val_GtkVSeparator(val) Val_GObject((GObject*)val) #define Val_GtkVSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVSeparatorClass' */ #define GtkViewport_val(val) check_cast(GTK_VIEWPORT,val) #define Val_GtkViewport(val) Val_GObject((GObject*)val) #define Val_GtkViewport_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkViewportClass' */ /*TODO: conversion for record 'GtkViewportPrivate' */ #define GtkVolumeButton_val(val) check_cast(GTK_VOLUME_BUTTON,val) #define Val_GtkVolumeButton(val) Val_GObject((GObject*)val) #define Val_GtkVolumeButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVolumeButtonClass' */ #define GtkWidget_val(val) check_cast(GTK_WIDGET,val) #define Val_GtkWidget(val) Val_GObject((GObject*)val) #define Val_GtkWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWidgetAuxInfo' */ /*TODO: conversion for record 'GtkWidgetClass' */ /*TODO: conversion for record 'GtkWidgetPath' */ /*TODO: conversion for record 'GtkWidgetPrivate' */ #define GtkWindow_val(val) check_cast(GTK_WINDOW,val) #define Val_GtkWindow(val) Val_GObject((GObject*)val) #define Val_GtkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowClass' */ /*TODO: conversion for record 'GtkWindowGeometryInfo' */ #define GtkWindowGroup_val(val) check_cast(GTK_WINDOW_GROUP,val) #define Val_GtkWindowGroup(val) Val_GObject((GObject*)val) #define Val_GtkWindowGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowGroupClass' */ /*TODO: conversion for record 'GtkWindowGroupPrivate' */ /*TODO: conversion for record 'GtkWindowPrivate' */ #include #include "../wrappers.h" #include "../ml_gobject.h" /* Module ValueArray */ ML_2(g_value_array_remove,GValueArray_val, Int_val, Val_GValueArray) ML_2(g_value_array_prepend,GValueArray_val, Option_val(arg2,GValue_val,NULL) Ignore, Val_GValueArray) ML_3(g_value_array_insert,GValueArray_val, Int_val, Option_val(arg3,GValue_val,NULL) Ignore, Val_GValueArray) ML_2(g_value_array_get_nth,GValueArray_val, Int_val, Val_GValue) ML_1(g_value_array_free,GValueArray_val, Unit) ML_1(g_value_array_copy,GValueArray_val, Val_GValueArray_new) ML_2(g_value_array_append,GValueArray_val, Option_val(arg2,GValue_val,NULL) Ignore, Val_GValueArray) /* end of ValueArray */ /* Module Value */ ML_1(g_value_unset,GValue_val, Unit) ML_2(g_value_transform,GValue_val, GValue_val, Val_bool) ML_2(g_value_take_variant,GValue_val, GVariant_val, Unit) ML_2(g_value_take_string,GValue_val, String_val, Unit) ML_2(g_value_take_param,GValue_val, GParamSpec_val, Unit) ML_2(g_value_set_variant,GValue_val, GVariant_val, Unit) ML_2(g_value_set_ulong,GValue_val, Double_val, Unit) ML_2(g_value_set_uint64,GValue_val, Int64_val, Unit) ML_2(g_value_set_uint,GValue_val, Int_val, Unit) ML_2(g_value_set_uchar,GValue_val, Int_val, Unit) ML_2(g_value_set_string_take_ownership,GValue_val, String_val, Unit) ML_2(g_value_set_string,GValue_val, String_val, Unit) ML_2(g_value_set_static_string,GValue_val, String_val, Unit) ML_2(g_value_set_param_take_ownership,GValue_val, GParamSpec_val, Unit) ML_2(g_value_set_param,GValue_val, GParamSpec_val, Unit) ML_2(g_value_set_long,GValue_val, Double_val, Unit) ML_2(g_value_set_int64,GValue_val, Int64_val, Unit) ML_2(g_value_set_int,GValue_val, Int_val, Unit) ML_2(g_value_set_gtype,GValue_val, Int_val, Unit) ML_2(g_value_set_flags,GValue_val, Int_val, Unit) ML_2(g_value_set_enum,GValue_val, Int_val, Unit) ML_2(g_value_set_double,GValue_val, Double_val, Unit) ML_2(g_value_set_char,GValue_val, Int_val, Unit) ML_2(g_value_set_boolean,GValue_val, Bool_val, Unit) ML_1(g_value_reset,GValue_val, Val_GValue_new) ML_2(g_value_init,GValue_val, Int_val, Val_GValue) ML_1(g_value_get_variant,GValue_val, Val_GVariant_new) ML_1(g_value_get_ulong,GValue_val, Val_double) ML_1(g_value_get_uint64,GValue_val, Val_int64) ML_1(g_value_get_uint,GValue_val, Val_int) ML_1(g_value_get_uchar,GValue_val, Val_int) ML_1(g_value_get_string,GValue_val, Val_string) ML_1(g_value_get_param,GValue_val, Val_GParamSpec) ML_1(g_value_get_long,GValue_val, Val_double) ML_1(g_value_get_int64,GValue_val, Val_int64) ML_1(g_value_get_int,GValue_val, Val_int) ML_1(g_value_get_gtype,GValue_val, Val_int) ML_1(g_value_get_flags,GValue_val, Val_int) ML_1(g_value_get_enum,GValue_val, Val_int) ML_1(g_value_get_double,GValue_val, Val_double) ML_1(g_value_get_char,GValue_val, Val_int) ML_1(g_value_get_boolean,GValue_val, Val_bool) ML_1(g_value_fits_pointer,GValue_val, Val_bool) ML_1(g_value_dup_variant,GValue_val, Val_GVariant_new) ML_1(g_value_dup_string,GValue_val, Val_string_new) ML_1(g_value_dup_param,GValue_val, Val_GParamSpec) ML_2(g_value_copy,GValue_val, GValue_val, Unit) /* end of Value */ /* Module TypeValueTable */ /* end of TypeValueTable */ /* Module TypeQuery */ /* end of TypeQuery */ /* Module TypePluginClass */ /* end of TypePluginClass */ /* Module TypeModuleClass */ /* end of TypeModuleClass */ /* Module TypeModule */ ML_1(g_type_module_use,GTypeModule_val, Val_bool) ML_1(g_type_module_unuse,GTypeModule_val, Unit) ML_2(g_type_module_set_name,GTypeModule_val, String_val, Unit) ML_3(g_type_module_register_flags,GTypeModule_val, String_val, GFlagsValue_val, Val_int) ML_3(g_type_module_register_enum,GTypeModule_val, String_val, GEnumValue_val, Val_int) ML_4(g_type_module_add_interface,GTypeModule_val, Int_val, Int_val, GInterfaceInfo_val, Unit) /* end of TypeModule */ /* Module TypeInterface */ /* end of TypeInterface */ /* Module TypeInstance */ /* end of TypeInstance */ /* Module TypeInfo */ /* end of TypeInfo */ /* Module TypeFundamentalInfo */ /* end of TypeFundamentalInfo */ /* Module TypeClass */ ML_1(g_type_class_unref_uncached,GTypeClass_val, Unit) ML_1(g_type_class_unref,GTypeClass_val, Unit) /* end of TypeClass */ /* Module SignalQuery */ /* end of SignalQuery */ /* Module SignalInvocationHint */ /* end of SignalInvocationHint */ /* Module Parameter */ /* end of Parameter */ /* Module ParamSpecVariant */ /* end of ParamSpecVariant */ /* Module ParamSpecValueArray */ /* end of ParamSpecValueArray */ /* Module ParamSpecUnichar */ /* end of ParamSpecUnichar */ /* Module ParamSpecULong */ /* end of ParamSpecULong */ /* Module ParamSpecUInt64 */ /* end of ParamSpecUInt64 */ /* Module ParamSpecUInt */ /* end of ParamSpecUInt */ /* Module ParamSpecUChar */ /* end of ParamSpecUChar */ /* Module ParamSpecTypeInfo */ /* end of ParamSpecTypeInfo */ /* Module ParamSpecString */ /* end of ParamSpecString */ /* Module ParamSpecPool */ ML_2(g_param_spec_pool_remove,GParamSpecPool_val, GParamSpec_val, Unit) ML_4(g_param_spec_pool_lookup,GParamSpecPool_val, String_val, Int_val, Bool_val, Val_GParamSpec) ML_2(g_param_spec_pool_list_owned,GParamSpecPool_val, Int_val, Val_GList) ML_3(g_param_spec_pool_insert,GParamSpecPool_val, GParamSpec_val, Int_val, Unit) /* end of ParamSpecPool */ /* Module ParamSpecPointer */ /* end of ParamSpecPointer */ /* Module ParamSpecParam */ /* end of ParamSpecParam */ /* Module ParamSpecOverride */ /* end of ParamSpecOverride */ /* Module ParamSpecObject */ /* end of ParamSpecObject */ /* Module ParamSpecLong */ /* end of ParamSpecLong */ /* Module ParamSpecInt64 */ /* end of ParamSpecInt64 */ /* Module ParamSpecInt */ /* end of ParamSpecInt */ /* Module ParamSpecGType */ /* end of ParamSpecGType */ /* Module ParamSpecFloat */ /* end of ParamSpecFloat */ /* Module ParamSpecFlags */ /* end of ParamSpecFlags */ /* Module ParamSpecEnum */ /* end of ParamSpecEnum */ /* Module ParamSpecDouble */ /* end of ParamSpecDouble */ /* Module ParamSpecClass */ /* end of ParamSpecClass */ /* Module ParamSpecChar */ /* end of ParamSpecChar */ /* Module ParamSpecBoxed */ /* end of ParamSpecBoxed */ /* Module ParamSpecBoolean */ /* end of ParamSpecBoolean */ /* Module ParamSpec */ ML_1(g_param_spec_unref,GParamSpec_val, Unit) ML_1(g_param_spec_sink,GParamSpec_val, Unit) ML_1(g_param_spec_ref_sink,GParamSpec_val, Val_GParamSpec) ML_1(g_param_spec_ref,GParamSpec_val, Val_GParamSpec) ML_1(g_param_spec_get_redirect_target,GParamSpec_val, Val_GParamSpec) ML_1(g_param_spec_get_nick,GParamSpec_val, Val_string) ML_1(g_param_spec_get_name,GParamSpec_val, Val_string) ML_1(g_param_spec_get_blurb,GParamSpec_val, Val_string) /* end of ParamSpec */ /* Module ObjectConstructParam */ /* end of ObjectConstructParam */ /* Module ObjectClass */ ML_3(g_object_class_override_property,GObjectClass_val, Int_val, String_val, Unit) ML_3(g_object_class_install_property,GObjectClass_val, Int_val, GParamSpec_val, Unit) ML_2(g_object_class_find_property,GObjectClass_val, String_val, Val_GParamSpec) /* end of ObjectClass */ /* Module Object */ /* end of Object */ /* Module InterfaceInfo */ /* end of InterfaceInfo */ /* Module InitiallyUnownedClass */ /* end of InitiallyUnownedClass */ /* Module InitiallyUnowned */ ML_0(g_object_type_init,Unit) /* end of InitiallyUnowned */ /* Module FlagsValue */ /* end of FlagsValue */ /* Module FlagsClass */ /* end of FlagsClass */ /* Module EnumValue */ /* end of EnumValue */ /* Module EnumClass */ /* end of EnumClass */ /* Module ClosureNotifyData */ /* end of ClosureNotifyData */ /* Module Closure */ ML_1(g_closure_unref,GClosure_val, Unit) ML_1(g_closure_sink,GClosure_val, Unit) ML_1(g_closure_ref,GClosure_val, Val_GClosure) ML_1(g_closure_invalidate,GClosure_val, Unit) /* end of Closure */ /* Module CClosure */ /* end of CClosure */ /* Module Binding */ ML_1(g_binding_get_target_property,GBinding_val, Val_string) ML_1(g_binding_get_source_property,GBinding_val, Val_string) /* end of Binding */ /* Global functions */ ML_0(g_variant_type_get_gtype,Val_int) ML_0(g_variant_get_gtype,Val_int) ML_0(g_value_types_init,Unit) ML_2(g_value_type_transformable,Int_val, Int_val, Val_bool) ML_2(g_value_type_compatible,Int_val, Int_val, Val_bool) ML_0(g_value_transforms_init,Unit) ML_0(g_value_c_init,Unit) ML_1(g_type_value_table_peek,Int_val, Val_GTypeValueTable) ML_2(g_type_test_flags,Int_val, Int_val, Val_bool) ML_1(g_type_qname,Int_val, Val_int32) ML_1(g_type_parent,Int_val, Val_int) ML_2(g_type_next_base,Int_val, Int_val, Val_int) ML_1(g_type_name_from_instance,GTypeInstance_val, Val_string) ML_1(g_type_name_from_class,GTypeClass_val, Val_string) ML_1(g_type_name,Int_val, Val_string) ML_2(g_type_is_a,Int_val, Int_val, Val_bool) ML_2(g_type_interface_add_prerequisite,Int_val, Int_val, Unit) ML_0(g_type_init,Unit) ML_0(g_type_fundamental_next,Val_int) ML_1(g_type_fundamental,Int_val, Val_int) ML_1(g_type_from_name,String_val, Val_int) ML_1(g_type_free_instance,GTypeInstance_val, Unit) ML_1(g_type_depth,Int_val, Val_int) ML_1(g_type_create_instance,Int_val, Val_GTypeInstance) ML_2(g_type_check_value_holds,GValue_val, Int_val, Val_bool) ML_1(g_type_check_value,GValue_val, Val_bool) ML_1(g_type_check_is_value_type,Int_val, Val_bool) ML_2(g_type_check_instance_is_a,GTypeInstance_val, Int_val, Val_bool) ML_2(g_type_check_instance_cast,GTypeInstance_val, Int_val, Val_GTypeInstance) ML_1(g_type_check_instance,GTypeInstance_val, Val_bool) ML_2(g_type_check_class_is_a,GTypeClass_val, Int_val, Val_bool) ML_2(g_type_check_class_cast,GTypeClass_val, Int_val, Val_GTypeClass) ML_3(g_type_add_interface_static,Int_val, Int_val, GInterfaceInfo_val, Unit) ML_2(g_type_add_class_private,Int_val, Int_val, Unit) ML_0(g_strv_get_type,Val_int) ML_1(g_strdup_value_contents,GValue_val, Val_string_new) ML_1(g_source_set_dummy_callback,GSource_val, Unit) ML_2(g_source_set_closure,GSource_val, GClosure_val, Unit) ML_2(g_signal_type_cclosure_new,Int_val, Int_val, Val_GClosure_new) ML_2(g_signal_remove_emission_hook,Int_val, Double_val, Unit) ML_2(g_signal_query,Int_val, GSignalQuery_val, Unit) ML_3(g_signal_override_class_closure,Int_val, Int_val, GClosure_val, Unit) ML_1(g_signal_name,Int_val, Val_string) ML_2(g_signal_lookup,String_val, Int_val, Val_int) ML_0(g_signal_init,Unit) ML_4(g_signal_emitv,GValue_val, Int_val, Int32_val, GValue_val, Unit) ML_2(g_signal_chain_from_overridden,GValue_val, GValue_val, Unit) ML_1(g_pointer_type_register_static,String_val, Val_int) ML_3(g_param_values_cmp,GParamSpec_val, GValue_val, GValue_val, Val_int) ML_2(g_param_value_validate,GParamSpec_val, GValue_val, Val_bool) ML_2(g_param_value_set_default,GParamSpec_val, GValue_val, Unit) ML_2(g_param_value_defaults,GParamSpec_val, GValue_val, Val_bool) ML_4(g_param_value_convert,GParamSpec_val, GValue_val, GValue_val, Bool_val, Val_bool) ML_2(g_param_type_register_static,String_val, GParamSpecTypeInfo_val, Val_int) ML_0(g_param_type_init,Unit) ML_0(g_param_spec_types_init,Unit) ML_1(g_param_spec_pool_new,Bool_val, Val_GParamSpecPool) ML_2(g_param_spec_override,String_val, GParamSpec_val, Val_GParamSpec) ML_0(g_object_get_type,Val_int) ML_0(g_gtype_get_type,Val_int) ML_2(g_flags_register_static,String_val, GFlagsValue_val, Val_int) ML_2(g_flags_get_value_by_nick,GFlagsClass_val, String_val, Val_GFlagsValue) ML_2(g_flags_get_value_by_name,GFlagsClass_val, String_val, Val_GFlagsValue) ML_2(g_flags_get_first_value,GFlagsClass_val, Int_val, Val_GFlagsValue) ML_3(g_flags_complete_type_info,Int_val, GTypeInfo_val, GFlagsValue_val, Unit) ML_0(g_enum_types_init,Unit) ML_2(g_enum_register_static,String_val, GEnumValue_val, Val_int) ML_2(g_enum_get_value_by_nick,GEnumClass_val, String_val, Val_GEnumValue) ML_2(g_enum_get_value_by_name,GEnumClass_val, String_val, Val_GEnumValue) ML_2(g_enum_get_value,GEnumClass_val, Int_val, Val_GEnumValue) ML_3(g_enum_complete_type_info,Int_val, GTypeInfo_val, GEnumValue_val, Unit) ML_0(g_boxed_type_init,Unit) /* End of global functions */ lablgtk-3.1.2/tools/introspection/stubs/ml_stubs_Gdk.c0000644000650106067230000034036214161276610021771 0ustar glondused#include #include #define Val_double(val) caml_copy_double(val) #define Val_string_new(val) caml_copy_string(val) #define Val_int32(val) caml_copy_int32(val) #define Val_int32_new(val) caml_copy_int32(val) /*TODO: conversion for record 'GAllocator' */ /*TODO: conversion for record 'GArray' */ /*TODO: conversion for record 'GAsyncQueue' */ /*TODO: conversion for record 'GBookmarkFile' */ /*TODO: conversion for record 'GByteArray' */ /*TODO: conversion for record 'GCache' */ /*TODO: conversion for record 'GChecksum' */ /*TODO: conversion for record 'GCompletion' */ /*TODO: conversion for record 'GCond' */ /*TODO: conversion for record 'GData' */ /*TODO: conversion for record 'GDate' */ /*TODO: conversion for record 'GDateTime' */ /*TODO: conversion for record 'GDebugKey' */ /*TODO: conversion for record 'GDir' */ /*TODO: conversion for record 'GError' */ /*TODO: conversion for record 'GHashTable' */ /*TODO: conversion for record 'GHashTableIter' */ /*TODO: conversion for record 'GHook' */ /*TODO: conversion for record 'GHookList' */ /*TODO: conversion for record 'GIConv' */ /*TODO: conversion for record 'GIOChannel' */ /*TODO: conversion for record 'GIOFuncs' */ /*TODO: conversion for record 'GKeyFile' */ /*TODO: conversion for record 'GList' */ /*TODO: conversion for record 'GMainContext' */ /*TODO: conversion for record 'GMainLoop' */ /*TODO: conversion for record 'GMappedFile' */ /*TODO: conversion for record 'GMarkupParseContext' */ /*TODO: conversion for record 'GMarkupParser' */ /*TODO: conversion for record 'GMatchInfo' */ /*TODO: conversion for record 'GMemChunk' */ /*TODO: conversion for record 'GMemVTable' */ /*TODO: conversion for record 'GMutex' */ /*TODO: conversion for record 'GNode' */ /*TODO: conversion for record 'GOnce' */ /*TODO: conversion for record 'GOptionContext' */ /*TODO: conversion for record 'GOptionEntry' */ /*TODO: conversion for record 'GOptionGroup' */ /*TODO: conversion for record 'GPatternSpec' */ /*TODO: conversion for record 'GPollFD' */ /*TODO: conversion for record 'GPrivate' */ /*TODO: conversion for record 'GPtrArray' */ /*TODO: conversion for record 'GQueue' */ /*TODO: conversion for record 'GRand' */ /*TODO: conversion for record 'GRegex' */ /*TODO: conversion for record 'GRelation' */ /*TODO: conversion for record 'GSList' */ /*TODO: conversion for record 'GScanner' */ /*TODO: conversion for record 'GScannerConfig' */ /*TODO: conversion for record 'GSequence' */ /*TODO: conversion for record 'GSequenceIter' */ /*TODO: conversion for record 'GSource' */ /*TODO: conversion for record 'GSourceCallbackFuncs' */ /*TODO: conversion for record 'GSourceFuncs' */ /*TODO: conversion for record 'GSourcePrivate' */ /*TODO: conversion for record 'GStatBuf' */ /*TODO: conversion for record 'GStaticMutex' */ /*TODO: conversion for record 'GStaticPrivate' */ /*TODO: conversion for record 'GStaticRWLock' */ /*TODO: conversion for record 'GStaticRecMutex' */ /*TODO: conversion for record 'GString' */ /*TODO: conversion for record 'GStringChunk' */ /*TODO: conversion for record 'GTestCase' */ /*TODO: conversion for record 'GTestConfig' */ /*TODO: conversion for record 'GTestLogBuffer' */ /*TODO: conversion for record 'GTestLogMsg' */ /*TODO: conversion for record 'GTestSuite' */ /*TODO: conversion for record 'GThread' */ /*TODO: conversion for record 'GThreadFunctions' */ /*TODO: conversion for record 'GThreadPool' */ /*TODO: conversion for record 'GTimeVal' */ /*TODO: conversion for record 'GTimeZone' */ /*TODO: conversion for record 'GTimer' */ /*TODO: conversion for record 'GTrashStack' */ /*TODO: conversion for record 'GTree' */ /*TODO: conversion for record 'GTuples' */ /*TODO: conversion for record 'GVariant' */ /*TODO: conversion for record 'GVariantBuilder' */ /*TODO: conversion for record 'GVariantIter' */ /*TODO: conversion for record 'GVariantType' */ #define GBinding_val(val) check_cast(G_BINDING,val) #define Val_GBinding(val) Val_GObject((GObject*)val) #define Val_GBinding_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCClosure' */ /*TODO: conversion for record 'GClosure' */ /*TODO: conversion for record 'GClosureNotifyData' */ /*TODO: conversion for record 'GEnumClass' */ /*TODO: conversion for record 'GEnumValue' */ /*TODO: conversion for record 'GFlagsClass' */ /*TODO: conversion for record 'GFlagsValue' */ /*TODO: conversion for record 'GInitiallyUnownedClass' */ /*TODO: conversion for record 'GInterfaceInfo' */ /*TODO: conversion for record 'GObjectClass' */ /*TODO: conversion for record 'GObjectConstructParam' */ /*TODO: conversion for record 'GParamSpec' */ /*TODO: conversion for record 'GParamSpecBoolean' */ /*TODO: conversion for record 'GParamSpecBoxed' */ /*TODO: conversion for record 'GParamSpecChar' */ /*TODO: conversion for record 'GParamSpecClass' */ /*TODO: conversion for record 'GParamSpecDouble' */ /*TODO: conversion for record 'GParamSpecEnum' */ /*TODO: conversion for record 'GParamSpecFlags' */ /*TODO: conversion for record 'GParamSpecFloat' */ /*TODO: conversion for record 'GParamSpecGType' */ /*TODO: conversion for record 'GParamSpecInt' */ /*TODO: conversion for record 'GParamSpecInt64' */ /*TODO: conversion for record 'GParamSpecLong' */ /*TODO: conversion for record 'GParamSpecObject' */ /*TODO: conversion for record 'GParamSpecOverride' */ /*TODO: conversion for record 'GParamSpecParam' */ /*TODO: conversion for record 'GParamSpecPointer' */ /*TODO: conversion for record 'GParamSpecPool' */ /*TODO: conversion for record 'GParamSpecString' */ /*TODO: conversion for record 'GParamSpecTypeInfo' */ /*TODO: conversion for record 'GParamSpecUChar' */ /*TODO: conversion for record 'GParamSpecUInt' */ /*TODO: conversion for record 'GParamSpecUInt64' */ /*TODO: conversion for record 'GParamSpecULong' */ /*TODO: conversion for record 'GParamSpecUnichar' */ /*TODO: conversion for record 'GParamSpecValueArray' */ /*TODO: conversion for record 'GParamSpecVariant' */ /*TODO: conversion for record 'GParameter' */ /*TODO: conversion for record 'GSignalInvocationHint' */ /*TODO: conversion for record 'GSignalQuery' */ /*TODO: conversion for record 'GTypeClass' */ /*TODO: conversion for record 'GTypeFundamentalInfo' */ /*TODO: conversion for record 'GTypeInfo' */ /*TODO: conversion for record 'GTypeInstance' */ /*TODO: conversion for record 'GTypeInterface' */ #define GTypeModule_val(val) check_cast(G_TYPE_MODULE,val) #define Val_GTypeModule(val) Val_GObject((GObject*)val) #define Val_GTypeModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTypeModuleClass' */ /*TODO: conversion for record 'GTypePluginClass' */ /*TODO: conversion for record 'GTypeQuery' */ /*TODO: conversion for record 'GTypeValueTable' */ /*TODO: conversion for record 'GValue' */ /*TODO: conversion for record 'GValueArray' */ /*TODO: conversion for record 'AtkActionIface' */ /*TODO: conversion for record 'AtkAttribute' */ /*TODO: conversion for record 'AtkComponentIface' */ /*TODO: conversion for record 'AtkDocumentIface' */ /*TODO: conversion for record 'AtkEditableTextIface' */ #define AtkGObjectAccessible_val(val) check_cast(ATK_G_OBJECT_ACCESSIBLE,val) #define Val_AtkGObjectAccessible(val) Val_GObject((GObject*)val) #define Val_AtkGObjectAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkGObjectAccessibleClass' */ #define AtkHyperlink_val(val) check_cast(ATK_HYPERLINK,val) #define Val_AtkHyperlink(val) Val_GObject((GObject*)val) #define Val_AtkHyperlink_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkHyperlinkClass' */ /*TODO: conversion for record 'AtkHyperlinkImplIface' */ /*TODO: conversion for record 'AtkHypertextIface' */ /*TODO: conversion for record 'AtkImageIface' */ /*TODO: conversion for record 'AtkImplementor' */ /*TODO: conversion for record 'AtkKeyEventStruct' */ #define AtkMisc_val(val) check_cast(ATK_MISC,val) #define Val_AtkMisc(val) Val_GObject((GObject*)val) #define Val_AtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkMiscClass' */ #define AtkNoOpObject_val(val) check_cast(ATK_NO_OP_OBJECT,val) #define Val_AtkNoOpObject(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectClass' */ #define AtkNoOpObjectFactory_val(val) check_cast(ATK_NO_OP_OBJECT_FACTORY,val) #define Val_AtkNoOpObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectFactoryClass' */ #define AtkObject_val(val) check_cast(ATK_OBJECT,val) #define Val_AtkObject(val) Val_GObject((GObject*)val) #define Val_AtkObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectClass' */ #define AtkObjectFactory_val(val) check_cast(ATK_OBJECT_FACTORY,val) #define Val_AtkObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectFactoryClass' */ #define AtkPlug_val(val) check_cast(ATK_PLUG,val) #define Val_AtkPlug(val) Val_GObject((GObject*)val) #define Val_AtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkPlugClass' */ /*TODO: conversion for record 'AtkRectangle' */ #define AtkRelation_val(val) check_cast(ATK_RELATION,val) #define Val_AtkRelation(val) Val_GObject((GObject*)val) #define Val_AtkRelation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationClass' */ #define AtkRelationSet_val(val) check_cast(ATK_RELATION_SET,val) #define Val_AtkRelationSet(val) Val_GObject((GObject*)val) #define Val_AtkRelationSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationSetClass' */ /*TODO: conversion for record 'AtkSelectionIface' */ #define AtkSocket_val(val) check_cast(ATK_SOCKET,val) #define Val_AtkSocket(val) Val_GObject((GObject*)val) #define Val_AtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkSocketClass' */ #define AtkStateSet_val(val) check_cast(ATK_STATE_SET,val) #define Val_AtkStateSet(val) Val_GObject((GObject*)val) #define Val_AtkStateSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkStateSetClass' */ /*TODO: conversion for record 'AtkStreamableContentIface' */ /*TODO: conversion for record 'AtkTableIface' */ /*TODO: conversion for record 'AtkTextIface' */ /*TODO: conversion for record 'AtkTextRange' */ /*TODO: conversion for record 'AtkTextRectangle' */ #define AtkUtil_val(val) check_cast(ATK_UTIL,val) #define Val_AtkUtil(val) Val_GObject((GObject*)val) #define Val_AtkUtil_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkUtilClass' */ /*TODO: conversion for record 'AtkValueIface' */ /*TODO: conversion for record '_AtkPropertyValues' */ /*TODO: conversion for record '_AtkRegistry' */ /*TODO: conversion for record '_AtkRegistryClass' */ /*TODO: conversion for record 'GModule' */ /*TODO: conversion for record 'GActionGroupInterface' */ /*TODO: conversion for record 'GActionInterface' */ /*TODO: conversion for record 'GAppInfoIface' */ #define GAppLaunchContext_val(val) check_cast(G_APP_LAUNCH_CONTEXT,val) #define Val_GAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GAppLaunchContextClass' */ /*TODO: conversion for record 'GAppLaunchContextPrivate' */ #define GApplication_val(val) check_cast(G_APPLICATION,val) #define Val_GApplication(val) Val_GObject((GObject*)val) #define Val_GApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationClass' */ #define GApplicationCommandLine_val(val) check_cast(G_APPLICATION_COMMAND_LINE,val) #define Val_GApplicationCommandLine(val) Val_GObject((GObject*)val) #define Val_GApplicationCommandLine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationCommandLineClass' */ /*TODO: conversion for record 'GApplicationCommandLinePrivate' */ /*TODO: conversion for record 'GApplicationPrivate' */ /*TODO: conversion for record 'GAsyncInitableIface' */ /*TODO: conversion for record 'GAsyncResultIface' */ #define GBufferedInputStream_val(val) check_cast(G_BUFFERED_INPUT_STREAM,val) #define Val_GBufferedInputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedInputStreamClass' */ /*TODO: conversion for record 'GBufferedInputStreamPrivate' */ #define GBufferedOutputStream_val(val) check_cast(G_BUFFERED_OUTPUT_STREAM,val) #define Val_GBufferedOutputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedOutputStreamClass' */ /*TODO: conversion for record 'GBufferedOutputStreamPrivate' */ #define GCancellable_val(val) check_cast(G_CANCELLABLE,val) #define Val_GCancellable(val) Val_GObject((GObject*)val) #define Val_GCancellable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCancellableClass' */ /*TODO: conversion for record 'GCancellablePrivate' */ #define GCharsetConverter_val(val) check_cast(G_CHARSET_CONVERTER,val) #define Val_GCharsetConverter(val) Val_GObject((GObject*)val) #define Val_GCharsetConverter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCharsetConverterClass' */ /*TODO: conversion for record 'GConverterIface' */ #define GConverterInputStream_val(val) check_cast(G_CONVERTER_INPUT_STREAM,val) #define Val_GConverterInputStream(val) Val_GObject((GObject*)val) #define Val_GConverterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterInputStreamClass' */ /*TODO: conversion for record 'GConverterInputStreamPrivate' */ #define GConverterOutputStream_val(val) check_cast(G_CONVERTER_OUTPUT_STREAM,val) #define Val_GConverterOutputStream(val) Val_GObject((GObject*)val) #define Val_GConverterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterOutputStreamClass' */ /*TODO: conversion for record 'GConverterOutputStreamPrivate' */ #define GCredentials_val(val) check_cast(G_CREDENTIALS,val) #define Val_GCredentials(val) Val_GObject((GObject*)val) #define Val_GCredentials_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCredentialsClass' */ /*TODO: conversion for record 'GDBusAnnotationInfo' */ /*TODO: conversion for record 'GDBusArgInfo' */ #define GDBusAuthObserver_val(val) check_cast(G_D_BUS_AUTH_OBSERVER,val) #define Val_GDBusAuthObserver(val) Val_GObject((GObject*)val) #define Val_GDBusAuthObserver_new(val) Val_GObject_new((GObject*)val) #define GDBusConnection_val(val) check_cast(G_D_BUS_CONNECTION,val) #define Val_GDBusConnection(val) Val_GObject((GObject*)val) #define Val_GDBusConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusErrorEntry' */ /*TODO: conversion for record 'GDBusInterfaceInfo' */ /*TODO: conversion for record 'GDBusInterfaceVTable' */ #define GDBusMessage_val(val) check_cast(G_D_BUS_MESSAGE,val) #define Val_GDBusMessage(val) Val_GObject((GObject*)val) #define Val_GDBusMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusMethodInfo' */ #define GDBusMethodInvocation_val(val) check_cast(G_D_BUS_METHOD_INVOCATION,val) #define Val_GDBusMethodInvocation(val) Val_GObject((GObject*)val) #define Val_GDBusMethodInvocation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusNodeInfo' */ /*TODO: conversion for record 'GDBusPropertyInfo' */ #define GDBusProxy_val(val) check_cast(G_D_BUS_PROXY,val) #define Val_GDBusProxy(val) Val_GObject((GObject*)val) #define Val_GDBusProxy_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusProxyClass' */ /*TODO: conversion for record 'GDBusProxyPrivate' */ #define GDBusServer_val(val) check_cast(G_D_BUS_SERVER,val) #define Val_GDBusServer(val) Val_GObject((GObject*)val) #define Val_GDBusServer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusSignalInfo' */ /*TODO: conversion for record 'GDBusSubtreeVTable' */ #define GDataInputStream_val(val) check_cast(G_DATA_INPUT_STREAM,val) #define Val_GDataInputStream(val) Val_GObject((GObject*)val) #define Val_GDataInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataInputStreamClass' */ /*TODO: conversion for record 'GDataInputStreamPrivate' */ #define GDataOutputStream_val(val) check_cast(G_DATA_OUTPUT_STREAM,val) #define Val_GDataOutputStream(val) Val_GObject((GObject*)val) #define Val_GDataOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataOutputStreamClass' */ /*TODO: conversion for record 'GDataOutputStreamPrivate' */ #define GDesktopAppInfo_val(val) check_cast(G_DESKTOP_APP_INFO,val) #define Val_GDesktopAppInfo(val) Val_GObject((GObject*)val) #define Val_GDesktopAppInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDesktopAppInfoClass' */ /*TODO: conversion for record 'GDesktopAppInfoLaunchHandlerIface' */ /*TODO: conversion for record 'GDesktopAppInfoLookupIface' */ /*TODO: conversion for record 'GDriveIface' */ #define GEmblem_val(val) check_cast(G_EMBLEM,val) #define Val_GEmblem(val) Val_GObject((GObject*)val) #define Val_GEmblem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemClass' */ #define GEmblemedIcon_val(val) check_cast(G_EMBLEMED_ICON,val) #define Val_GEmblemedIcon(val) Val_GObject((GObject*)val) #define Val_GEmblemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemedIconClass' */ /*TODO: conversion for record 'GEmblemedIconPrivate' */ /*TODO: conversion for record 'GFileAttributeInfo' */ /*TODO: conversion for record 'GFileAttributeInfoList' */ /*TODO: conversion for record 'GFileAttributeMatcher' */ /*TODO: conversion for record 'GFileDescriptorBasedIface' */ #define GFileEnumerator_val(val) check_cast(G_FILE_ENUMERATOR,val) #define Val_GFileEnumerator(val) Val_GObject((GObject*)val) #define Val_GFileEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileEnumeratorClass' */ /*TODO: conversion for record 'GFileEnumeratorPrivate' */ #define GFileIOStream_val(val) check_cast(G_FILE_I_O_STREAM,val) #define Val_GFileIOStream(val) Val_GObject((GObject*)val) #define Val_GFileIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIOStreamClass' */ /*TODO: conversion for record 'GFileIOStreamPrivate' */ #define GFileIcon_val(val) check_cast(G_FILE_ICON,val) #define Val_GFileIcon(val) Val_GObject((GObject*)val) #define Val_GFileIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIconClass' */ /*TODO: conversion for record 'GFileIface' */ #define GFileInfo_val(val) check_cast(G_FILE_INFO,val) #define Val_GFileInfo(val) Val_GObject((GObject*)val) #define Val_GFileInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInfoClass' */ #define GFileInputStream_val(val) check_cast(G_FILE_INPUT_STREAM,val) #define Val_GFileInputStream(val) Val_GObject((GObject*)val) #define Val_GFileInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInputStreamClass' */ /*TODO: conversion for record 'GFileInputStreamPrivate' */ #define GFileMonitor_val(val) check_cast(G_FILE_MONITOR,val) #define Val_GFileMonitor(val) Val_GObject((GObject*)val) #define Val_GFileMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileMonitorClass' */ /*TODO: conversion for record 'GFileMonitorPrivate' */ #define GFileOutputStream_val(val) check_cast(G_FILE_OUTPUT_STREAM,val) #define Val_GFileOutputStream(val) Val_GObject((GObject*)val) #define Val_GFileOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileOutputStreamClass' */ /*TODO: conversion for record 'GFileOutputStreamPrivate' */ #define GFilenameCompleter_val(val) check_cast(G_FILENAME_COMPLETER,val) #define Val_GFilenameCompleter(val) Val_GObject((GObject*)val) #define Val_GFilenameCompleter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilenameCompleterClass' */ #define GFilterInputStream_val(val) check_cast(G_FILTER_INPUT_STREAM,val) #define Val_GFilterInputStream(val) Val_GObject((GObject*)val) #define Val_GFilterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterInputStreamClass' */ #define GFilterOutputStream_val(val) check_cast(G_FILTER_OUTPUT_STREAM,val) #define Val_GFilterOutputStream(val) Val_GObject((GObject*)val) #define Val_GFilterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterOutputStreamClass' */ /*TODO: conversion for record 'GIOExtension' */ /*TODO: conversion for record 'GIOExtensionPoint' */ #define GIOModule_val(val) check_cast(G_I_O_MODULE,val) #define Val_GIOModule(val) Val_GObject((GObject*)val) #define Val_GIOModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOModuleClass' */ /*TODO: conversion for record 'GIOSchedulerJob' */ #define GIOStream_val(val) check_cast(G_I_O_STREAM,val) #define Val_GIOStream(val) Val_GObject((GObject*)val) #define Val_GIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOStreamAdapter' */ /*TODO: conversion for record 'GIOStreamClass' */ /*TODO: conversion for record 'GIOStreamPrivate' */ /*TODO: conversion for record 'GIconIface' */ #define GInetAddress_val(val) check_cast(G_INET_ADDRESS,val) #define Val_GInetAddress(val) Val_GObject((GObject*)val) #define Val_GInetAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetAddressClass' */ /*TODO: conversion for record 'GInetAddressPrivate' */ #define GInetSocketAddress_val(val) check_cast(G_INET_SOCKET_ADDRESS,val) #define Val_GInetSocketAddress(val) Val_GObject((GObject*)val) #define Val_GInetSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetSocketAddressClass' */ /*TODO: conversion for record 'GInetSocketAddressPrivate' */ /*TODO: conversion for record 'GInitableIface' */ #define GInputStream_val(val) check_cast(G_INPUT_STREAM,val) #define Val_GInputStream(val) Val_GObject((GObject*)val) #define Val_GInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInputStreamClass' */ /*TODO: conversion for record 'GInputStreamPrivate' */ /*TODO: conversion for record 'GInputVector' */ /*TODO: conversion for record 'GLoadableIconIface' */ #define GMemoryInputStream_val(val) check_cast(G_MEMORY_INPUT_STREAM,val) #define Val_GMemoryInputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryInputStreamClass' */ /*TODO: conversion for record 'GMemoryInputStreamPrivate' */ #define GMemoryOutputStream_val(val) check_cast(G_MEMORY_OUTPUT_STREAM,val) #define Val_GMemoryOutputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryOutputStreamClass' */ /*TODO: conversion for record 'GMemoryOutputStreamPrivate' */ /*TODO: conversion for record 'GMountIface' */ #define GMountOperation_val(val) check_cast(G_MOUNT_OPERATION,val) #define Val_GMountOperation(val) Val_GObject((GObject*)val) #define Val_GMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMountOperationClass' */ /*TODO: conversion for record 'GMountOperationPrivate' */ #define GNativeVolumeMonitor_val(val) check_cast(G_NATIVE_VOLUME_MONITOR,val) #define Val_GNativeVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GNativeVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNativeVolumeMonitorClass' */ #define GNetworkAddress_val(val) check_cast(G_NETWORK_ADDRESS,val) #define Val_GNetworkAddress(val) Val_GObject((GObject*)val) #define Val_GNetworkAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkAddressClass' */ /*TODO: conversion for record 'GNetworkAddressPrivate' */ #define GNetworkService_val(val) check_cast(G_NETWORK_SERVICE,val) #define Val_GNetworkService(val) Val_GObject((GObject*)val) #define Val_GNetworkService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkServiceClass' */ /*TODO: conversion for record 'GNetworkServicePrivate' */ #define GOutputStream_val(val) check_cast(G_OUTPUT_STREAM,val) #define Val_GOutputStream(val) Val_GObject((GObject*)val) #define Val_GOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GOutputStreamClass' */ /*TODO: conversion for record 'GOutputStreamPrivate' */ /*TODO: conversion for record 'GOutputVector' */ #define GPermission_val(val) check_cast(G_PERMISSION,val) #define Val_GPermission(val) Val_GObject((GObject*)val) #define Val_GPermission_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GPermissionClass' */ /*TODO: conversion for record 'GPermissionPrivate' */ /*TODO: conversion for record 'GPollableInputStreamInterface' */ /*TODO: conversion for record 'GPollableOutputStreamInterface' */ #define GProxyAddress_val(val) check_cast(G_PROXY_ADDRESS,val) #define Val_GProxyAddress(val) Val_GObject((GObject*)val) #define Val_GProxyAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressClass' */ #define GProxyAddressEnumerator_val(val) check_cast(G_PROXY_ADDRESS_ENUMERATOR,val) #define Val_GProxyAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GProxyAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressEnumeratorClass' */ /*TODO: conversion for record 'GProxyAddressEnumeratorPrivate' */ /*TODO: conversion for record 'GProxyAddressPrivate' */ /*TODO: conversion for record 'GProxyInterface' */ /*TODO: conversion for record 'GProxyResolverInterface' */ #define GResolver_val(val) check_cast(G_RESOLVER,val) #define Val_GResolver(val) Val_GObject((GObject*)val) #define Val_GResolver_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GResolverClass' */ /*TODO: conversion for record 'GResolverPrivate' */ /*TODO: conversion for record 'GSeekableIface' */ #define GSettings_val(val) check_cast(G_SETTINGS,val) #define Val_GSettings(val) Val_GObject((GObject*)val) #define Val_GSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSettingsBackend' */ /*TODO: conversion for record 'GSettingsClass' */ /*TODO: conversion for record 'GSettingsPrivate' */ #define GSimpleAction_val(val) check_cast(G_SIMPLE_ACTION,val) #define Val_GSimpleAction(val) Val_GObject((GObject*)val) #define Val_GSimpleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionClass' */ #define GSimpleActionGroup_val(val) check_cast(G_SIMPLE_ACTION_GROUP,val) #define Val_GSimpleActionGroup(val) Val_GObject((GObject*)val) #define Val_GSimpleActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionGroupClass' */ /*TODO: conversion for record 'GSimpleActionGroupPrivate' */ /*TODO: conversion for record 'GSimpleActionPrivate' */ #define GSimpleAsyncResult_val(val) check_cast(G_SIMPLE_ASYNC_RESULT,val) #define Val_GSimpleAsyncResult(val) Val_GObject((GObject*)val) #define Val_GSimpleAsyncResult_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleAsyncResultClass' */ #define GSimplePermission_val(val) check_cast(G_SIMPLE_PERMISSION,val) #define Val_GSimplePermission(val) Val_GObject((GObject*)val) #define Val_GSimplePermission_new(val) Val_GObject_new((GObject*)val) #define GSocket_val(val) check_cast(G_SOCKET,val) #define Val_GSocket(val) Val_GObject((GObject*)val) #define Val_GSocket_new(val) Val_GObject_new((GObject*)val) #define GSocketAddress_val(val) check_cast(G_SOCKET_ADDRESS,val) #define Val_GSocketAddress(val) Val_GObject((GObject*)val) #define Val_GSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressClass' */ #define GSocketAddressEnumerator_val(val) check_cast(G_SOCKET_ADDRESS_ENUMERATOR,val) #define Val_GSocketAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GSocketAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressEnumeratorClass' */ /*TODO: conversion for record 'GSocketClass' */ #define GSocketClient_val(val) check_cast(G_SOCKET_CLIENT,val) #define Val_GSocketClient(val) Val_GObject((GObject*)val) #define Val_GSocketClient_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketClientClass' */ /*TODO: conversion for record 'GSocketClientPrivate' */ /*TODO: conversion for record 'GSocketConnectableIface' */ #define GSocketConnection_val(val) check_cast(G_SOCKET_CONNECTION,val) #define Val_GSocketConnection(val) Val_GObject((GObject*)val) #define Val_GSocketConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketConnectionClass' */ /*TODO: conversion for record 'GSocketConnectionPrivate' */ #define GSocketControlMessage_val(val) check_cast(G_SOCKET_CONTROL_MESSAGE,val) #define Val_GSocketControlMessage(val) Val_GObject((GObject*)val) #define Val_GSocketControlMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketControlMessageClass' */ /*TODO: conversion for record 'GSocketControlMessagePrivate' */ #define GSocketListener_val(val) check_cast(G_SOCKET_LISTENER,val) #define Val_GSocketListener(val) Val_GObject((GObject*)val) #define Val_GSocketListener_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketListenerClass' */ /*TODO: conversion for record 'GSocketListenerPrivate' */ /*TODO: conversion for record 'GSocketPrivate' */ #define GSocketService_val(val) check_cast(G_SOCKET_SERVICE,val) #define Val_GSocketService(val) Val_GObject((GObject*)val) #define Val_GSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketServiceClass' */ /*TODO: conversion for record 'GSocketServicePrivate' */ /*TODO: conversion for record 'GSrvTarget' */ #define GTcpConnection_val(val) check_cast(G_TCP_CONNECTION,val) #define Val_GTcpConnection(val) Val_GObject((GObject*)val) #define Val_GTcpConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpConnectionClass' */ /*TODO: conversion for record 'GTcpConnectionPrivate' */ #define GTcpWrapperConnection_val(val) check_cast(G_TCP_WRAPPER_CONNECTION,val) #define Val_GTcpWrapperConnection(val) Val_GObject((GObject*)val) #define Val_GTcpWrapperConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpWrapperConnectionClass' */ /*TODO: conversion for record 'GTcpWrapperConnectionPrivate' */ #define GThemedIcon_val(val) check_cast(G_THEMED_ICON,val) #define Val_GThemedIcon(val) Val_GObject((GObject*)val) #define Val_GThemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThemedIconClass' */ #define GThreadedSocketService_val(val) check_cast(G_THREADED_SOCKET_SERVICE,val) #define Val_GThreadedSocketService(val) Val_GObject((GObject*)val) #define Val_GThreadedSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThreadedSocketServiceClass' */ /*TODO: conversion for record 'GThreadedSocketServicePrivate' */ /*TODO: conversion for record 'GTlsBackendInterface' */ #define GTlsCertificate_val(val) check_cast(G_TLS_CERTIFICATE,val) #define Val_GTlsCertificate(val) Val_GObject((GObject*)val) #define Val_GTlsCertificate_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsCertificateClass' */ /*TODO: conversion for record 'GTlsCertificatePrivate' */ /*TODO: conversion for record 'GTlsClientConnectionInterface' */ /*TODO: conversion for record 'GTlsClientContext' */ #define GTlsConnection_val(val) check_cast(G_TLS_CONNECTION,val) #define Val_GTlsConnection(val) Val_GObject((GObject*)val) #define Val_GTlsConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsConnectionClass' */ /*TODO: conversion for record 'GTlsConnectionPrivate' */ /*TODO: conversion for record 'GTlsContext' */ /*TODO: conversion for record 'GTlsServerConnectionInterface' */ /*TODO: conversion for record 'GTlsServerContext' */ #define GUnixConnection_val(val) check_cast(G_UNIX_CONNECTION,val) #define Val_GUnixConnection(val) Val_GObject((GObject*)val) #define Val_GUnixConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixConnectionClass' */ /*TODO: conversion for record 'GUnixConnectionPrivate' */ #define GUnixCredentialsMessage_val(val) check_cast(G_UNIX_CREDENTIALS_MESSAGE,val) #define Val_GUnixCredentialsMessage(val) Val_GObject((GObject*)val) #define Val_GUnixCredentialsMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixCredentialsMessageClass' */ /*TODO: conversion for record 'GUnixCredentialsMessagePrivate' */ #define GUnixFDList_val(val) check_cast(G_UNIX_F_D_LIST,val) #define Val_GUnixFDList(val) Val_GObject((GObject*)val) #define Val_GUnixFDList_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDListClass' */ /*TODO: conversion for record 'GUnixFDListPrivate' */ #define GUnixFDMessage_val(val) check_cast(G_UNIX_F_D_MESSAGE,val) #define Val_GUnixFDMessage(val) Val_GObject((GObject*)val) #define Val_GUnixFDMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDMessageClass' */ /*TODO: conversion for record 'GUnixFDMessagePrivate' */ #define GUnixInputStream_val(val) check_cast(G_UNIX_INPUT_STREAM,val) #define Val_GUnixInputStream(val) Val_GObject((GObject*)val) #define Val_GUnixInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixInputStreamClass' */ /*TODO: conversion for record 'GUnixInputStreamPrivate' */ /*TODO: conversion for record 'GUnixMountEntry' */ #define GUnixMountMonitor_val(val) check_cast(G_UNIX_MOUNT_MONITOR,val) #define Val_GUnixMountMonitor(val) Val_GObject((GObject*)val) #define Val_GUnixMountMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixMountMonitorClass' */ /*TODO: conversion for record 'GUnixMountPoint' */ #define GUnixOutputStream_val(val) check_cast(G_UNIX_OUTPUT_STREAM,val) #define Val_GUnixOutputStream(val) Val_GObject((GObject*)val) #define Val_GUnixOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixOutputStreamClass' */ /*TODO: conversion for record 'GUnixOutputStreamPrivate' */ #define GUnixSocketAddress_val(val) check_cast(G_UNIX_SOCKET_ADDRESS,val) #define Val_GUnixSocketAddress(val) Val_GObject((GObject*)val) #define Val_GUnixSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixSocketAddressClass' */ /*TODO: conversion for record 'GUnixSocketAddressPrivate' */ #define GVfs_val(val) check_cast(G_VFS,val) #define Val_GVfs(val) Val_GObject((GObject*)val) #define Val_GVfs_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVfsClass' */ /*TODO: conversion for record 'GVolumeIface' */ #define GVolumeMonitor_val(val) check_cast(G_VOLUME_MONITOR,val) #define Val_GVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVolumeMonitorClass' */ #define GZlibCompressor_val(val) check_cast(G_ZLIB_COMPRESSOR,val) #define Val_GZlibCompressor(val) Val_GObject((GObject*)val) #define Val_GZlibCompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibCompressorClass' */ #define GZlibDecompressor_val(val) check_cast(G_ZLIB_DECOMPRESSOR,val) #define Val_GZlibDecompressor(val) Val_GObject((GObject*)val) #define Val_GZlibDecompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibDecompressorClass' */ #define GdkPixbuf_val(val) check_cast(GDK_PIXBUF,val) #define Val_GdkPixbuf(val) Val_GObject((GObject*)val) #define Val_GdkPixbuf_new(val) Val_GObject_new((GObject*)val) #define GdkPixbufAnimation_val(val) check_cast(GDK_PIXBUF_ANIMATION,val) #define Val_GdkPixbufAnimation(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationClass' */ #define GdkPixbufAnimationIter_val(val) check_cast(GDK_PIXBUF_ANIMATION_ITER,val) #define Val_GdkPixbufAnimationIter(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimationIter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationIterClass' */ /*TODO: conversion for record 'GdkPixbufFormat' */ #define GdkPixbufLoader_val(val) check_cast(GDK_PIXBUF_LOADER,val) #define Val_GdkPixbufLoader(val) Val_GObject((GObject*)val) #define Val_GdkPixbufLoader_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufLoaderClass' */ /*TODO: conversion for record 'GdkPixbufModule' */ /*TODO: conversion for record 'GdkPixbufModulePattern' */ #define GdkPixbufSimpleAnim_val(val) check_cast(GDK_PIXBUF_SIMPLE_ANIM,val) #define Val_GdkPixbufSimpleAnim(val) Val_GObject((GObject*)val) #define Val_GdkPixbufSimpleAnim_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufSimpleAnimClass' */ /*TODO: conversion for record 'GdkPixdata' */ /*TODO: conversion for record 'cairo_t' */ /*TODO: conversion for record 'cairo_surface_t' */ /*TODO: conversion for record 'cairo_matrix_t' */ /*TODO: conversion for record 'cairo_pattern_t' */ /*TODO: conversion for record 'cairo_region_t' */ /*TODO: conversion for record 'cairo_font_options_t' */ /*TODO: conversion for record 'cairo_font_type_t' */ /*TODO: conversion for record 'cairo_font_face_t' */ /*TODO: conversion for record 'cairo_scaled_font_t' */ /*TODO: conversion for record 'cairo_path_t' */ /*TODO: conversion for record 'cairo_rectangle_int_t' */ /*TODO: conversion for record 'PangoAnalysis' */ /*TODO: conversion for record 'PangoAttrClass' */ /*TODO: conversion for record 'PangoAttrColor' */ /*TODO: conversion for record 'PangoAttrFloat' */ /*TODO: conversion for record 'PangoAttrFontDesc' */ /*TODO: conversion for record 'PangoAttrInt' */ /*TODO: conversion for record 'PangoAttrIterator' */ /*TODO: conversion for record 'PangoAttrLanguage' */ /*TODO: conversion for record 'PangoAttrList' */ /*TODO: conversion for record 'PangoAttrShape' */ /*TODO: conversion for record 'PangoAttrSize' */ /*TODO: conversion for record 'PangoAttrString' */ /*TODO: conversion for record 'PangoAttribute' */ /*TODO: conversion for record 'PangoColor' */ #define PangoContext_val(val) check_cast(PANGO_CONTEXT,val) #define Val_PangoContext(val) Val_GObject((GObject*)val) #define Val_PangoContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoContextClass' */ /*TODO: conversion for record 'PangoCoverage' */ /*TODO: conversion for record 'PangoEngineLang' */ /*TODO: conversion for record 'PangoEngineShape' */ #define PangoFont_val(val) check_cast(PANGO_FONT,val) #define Val_PangoFont(val) Val_GObject((GObject*)val) #define Val_PangoFont_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontDescription' */ #define PangoFontFace_val(val) check_cast(PANGO_FONT_FACE,val) #define Val_PangoFontFace(val) Val_GObject((GObject*)val) #define Val_PangoFontFace_new(val) Val_GObject_new((GObject*)val) #define PangoFontFamily_val(val) check_cast(PANGO_FONT_FAMILY,val) #define Val_PangoFontFamily(val) Val_GObject((GObject*)val) #define Val_PangoFontFamily_new(val) Val_GObject_new((GObject*)val) #define PangoFontMap_val(val) check_cast(PANGO_FONT_MAP,val) #define Val_PangoFontMap(val) Val_GObject((GObject*)val) #define Val_PangoFontMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontMetrics' */ #define PangoFontset_val(val) check_cast(PANGO_FONTSET,val) #define Val_PangoFontset(val) Val_GObject((GObject*)val) #define Val_PangoFontset_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoGlyphGeometry' */ /*TODO: conversion for record 'PangoGlyphInfo' */ /*TODO: conversion for record 'PangoGlyphItem' */ /*TODO: conversion for record 'PangoGlyphItemIter' */ /*TODO: conversion for record 'PangoGlyphString' */ /*TODO: conversion for record 'PangoGlyphVisAttr' */ /*TODO: conversion for record 'PangoItem' */ /*TODO: conversion for record 'PangoLanguage' */ #define PangoLayout_val(val) check_cast(PANGO_LAYOUT,val) #define Val_PangoLayout(val) Val_GObject((GObject*)val) #define Val_PangoLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoLayoutClass' */ /*TODO: conversion for record 'PangoLayoutIter' */ /*TODO: conversion for record 'PangoLayoutLine' */ /*TODO: conversion for record 'PangoLogAttr' */ /*TODO: conversion for record 'PangoMatrix' */ /*TODO: conversion for record 'PangoRectangle' */ #define PangoRenderer_val(val) check_cast(PANGO_RENDERER,val) #define Val_PangoRenderer(val) Val_GObject((GObject*)val) #define Val_PangoRenderer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoRendererClass' */ /*TODO: conversion for record 'PangoRendererPrivate' */ /*TODO: conversion for record 'PangoScriptIter' */ /*TODO: conversion for record 'PangoTabArray' */ /*TODO: conversion for record '_PangoScriptForLang' */ #define GdkAppLaunchContext_val(val) check_cast(GDK_APP_LAUNCH_CONTEXT,val) #define Val_GdkAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GdkAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkAtom' */ /*TODO: conversion for record 'GdkColor' */ #define GdkCursor_val(val) check_cast(GDK_CURSOR,val) #define Val_GdkCursor(val) Val_GObject((GObject*)val) #define Val_GdkCursor_new(val) Val_GObject_new((GObject*)val) #define GdkDevice_val(val) check_cast(GDK_DEVICE,val) #define Val_GdkDevice(val) Val_GObject((GObject*)val) #define Val_GdkDevice_new(val) Val_GObject_new((GObject*)val) #define GdkDeviceManager_val(val) check_cast(GDK_DEVICE_MANAGER,val) #define Val_GdkDeviceManager(val) Val_GObject((GObject*)val) #define Val_GdkDeviceManager_new(val) Val_GObject_new((GObject*)val) #define GdkDisplay_val(val) check_cast(GDK_DISPLAY_OBJECT,val) #define Val_GdkDisplay(val) Val_GObject((GObject*)val) #define Val_GdkDisplay_new(val) Val_GObject_new((GObject*)val) #define GdkDisplayManager_val(val) check_cast(GDK_DISPLAY_MANAGER,val) #define Val_GdkDisplayManager(val) Val_GObject((GObject*)val) #define Val_GdkDisplayManager_new(val) Val_GObject_new((GObject*)val) #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val) #define Val_GdkDragContext(val) Val_GObject((GObject*)val) #define Val_GdkDragContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkEventAny' */ /*TODO: conversion for record 'GdkEventButton' */ /*TODO: conversion for record 'GdkEventConfigure' */ /*TODO: conversion for record 'GdkEventCrossing' */ /*TODO: conversion for record 'GdkEventDND' */ /*TODO: conversion for record 'GdkEventExpose' */ /*TODO: conversion for record 'GdkEventFocus' */ /*TODO: conversion for record 'GdkEventGrabBroken' */ /*TODO: conversion for record 'GdkEventKey' */ /*TODO: conversion for record 'GdkEventMotion' */ /*TODO: conversion for record 'GdkEventOwnerChange' */ /*TODO: conversion for record 'GdkEventProperty' */ /*TODO: conversion for record 'GdkEventProximity' */ /*TODO: conversion for record 'GdkEventScroll' */ /*TODO: conversion for record 'GdkEventSelection' */ /*TODO: conversion for record 'GdkEventSetting' */ /*TODO: conversion for record 'GdkEventVisibility' */ /*TODO: conversion for record 'GdkEventWindowState' */ /*TODO: conversion for record 'GdkGeometry' */ #define GdkKeymap_val(val) check_cast(GDK_KEYMAP,val) #define Val_GdkKeymap(val) Val_GObject((GObject*)val) #define Val_GdkKeymap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkKeymapKey' */ /*TODO: conversion for record 'GdkPoint' */ /*TODO: conversion for record 'GdkRGBA' */ #define GdkScreen_val(val) check_cast(GDK_SCREEN,val) #define Val_GdkScreen(val) Val_GObject((GObject*)val) #define Val_GdkScreen_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkTimeCoord' */ #define GdkVisual_val(val) check_cast(GDK_VISUAL,val) #define Val_GdkVisual(val) Val_GObject((GObject*)val) #define Val_GdkVisual_new(val) Val_GObject_new((GObject*)val) #define GdkWindow_val(val) check_cast(GDK_WINDOW,val) #define Val_GdkWindow(val) Val_GObject((GObject*)val) #define Val_GdkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkWindowAttr' */ /*TODO: conversion for record 'GdkWindowClass' */ /*TODO: conversion for record 'GdkWindowRedirect' */ #define GtkAboutDialog_val(val) check_cast(GTK_ABOUT_DIALOG,val) #define Val_GtkAboutDialog(val) Val_GObject((GObject*)val) #define Val_GtkAboutDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAboutDialogClass' */ /*TODO: conversion for record 'GtkAboutDialogPrivate' */ #define GtkAccelGroup_val(val) check_cast(GTK_ACCEL_GROUP,val) #define Val_GtkAccelGroup(val) Val_GObject((GObject*)val) #define Val_GtkAccelGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelGroupClass' */ /*TODO: conversion for record 'GtkAccelGroupEntry' */ /*TODO: conversion for record 'GtkAccelGroupPrivate' */ /*TODO: conversion for record 'GtkAccelKey' */ #define GtkAccelLabel_val(val) check_cast(GTK_ACCEL_LABEL,val) #define Val_GtkAccelLabel(val) Val_GObject((GObject*)val) #define Val_GtkAccelLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelLabelClass' */ /*TODO: conversion for record 'GtkAccelLabelPrivate' */ #define GtkAccelMap_val(val) check_cast(GTK_ACCEL_MAP,val) #define Val_GtkAccelMap(val) Val_GObject((GObject*)val) #define Val_GtkAccelMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelMapClass' */ #define GtkAccessible_val(val) check_cast(GTK_ACCESSIBLE,val) #define Val_GtkAccessible(val) Val_GObject((GObject*)val) #define Val_GtkAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccessibleClass' */ /*TODO: conversion for record 'GtkAccessiblePrivate' */ #define GtkAction_val(val) check_cast(GTK_ACTION,val) #define Val_GtkAction(val) Val_GObject((GObject*)val) #define Val_GtkAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionClass' */ /*TODO: conversion for record 'GtkActionEntry' */ #define GtkActionGroup_val(val) check_cast(GTK_ACTION_GROUP,val) #define Val_GtkActionGroup(val) Val_GObject((GObject*)val) #define Val_GtkActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionGroupClass' */ /*TODO: conversion for record 'GtkActionGroupPrivate' */ /*TODO: conversion for record 'GtkActionPrivate' */ /*TODO: conversion for record 'GtkActivatableIface' */ #define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val) #define Val_GtkAdjustment(val) Val_GObject((GObject*)val) #define Val_GtkAdjustment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAdjustmentClass' */ /*TODO: conversion for record 'GtkAdjustmentPrivate' */ #define GtkAlignment_val(val) check_cast(GTK_ALIGNMENT,val) #define Val_GtkAlignment(val) Val_GObject((GObject*)val) #define Val_GtkAlignment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAlignmentClass' */ /*TODO: conversion for record 'GtkAlignmentPrivate' */ #define GtkAppChooserButton_val(val) check_cast(GTK_APP_CHOOSER_BUTTON,val) #define Val_GtkAppChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserButtonClass' */ /*TODO: conversion for record 'GtkAppChooserButtonPrivate' */ #define GtkAppChooserDialog_val(val) check_cast(GTK_APP_CHOOSER_DIALOG,val) #define Val_GtkAppChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserDialogClass' */ /*TODO: conversion for record 'GtkAppChooserDialogPrivate' */ #define GtkAppChooserWidget_val(val) check_cast(GTK_APP_CHOOSER_WIDGET,val) #define Val_GtkAppChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserWidgetClass' */ /*TODO: conversion for record 'GtkAppChooserWidgetPrivate' */ #define GtkApplication_val(val) check_cast(GTK_APPLICATION,val) #define Val_GtkApplication(val) Val_GObject((GObject*)val) #define Val_GtkApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkApplicationClass' */ /*TODO: conversion for record 'GtkApplicationPrivate' */ #define GtkArrow_val(val) check_cast(GTK_ARROW,val) #define Val_GtkArrow(val) Val_GObject((GObject*)val) #define Val_GtkArrow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkArrowClass' */ /*TODO: conversion for record 'GtkArrowPrivate' */ #define GtkAspectFrame_val(val) check_cast(GTK_ASPECT_FRAME,val) #define Val_GtkAspectFrame(val) Val_GObject((GObject*)val) #define Val_GtkAspectFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAspectFrameClass' */ /*TODO: conversion for record 'GtkAspectFramePrivate' */ #define GtkAssistant_val(val) check_cast(GTK_ASSISTANT,val) #define Val_GtkAssistant(val) Val_GObject((GObject*)val) #define Val_GtkAssistant_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAssistantClass' */ /*TODO: conversion for record 'GtkAssistantPrivate' */ #define GtkBin_val(val) check_cast(GTK_BIN,val) #define Val_GtkBin(val) Val_GObject((GObject*)val) #define Val_GtkBin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBinClass' */ /*TODO: conversion for record 'GtkBinPrivate' */ /*TODO: conversion for record 'GtkBindingArg' */ /*TODO: conversion for record 'GtkBindingEntry' */ /*TODO: conversion for record 'GtkBindingSet' */ /*TODO: conversion for record 'GtkBindingSignal' */ /*TODO: conversion for record 'GtkBorder' */ #define GtkBox_val(val) check_cast(GTK_BOX,val) #define Val_GtkBox(val) Val_GObject((GObject*)val) #define Val_GtkBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBoxClass' */ /*TODO: conversion for record 'GtkBoxPrivate' */ /*TODO: conversion for record 'GtkBuildableIface' */ #define GtkBuilder_val(val) check_cast(GTK_BUILDER,val) #define Val_GtkBuilder(val) Val_GObject((GObject*)val) #define Val_GtkBuilder_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBuilderClass' */ /*TODO: conversion for record 'GtkBuilderPrivate' */ #define GtkButton_val(val) check_cast(GTK_BUTTON,val) #define Val_GtkButton(val) Val_GObject((GObject*)val) #define Val_GtkButton_new(val) Val_GObject_new((GObject*)val) #define GtkButtonBox_val(val) check_cast(GTK_BUTTON_BOX,val) #define Val_GtkButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkButtonBoxClass' */ /*TODO: conversion for record 'GtkButtonBoxPrivate' */ /*TODO: conversion for record 'GtkButtonClass' */ /*TODO: conversion for record 'GtkButtonPrivate' */ #define GtkCalendar_val(val) check_cast(GTK_CALENDAR,val) #define Val_GtkCalendar(val) Val_GObject((GObject*)val) #define Val_GtkCalendar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCalendarClass' */ /*TODO: conversion for record 'GtkCalendarPrivate' */ #define GtkCellArea_val(val) check_cast(GTK_CELL_AREA,val) #define Val_GtkCellArea(val) Val_GObject((GObject*)val) #define Val_GtkCellArea_new(val) Val_GObject_new((GObject*)val) #define GtkCellAreaBox_val(val) check_cast(GTK_CELL_AREA_BOX,val) #define Val_GtkCellAreaBox(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaBoxClass' */ /*TODO: conversion for record 'GtkCellAreaBoxPrivate' */ /*TODO: conversion for record 'GtkCellAreaClass' */ #define GtkCellAreaContext_val(val) check_cast(GTK_CELL_AREA_CONTEXT,val) #define Val_GtkCellAreaContext(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaContextClass' */ /*TODO: conversion for record 'GtkCellAreaContextPrivate' */ /*TODO: conversion for record 'GtkCellAreaPrivate' */ /*TODO: conversion for record 'GtkCellEditableIface' */ /*TODO: conversion for record 'GtkCellLayoutIface' */ #define GtkCellRenderer_val(val) check_cast(GTK_CELL_RENDERER,val) #define Val_GtkCellRenderer(val) Val_GObject((GObject*)val) #define Val_GtkCellRenderer_new(val) Val_GObject_new((GObject*)val) #define GtkCellRendererAccel_val(val) check_cast(GTK_CELL_RENDERER_ACCEL,val) #define Val_GtkCellRendererAccel(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererAccel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererAccelClass' */ /*TODO: conversion for record 'GtkCellRendererAccelPrivate' */ /*TODO: conversion for record 'GtkCellRendererClass' */ #define GtkCellRendererCombo_val(val) check_cast(GTK_CELL_RENDERER_COMBO,val) #define Val_GtkCellRendererCombo(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererCombo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererComboClass' */ /*TODO: conversion for record 'GtkCellRendererComboPrivate' */ #define GtkCellRendererPixbuf_val(val) check_cast(GTK_CELL_RENDERER_PIXBUF,val) #define Val_GtkCellRendererPixbuf(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererPixbuf_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererPixbufClass' */ /*TODO: conversion for record 'GtkCellRendererPixbufPrivate' */ /*TODO: conversion for record 'GtkCellRendererPrivate' */ #define GtkCellRendererProgress_val(val) check_cast(GTK_CELL_RENDERER_PROGRESS,val) #define Val_GtkCellRendererProgress(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererProgress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererProgressClass' */ /*TODO: conversion for record 'GtkCellRendererProgressPrivate' */ #define GtkCellRendererSpin_val(val) check_cast(GTK_CELL_RENDERER_SPIN,val) #define Val_GtkCellRendererSpin(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinClass' */ /*TODO: conversion for record 'GtkCellRendererSpinPrivate' */ #define GtkCellRendererSpinner_val(val) check_cast(GTK_CELL_RENDERER_SPINNER,val) #define Val_GtkCellRendererSpinner(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinnerClass' */ /*TODO: conversion for record 'GtkCellRendererSpinnerPrivate' */ #define GtkCellRendererText_val(val) check_cast(GTK_CELL_RENDERER_TEXT,val) #define Val_GtkCellRendererText(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererTextClass' */ /*TODO: conversion for record 'GtkCellRendererTextPrivate' */ #define GtkCellRendererToggle_val(val) check_cast(GTK_CELL_RENDERER_TOGGLE,val) #define Val_GtkCellRendererToggle(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererToggle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererToggleClass' */ /*TODO: conversion for record 'GtkCellRendererTogglePrivate' */ #define GtkCellView_val(val) check_cast(GTK_CELL_VIEW,val) #define Val_GtkCellView(val) Val_GObject((GObject*)val) #define Val_GtkCellView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellViewClass' */ /*TODO: conversion for record 'GtkCellViewPrivate' */ #define GtkCheckButton_val(val) check_cast(GTK_CHECK_BUTTON,val) #define Val_GtkCheckButton(val) Val_GObject((GObject*)val) #define Val_GtkCheckButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckButtonClass' */ #define GtkCheckMenuItem_val(val) check_cast(GTK_CHECK_MENU_ITEM,val) #define Val_GtkCheckMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkCheckMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckMenuItemClass' */ /*TODO: conversion for record 'GtkCheckMenuItemPrivate' */ #define GtkClipboard_val(val) check_cast(GTK_CLIPBOARD,val) #define Val_GtkClipboard(val) Val_GObject((GObject*)val) #define Val_GtkClipboard_new(val) Val_GObject_new((GObject*)val) #define GtkColorButton_val(val) check_cast(GTK_COLOR_BUTTON,val) #define Val_GtkColorButton(val) Val_GObject((GObject*)val) #define Val_GtkColorButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorButtonClass' */ /*TODO: conversion for record 'GtkColorButtonPrivate' */ #define GtkColorSelection_val(val) check_cast(GTK_COLOR_SELECTION,val) #define Val_GtkColorSelection(val) Val_GObject((GObject*)val) #define Val_GtkColorSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionClass' */ #define GtkColorSelectionDialog_val(val) check_cast(GTK_COLOR_SELECTION_DIALOG,val) #define Val_GtkColorSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkColorSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionDialogClass' */ /*TODO: conversion for record 'GtkColorSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkColorSelectionPrivate' */ #define GtkComboBox_val(val) check_cast(GTK_COMBO_BOX,val) #define Val_GtkComboBox(val) Val_GObject((GObject*)val) #define Val_GtkComboBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxClass' */ /*TODO: conversion for record 'GtkComboBoxPrivate' */ #define GtkComboBoxText_val(val) check_cast(GTK_COMBO_BOX_TEXT,val) #define Val_GtkComboBoxText(val) Val_GObject((GObject*)val) #define Val_GtkComboBoxText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxTextClass' */ /*TODO: conversion for record 'GtkComboBoxTextPrivate' */ #define GtkContainer_val(val) check_cast(GTK_CONTAINER,val) #define Val_GtkContainer(val) Val_GObject((GObject*)val) #define Val_GtkContainer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkContainerClass' */ /*TODO: conversion for record 'GtkContainerPrivate' */ #define GtkCssProvider_val(val) check_cast(GTK_CSS_PROVIDER,val) #define Val_GtkCssProvider(val) Val_GObject((GObject*)val) #define Val_GtkCssProvider_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCssProviderClass' */ #define GtkDialog_val(val) check_cast(GTK_DIALOG,val) #define Val_GtkDialog(val) Val_GObject((GObject*)val) #define Val_GtkDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDialogClass' */ /*TODO: conversion for record 'GtkDialogPrivate' */ #define GtkDrawingArea_val(val) check_cast(GTK_DRAWING_AREA,val) #define Val_GtkDrawingArea(val) Val_GObject((GObject*)val) #define Val_GtkDrawingArea_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDrawingAreaClass' */ /*TODO: conversion for record 'GtkEditableInterface' */ #define GtkEntry_val(val) check_cast(GTK_ENTRY,val) #define Val_GtkEntry(val) Val_GObject((GObject*)val) #define Val_GtkEntry_new(val) Val_GObject_new((GObject*)val) #define GtkEntryBuffer_val(val) check_cast(GTK_ENTRY_BUFFER,val) #define Val_GtkEntryBuffer(val) Val_GObject((GObject*)val) #define Val_GtkEntryBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryBufferClass' */ /*TODO: conversion for record 'GtkEntryBufferPrivate' */ /*TODO: conversion for record 'GtkEntryClass' */ #define GtkEntryCompletion_val(val) check_cast(GTK_ENTRY_COMPLETION,val) #define Val_GtkEntryCompletion(val) Val_GObject((GObject*)val) #define Val_GtkEntryCompletion_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryCompletionClass' */ /*TODO: conversion for record 'GtkEntryCompletionPrivate' */ /*TODO: conversion for record 'GtkEntryPrivate' */ #define GtkEventBox_val(val) check_cast(GTK_EVENT_BOX,val) #define Val_GtkEventBox(val) Val_GObject((GObject*)val) #define Val_GtkEventBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEventBoxClass' */ /*TODO: conversion for record 'GtkEventBoxPrivate' */ #define GtkExpander_val(val) check_cast(GTK_EXPANDER,val) #define Val_GtkExpander(val) Val_GObject((GObject*)val) #define Val_GtkExpander_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkExpanderClass' */ /*TODO: conversion for record 'GtkExpanderPrivate' */ #define GtkFileChooserButton_val(val) check_cast(GTK_FILE_CHOOSER_BUTTON,val) #define Val_GtkFileChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserButtonClass' */ /*TODO: conversion for record 'GtkFileChooserButtonPrivate' */ #define GtkFileChooserDialog_val(val) check_cast(GTK_FILE_CHOOSER_DIALOG,val) #define Val_GtkFileChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserDialogClass' */ /*TODO: conversion for record 'GtkFileChooserDialogPrivate' */ #define GtkFileChooserWidget_val(val) check_cast(GTK_FILE_CHOOSER_WIDGET,val) #define Val_GtkFileChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserWidgetClass' */ /*TODO: conversion for record 'GtkFileChooserWidgetPrivate' */ #define GtkFileFilter_val(val) check_cast(GTK_FILE_FILTER,val) #define Val_GtkFileFilter(val) Val_GObject((GObject*)val) #define Val_GtkFileFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileFilterInfo' */ #define GtkFixed_val(val) check_cast(GTK_FIXED,val) #define Val_GtkFixed(val) Val_GObject((GObject*)val) #define Val_GtkFixed_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFixedChild' */ /*TODO: conversion for record 'GtkFixedClass' */ /*TODO: conversion for record 'GtkFixedPrivate' */ #define GtkFontButton_val(val) check_cast(GTK_FONT_BUTTON,val) #define Val_GtkFontButton(val) Val_GObject((GObject*)val) #define Val_GtkFontButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontButtonClass' */ /*TODO: conversion for record 'GtkFontButtonPrivate' */ #define GtkFontSelection_val(val) check_cast(GTK_FONT_SELECTION,val) #define Val_GtkFontSelection(val) Val_GObject((GObject*)val) #define Val_GtkFontSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionClass' */ #define GtkFontSelectionDialog_val(val) check_cast(GTK_FONT_SELECTION_DIALOG,val) #define Val_GtkFontSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkFontSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionDialogClass' */ /*TODO: conversion for record 'GtkFontSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkFontSelectionPrivate' */ #define GtkFrame_val(val) check_cast(GTK_FRAME,val) #define Val_GtkFrame(val) Val_GObject((GObject*)val) #define Val_GtkFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFrameClass' */ /*TODO: conversion for record 'GtkFramePrivate' */ /*TODO: conversion for record 'GtkGradient' */ #define GtkGrid_val(val) check_cast(GTK_GRID,val) #define Val_GtkGrid(val) Val_GObject((GObject*)val) #define Val_GtkGrid_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkGridClass' */ /*TODO: conversion for record 'GtkGridPrivate' */ #define GtkHBox_val(val) check_cast(GTK_H_BOX,val) #define Val_GtkHBox(val) Val_GObject((GObject*)val) #define Val_GtkHBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHBoxClass' */ #define GtkHButtonBox_val(val) check_cast(GTK_H_BUTTON_BOX,val) #define Val_GtkHButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkHButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHButtonBoxClass' */ #define GtkHPaned_val(val) check_cast(GTK_H_PANED,val) #define Val_GtkHPaned(val) Val_GObject((GObject*)val) #define Val_GtkHPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHPanedClass' */ #define GtkHSV_val(val) check_cast(GTK_HSV,val) #define Val_GtkHSV(val) Val_GObject((GObject*)val) #define Val_GtkHSV_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSVClass' */ /*TODO: conversion for record 'GtkHSVPrivate' */ #define GtkHScale_val(val) check_cast(GTK_H_SCALE,val) #define Val_GtkHScale(val) Val_GObject((GObject*)val) #define Val_GtkHScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScaleClass' */ #define GtkHScrollbar_val(val) check_cast(GTK_H_SCROLLBAR,val) #define Val_GtkHScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkHScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScrollbarClass' */ #define GtkHSeparator_val(val) check_cast(GTK_H_SEPARATOR,val) #define Val_GtkHSeparator(val) Val_GObject((GObject*)val) #define Val_GtkHSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSeparatorClass' */ #define GtkHandleBox_val(val) check_cast(GTK_HANDLE_BOX,val) #define Val_GtkHandleBox(val) Val_GObject((GObject*)val) #define Val_GtkHandleBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHandleBoxClass' */ /*TODO: conversion for record 'GtkHandleBoxPrivate' */ #define GtkIMContext_val(val) check_cast(GTK_IM_CONTEXT,val) #define Val_GtkIMContext(val) Val_GObject((GObject*)val) #define Val_GtkIMContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextClass' */ /*TODO: conversion for record 'GtkIMContextInfo' */ #define GtkIMContextSimple_val(val) check_cast(GTK_I_M_CONTEXT_SIMPLE,val) #define Val_GtkIMContextSimple(val) Val_GObject((GObject*)val) #define Val_GtkIMContextSimple_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextSimpleClass' */ /*TODO: conversion for record 'GtkIMContextSimplePrivate' */ #define GtkIMMulticontext_val(val) check_cast(GTK_IM_MULTICONTEXT,val) #define Val_GtkIMMulticontext(val) Val_GObject((GObject*)val) #define Val_GtkIMMulticontext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMMulticontextClass' */ /*TODO: conversion for record 'GtkIMMulticontextPrivate' */ #define GtkIconFactory_val(val) check_cast(GTK_ICON_FACTORY,val) #define Val_GtkIconFactory(val) Val_GObject((GObject*)val) #define Val_GtkIconFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconFactoryClass' */ /*TODO: conversion for record 'GtkIconFactoryPrivate' */ /*TODO: conversion for record 'GtkIconInfo' */ /*TODO: conversion for record 'GtkIconSet' */ /*TODO: conversion for record 'GtkIconSource' */ #define GtkIconTheme_val(val) check_cast(GTK_ICON_THEME,val) #define Val_GtkIconTheme(val) Val_GObject((GObject*)val) #define Val_GtkIconTheme_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconThemeClass' */ /*TODO: conversion for record 'GtkIconThemePrivate' */ #define GtkIconView_val(val) check_cast(GTK_ICON_VIEW,val) #define Val_GtkIconView(val) Val_GObject((GObject*)val) #define Val_GtkIconView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconViewClass' */ /*TODO: conversion for record 'GtkIconViewPrivate' */ #define GtkImage_val(val) check_cast(GTK_IMAGE,val) #define Val_GtkImage(val) Val_GObject((GObject*)val) #define Val_GtkImage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageClass' */ #define GtkImageMenuItem_val(val) check_cast(GTK_IMAGE_MENU_ITEM,val) #define Val_GtkImageMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkImageMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageMenuItemClass' */ /*TODO: conversion for record 'GtkImageMenuItemPrivate' */ /*TODO: conversion for record 'GtkImagePrivate' */ #define GtkInfoBar_val(val) check_cast(GTK_INFO_BAR,val) #define Val_GtkInfoBar(val) Val_GObject((GObject*)val) #define Val_GtkInfoBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInfoBarClass' */ /*TODO: conversion for record 'GtkInfoBarPrivate' */ #define GtkInvisible_val(val) check_cast(GTK_INVISIBLE,val) #define Val_GtkInvisible(val) Val_GObject((GObject*)val) #define Val_GtkInvisible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInvisibleClass' */ /*TODO: conversion for record 'GtkInvisiblePrivate' */ #define GtkLabel_val(val) check_cast(GTK_LABEL,val) #define Val_GtkLabel(val) Val_GObject((GObject*)val) #define Val_GtkLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLabelClass' */ /*TODO: conversion for record 'GtkLabelPrivate' */ /*TODO: conversion for record 'GtkLabelSelectionInfo' */ #define GtkLayout_val(val) check_cast(GTK_LAYOUT,val) #define Val_GtkLayout(val) Val_GObject((GObject*)val) #define Val_GtkLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLayoutClass' */ /*TODO: conversion for record 'GtkLayoutPrivate' */ #define GtkLinkButton_val(val) check_cast(GTK_LINK_BUTTON,val) #define Val_GtkLinkButton(val) Val_GObject((GObject*)val) #define Val_GtkLinkButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLinkButtonClass' */ /*TODO: conversion for record 'GtkLinkButtonPrivate' */ #define GtkListStore_val(val) check_cast(GTK_LIST_STORE,val) #define Val_GtkListStore(val) Val_GObject((GObject*)val) #define Val_GtkListStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkListStoreClass' */ /*TODO: conversion for record 'GtkListStorePrivate' */ #define GtkMenu_val(val) check_cast(GTK_MENU,val) #define Val_GtkMenu(val) Val_GObject((GObject*)val) #define Val_GtkMenu_new(val) Val_GObject_new((GObject*)val) #define GtkMenuBar_val(val) check_cast(GTK_MENU_BAR,val) #define Val_GtkMenuBar(val) Val_GObject((GObject*)val) #define Val_GtkMenuBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuBarClass' */ /*TODO: conversion for record 'GtkMenuBarPrivate' */ /*TODO: conversion for record 'GtkMenuClass' */ #define GtkMenuItem_val(val) check_cast(GTK_MENU_ITEM,val) #define Val_GtkMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuItemClass' */ /*TODO: conversion for record 'GtkMenuItemPrivate' */ /*TODO: conversion for record 'GtkMenuPrivate' */ #define GtkMenuShell_val(val) check_cast(GTK_MENU_SHELL,val) #define Val_GtkMenuShell(val) Val_GObject((GObject*)val) #define Val_GtkMenuShell_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuShellClass' */ /*TODO: conversion for record 'GtkMenuShellPrivate' */ #define GtkMenuToolButton_val(val) check_cast(GTK_MENU_TOOL_BUTTON,val) #define Val_GtkMenuToolButton(val) Val_GObject((GObject*)val) #define Val_GtkMenuToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuToolButtonClass' */ /*TODO: conversion for record 'GtkMenuToolButtonPrivate' */ #define GtkMessageDialog_val(val) check_cast(GTK_MESSAGE_DIALOG,val) #define Val_GtkMessageDialog(val) Val_GObject((GObject*)val) #define Val_GtkMessageDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMessageDialogClass' */ /*TODO: conversion for record 'GtkMessageDialogPrivate' */ #define GtkMisc_val(val) check_cast(GTK_MISC,val) #define Val_GtkMisc(val) Val_GObject((GObject*)val) #define Val_GtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMiscClass' */ /*TODO: conversion for record 'GtkMiscPrivate' */ #define GtkMountOperation_val(val) check_cast(GTK_MOUNT_OPERATION,val) #define Val_GtkMountOperation(val) Val_GObject((GObject*)val) #define Val_GtkMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMountOperationClass' */ /*TODO: conversion for record 'GtkMountOperationPrivate' */ #define GtkNotebook_val(val) check_cast(GTK_NOTEBOOK,val) #define Val_GtkNotebook(val) Val_GObject((GObject*)val) #define Val_GtkNotebook_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNotebookClass' */ /*TODO: conversion for record 'GtkNotebookPrivate' */ #define GtkNumerableIcon_val(val) check_cast(GTK_NUMERABLE_ICON,val) #define Val_GtkNumerableIcon(val) Val_GObject((GObject*)val) #define Val_GtkNumerableIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNumerableIconClass' */ /*TODO: conversion for record 'GtkNumerableIconPrivate' */ #define GtkOffscreenWindow_val(val) check_cast(GTK_OFFSCREEN_WINDOW,val) #define Val_GtkOffscreenWindow(val) Val_GObject((GObject*)val) #define Val_GtkOffscreenWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkOffscreenWindowClass' */ /*TODO: conversion for record 'GtkOrientableIface' */ /*TODO: conversion for record 'GtkPageRange' */ #define GtkPageSetup_val(val) check_cast(GTK_PAGE_SETUP,val) #define Val_GtkPageSetup(val) Val_GObject((GObject*)val) #define Val_GtkPageSetup_new(val) Val_GObject_new((GObject*)val) #define GtkPaned_val(val) check_cast(GTK_PANED,val) #define Val_GtkPaned(val) Val_GObject((GObject*)val) #define Val_GtkPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPanedClass' */ /*TODO: conversion for record 'GtkPanedPrivate' */ /*TODO: conversion for record 'GtkPaperSize' */ #define GtkPlug_val(val) check_cast(GTK_PLUG,val) #define Val_GtkPlug(val) Val_GObject((GObject*)val) #define Val_GtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPlugClass' */ /*TODO: conversion for record 'GtkPlugPrivate' */ #define GtkPrintContext_val(val) check_cast(GTK_PRINT_CONTEXT,val) #define Val_GtkPrintContext(val) Val_GObject((GObject*)val) #define Val_GtkPrintContext_new(val) Val_GObject_new((GObject*)val) #define GtkPrintOperation_val(val) check_cast(GTK_PRINT_OPERATION,val) #define Val_GtkPrintOperation(val) Val_GObject((GObject*)val) #define Val_GtkPrintOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPrintOperationClass' */ /*TODO: conversion for record 'GtkPrintOperationPreviewIface' */ /*TODO: conversion for record 'GtkPrintOperationPrivate' */ #define GtkPrintSettings_val(val) check_cast(GTK_PRINT_SETTINGS,val) #define Val_GtkPrintSettings(val) Val_GObject((GObject*)val) #define Val_GtkPrintSettings_new(val) Val_GObject_new((GObject*)val) #define GtkProgressBar_val(val) check_cast(GTK_PROGRESS_BAR,val) #define Val_GtkProgressBar(val) Val_GObject((GObject*)val) #define Val_GtkProgressBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkProgressBarClass' */ /*TODO: conversion for record 'GtkProgressBarPrivate' */ #define GtkRadioAction_val(val) check_cast(GTK_RADIO_ACTION,val) #define Val_GtkRadioAction(val) Val_GObject((GObject*)val) #define Val_GtkRadioAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioActionClass' */ /*TODO: conversion for record 'GtkRadioActionEntry' */ /*TODO: conversion for record 'GtkRadioActionPrivate' */ #define GtkRadioButton_val(val) check_cast(GTK_RADIO_BUTTON,val) #define Val_GtkRadioButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioButtonClass' */ /*TODO: conversion for record 'GtkRadioButtonPrivate' */ #define GtkRadioMenuItem_val(val) check_cast(GTK_RADIO_MENU_ITEM,val) #define Val_GtkRadioMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkRadioMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioMenuItemClass' */ /*TODO: conversion for record 'GtkRadioMenuItemPrivate' */ #define GtkRadioToolButton_val(val) check_cast(GTK_RADIO_TOOL_BUTTON,val) #define Val_GtkRadioToolButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioToolButtonClass' */ #define GtkRange_val(val) check_cast(GTK_RANGE,val) #define Val_GtkRange(val) Val_GObject((GObject*)val) #define Val_GtkRange_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRangeClass' */ /*TODO: conversion for record 'GtkRangePrivate' */ /*TODO: conversion for record 'GtkRcContext' */ /*TODO: conversion for record 'GtkRcProperty' */ #define GtkRcStyle_val(val) check_cast(GTK_RC_STYLE,val) #define Val_GtkRcStyle(val) Val_GObject((GObject*)val) #define Val_GtkRcStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRcStyleClass' */ #define GtkRecentAction_val(val) check_cast(GTK_RECENT_ACTION,val) #define Val_GtkRecentAction(val) Val_GObject((GObject*)val) #define Val_GtkRecentAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentActionClass' */ /*TODO: conversion for record 'GtkRecentActionPrivate' */ #define GtkRecentChooserDialog_val(val) check_cast(GTK_RECENT_CHOOSER_DIALOG,val) #define Val_GtkRecentChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserDialogClass' */ /*TODO: conversion for record 'GtkRecentChooserDialogPrivate' */ /*TODO: conversion for record 'GtkRecentChooserIface' */ #define GtkRecentChooserMenu_val(val) check_cast(GTK_RECENT_CHOOSER_MENU,val) #define Val_GtkRecentChooserMenu(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserMenu_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserMenuClass' */ /*TODO: conversion for record 'GtkRecentChooserMenuPrivate' */ #define GtkRecentChooserWidget_val(val) check_cast(GTK_RECENT_CHOOSER_WIDGET,val) #define Val_GtkRecentChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserWidgetClass' */ /*TODO: conversion for record 'GtkRecentChooserWidgetPrivate' */ /*TODO: conversion for record 'GtkRecentData' */ #define GtkRecentFilter_val(val) check_cast(GTK_RECENT_FILTER,val) #define Val_GtkRecentFilter(val) Val_GObject((GObject*)val) #define Val_GtkRecentFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentFilterInfo' */ /*TODO: conversion for record 'GtkRecentInfo' */ #define GtkRecentManager_val(val) check_cast(GTK_RECENT_MANAGER,val) #define Val_GtkRecentManager(val) Val_GObject((GObject*)val) #define Val_GtkRecentManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentManagerClass' */ /*TODO: conversion for record 'GtkRecentManagerPrivate' */ /*TODO: conversion for record 'GtkRequestedSize' */ /*TODO: conversion for record 'GtkRequisition' */ #define GtkScale_val(val) check_cast(GTK_SCALE,val) #define Val_GtkScale(val) Val_GObject((GObject*)val) #define Val_GtkScale_new(val) Val_GObject_new((GObject*)val) #define GtkScaleButton_val(val) check_cast(GTK_SCALE_BUTTON,val) #define Val_GtkScaleButton(val) Val_GObject((GObject*)val) #define Val_GtkScaleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScaleButtonClass' */ /*TODO: conversion for record 'GtkScaleButtonPrivate' */ /*TODO: conversion for record 'GtkScaleClass' */ /*TODO: conversion for record 'GtkScalePrivate' */ /*TODO: conversion for record 'GtkScrollableInterface' */ #define GtkScrollbar_val(val) check_cast(GTK_SCROLLBAR,val) #define Val_GtkScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrollbarClass' */ #define GtkScrolledWindow_val(val) check_cast(GTK_SCROLLED_WINDOW,val) #define Val_GtkScrolledWindow(val) Val_GObject((GObject*)val) #define Val_GtkScrolledWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrolledWindowClass' */ /*TODO: conversion for record 'GtkScrolledWindowPrivate' */ /*TODO: conversion for record 'GtkSelectionData' */ #define GtkSeparator_val(val) check_cast(GTK_SEPARATOR,val) #define Val_GtkSeparator(val) Val_GObject((GObject*)val) #define Val_GtkSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorClass' */ #define GtkSeparatorMenuItem_val(val) check_cast(GTK_SEPARATOR_MENU_ITEM,val) #define Val_GtkSeparatorMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorMenuItemClass' */ /*TODO: conversion for record 'GtkSeparatorPrivate' */ #define GtkSeparatorToolItem_val(val) check_cast(GTK_SEPARATOR_TOOL_ITEM,val) #define Val_GtkSeparatorToolItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorToolItemClass' */ /*TODO: conversion for record 'GtkSeparatorToolItemPrivate' */ #define GtkSettings_val(val) check_cast(GTK_SETTINGS,val) #define Val_GtkSettings(val) Val_GObject((GObject*)val) #define Val_GtkSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSettingsClass' */ /*TODO: conversion for record 'GtkSettingsPrivate' */ /*TODO: conversion for record 'GtkSettingsValue' */ #define GtkSizeGroup_val(val) check_cast(GTK_SIZE_GROUP,val) #define Val_GtkSizeGroup(val) Val_GObject((GObject*)val) #define Val_GtkSizeGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSizeGroupClass' */ /*TODO: conversion for record 'GtkSizeGroupPrivate' */ #define GtkSocket_val(val) check_cast(GTK_SOCKET,val) #define Val_GtkSocket(val) Val_GObject((GObject*)val) #define Val_GtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSocketClass' */ /*TODO: conversion for record 'GtkSocketPrivate' */ #define GtkSpinButton_val(val) check_cast(GTK_SPIN_BUTTON,val) #define Val_GtkSpinButton(val) Val_GObject((GObject*)val) #define Val_GtkSpinButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinButtonClass' */ /*TODO: conversion for record 'GtkSpinButtonPrivate' */ #define GtkSpinner_val(val) check_cast(GTK_SPINNER,val) #define Val_GtkSpinner(val) Val_GObject((GObject*)val) #define Val_GtkSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinnerClass' */ /*TODO: conversion for record 'GtkSpinnerPrivate' */ #define GtkStatusIcon_val(val) check_cast(GTK_STATUS_ICON,val) #define Val_GtkStatusIcon(val) Val_GObject((GObject*)val) #define Val_GtkStatusIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusIconClass' */ /*TODO: conversion for record 'GtkStatusIconPrivate' */ #define GtkStatusbar_val(val) check_cast(GTK_STATUSBAR,val) #define Val_GtkStatusbar(val) Val_GObject((GObject*)val) #define Val_GtkStatusbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusbarClass' */ /*TODO: conversion for record 'GtkStatusbarPrivate' */ /*TODO: conversion for record 'GtkStockItem' */ #define GtkStyle_val(val) check_cast(GTK_STYLE,val) #define Val_GtkStyle(val) Val_GObject((GObject*)val) #define Val_GtkStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleClass' */ #define GtkStyleContext_val(val) check_cast(GTK_STYLE_CONTEXT,val) #define Val_GtkStyleContext(val) Val_GObject((GObject*)val) #define Val_GtkStyleContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleContextClass' */ #define GtkStyleProperties_val(val) check_cast(GTK_STYLE_PROPERTIES,val) #define Val_GtkStyleProperties(val) Val_GObject((GObject*)val) #define Val_GtkStyleProperties_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStylePropertiesClass' */ /*TODO: conversion for record 'GtkStyleProviderIface' */ #define GtkSwitch_val(val) check_cast(GTK_SWITCH,val) #define Val_GtkSwitch(val) Val_GObject((GObject*)val) #define Val_GtkSwitch_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSwitchClass' */ /*TODO: conversion for record 'GtkSwitchPrivate' */ /*TODO: conversion for record 'GtkSymbolicColor' */ #define GtkTable_val(val) check_cast(GTK_TABLE,val) #define Val_GtkTable(val) Val_GObject((GObject*)val) #define Val_GtkTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTableChild' */ /*TODO: conversion for record 'GtkTableClass' */ /*TODO: conversion for record 'GtkTablePrivate' */ /*TODO: conversion for record 'GtkTableRowCol' */ /*TODO: conversion for record 'GtkTargetEntry' */ /*TODO: conversion for record 'GtkTargetList' */ #define GtkTearoffMenuItem_val(val) check_cast(GTK_TEAROFF_MENU_ITEM,val) #define Val_GtkTearoffMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkTearoffMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTearoffMenuItemClass' */ /*TODO: conversion for record 'GtkTearoffMenuItemPrivate' */ /*TODO: conversion for record 'GtkTextAppearance' */ /*TODO: conversion for record 'GtkTextAttributes' */ /*TODO: conversion for record 'GtkTextBTree' */ #define GtkTextBuffer_val(val) check_cast(GTK_TEXT_BUFFER,val) #define Val_GtkTextBuffer(val) Val_GObject((GObject*)val) #define Val_GtkTextBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextBufferClass' */ /*TODO: conversion for record 'GtkTextBufferPrivate' */ #define GtkTextChildAnchor_val(val) check_cast(GTK_TEXT_CHILD_ANCHOR,val) #define Val_GtkTextChildAnchor(val) Val_GObject((GObject*)val) #define Val_GtkTextChildAnchor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextChildAnchorClass' */ /*TODO: conversion for record 'GtkTextIter' */ #define GtkTextMark_val(val) check_cast(GTK_TEXT_MARK,val) #define Val_GtkTextMark(val) Val_GObject((GObject*)val) #define Val_GtkTextMark_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextMarkClass' */ #define GtkTextTag_val(val) check_cast(GTK_TEXT_TAG,val) #define Val_GtkTextTag(val) Val_GObject((GObject*)val) #define Val_GtkTextTag_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagClass' */ /*TODO: conversion for record 'GtkTextTagPrivate' */ #define GtkTextTagTable_val(val) check_cast(GTK_TEXT_TAG_TABLE,val) #define Val_GtkTextTagTable(val) Val_GObject((GObject*)val) #define Val_GtkTextTagTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagTableClass' */ /*TODO: conversion for record 'GtkTextTagTablePrivate' */ #define GtkTextView_val(val) check_cast(GTK_TEXT_VIEW,val) #define Val_GtkTextView(val) Val_GObject((GObject*)val) #define Val_GtkTextView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextViewClass' */ /*TODO: conversion for record 'GtkTextViewPrivate' */ /*TODO: conversion for record 'GtkThemeEngine' */ #define GtkThemingEngine_val(val) check_cast(GTK_THEMING_ENGINE,val) #define Val_GtkThemingEngine(val) Val_GObject((GObject*)val) #define Val_GtkThemingEngine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkThemingEngineClass' */ #define GtkToggleAction_val(val) check_cast(GTK_TOGGLE_ACTION,val) #define Val_GtkToggleAction(val) Val_GObject((GObject*)val) #define Val_GtkToggleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleActionClass' */ /*TODO: conversion for record 'GtkToggleActionEntry' */ /*TODO: conversion for record 'GtkToggleActionPrivate' */ #define GtkToggleButton_val(val) check_cast(GTK_TOGGLE_BUTTON,val) #define Val_GtkToggleButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleButtonClass' */ /*TODO: conversion for record 'GtkToggleButtonPrivate' */ #define GtkToggleToolButton_val(val) check_cast(GTK_TOGGLE_TOOL_BUTTON,val) #define Val_GtkToggleToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleToolButtonClass' */ /*TODO: conversion for record 'GtkToggleToolButtonPrivate' */ #define GtkToolButton_val(val) check_cast(GTK_TOOL_BUTTON,val) #define Val_GtkToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolButtonClass' */ /*TODO: conversion for record 'GtkToolButtonPrivate' */ #define GtkToolItem_val(val) check_cast(GTK_TOOL_ITEM,val) #define Val_GtkToolItem(val) Val_GObject((GObject*)val) #define Val_GtkToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemClass' */ #define GtkToolItemGroup_val(val) check_cast(GTK_TOOL_ITEM_GROUP,val) #define Val_GtkToolItemGroup(val) Val_GObject((GObject*)val) #define Val_GtkToolItemGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemGroupClass' */ /*TODO: conversion for record 'GtkToolItemGroupPrivate' */ /*TODO: conversion for record 'GtkToolItemPrivate' */ #define GtkToolPalette_val(val) check_cast(GTK_TOOL_PALETTE,val) #define Val_GtkToolPalette(val) Val_GObject((GObject*)val) #define Val_GtkToolPalette_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolPaletteClass' */ /*TODO: conversion for record 'GtkToolPalettePrivate' */ /*TODO: conversion for record 'GtkToolShellIface' */ #define GtkToolbar_val(val) check_cast(GTK_TOOLBAR,val) #define Val_GtkToolbar(val) Val_GObject((GObject*)val) #define Val_GtkToolbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolbarClass' */ /*TODO: conversion for record 'GtkToolbarPrivate' */ #define GtkTooltip_val(val) check_cast(GTK_TOOLTIP,val) #define Val_GtkTooltip(val) Val_GObject((GObject*)val) #define Val_GtkTooltip_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeDragDestIface' */ /*TODO: conversion for record 'GtkTreeDragSourceIface' */ /*TODO: conversion for record 'GtkTreeIter' */ #define GtkTreeModelFilter_val(val) check_cast(GTK_TREE_MODEL_FILTER,val) #define Val_GtkTreeModelFilter(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelFilterClass' */ /*TODO: conversion for record 'GtkTreeModelFilterPrivate' */ /*TODO: conversion for record 'GtkTreeModelIface' */ #define GtkTreeModelSort_val(val) check_cast(GTK_TREE_MODEL_SORT,val) #define Val_GtkTreeModelSort(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelSort_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelSortClass' */ /*TODO: conversion for record 'GtkTreeModelSortPrivate' */ /*TODO: conversion for record 'GtkTreePath' */ /*TODO: conversion for record 'GtkTreeRowReference' */ #define GtkTreeSelection_val(val) check_cast(GTK_TREE_SELECTION,val) #define Val_GtkTreeSelection(val) Val_GObject((GObject*)val) #define Val_GtkTreeSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeSelectionClass' */ /*TODO: conversion for record 'GtkTreeSelectionPrivate' */ /*TODO: conversion for record 'GtkTreeSortableIface' */ #define GtkTreeStore_val(val) check_cast(GTK_TREE_STORE,val) #define Val_GtkTreeStore(val) Val_GObject((GObject*)val) #define Val_GtkTreeStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeStoreClass' */ /*TODO: conversion for record 'GtkTreeStorePrivate' */ #define GtkTreeView_val(val) check_cast(GTK_TREE_VIEW,val) #define Val_GtkTreeView(val) Val_GObject((GObject*)val) #define Val_GtkTreeView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewClass' */ #define GtkTreeViewColumn_val(val) check_cast(GTK_TREE_VIEW_COLUMN,val) #define Val_GtkTreeViewColumn(val) Val_GObject((GObject*)val) #define Val_GtkTreeViewColumn_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewColumnClass' */ /*TODO: conversion for record 'GtkTreeViewColumnPrivate' */ /*TODO: conversion for record 'GtkTreeViewPrivate' */ #define GtkUIManager_val(val) check_cast(GTK_UI_MANAGER,val) #define Val_GtkUIManager(val) Val_GObject((GObject*)val) #define Val_GtkUIManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkUIManagerClass' */ /*TODO: conversion for record 'GtkUIManagerPrivate' */ #define GtkVBox_val(val) check_cast(GTK_V_BOX,val) #define Val_GtkVBox(val) Val_GObject((GObject*)val) #define Val_GtkVBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVBoxClass' */ #define GtkVButtonBox_val(val) check_cast(GTK_V_BUTTON_BOX,val) #define Val_GtkVButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkVButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVButtonBoxClass' */ #define GtkVPaned_val(val) check_cast(GTK_V_PANED,val) #define Val_GtkVPaned(val) Val_GObject((GObject*)val) #define Val_GtkVPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVPanedClass' */ #define GtkVScale_val(val) check_cast(GTK_V_SCALE,val) #define Val_GtkVScale(val) Val_GObject((GObject*)val) #define Val_GtkVScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScaleClass' */ #define GtkVScrollbar_val(val) check_cast(GTK_V_SCROLLBAR,val) #define Val_GtkVScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkVScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScrollbarClass' */ #define GtkVSeparator_val(val) check_cast(GTK_V_SEPARATOR,val) #define Val_GtkVSeparator(val) Val_GObject((GObject*)val) #define Val_GtkVSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVSeparatorClass' */ #define GtkViewport_val(val) check_cast(GTK_VIEWPORT,val) #define Val_GtkViewport(val) Val_GObject((GObject*)val) #define Val_GtkViewport_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkViewportClass' */ /*TODO: conversion for record 'GtkViewportPrivate' */ #define GtkVolumeButton_val(val) check_cast(GTK_VOLUME_BUTTON,val) #define Val_GtkVolumeButton(val) Val_GObject((GObject*)val) #define Val_GtkVolumeButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVolumeButtonClass' */ #define GtkWidget_val(val) check_cast(GTK_WIDGET,val) #define Val_GtkWidget(val) Val_GObject((GObject*)val) #define Val_GtkWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWidgetAuxInfo' */ /*TODO: conversion for record 'GtkWidgetClass' */ /*TODO: conversion for record 'GtkWidgetPath' */ /*TODO: conversion for record 'GtkWidgetPrivate' */ #define GtkWindow_val(val) check_cast(GTK_WINDOW,val) #define Val_GtkWindow(val) Val_GObject((GObject*)val) #define Val_GtkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowClass' */ /*TODO: conversion for record 'GtkWindowGeometryInfo' */ #define GtkWindowGroup_val(val) check_cast(GTK_WINDOW_GROUP,val) #define Val_GtkWindowGroup(val) Val_GObject((GObject*)val) #define Val_GtkWindowGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowGroupClass' */ /*TODO: conversion for record 'GtkWindowGroupPrivate' */ /*TODO: conversion for record 'GtkWindowPrivate' */ #include #include "../wrappers.h" #include "../ml_gobject.h" /* Module WindowRedirect */ /* end of WindowRedirect */ /* Module WindowClass */ /* end of WindowClass */ /* Module WindowAttr */ /* end of WindowAttr */ /* Module Window */ ML_1(gdk_window_withdraw,GdkWindow_val, Unit) ML_1(gdk_window_unstick,GdkWindow_val, Unit) ML_1(gdk_window_unmaximize,GdkWindow_val, Unit) ML_1(gdk_window_unfullscreen,GdkWindow_val, Unit) ML_1(gdk_window_thaw_updates,GdkWindow_val, Unit) ML_1(gdk_window_thaw_toplevel_updates_libgtk_only,GdkWindow_val, Unit) ML_1(gdk_window_stick,GdkWindow_val, Unit) ML_1(gdk_window_show_unraised,GdkWindow_val, Unit) ML_1(gdk_window_show,GdkWindow_val, Unit) ML_4(gdk_window_shape_combine_region,GdkWindow_val, cairo_region_t_val, Int_val, Int_val, Unit) ML_2(gdk_window_set_urgency_hint,GdkWindow_val, Bool_val, Unit) ML_2(gdk_window_set_transient_for,GdkWindow_val, GdkWindow_val, Unit) ML_2(gdk_window_set_title,GdkWindow_val, String_val, Unit) ML_2(gdk_window_set_support_multidevice,GdkWindow_val, Bool_val, Unit) ML_2(gdk_window_set_static_gravities,GdkWindow_val, Bool_val, Val_bool) ML_2(gdk_window_set_startup_id,GdkWindow_val, String_val, Unit) ML_2(gdk_window_set_skip_taskbar_hint,GdkWindow_val, Bool_val, Unit) ML_2(gdk_window_set_skip_pager_hint,GdkWindow_val, Bool_val, Unit) ML_2(gdk_window_set_role,GdkWindow_val, String_val, Unit) ML_2(gdk_window_set_override_redirect,GdkWindow_val, Bool_val, Unit) ML_2(gdk_window_set_opacity,GdkWindow_val, Double_val, Unit) ML_2(gdk_window_set_modal_hint,GdkWindow_val, Bool_val, Unit) ML_2(gdk_window_set_keep_below,GdkWindow_val, Bool_val, Unit) ML_2(gdk_window_set_keep_above,GdkWindow_val, Bool_val, Unit) ML_2(gdk_window_set_icon_name,GdkWindow_val, String_val, Unit) ML_2(gdk_window_set_icon_list,GdkWindow_val, GList_val, Unit) ML_2(gdk_window_set_group,GdkWindow_val, GdkWindow_val, Unit) ML_2(gdk_window_set_focus_on_map,GdkWindow_val, Bool_val, Unit) ML_3(gdk_window_set_device_cursor,GdkWindow_val, GdkDevice_val, GdkCursor_val, Unit) ML_2(gdk_window_set_cursor,GdkWindow_val, Option_val(arg2,GdkCursor_val,NULL) Ignore, Unit) ML_2(gdk_window_set_composited,GdkWindow_val, Bool_val, Unit) ML_1(gdk_window_set_child_shapes,GdkWindow_val, Unit) ML_1(gdk_window_set_child_input_shapes,GdkWindow_val, Unit) ML_2(gdk_window_set_background_rgba,GdkWindow_val, GdkRGBA_val, Unit) ML_2(gdk_window_set_background_pattern,GdkWindow_val, Option_val(arg2,cairo_pattern_t_val,NULL) Ignore, Unit) ML_2(gdk_window_set_background,GdkWindow_val, GdkColor_val, Unit) ML_2(gdk_window_set_accept_focus,GdkWindow_val, Bool_val, Unit) ML_3(gdk_window_scroll,GdkWindow_val, Int_val, Int_val, Unit) ML_3(gdk_window_restack,GdkWindow_val, Option_val(arg2,GdkWindow_val,NULL) Ignore, Bool_val, Unit) ML_3(gdk_window_resize,GdkWindow_val, Int_val, Int_val, Unit) ML_4(gdk_window_reparent,GdkWindow_val, GdkWindow_val, Int_val, Int_val, Unit) ML_1(gdk_window_register_dnd,GdkWindow_val, Unit) ML_1(gdk_window_raise,GdkWindow_val, Unit) ML_2(gdk_window_process_updates,GdkWindow_val, Bool_val, Unit) ML_1(gdk_window_peek_children,GdkWindow_val, Val_GList) ML_5(gdk_window_move_resize,GdkWindow_val, Int_val, Int_val, Int_val, Int_val, Unit) ML_4(gdk_window_move_region,GdkWindow_val, cairo_region_t_val, Int_val, Int_val, Unit) ML_3(gdk_window_move,GdkWindow_val, Int_val, Int_val, Unit) ML_1(gdk_window_merge_child_shapes,GdkWindow_val, Unit) ML_1(gdk_window_merge_child_input_shapes,GdkWindow_val, Unit) ML_1(gdk_window_maximize,GdkWindow_val, Unit) ML_1(gdk_window_lower,GdkWindow_val, Unit) ML_1(gdk_window_is_visible,GdkWindow_val, Val_bool) ML_1(gdk_window_is_viewable,GdkWindow_val, Val_bool) ML_1(gdk_window_is_shaped,GdkWindow_val, Val_bool) ML_1(gdk_window_is_input_only,GdkWindow_val, Val_bool) ML_1(gdk_window_is_destroyed,GdkWindow_val, Val_bool) ML_3(gdk_window_invalidate_region,GdkWindow_val, cairo_region_t_val, Bool_val, Unit) ML_4(gdk_window_input_shape_combine_region,GdkWindow_val, cairo_region_t_val, Int_val, Int_val, Unit) ML_1(gdk_window_iconify,GdkWindow_val, Unit) ML_1(gdk_window_hide,GdkWindow_val, Unit) ML_1(gdk_window_has_native,GdkWindow_val, Val_bool) ML_1(gdk_window_get_width,GdkWindow_val, Val_int) ML_1(gdk_window_get_visual,GdkWindow_val, Val_GdkVisual) ML_1(gdk_window_get_visible_region,GdkWindow_val, Val_cairo_region_t_new) ML_1(gdk_window_get_update_area,GdkWindow_val, Val_cairo_region_t_new) ML_1(gdk_window_get_toplevel,GdkWindow_val, Val_GdkWindow) ML_1(gdk_window_get_support_multidevice,GdkWindow_val, Val_bool) ML_1(gdk_window_get_screen,GdkWindow_val, Val_GdkScreen) ML_1(gdk_window_get_parent,GdkWindow_val, Val_GdkWindow) ML_1(gdk_window_get_modal_hint,GdkWindow_val, Val_bool) ML_1(gdk_window_get_height,GdkWindow_val, Val_int) ML_1(gdk_window_get_group,GdkWindow_val, Val_GdkWindow) ML_1(gdk_window_get_focus_on_map,GdkWindow_val, Val_bool) ML_1(gdk_window_get_effective_toplevel,GdkWindow_val, Val_GdkWindow) ML_1(gdk_window_get_effective_parent,GdkWindow_val, Val_GdkWindow) ML_1(gdk_window_get_display,GdkWindow_val, Val_GdkDisplay) ML_2(gdk_window_get_device_cursor,GdkWindow_val, GdkDevice_val, Val_GdkCursor) ML_1(gdk_window_get_cursor,GdkWindow_val, Val_GdkCursor) ML_1(gdk_window_get_composited,GdkWindow_val, Val_bool) ML_1(gdk_window_get_clip_region,GdkWindow_val, Val_cairo_region_t_new) ML_1(gdk_window_get_children,GdkWindow_val, Val_GList) ML_1(gdk_window_get_background_pattern,GdkWindow_val, Val_cairo_pattern_t) ML_1(gdk_window_get_accept_focus,GdkWindow_val, Val_bool) ML_1(gdk_window_geometry_changed,GdkWindow_val, Unit) ML_1(gdk_window_fullscreen,GdkWindow_val, Unit) ML_1(gdk_window_freeze_updates,GdkWindow_val, Unit) ML_1(gdk_window_freeze_toplevel_updates_libgtk_only,GdkWindow_val, Unit) ML_2(gdk_window_focus,GdkWindow_val, Int32_val, Unit) ML_1(gdk_window_flush,GdkWindow_val, Unit) ML_1(gdk_window_ensure_native,GdkWindow_val, Val_bool) ML_1(gdk_window_end_paint,GdkWindow_val, Unit) ML_1(gdk_window_enable_synchronized_configure,GdkWindow_val, Unit) ML_1(gdk_window_destroy_notify,GdkWindow_val, Unit) ML_1(gdk_window_destroy,GdkWindow_val, Unit) ML_1(gdk_window_deiconify,GdkWindow_val, Unit) ML_1(gdk_window_configure_finished,GdkWindow_val, Unit) ML_2(gdk_window_begin_paint_region,GdkWindow_val, cairo_region_t_val, Unit) ML_5(gdk_window_begin_move_drag,GdkWindow_val, Int_val, Int_val, Int_val, Int32_val, Unit) ML_1(gdk_window_beep,GdkWindow_val, Unit) ML_1(gdk_window_set_debug_updates,Bool_val, Unit) ML_0(gdk_window_process_all_updates,Unit) /* end of Window */ /* Module Visual */ ML_1(gdk_visual_get_screen,GdkVisual_val, Val_GdkScreen) ML_1(gdk_visual_get_depth,GdkVisual_val, Val_int) ML_1(gdk_visual_get_colormap_size,GdkVisual_val, Val_int) ML_1(gdk_visual_get_bits_per_rgb,GdkVisual_val, Val_int) ML_0(gdk_visual_get_system,Val_GdkVisual) ML_1(gdk_visual_get_best_with_depth,Int_val, Val_GdkVisual) ML_0(gdk_visual_get_best_depth,Val_int) ML_0(gdk_visual_get_best,Val_GdkVisual) /* end of Visual */ /* Module TimeCoord */ /* end of TimeCoord */ /* Module Screen */ ML_2(gdk_screen_set_resolution,GdkScreen_val, Double_val, Unit) ML_2(gdk_screen_set_font_options,GdkScreen_val, Option_val(arg2,cairo_font_options_t_val,NULL) Ignore, Unit) ML_1(gdk_screen_make_display_name,GdkScreen_val, Val_string_new) ML_1(gdk_screen_list_visuals,GdkScreen_val, Val_GList) ML_1(gdk_screen_is_composited,GdkScreen_val, Val_bool) ML_1(gdk_screen_get_window_stack,GdkScreen_val, Val_GList_new) ML_1(gdk_screen_get_width_mm,GdkScreen_val, Val_int) ML_1(gdk_screen_get_width,GdkScreen_val, Val_int) ML_1(gdk_screen_get_toplevel_windows,GdkScreen_val, Val_GList) ML_1(gdk_screen_get_system_visual,GdkScreen_val, Val_GdkVisual) ML_3(gdk_screen_get_setting,GdkScreen_val, String_val, GValue_val, Val_bool) ML_1(gdk_screen_get_root_window,GdkScreen_val, Val_GdkWindow) ML_1(gdk_screen_get_rgba_visual,GdkScreen_val, Val_GdkVisual) ML_1(gdk_screen_get_resolution,GdkScreen_val, Val_double) ML_1(gdk_screen_get_primary_monitor,GdkScreen_val, Val_int) ML_1(gdk_screen_get_number,GdkScreen_val, Val_int) ML_1(gdk_screen_get_n_monitors,GdkScreen_val, Val_int) ML_2(gdk_screen_get_monitor_width_mm,GdkScreen_val, Int_val, Val_int) ML_2(gdk_screen_get_monitor_plug_name,GdkScreen_val, Int_val, Val_string_new) ML_2(gdk_screen_get_monitor_height_mm,GdkScreen_val, Int_val, Val_int) ML_2(gdk_screen_get_monitor_at_window,GdkScreen_val, GdkWindow_val, Val_int) ML_3(gdk_screen_get_monitor_at_point,GdkScreen_val, Int_val, Int_val, Val_int) ML_1(gdk_screen_get_height_mm,GdkScreen_val, Val_int) ML_1(gdk_screen_get_height,GdkScreen_val, Val_int) ML_1(gdk_screen_get_font_options,GdkScreen_val, Val_cairo_font_options_t) ML_1(gdk_screen_get_display,GdkScreen_val, Val_GdkDisplay) ML_1(gdk_screen_get_active_window,GdkScreen_val, Val_GdkWindow_new) ML_0(gdk_screen_width_mm,Val_int) ML_0(gdk_screen_width,Val_int) ML_0(gdk_screen_height_mm,Val_int) ML_0(gdk_screen_height,Val_int) ML_0(gdk_screen_get_default,Val_GdkScreen) /* end of Screen */ /* Module RGBA */ ML_1(gdk_rgba_to_string,GdkRGBA_val, Val_string_new) ML_2(gdk_rgba_parse,GdkRGBA_val, String_val, Val_bool) ML_1(gdk_rgba_hash,GdkRGBA_val, Val_int) ML_1(gdk_rgba_free,GdkRGBA_val, Unit) ML_1(gdk_rgba_copy,GdkRGBA_val, Val_GdkRGBA_new) /* end of RGBA */ /* Module Point */ /* end of Point */ /* Module KeymapKey */ /* end of KeymapKey */ /* Module Keymap */ ML_2(gdk_keymap_lookup_key,GdkKeymap_val, GdkKeymapKey_val, Val_int) ML_1(gdk_keymap_have_bidi_layouts,GdkKeymap_val, Val_bool) ML_1(gdk_keymap_get_num_lock_state,GdkKeymap_val, Val_bool) ML_1(gdk_keymap_get_caps_lock_state,GdkKeymap_val, Val_bool) ML_1(gdk_keymap_get_for_display,GdkDisplay_val, Val_GdkKeymap) ML_0(gdk_keymap_get_default,Val_GdkKeymap) /* end of Keymap */ /* Module Geometry */ /* end of Geometry */ /* Module EventWindowState */ /* end of EventWindowState */ /* Module EventVisibility */ /* end of EventVisibility */ /* Module EventSetting */ /* end of EventSetting */ /* Module EventSelection */ /* end of EventSelection */ /* Module EventScroll */ /* end of EventScroll */ /* Module EventProximity */ /* end of EventProximity */ /* Module EventProperty */ /* end of EventProperty */ /* Module EventOwnerChange */ /* end of EventOwnerChange */ /* Module EventMotion */ /* end of EventMotion */ /* Module EventKey */ /* end of EventKey */ /* Module EventGrabBroken */ /* end of EventGrabBroken */ /* Module EventFocus */ /* end of EventFocus */ /* Module EventExpose */ /* end of EventExpose */ /* Module EventDND */ /* end of EventDND */ /* Module EventCrossing */ /* end of EventCrossing */ /* Module EventConfigure */ /* end of EventConfigure */ /* Module EventButton */ /* end of EventButton */ /* Module EventAny */ /* end of EventAny */ /* Module DragContext */ ML_2(gdk_drag_context_set_device,GdkDragContext_val, GdkDevice_val, Unit) ML_1(gdk_drag_context_list_targets,GdkDragContext_val, Val_GList) ML_1(gdk_drag_context_get_source_window,GdkDragContext_val, Val_GdkWindow) ML_1(gdk_drag_context_get_device,GdkDragContext_val, Val_GdkDevice) ML_1(gdk_drag_context_get_dest_window,GdkDragContext_val, Val_GdkWindow) /* end of DragContext */ /* Module DisplayManager */ ML_2(gdk_display_manager_set_default_display,GdkDisplayManager_val, GdkDisplay_val, Unit) ML_2(gdk_display_manager_open_display,GdkDisplayManager_val, String_val, Val_GdkDisplay) ML_1(gdk_display_manager_list_displays,GdkDisplayManager_val, Val_GSList) ML_1(gdk_display_manager_get_default_display,GdkDisplayManager_val, Val_GdkDisplay) ML_0(gdk_display_manager_get,Val_GdkDisplayManager) /* end of DisplayManager */ /* Module Display */ ML_4(gdk_display_warp_pointer,GdkDisplay_val, GdkScreen_val, Int_val, Int_val, Unit) ML_1(gdk_display_sync,GdkDisplay_val, Unit) ML_1(gdk_display_supports_shapes,GdkDisplay_val, Val_bool) ML_1(gdk_display_supports_selection_notification,GdkDisplay_val, Val_bool) ML_1(gdk_display_supports_input_shapes,GdkDisplay_val, Val_bool) ML_1(gdk_display_supports_cursor_color,GdkDisplay_val, Val_bool) ML_1(gdk_display_supports_cursor_alpha,GdkDisplay_val, Val_bool) ML_1(gdk_display_supports_composite,GdkDisplay_val, Val_bool) ML_1(gdk_display_supports_clipboard_persistence,GdkDisplay_val, Val_bool) ML_2(gdk_display_set_double_click_time,GdkDisplay_val, Int_val, Unit) ML_2(gdk_display_set_double_click_distance,GdkDisplay_val, Int_val, Unit) ML_2(gdk_display_pointer_ungrab,GdkDisplay_val, Int32_val, Unit) ML_1(gdk_display_pointer_is_grabbed,GdkDisplay_val, Val_bool) ML_2(gdk_display_notify_startup_complete,GdkDisplay_val, String_val, Unit) ML_1(gdk_display_list_devices,GdkDisplay_val, Val_GList) ML_2(gdk_display_keyboard_ungrab,GdkDisplay_val, Int32_val, Unit) ML_1(gdk_display_is_closed,GdkDisplay_val, Val_bool) ML_1(gdk_display_has_pending,GdkDisplay_val, Val_bool) ML_2(gdk_display_get_screen,GdkDisplay_val, Int_val, Val_GdkScreen) ML_1(gdk_display_get_name,GdkDisplay_val, Val_string) ML_1(gdk_display_get_n_screens,GdkDisplay_val, Val_int) ML_1(gdk_display_get_device_manager,GdkDisplay_val, Val_GdkDeviceManager) ML_1(gdk_display_get_default_screen,GdkDisplay_val, Val_GdkScreen) ML_1(gdk_display_get_default_group,GdkDisplay_val, Val_GdkWindow) ML_1(gdk_display_get_default_cursor_size,GdkDisplay_val, Val_int) ML_1(gdk_display_get_app_launch_context,GdkDisplay_val, Val_GdkAppLaunchContext_new) ML_1(gdk_display_flush,GdkDisplay_val, Unit) ML_2(gdk_display_device_is_grabbed,GdkDisplay_val, GdkDevice_val, Val_bool) ML_1(gdk_display_close,GdkDisplay_val, Unit) ML_1(gdk_display_beep,GdkDisplay_val, Unit) ML_0(gdk_display_open_default_libgtk_only,Val_GdkDisplay) ML_1(gdk_display_open,String_val, Val_GdkDisplay) ML_0(gdk_display_get_default,Val_GdkDisplay) /* end of Display */ /* Module DeviceManager */ ML_1(gdk_device_manager_get_display,GdkDeviceManager_val, Val_GdkDisplay) ML_1(gdk_device_manager_get_client_pointer,GdkDeviceManager_val, Val_GdkDevice) /* end of DeviceManager */ /* Module Device */ ML_4(gdk_device_warp,GdkDevice_val, GdkScreen_val, Int_val, Int_val, Unit) ML_2(gdk_device_ungrab,GdkDevice_val, Int32_val, Unit) ML_1(gdk_device_list_slave_devices,GdkDevice_val, Val_GList) ML_1(gdk_device_list_axes,GdkDevice_val, Val_GList) ML_1(gdk_device_get_name,GdkDevice_val, Val_string) ML_1(gdk_device_get_n_keys,GdkDevice_val, Val_int) ML_1(gdk_device_get_n_axes,GdkDevice_val, Val_int) ML_1(gdk_device_get_has_cursor,GdkDevice_val, Val_bool) ML_1(gdk_device_get_display,GdkDevice_val, Val_GdkDisplay) ML_1(gdk_device_get_associated_device,GdkDevice_val, Val_GdkDevice) /* end of Device */ /* Module Cursor */ ML_1(gdk_cursor_unref,GdkCursor_val, Unit) ML_1(gdk_cursor_ref,GdkCursor_val, Val_GdkCursor_new) ML_1(gdk_cursor_get_image,GdkCursor_val, Val_GdkPixbuf_new) ML_1(gdk_cursor_get_display,GdkCursor_val, Val_GdkDisplay) /* end of Cursor */ /* Module Color */ ML_1(gdk_color_to_string,GdkColor_val, Val_string_new) ML_1(gdk_color_hash,GdkColor_val, Val_int) ML_1(gdk_color_free,GdkColor_val, Unit) ML_2(gdk_color_equal,GdkColor_val, GdkColor_val, Val_bool) ML_1(gdk_color_copy,GdkColor_val, Val_GdkColor_new) /* end of Color */ /* Module Atom */ /* end of Atom */ /* Module AppLaunchContext */ ML_2(gdk_app_launch_context_set_timestamp,GdkAppLaunchContext_val, Int32_val, Unit) ML_2(gdk_app_launch_context_set_screen,GdkAppLaunchContext_val, GdkScreen_val, Unit) ML_2(gdk_app_launch_context_set_icon_name,GdkAppLaunchContext_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gdk_app_launch_context_set_display,GdkAppLaunchContext_val, GdkDisplay_val, Unit) ML_2(gdk_app_launch_context_set_desktop,GdkAppLaunchContext_val, Int_val, Unit) /* end of AppLaunchContext */ /* Global functions */ ML_1(gdk_utf8_to_string_target,String_val, Val_string_new) ML_1(gdk_unicode_to_keyval,Int32_val, Val_int) ML_0(gdk_threads_leave,Unit) ML_0(gdk_threads_init,Unit) ML_0(gdk_threads_enter,Unit) ML_1(gdk_test_render_sync,GdkWindow_val, Unit) ML_2(gdk_setting_get,String_val, GValue_val, Val_bool) ML_1(gdk_set_show_events,Bool_val, Unit) ML_1(gdk_set_program_class,String_val, Unit) ML_1(gdk_set_double_click_time,Int_val, Unit) ML_0(gdk_rectangle_get_type,Val_int) ML_0(gdk_pre_parse_libgtk_only,Unit) ML_1(gdk_pointer_ungrab,Int32_val, Unit) ML_0(gdk_pointer_is_grabbed,Val_bool) ML_5(gdk_pixbuf_get_from_window,GdkWindow_val, Int_val, Int_val, Int_val, Int_val, Val_GdkPixbuf_new) ML_5(gdk_pixbuf_get_from_surface,cairo_surface_t_val, Int_val, Int_val, Int_val, Int_val, Val_GdkPixbuf_new) ML_1(gdk_pango_context_get_for_screen,GdkScreen_val, Val_PangoContext_new) ML_0(gdk_pango_context_get,Val_PangoContext_new) ML_2(gdk_offscreen_window_set_embedder,GdkWindow_val, GdkWindow_val, Unit) ML_1(gdk_offscreen_window_get_surface,GdkWindow_val, Val_cairo_surface_t) ML_1(gdk_offscreen_window_get_embedder,GdkWindow_val, Val_GdkWindow) ML_1(gdk_notify_startup_complete_with_id,String_val, Unit) ML_0(gdk_notify_startup_complete,Unit) ML_0(gdk_list_visuals,Val_GList) ML_1(gdk_keyval_to_upper,Int_val, Val_int) ML_1(gdk_keyval_to_unicode,Int_val, Val_int32) ML_1(gdk_keyval_to_lower,Int_val, Val_int) ML_1(gdk_keyval_name,Int_val, Val_string) ML_1(gdk_keyval_is_upper,Int_val, Val_bool) ML_1(gdk_keyval_is_lower,Int_val, Val_bool) ML_1(gdk_keyval_from_name,String_val, Val_int) ML_1(gdk_keyboard_ungrab,Int32_val, Unit) ML_0(gdk_get_show_events,Val_bool) ML_0(gdk_get_program_class,Val_string) ML_0(gdk_get_display_arg_name,Val_string) ML_0(gdk_get_display,Val_string_new) ML_0(gdk_get_default_root_window,Val_GdkWindow) ML_0(gdk_flush,Unit) ML_0(gdk_events_pending,Val_bool) ML_1(gdk_event_request_motions,GdkEventMotion_val, Unit) ML_0(gdk_error_trap_push,Unit) ML_0(gdk_error_trap_pop_ignored,Unit) ML_0(gdk_error_trap_pop,Val_int) ML_3(gdk_drop_reply,GdkDragContext_val, Bool_val, Int32_val, Unit) ML_3(gdk_drop_finish,GdkDragContext_val, Bool_val, Int32_val, Unit) ML_1(gdk_drag_drop_succeeded,GdkDragContext_val, Val_bool) ML_2(gdk_drag_drop,GdkDragContext_val, Int32_val, Unit) ML_3(gdk_drag_begin_for_device,GdkWindow_val, GdkDevice_val, GList_val, Val_GdkDragContext_new) ML_2(gdk_drag_begin,GdkWindow_val, GList_val, Val_GdkDragContext_new) ML_2(gdk_drag_abort,GdkDragContext_val, Int32_val, Unit) ML_0(gdk_disable_multidevice,Unit) ML_4(gdk_cairo_set_source_window,cairo_t_val, GdkWindow_val, Double_val, Double_val, Unit) ML_2(gdk_cairo_set_source_rgba,cairo_t_val, GdkRGBA_val, Unit) ML_4(gdk_cairo_set_source_pixbuf,cairo_t_val, GdkPixbuf_val, Double_val, Double_val, Unit) ML_2(gdk_cairo_set_source_color,cairo_t_val, GdkColor_val, Unit) ML_1(gdk_cairo_region_create_from_surface,cairo_surface_t_val, Val_cairo_region_t_new) ML_2(gdk_cairo_region,cairo_t_val, cairo_region_t_val, Unit) ML_1(gdk_cairo_create,GdkWindow_val, Val_cairo_t_new) ML_0(gdk_beep,Unit) ML_1(gdk_add_option_entries_libgtk_only,GOptionGroup_val, Unit) /* End of global functions */ lablgtk-3.1.2/tools/introspection/stubs/ml_stubs_GdkPixbuf.c0000644000650106067230000030430314161276610023142 0ustar glondused#include #include #define Val_double(val) caml_copy_double(val) #define Val_string_new(val) caml_copy_string(val) #define Val_int32(val) caml_copy_int32(val) #define Val_int32_new(val) caml_copy_int32(val) /*TODO: conversion for record 'GAllocator' */ /*TODO: conversion for record 'GArray' */ /*TODO: conversion for record 'GAsyncQueue' */ /*TODO: conversion for record 'GBookmarkFile' */ /*TODO: conversion for record 'GByteArray' */ /*TODO: conversion for record 'GCache' */ /*TODO: conversion for record 'GChecksum' */ /*TODO: conversion for record 'GCompletion' */ /*TODO: conversion for record 'GCond' */ /*TODO: conversion for record 'GData' */ /*TODO: conversion for record 'GDate' */ /*TODO: conversion for record 'GDateTime' */ /*TODO: conversion for record 'GDebugKey' */ /*TODO: conversion for record 'GDir' */ /*TODO: conversion for record 'GError' */ /*TODO: conversion for record 'GHashTable' */ /*TODO: conversion for record 'GHashTableIter' */ /*TODO: conversion for record 'GHook' */ /*TODO: conversion for record 'GHookList' */ /*TODO: conversion for record 'GIConv' */ /*TODO: conversion for record 'GIOChannel' */ /*TODO: conversion for record 'GIOFuncs' */ /*TODO: conversion for record 'GKeyFile' */ /*TODO: conversion for record 'GList' */ /*TODO: conversion for record 'GMainContext' */ /*TODO: conversion for record 'GMainLoop' */ /*TODO: conversion for record 'GMappedFile' */ /*TODO: conversion for record 'GMarkupParseContext' */ /*TODO: conversion for record 'GMarkupParser' */ /*TODO: conversion for record 'GMatchInfo' */ /*TODO: conversion for record 'GMemChunk' */ /*TODO: conversion for record 'GMemVTable' */ /*TODO: conversion for record 'GMutex' */ /*TODO: conversion for record 'GNode' */ /*TODO: conversion for record 'GOnce' */ /*TODO: conversion for record 'GOptionContext' */ /*TODO: conversion for record 'GOptionEntry' */ /*TODO: conversion for record 'GOptionGroup' */ /*TODO: conversion for record 'GPatternSpec' */ /*TODO: conversion for record 'GPollFD' */ /*TODO: conversion for record 'GPrivate' */ /*TODO: conversion for record 'GPtrArray' */ /*TODO: conversion for record 'GQueue' */ /*TODO: conversion for record 'GRand' */ /*TODO: conversion for record 'GRegex' */ /*TODO: conversion for record 'GRelation' */ /*TODO: conversion for record 'GSList' */ /*TODO: conversion for record 'GScanner' */ /*TODO: conversion for record 'GScannerConfig' */ /*TODO: conversion for record 'GSequence' */ /*TODO: conversion for record 'GSequenceIter' */ /*TODO: conversion for record 'GSource' */ /*TODO: conversion for record 'GSourceCallbackFuncs' */ /*TODO: conversion for record 'GSourceFuncs' */ /*TODO: conversion for record 'GSourcePrivate' */ /*TODO: conversion for record 'GStatBuf' */ /*TODO: conversion for record 'GStaticMutex' */ /*TODO: conversion for record 'GStaticPrivate' */ /*TODO: conversion for record 'GStaticRWLock' */ /*TODO: conversion for record 'GStaticRecMutex' */ /*TODO: conversion for record 'GString' */ /*TODO: conversion for record 'GStringChunk' */ /*TODO: conversion for record 'GTestCase' */ /*TODO: conversion for record 'GTestConfig' */ /*TODO: conversion for record 'GTestLogBuffer' */ /*TODO: conversion for record 'GTestLogMsg' */ /*TODO: conversion for record 'GTestSuite' */ /*TODO: conversion for record 'GThread' */ /*TODO: conversion for record 'GThreadFunctions' */ /*TODO: conversion for record 'GThreadPool' */ /*TODO: conversion for record 'GTimeVal' */ /*TODO: conversion for record 'GTimeZone' */ /*TODO: conversion for record 'GTimer' */ /*TODO: conversion for record 'GTrashStack' */ /*TODO: conversion for record 'GTree' */ /*TODO: conversion for record 'GTuples' */ /*TODO: conversion for record 'GVariant' */ /*TODO: conversion for record 'GVariantBuilder' */ /*TODO: conversion for record 'GVariantIter' */ /*TODO: conversion for record 'GVariantType' */ #define GBinding_val(val) check_cast(G_BINDING,val) #define Val_GBinding(val) Val_GObject((GObject*)val) #define Val_GBinding_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCClosure' */ /*TODO: conversion for record 'GClosure' */ /*TODO: conversion for record 'GClosureNotifyData' */ /*TODO: conversion for record 'GEnumClass' */ /*TODO: conversion for record 'GEnumValue' */ /*TODO: conversion for record 'GFlagsClass' */ /*TODO: conversion for record 'GFlagsValue' */ /*TODO: conversion for record 'GInitiallyUnownedClass' */ /*TODO: conversion for record 'GInterfaceInfo' */ /*TODO: conversion for record 'GObjectClass' */ /*TODO: conversion for record 'GObjectConstructParam' */ /*TODO: conversion for record 'GParamSpec' */ /*TODO: conversion for record 'GParamSpecBoolean' */ /*TODO: conversion for record 'GParamSpecBoxed' */ /*TODO: conversion for record 'GParamSpecChar' */ /*TODO: conversion for record 'GParamSpecClass' */ /*TODO: conversion for record 'GParamSpecDouble' */ /*TODO: conversion for record 'GParamSpecEnum' */ /*TODO: conversion for record 'GParamSpecFlags' */ /*TODO: conversion for record 'GParamSpecFloat' */ /*TODO: conversion for record 'GParamSpecGType' */ /*TODO: conversion for record 'GParamSpecInt' */ /*TODO: conversion for record 'GParamSpecInt64' */ /*TODO: conversion for record 'GParamSpecLong' */ /*TODO: conversion for record 'GParamSpecObject' */ /*TODO: conversion for record 'GParamSpecOverride' */ /*TODO: conversion for record 'GParamSpecParam' */ /*TODO: conversion for record 'GParamSpecPointer' */ /*TODO: conversion for record 'GParamSpecPool' */ /*TODO: conversion for record 'GParamSpecString' */ /*TODO: conversion for record 'GParamSpecTypeInfo' */ /*TODO: conversion for record 'GParamSpecUChar' */ /*TODO: conversion for record 'GParamSpecUInt' */ /*TODO: conversion for record 'GParamSpecUInt64' */ /*TODO: conversion for record 'GParamSpecULong' */ /*TODO: conversion for record 'GParamSpecUnichar' */ /*TODO: conversion for record 'GParamSpecValueArray' */ /*TODO: conversion for record 'GParamSpecVariant' */ /*TODO: conversion for record 'GParameter' */ /*TODO: conversion for record 'GSignalInvocationHint' */ /*TODO: conversion for record 'GSignalQuery' */ /*TODO: conversion for record 'GTypeClass' */ /*TODO: conversion for record 'GTypeFundamentalInfo' */ /*TODO: conversion for record 'GTypeInfo' */ /*TODO: conversion for record 'GTypeInstance' */ /*TODO: conversion for record 'GTypeInterface' */ #define GTypeModule_val(val) check_cast(G_TYPE_MODULE,val) #define Val_GTypeModule(val) Val_GObject((GObject*)val) #define Val_GTypeModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTypeModuleClass' */ /*TODO: conversion for record 'GTypePluginClass' */ /*TODO: conversion for record 'GTypeQuery' */ /*TODO: conversion for record 'GTypeValueTable' */ /*TODO: conversion for record 'GValue' */ /*TODO: conversion for record 'GValueArray' */ /*TODO: conversion for record 'AtkActionIface' */ /*TODO: conversion for record 'AtkAttribute' */ /*TODO: conversion for record 'AtkComponentIface' */ /*TODO: conversion for record 'AtkDocumentIface' */ /*TODO: conversion for record 'AtkEditableTextIface' */ #define AtkGObjectAccessible_val(val) check_cast(ATK_G_OBJECT_ACCESSIBLE,val) #define Val_AtkGObjectAccessible(val) Val_GObject((GObject*)val) #define Val_AtkGObjectAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkGObjectAccessibleClass' */ #define AtkHyperlink_val(val) check_cast(ATK_HYPERLINK,val) #define Val_AtkHyperlink(val) Val_GObject((GObject*)val) #define Val_AtkHyperlink_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkHyperlinkClass' */ /*TODO: conversion for record 'AtkHyperlinkImplIface' */ /*TODO: conversion for record 'AtkHypertextIface' */ /*TODO: conversion for record 'AtkImageIface' */ /*TODO: conversion for record 'AtkImplementor' */ /*TODO: conversion for record 'AtkKeyEventStruct' */ #define AtkMisc_val(val) check_cast(ATK_MISC,val) #define Val_AtkMisc(val) Val_GObject((GObject*)val) #define Val_AtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkMiscClass' */ #define AtkNoOpObject_val(val) check_cast(ATK_NO_OP_OBJECT,val) #define Val_AtkNoOpObject(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectClass' */ #define AtkNoOpObjectFactory_val(val) check_cast(ATK_NO_OP_OBJECT_FACTORY,val) #define Val_AtkNoOpObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectFactoryClass' */ #define AtkObject_val(val) check_cast(ATK_OBJECT,val) #define Val_AtkObject(val) Val_GObject((GObject*)val) #define Val_AtkObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectClass' */ #define AtkObjectFactory_val(val) check_cast(ATK_OBJECT_FACTORY,val) #define Val_AtkObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectFactoryClass' */ #define AtkPlug_val(val) check_cast(ATK_PLUG,val) #define Val_AtkPlug(val) Val_GObject((GObject*)val) #define Val_AtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkPlugClass' */ /*TODO: conversion for record 'AtkRectangle' */ #define AtkRelation_val(val) check_cast(ATK_RELATION,val) #define Val_AtkRelation(val) Val_GObject((GObject*)val) #define Val_AtkRelation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationClass' */ #define AtkRelationSet_val(val) check_cast(ATK_RELATION_SET,val) #define Val_AtkRelationSet(val) Val_GObject((GObject*)val) #define Val_AtkRelationSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationSetClass' */ /*TODO: conversion for record 'AtkSelectionIface' */ #define AtkSocket_val(val) check_cast(ATK_SOCKET,val) #define Val_AtkSocket(val) Val_GObject((GObject*)val) #define Val_AtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkSocketClass' */ #define AtkStateSet_val(val) check_cast(ATK_STATE_SET,val) #define Val_AtkStateSet(val) Val_GObject((GObject*)val) #define Val_AtkStateSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkStateSetClass' */ /*TODO: conversion for record 'AtkStreamableContentIface' */ /*TODO: conversion for record 'AtkTableIface' */ /*TODO: conversion for record 'AtkTextIface' */ /*TODO: conversion for record 'AtkTextRange' */ /*TODO: conversion for record 'AtkTextRectangle' */ #define AtkUtil_val(val) check_cast(ATK_UTIL,val) #define Val_AtkUtil(val) Val_GObject((GObject*)val) #define Val_AtkUtil_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkUtilClass' */ /*TODO: conversion for record 'AtkValueIface' */ /*TODO: conversion for record '_AtkPropertyValues' */ /*TODO: conversion for record '_AtkRegistry' */ /*TODO: conversion for record '_AtkRegistryClass' */ /*TODO: conversion for record 'GModule' */ /*TODO: conversion for record 'GActionGroupInterface' */ /*TODO: conversion for record 'GActionInterface' */ /*TODO: conversion for record 'GAppInfoIface' */ #define GAppLaunchContext_val(val) check_cast(G_APP_LAUNCH_CONTEXT,val) #define Val_GAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GAppLaunchContextClass' */ /*TODO: conversion for record 'GAppLaunchContextPrivate' */ #define GApplication_val(val) check_cast(G_APPLICATION,val) #define Val_GApplication(val) Val_GObject((GObject*)val) #define Val_GApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationClass' */ #define GApplicationCommandLine_val(val) check_cast(G_APPLICATION_COMMAND_LINE,val) #define Val_GApplicationCommandLine(val) Val_GObject((GObject*)val) #define Val_GApplicationCommandLine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationCommandLineClass' */ /*TODO: conversion for record 'GApplicationCommandLinePrivate' */ /*TODO: conversion for record 'GApplicationPrivate' */ /*TODO: conversion for record 'GAsyncInitableIface' */ /*TODO: conversion for record 'GAsyncResultIface' */ #define GBufferedInputStream_val(val) check_cast(G_BUFFERED_INPUT_STREAM,val) #define Val_GBufferedInputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedInputStreamClass' */ /*TODO: conversion for record 'GBufferedInputStreamPrivate' */ #define GBufferedOutputStream_val(val) check_cast(G_BUFFERED_OUTPUT_STREAM,val) #define Val_GBufferedOutputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedOutputStreamClass' */ /*TODO: conversion for record 'GBufferedOutputStreamPrivate' */ #define GCancellable_val(val) check_cast(G_CANCELLABLE,val) #define Val_GCancellable(val) Val_GObject((GObject*)val) #define Val_GCancellable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCancellableClass' */ /*TODO: conversion for record 'GCancellablePrivate' */ #define GCharsetConverter_val(val) check_cast(G_CHARSET_CONVERTER,val) #define Val_GCharsetConverter(val) Val_GObject((GObject*)val) #define Val_GCharsetConverter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCharsetConverterClass' */ /*TODO: conversion for record 'GConverterIface' */ #define GConverterInputStream_val(val) check_cast(G_CONVERTER_INPUT_STREAM,val) #define Val_GConverterInputStream(val) Val_GObject((GObject*)val) #define Val_GConverterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterInputStreamClass' */ /*TODO: conversion for record 'GConverterInputStreamPrivate' */ #define GConverterOutputStream_val(val) check_cast(G_CONVERTER_OUTPUT_STREAM,val) #define Val_GConverterOutputStream(val) Val_GObject((GObject*)val) #define Val_GConverterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterOutputStreamClass' */ /*TODO: conversion for record 'GConverterOutputStreamPrivate' */ #define GCredentials_val(val) check_cast(G_CREDENTIALS,val) #define Val_GCredentials(val) Val_GObject((GObject*)val) #define Val_GCredentials_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCredentialsClass' */ /*TODO: conversion for record 'GDBusAnnotationInfo' */ /*TODO: conversion for record 'GDBusArgInfo' */ #define GDBusAuthObserver_val(val) check_cast(G_D_BUS_AUTH_OBSERVER,val) #define Val_GDBusAuthObserver(val) Val_GObject((GObject*)val) #define Val_GDBusAuthObserver_new(val) Val_GObject_new((GObject*)val) #define GDBusConnection_val(val) check_cast(G_D_BUS_CONNECTION,val) #define Val_GDBusConnection(val) Val_GObject((GObject*)val) #define Val_GDBusConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusErrorEntry' */ /*TODO: conversion for record 'GDBusInterfaceInfo' */ /*TODO: conversion for record 'GDBusInterfaceVTable' */ #define GDBusMessage_val(val) check_cast(G_D_BUS_MESSAGE,val) #define Val_GDBusMessage(val) Val_GObject((GObject*)val) #define Val_GDBusMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusMethodInfo' */ #define GDBusMethodInvocation_val(val) check_cast(G_D_BUS_METHOD_INVOCATION,val) #define Val_GDBusMethodInvocation(val) Val_GObject((GObject*)val) #define Val_GDBusMethodInvocation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusNodeInfo' */ /*TODO: conversion for record 'GDBusPropertyInfo' */ #define GDBusProxy_val(val) check_cast(G_D_BUS_PROXY,val) #define Val_GDBusProxy(val) Val_GObject((GObject*)val) #define Val_GDBusProxy_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusProxyClass' */ /*TODO: conversion for record 'GDBusProxyPrivate' */ #define GDBusServer_val(val) check_cast(G_D_BUS_SERVER,val) #define Val_GDBusServer(val) Val_GObject((GObject*)val) #define Val_GDBusServer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusSignalInfo' */ /*TODO: conversion for record 'GDBusSubtreeVTable' */ #define GDataInputStream_val(val) check_cast(G_DATA_INPUT_STREAM,val) #define Val_GDataInputStream(val) Val_GObject((GObject*)val) #define Val_GDataInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataInputStreamClass' */ /*TODO: conversion for record 'GDataInputStreamPrivate' */ #define GDataOutputStream_val(val) check_cast(G_DATA_OUTPUT_STREAM,val) #define Val_GDataOutputStream(val) Val_GObject((GObject*)val) #define Val_GDataOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataOutputStreamClass' */ /*TODO: conversion for record 'GDataOutputStreamPrivate' */ #define GDesktopAppInfo_val(val) check_cast(G_DESKTOP_APP_INFO,val) #define Val_GDesktopAppInfo(val) Val_GObject((GObject*)val) #define Val_GDesktopAppInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDesktopAppInfoClass' */ /*TODO: conversion for record 'GDesktopAppInfoLaunchHandlerIface' */ /*TODO: conversion for record 'GDesktopAppInfoLookupIface' */ /*TODO: conversion for record 'GDriveIface' */ #define GEmblem_val(val) check_cast(G_EMBLEM,val) #define Val_GEmblem(val) Val_GObject((GObject*)val) #define Val_GEmblem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemClass' */ #define GEmblemedIcon_val(val) check_cast(G_EMBLEMED_ICON,val) #define Val_GEmblemedIcon(val) Val_GObject((GObject*)val) #define Val_GEmblemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemedIconClass' */ /*TODO: conversion for record 'GEmblemedIconPrivate' */ /*TODO: conversion for record 'GFileAttributeInfo' */ /*TODO: conversion for record 'GFileAttributeInfoList' */ /*TODO: conversion for record 'GFileAttributeMatcher' */ /*TODO: conversion for record 'GFileDescriptorBasedIface' */ #define GFileEnumerator_val(val) check_cast(G_FILE_ENUMERATOR,val) #define Val_GFileEnumerator(val) Val_GObject((GObject*)val) #define Val_GFileEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileEnumeratorClass' */ /*TODO: conversion for record 'GFileEnumeratorPrivate' */ #define GFileIOStream_val(val) check_cast(G_FILE_I_O_STREAM,val) #define Val_GFileIOStream(val) Val_GObject((GObject*)val) #define Val_GFileIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIOStreamClass' */ /*TODO: conversion for record 'GFileIOStreamPrivate' */ #define GFileIcon_val(val) check_cast(G_FILE_ICON,val) #define Val_GFileIcon(val) Val_GObject((GObject*)val) #define Val_GFileIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIconClass' */ /*TODO: conversion for record 'GFileIface' */ #define GFileInfo_val(val) check_cast(G_FILE_INFO,val) #define Val_GFileInfo(val) Val_GObject((GObject*)val) #define Val_GFileInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInfoClass' */ #define GFileInputStream_val(val) check_cast(G_FILE_INPUT_STREAM,val) #define Val_GFileInputStream(val) Val_GObject((GObject*)val) #define Val_GFileInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInputStreamClass' */ /*TODO: conversion for record 'GFileInputStreamPrivate' */ #define GFileMonitor_val(val) check_cast(G_FILE_MONITOR,val) #define Val_GFileMonitor(val) Val_GObject((GObject*)val) #define Val_GFileMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileMonitorClass' */ /*TODO: conversion for record 'GFileMonitorPrivate' */ #define GFileOutputStream_val(val) check_cast(G_FILE_OUTPUT_STREAM,val) #define Val_GFileOutputStream(val) Val_GObject((GObject*)val) #define Val_GFileOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileOutputStreamClass' */ /*TODO: conversion for record 'GFileOutputStreamPrivate' */ #define GFilenameCompleter_val(val) check_cast(G_FILENAME_COMPLETER,val) #define Val_GFilenameCompleter(val) Val_GObject((GObject*)val) #define Val_GFilenameCompleter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilenameCompleterClass' */ #define GFilterInputStream_val(val) check_cast(G_FILTER_INPUT_STREAM,val) #define Val_GFilterInputStream(val) Val_GObject((GObject*)val) #define Val_GFilterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterInputStreamClass' */ #define GFilterOutputStream_val(val) check_cast(G_FILTER_OUTPUT_STREAM,val) #define Val_GFilterOutputStream(val) Val_GObject((GObject*)val) #define Val_GFilterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterOutputStreamClass' */ /*TODO: conversion for record 'GIOExtension' */ /*TODO: conversion for record 'GIOExtensionPoint' */ #define GIOModule_val(val) check_cast(G_I_O_MODULE,val) #define Val_GIOModule(val) Val_GObject((GObject*)val) #define Val_GIOModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOModuleClass' */ /*TODO: conversion for record 'GIOSchedulerJob' */ #define GIOStream_val(val) check_cast(G_I_O_STREAM,val) #define Val_GIOStream(val) Val_GObject((GObject*)val) #define Val_GIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOStreamAdapter' */ /*TODO: conversion for record 'GIOStreamClass' */ /*TODO: conversion for record 'GIOStreamPrivate' */ /*TODO: conversion for record 'GIconIface' */ #define GInetAddress_val(val) check_cast(G_INET_ADDRESS,val) #define Val_GInetAddress(val) Val_GObject((GObject*)val) #define Val_GInetAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetAddressClass' */ /*TODO: conversion for record 'GInetAddressPrivate' */ #define GInetSocketAddress_val(val) check_cast(G_INET_SOCKET_ADDRESS,val) #define Val_GInetSocketAddress(val) Val_GObject((GObject*)val) #define Val_GInetSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetSocketAddressClass' */ /*TODO: conversion for record 'GInetSocketAddressPrivate' */ /*TODO: conversion for record 'GInitableIface' */ #define GInputStream_val(val) check_cast(G_INPUT_STREAM,val) #define Val_GInputStream(val) Val_GObject((GObject*)val) #define Val_GInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInputStreamClass' */ /*TODO: conversion for record 'GInputStreamPrivate' */ /*TODO: conversion for record 'GInputVector' */ /*TODO: conversion for record 'GLoadableIconIface' */ #define GMemoryInputStream_val(val) check_cast(G_MEMORY_INPUT_STREAM,val) #define Val_GMemoryInputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryInputStreamClass' */ /*TODO: conversion for record 'GMemoryInputStreamPrivate' */ #define GMemoryOutputStream_val(val) check_cast(G_MEMORY_OUTPUT_STREAM,val) #define Val_GMemoryOutputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryOutputStreamClass' */ /*TODO: conversion for record 'GMemoryOutputStreamPrivate' */ /*TODO: conversion for record 'GMountIface' */ #define GMountOperation_val(val) check_cast(G_MOUNT_OPERATION,val) #define Val_GMountOperation(val) Val_GObject((GObject*)val) #define Val_GMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMountOperationClass' */ /*TODO: conversion for record 'GMountOperationPrivate' */ #define GNativeVolumeMonitor_val(val) check_cast(G_NATIVE_VOLUME_MONITOR,val) #define Val_GNativeVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GNativeVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNativeVolumeMonitorClass' */ #define GNetworkAddress_val(val) check_cast(G_NETWORK_ADDRESS,val) #define Val_GNetworkAddress(val) Val_GObject((GObject*)val) #define Val_GNetworkAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkAddressClass' */ /*TODO: conversion for record 'GNetworkAddressPrivate' */ #define GNetworkService_val(val) check_cast(G_NETWORK_SERVICE,val) #define Val_GNetworkService(val) Val_GObject((GObject*)val) #define Val_GNetworkService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkServiceClass' */ /*TODO: conversion for record 'GNetworkServicePrivate' */ #define GOutputStream_val(val) check_cast(G_OUTPUT_STREAM,val) #define Val_GOutputStream(val) Val_GObject((GObject*)val) #define Val_GOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GOutputStreamClass' */ /*TODO: conversion for record 'GOutputStreamPrivate' */ /*TODO: conversion for record 'GOutputVector' */ #define GPermission_val(val) check_cast(G_PERMISSION,val) #define Val_GPermission(val) Val_GObject((GObject*)val) #define Val_GPermission_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GPermissionClass' */ /*TODO: conversion for record 'GPermissionPrivate' */ /*TODO: conversion for record 'GPollableInputStreamInterface' */ /*TODO: conversion for record 'GPollableOutputStreamInterface' */ #define GProxyAddress_val(val) check_cast(G_PROXY_ADDRESS,val) #define Val_GProxyAddress(val) Val_GObject((GObject*)val) #define Val_GProxyAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressClass' */ #define GProxyAddressEnumerator_val(val) check_cast(G_PROXY_ADDRESS_ENUMERATOR,val) #define Val_GProxyAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GProxyAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressEnumeratorClass' */ /*TODO: conversion for record 'GProxyAddressEnumeratorPrivate' */ /*TODO: conversion for record 'GProxyAddressPrivate' */ /*TODO: conversion for record 'GProxyInterface' */ /*TODO: conversion for record 'GProxyResolverInterface' */ #define GResolver_val(val) check_cast(G_RESOLVER,val) #define Val_GResolver(val) Val_GObject((GObject*)val) #define Val_GResolver_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GResolverClass' */ /*TODO: conversion for record 'GResolverPrivate' */ /*TODO: conversion for record 'GSeekableIface' */ #define GSettings_val(val) check_cast(G_SETTINGS,val) #define Val_GSettings(val) Val_GObject((GObject*)val) #define Val_GSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSettingsBackend' */ /*TODO: conversion for record 'GSettingsClass' */ /*TODO: conversion for record 'GSettingsPrivate' */ #define GSimpleAction_val(val) check_cast(G_SIMPLE_ACTION,val) #define Val_GSimpleAction(val) Val_GObject((GObject*)val) #define Val_GSimpleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionClass' */ #define GSimpleActionGroup_val(val) check_cast(G_SIMPLE_ACTION_GROUP,val) #define Val_GSimpleActionGroup(val) Val_GObject((GObject*)val) #define Val_GSimpleActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionGroupClass' */ /*TODO: conversion for record 'GSimpleActionGroupPrivate' */ /*TODO: conversion for record 'GSimpleActionPrivate' */ #define GSimpleAsyncResult_val(val) check_cast(G_SIMPLE_ASYNC_RESULT,val) #define Val_GSimpleAsyncResult(val) Val_GObject((GObject*)val) #define Val_GSimpleAsyncResult_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleAsyncResultClass' */ #define GSimplePermission_val(val) check_cast(G_SIMPLE_PERMISSION,val) #define Val_GSimplePermission(val) Val_GObject((GObject*)val) #define Val_GSimplePermission_new(val) Val_GObject_new((GObject*)val) #define GSocket_val(val) check_cast(G_SOCKET,val) #define Val_GSocket(val) Val_GObject((GObject*)val) #define Val_GSocket_new(val) Val_GObject_new((GObject*)val) #define GSocketAddress_val(val) check_cast(G_SOCKET_ADDRESS,val) #define Val_GSocketAddress(val) Val_GObject((GObject*)val) #define Val_GSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressClass' */ #define GSocketAddressEnumerator_val(val) check_cast(G_SOCKET_ADDRESS_ENUMERATOR,val) #define Val_GSocketAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GSocketAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressEnumeratorClass' */ /*TODO: conversion for record 'GSocketClass' */ #define GSocketClient_val(val) check_cast(G_SOCKET_CLIENT,val) #define Val_GSocketClient(val) Val_GObject((GObject*)val) #define Val_GSocketClient_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketClientClass' */ /*TODO: conversion for record 'GSocketClientPrivate' */ /*TODO: conversion for record 'GSocketConnectableIface' */ #define GSocketConnection_val(val) check_cast(G_SOCKET_CONNECTION,val) #define Val_GSocketConnection(val) Val_GObject((GObject*)val) #define Val_GSocketConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketConnectionClass' */ /*TODO: conversion for record 'GSocketConnectionPrivate' */ #define GSocketControlMessage_val(val) check_cast(G_SOCKET_CONTROL_MESSAGE,val) #define Val_GSocketControlMessage(val) Val_GObject((GObject*)val) #define Val_GSocketControlMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketControlMessageClass' */ /*TODO: conversion for record 'GSocketControlMessagePrivate' */ #define GSocketListener_val(val) check_cast(G_SOCKET_LISTENER,val) #define Val_GSocketListener(val) Val_GObject((GObject*)val) #define Val_GSocketListener_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketListenerClass' */ /*TODO: conversion for record 'GSocketListenerPrivate' */ /*TODO: conversion for record 'GSocketPrivate' */ #define GSocketService_val(val) check_cast(G_SOCKET_SERVICE,val) #define Val_GSocketService(val) Val_GObject((GObject*)val) #define Val_GSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketServiceClass' */ /*TODO: conversion for record 'GSocketServicePrivate' */ /*TODO: conversion for record 'GSrvTarget' */ #define GTcpConnection_val(val) check_cast(G_TCP_CONNECTION,val) #define Val_GTcpConnection(val) Val_GObject((GObject*)val) #define Val_GTcpConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpConnectionClass' */ /*TODO: conversion for record 'GTcpConnectionPrivate' */ #define GTcpWrapperConnection_val(val) check_cast(G_TCP_WRAPPER_CONNECTION,val) #define Val_GTcpWrapperConnection(val) Val_GObject((GObject*)val) #define Val_GTcpWrapperConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpWrapperConnectionClass' */ /*TODO: conversion for record 'GTcpWrapperConnectionPrivate' */ #define GThemedIcon_val(val) check_cast(G_THEMED_ICON,val) #define Val_GThemedIcon(val) Val_GObject((GObject*)val) #define Val_GThemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThemedIconClass' */ #define GThreadedSocketService_val(val) check_cast(G_THREADED_SOCKET_SERVICE,val) #define Val_GThreadedSocketService(val) Val_GObject((GObject*)val) #define Val_GThreadedSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThreadedSocketServiceClass' */ /*TODO: conversion for record 'GThreadedSocketServicePrivate' */ /*TODO: conversion for record 'GTlsBackendInterface' */ #define GTlsCertificate_val(val) check_cast(G_TLS_CERTIFICATE,val) #define Val_GTlsCertificate(val) Val_GObject((GObject*)val) #define Val_GTlsCertificate_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsCertificateClass' */ /*TODO: conversion for record 'GTlsCertificatePrivate' */ /*TODO: conversion for record 'GTlsClientConnectionInterface' */ /*TODO: conversion for record 'GTlsClientContext' */ #define GTlsConnection_val(val) check_cast(G_TLS_CONNECTION,val) #define Val_GTlsConnection(val) Val_GObject((GObject*)val) #define Val_GTlsConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsConnectionClass' */ /*TODO: conversion for record 'GTlsConnectionPrivate' */ /*TODO: conversion for record 'GTlsContext' */ /*TODO: conversion for record 'GTlsServerConnectionInterface' */ /*TODO: conversion for record 'GTlsServerContext' */ #define GUnixConnection_val(val) check_cast(G_UNIX_CONNECTION,val) #define Val_GUnixConnection(val) Val_GObject((GObject*)val) #define Val_GUnixConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixConnectionClass' */ /*TODO: conversion for record 'GUnixConnectionPrivate' */ #define GUnixCredentialsMessage_val(val) check_cast(G_UNIX_CREDENTIALS_MESSAGE,val) #define Val_GUnixCredentialsMessage(val) Val_GObject((GObject*)val) #define Val_GUnixCredentialsMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixCredentialsMessageClass' */ /*TODO: conversion for record 'GUnixCredentialsMessagePrivate' */ #define GUnixFDList_val(val) check_cast(G_UNIX_F_D_LIST,val) #define Val_GUnixFDList(val) Val_GObject((GObject*)val) #define Val_GUnixFDList_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDListClass' */ /*TODO: conversion for record 'GUnixFDListPrivate' */ #define GUnixFDMessage_val(val) check_cast(G_UNIX_F_D_MESSAGE,val) #define Val_GUnixFDMessage(val) Val_GObject((GObject*)val) #define Val_GUnixFDMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDMessageClass' */ /*TODO: conversion for record 'GUnixFDMessagePrivate' */ #define GUnixInputStream_val(val) check_cast(G_UNIX_INPUT_STREAM,val) #define Val_GUnixInputStream(val) Val_GObject((GObject*)val) #define Val_GUnixInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixInputStreamClass' */ /*TODO: conversion for record 'GUnixInputStreamPrivate' */ /*TODO: conversion for record 'GUnixMountEntry' */ #define GUnixMountMonitor_val(val) check_cast(G_UNIX_MOUNT_MONITOR,val) #define Val_GUnixMountMonitor(val) Val_GObject((GObject*)val) #define Val_GUnixMountMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixMountMonitorClass' */ /*TODO: conversion for record 'GUnixMountPoint' */ #define GUnixOutputStream_val(val) check_cast(G_UNIX_OUTPUT_STREAM,val) #define Val_GUnixOutputStream(val) Val_GObject((GObject*)val) #define Val_GUnixOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixOutputStreamClass' */ /*TODO: conversion for record 'GUnixOutputStreamPrivate' */ #define GUnixSocketAddress_val(val) check_cast(G_UNIX_SOCKET_ADDRESS,val) #define Val_GUnixSocketAddress(val) Val_GObject((GObject*)val) #define Val_GUnixSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixSocketAddressClass' */ /*TODO: conversion for record 'GUnixSocketAddressPrivate' */ #define GVfs_val(val) check_cast(G_VFS,val) #define Val_GVfs(val) Val_GObject((GObject*)val) #define Val_GVfs_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVfsClass' */ /*TODO: conversion for record 'GVolumeIface' */ #define GVolumeMonitor_val(val) check_cast(G_VOLUME_MONITOR,val) #define Val_GVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVolumeMonitorClass' */ #define GZlibCompressor_val(val) check_cast(G_ZLIB_COMPRESSOR,val) #define Val_GZlibCompressor(val) Val_GObject((GObject*)val) #define Val_GZlibCompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibCompressorClass' */ #define GZlibDecompressor_val(val) check_cast(G_ZLIB_DECOMPRESSOR,val) #define Val_GZlibDecompressor(val) Val_GObject((GObject*)val) #define Val_GZlibDecompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibDecompressorClass' */ #define GdkPixbuf_val(val) check_cast(GDK_PIXBUF,val) #define Val_GdkPixbuf(val) Val_GObject((GObject*)val) #define Val_GdkPixbuf_new(val) Val_GObject_new((GObject*)val) #define GdkPixbufAnimation_val(val) check_cast(GDK_PIXBUF_ANIMATION,val) #define Val_GdkPixbufAnimation(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationClass' */ #define GdkPixbufAnimationIter_val(val) check_cast(GDK_PIXBUF_ANIMATION_ITER,val) #define Val_GdkPixbufAnimationIter(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimationIter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationIterClass' */ /*TODO: conversion for record 'GdkPixbufFormat' */ #define GdkPixbufLoader_val(val) check_cast(GDK_PIXBUF_LOADER,val) #define Val_GdkPixbufLoader(val) Val_GObject((GObject*)val) #define Val_GdkPixbufLoader_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufLoaderClass' */ /*TODO: conversion for record 'GdkPixbufModule' */ /*TODO: conversion for record 'GdkPixbufModulePattern' */ #define GdkPixbufSimpleAnim_val(val) check_cast(GDK_PIXBUF_SIMPLE_ANIM,val) #define Val_GdkPixbufSimpleAnim(val) Val_GObject((GObject*)val) #define Val_GdkPixbufSimpleAnim_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufSimpleAnimClass' */ /*TODO: conversion for record 'GdkPixdata' */ /*TODO: conversion for record 'cairo_t' */ /*TODO: conversion for record 'cairo_surface_t' */ /*TODO: conversion for record 'cairo_matrix_t' */ /*TODO: conversion for record 'cairo_pattern_t' */ /*TODO: conversion for record 'cairo_region_t' */ /*TODO: conversion for record 'cairo_font_options_t' */ /*TODO: conversion for record 'cairo_font_type_t' */ /*TODO: conversion for record 'cairo_font_face_t' */ /*TODO: conversion for record 'cairo_scaled_font_t' */ /*TODO: conversion for record 'cairo_path_t' */ /*TODO: conversion for record 'cairo_rectangle_int_t' */ /*TODO: conversion for record 'PangoAnalysis' */ /*TODO: conversion for record 'PangoAttrClass' */ /*TODO: conversion for record 'PangoAttrColor' */ /*TODO: conversion for record 'PangoAttrFloat' */ /*TODO: conversion for record 'PangoAttrFontDesc' */ /*TODO: conversion for record 'PangoAttrInt' */ /*TODO: conversion for record 'PangoAttrIterator' */ /*TODO: conversion for record 'PangoAttrLanguage' */ /*TODO: conversion for record 'PangoAttrList' */ /*TODO: conversion for record 'PangoAttrShape' */ /*TODO: conversion for record 'PangoAttrSize' */ /*TODO: conversion for record 'PangoAttrString' */ /*TODO: conversion for record 'PangoAttribute' */ /*TODO: conversion for record 'PangoColor' */ #define PangoContext_val(val) check_cast(PANGO_CONTEXT,val) #define Val_PangoContext(val) Val_GObject((GObject*)val) #define Val_PangoContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoContextClass' */ /*TODO: conversion for record 'PangoCoverage' */ /*TODO: conversion for record 'PangoEngineLang' */ /*TODO: conversion for record 'PangoEngineShape' */ #define PangoFont_val(val) check_cast(PANGO_FONT,val) #define Val_PangoFont(val) Val_GObject((GObject*)val) #define Val_PangoFont_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontDescription' */ #define PangoFontFace_val(val) check_cast(PANGO_FONT_FACE,val) #define Val_PangoFontFace(val) Val_GObject((GObject*)val) #define Val_PangoFontFace_new(val) Val_GObject_new((GObject*)val) #define PangoFontFamily_val(val) check_cast(PANGO_FONT_FAMILY,val) #define Val_PangoFontFamily(val) Val_GObject((GObject*)val) #define Val_PangoFontFamily_new(val) Val_GObject_new((GObject*)val) #define PangoFontMap_val(val) check_cast(PANGO_FONT_MAP,val) #define Val_PangoFontMap(val) Val_GObject((GObject*)val) #define Val_PangoFontMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontMetrics' */ #define PangoFontset_val(val) check_cast(PANGO_FONTSET,val) #define Val_PangoFontset(val) Val_GObject((GObject*)val) #define Val_PangoFontset_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoGlyphGeometry' */ /*TODO: conversion for record 'PangoGlyphInfo' */ /*TODO: conversion for record 'PangoGlyphItem' */ /*TODO: conversion for record 'PangoGlyphItemIter' */ /*TODO: conversion for record 'PangoGlyphString' */ /*TODO: conversion for record 'PangoGlyphVisAttr' */ /*TODO: conversion for record 'PangoItem' */ /*TODO: conversion for record 'PangoLanguage' */ #define PangoLayout_val(val) check_cast(PANGO_LAYOUT,val) #define Val_PangoLayout(val) Val_GObject((GObject*)val) #define Val_PangoLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoLayoutClass' */ /*TODO: conversion for record 'PangoLayoutIter' */ /*TODO: conversion for record 'PangoLayoutLine' */ /*TODO: conversion for record 'PangoLogAttr' */ /*TODO: conversion for record 'PangoMatrix' */ /*TODO: conversion for record 'PangoRectangle' */ #define PangoRenderer_val(val) check_cast(PANGO_RENDERER,val) #define Val_PangoRenderer(val) Val_GObject((GObject*)val) #define Val_PangoRenderer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoRendererClass' */ /*TODO: conversion for record 'PangoRendererPrivate' */ /*TODO: conversion for record 'PangoScriptIter' */ /*TODO: conversion for record 'PangoTabArray' */ /*TODO: conversion for record '_PangoScriptForLang' */ #define GdkAppLaunchContext_val(val) check_cast(GDK_APP_LAUNCH_CONTEXT,val) #define Val_GdkAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GdkAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkAtom' */ /*TODO: conversion for record 'GdkColor' */ #define GdkCursor_val(val) check_cast(GDK_CURSOR,val) #define Val_GdkCursor(val) Val_GObject((GObject*)val) #define Val_GdkCursor_new(val) Val_GObject_new((GObject*)val) #define GdkDevice_val(val) check_cast(GDK_DEVICE,val) #define Val_GdkDevice(val) Val_GObject((GObject*)val) #define Val_GdkDevice_new(val) Val_GObject_new((GObject*)val) #define GdkDeviceManager_val(val) check_cast(GDK_DEVICE_MANAGER,val) #define Val_GdkDeviceManager(val) Val_GObject((GObject*)val) #define Val_GdkDeviceManager_new(val) Val_GObject_new((GObject*)val) #define GdkDisplay_val(val) check_cast(GDK_DISPLAY_OBJECT,val) #define Val_GdkDisplay(val) Val_GObject((GObject*)val) #define Val_GdkDisplay_new(val) Val_GObject_new((GObject*)val) #define GdkDisplayManager_val(val) check_cast(GDK_DISPLAY_MANAGER,val) #define Val_GdkDisplayManager(val) Val_GObject((GObject*)val) #define Val_GdkDisplayManager_new(val) Val_GObject_new((GObject*)val) #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val) #define Val_GdkDragContext(val) Val_GObject((GObject*)val) #define Val_GdkDragContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkEventAny' */ /*TODO: conversion for record 'GdkEventButton' */ /*TODO: conversion for record 'GdkEventConfigure' */ /*TODO: conversion for record 'GdkEventCrossing' */ /*TODO: conversion for record 'GdkEventDND' */ /*TODO: conversion for record 'GdkEventExpose' */ /*TODO: conversion for record 'GdkEventFocus' */ /*TODO: conversion for record 'GdkEventGrabBroken' */ /*TODO: conversion for record 'GdkEventKey' */ /*TODO: conversion for record 'GdkEventMotion' */ /*TODO: conversion for record 'GdkEventOwnerChange' */ /*TODO: conversion for record 'GdkEventProperty' */ /*TODO: conversion for record 'GdkEventProximity' */ /*TODO: conversion for record 'GdkEventScroll' */ /*TODO: conversion for record 'GdkEventSelection' */ /*TODO: conversion for record 'GdkEventSetting' */ /*TODO: conversion for record 'GdkEventVisibility' */ /*TODO: conversion for record 'GdkEventWindowState' */ /*TODO: conversion for record 'GdkGeometry' */ #define GdkKeymap_val(val) check_cast(GDK_KEYMAP,val) #define Val_GdkKeymap(val) Val_GObject((GObject*)val) #define Val_GdkKeymap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkKeymapKey' */ /*TODO: conversion for record 'GdkPoint' */ /*TODO: conversion for record 'GdkRGBA' */ #define GdkScreen_val(val) check_cast(GDK_SCREEN,val) #define Val_GdkScreen(val) Val_GObject((GObject*)val) #define Val_GdkScreen_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkTimeCoord' */ #define GdkVisual_val(val) check_cast(GDK_VISUAL,val) #define Val_GdkVisual(val) Val_GObject((GObject*)val) #define Val_GdkVisual_new(val) Val_GObject_new((GObject*)val) #define GdkWindow_val(val) check_cast(GDK_WINDOW,val) #define Val_GdkWindow(val) Val_GObject((GObject*)val) #define Val_GdkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkWindowAttr' */ /*TODO: conversion for record 'GdkWindowClass' */ /*TODO: conversion for record 'GdkWindowRedirect' */ #define GtkAboutDialog_val(val) check_cast(GTK_ABOUT_DIALOG,val) #define Val_GtkAboutDialog(val) Val_GObject((GObject*)val) #define Val_GtkAboutDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAboutDialogClass' */ /*TODO: conversion for record 'GtkAboutDialogPrivate' */ #define GtkAccelGroup_val(val) check_cast(GTK_ACCEL_GROUP,val) #define Val_GtkAccelGroup(val) Val_GObject((GObject*)val) #define Val_GtkAccelGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelGroupClass' */ /*TODO: conversion for record 'GtkAccelGroupEntry' */ /*TODO: conversion for record 'GtkAccelGroupPrivate' */ /*TODO: conversion for record 'GtkAccelKey' */ #define GtkAccelLabel_val(val) check_cast(GTK_ACCEL_LABEL,val) #define Val_GtkAccelLabel(val) Val_GObject((GObject*)val) #define Val_GtkAccelLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelLabelClass' */ /*TODO: conversion for record 'GtkAccelLabelPrivate' */ #define GtkAccelMap_val(val) check_cast(GTK_ACCEL_MAP,val) #define Val_GtkAccelMap(val) Val_GObject((GObject*)val) #define Val_GtkAccelMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelMapClass' */ #define GtkAccessible_val(val) check_cast(GTK_ACCESSIBLE,val) #define Val_GtkAccessible(val) Val_GObject((GObject*)val) #define Val_GtkAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccessibleClass' */ /*TODO: conversion for record 'GtkAccessiblePrivate' */ #define GtkAction_val(val) check_cast(GTK_ACTION,val) #define Val_GtkAction(val) Val_GObject((GObject*)val) #define Val_GtkAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionClass' */ /*TODO: conversion for record 'GtkActionEntry' */ #define GtkActionGroup_val(val) check_cast(GTK_ACTION_GROUP,val) #define Val_GtkActionGroup(val) Val_GObject((GObject*)val) #define Val_GtkActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionGroupClass' */ /*TODO: conversion for record 'GtkActionGroupPrivate' */ /*TODO: conversion for record 'GtkActionPrivate' */ /*TODO: conversion for record 'GtkActivatableIface' */ #define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val) #define Val_GtkAdjustment(val) Val_GObject((GObject*)val) #define Val_GtkAdjustment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAdjustmentClass' */ /*TODO: conversion for record 'GtkAdjustmentPrivate' */ #define GtkAlignment_val(val) check_cast(GTK_ALIGNMENT,val) #define Val_GtkAlignment(val) Val_GObject((GObject*)val) #define Val_GtkAlignment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAlignmentClass' */ /*TODO: conversion for record 'GtkAlignmentPrivate' */ #define GtkAppChooserButton_val(val) check_cast(GTK_APP_CHOOSER_BUTTON,val) #define Val_GtkAppChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserButtonClass' */ /*TODO: conversion for record 'GtkAppChooserButtonPrivate' */ #define GtkAppChooserDialog_val(val) check_cast(GTK_APP_CHOOSER_DIALOG,val) #define Val_GtkAppChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserDialogClass' */ /*TODO: conversion for record 'GtkAppChooserDialogPrivate' */ #define GtkAppChooserWidget_val(val) check_cast(GTK_APP_CHOOSER_WIDGET,val) #define Val_GtkAppChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserWidgetClass' */ /*TODO: conversion for record 'GtkAppChooserWidgetPrivate' */ #define GtkApplication_val(val) check_cast(GTK_APPLICATION,val) #define Val_GtkApplication(val) Val_GObject((GObject*)val) #define Val_GtkApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkApplicationClass' */ /*TODO: conversion for record 'GtkApplicationPrivate' */ #define GtkArrow_val(val) check_cast(GTK_ARROW,val) #define Val_GtkArrow(val) Val_GObject((GObject*)val) #define Val_GtkArrow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkArrowClass' */ /*TODO: conversion for record 'GtkArrowPrivate' */ #define GtkAspectFrame_val(val) check_cast(GTK_ASPECT_FRAME,val) #define Val_GtkAspectFrame(val) Val_GObject((GObject*)val) #define Val_GtkAspectFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAspectFrameClass' */ /*TODO: conversion for record 'GtkAspectFramePrivate' */ #define GtkAssistant_val(val) check_cast(GTK_ASSISTANT,val) #define Val_GtkAssistant(val) Val_GObject((GObject*)val) #define Val_GtkAssistant_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAssistantClass' */ /*TODO: conversion for record 'GtkAssistantPrivate' */ #define GtkBin_val(val) check_cast(GTK_BIN,val) #define Val_GtkBin(val) Val_GObject((GObject*)val) #define Val_GtkBin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBinClass' */ /*TODO: conversion for record 'GtkBinPrivate' */ /*TODO: conversion for record 'GtkBindingArg' */ /*TODO: conversion for record 'GtkBindingEntry' */ /*TODO: conversion for record 'GtkBindingSet' */ /*TODO: conversion for record 'GtkBindingSignal' */ /*TODO: conversion for record 'GtkBorder' */ #define GtkBox_val(val) check_cast(GTK_BOX,val) #define Val_GtkBox(val) Val_GObject((GObject*)val) #define Val_GtkBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBoxClass' */ /*TODO: conversion for record 'GtkBoxPrivate' */ /*TODO: conversion for record 'GtkBuildableIface' */ #define GtkBuilder_val(val) check_cast(GTK_BUILDER,val) #define Val_GtkBuilder(val) Val_GObject((GObject*)val) #define Val_GtkBuilder_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBuilderClass' */ /*TODO: conversion for record 'GtkBuilderPrivate' */ #define GtkButton_val(val) check_cast(GTK_BUTTON,val) #define Val_GtkButton(val) Val_GObject((GObject*)val) #define Val_GtkButton_new(val) Val_GObject_new((GObject*)val) #define GtkButtonBox_val(val) check_cast(GTK_BUTTON_BOX,val) #define Val_GtkButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkButtonBoxClass' */ /*TODO: conversion for record 'GtkButtonBoxPrivate' */ /*TODO: conversion for record 'GtkButtonClass' */ /*TODO: conversion for record 'GtkButtonPrivate' */ #define GtkCalendar_val(val) check_cast(GTK_CALENDAR,val) #define Val_GtkCalendar(val) Val_GObject((GObject*)val) #define Val_GtkCalendar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCalendarClass' */ /*TODO: conversion for record 'GtkCalendarPrivate' */ #define GtkCellArea_val(val) check_cast(GTK_CELL_AREA,val) #define Val_GtkCellArea(val) Val_GObject((GObject*)val) #define Val_GtkCellArea_new(val) Val_GObject_new((GObject*)val) #define GtkCellAreaBox_val(val) check_cast(GTK_CELL_AREA_BOX,val) #define Val_GtkCellAreaBox(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaBoxClass' */ /*TODO: conversion for record 'GtkCellAreaBoxPrivate' */ /*TODO: conversion for record 'GtkCellAreaClass' */ #define GtkCellAreaContext_val(val) check_cast(GTK_CELL_AREA_CONTEXT,val) #define Val_GtkCellAreaContext(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaContextClass' */ /*TODO: conversion for record 'GtkCellAreaContextPrivate' */ /*TODO: conversion for record 'GtkCellAreaPrivate' */ /*TODO: conversion for record 'GtkCellEditableIface' */ /*TODO: conversion for record 'GtkCellLayoutIface' */ #define GtkCellRenderer_val(val) check_cast(GTK_CELL_RENDERER,val) #define Val_GtkCellRenderer(val) Val_GObject((GObject*)val) #define Val_GtkCellRenderer_new(val) Val_GObject_new((GObject*)val) #define GtkCellRendererAccel_val(val) check_cast(GTK_CELL_RENDERER_ACCEL,val) #define Val_GtkCellRendererAccel(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererAccel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererAccelClass' */ /*TODO: conversion for record 'GtkCellRendererAccelPrivate' */ /*TODO: conversion for record 'GtkCellRendererClass' */ #define GtkCellRendererCombo_val(val) check_cast(GTK_CELL_RENDERER_COMBO,val) #define Val_GtkCellRendererCombo(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererCombo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererComboClass' */ /*TODO: conversion for record 'GtkCellRendererComboPrivate' */ #define GtkCellRendererPixbuf_val(val) check_cast(GTK_CELL_RENDERER_PIXBUF,val) #define Val_GtkCellRendererPixbuf(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererPixbuf_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererPixbufClass' */ /*TODO: conversion for record 'GtkCellRendererPixbufPrivate' */ /*TODO: conversion for record 'GtkCellRendererPrivate' */ #define GtkCellRendererProgress_val(val) check_cast(GTK_CELL_RENDERER_PROGRESS,val) #define Val_GtkCellRendererProgress(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererProgress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererProgressClass' */ /*TODO: conversion for record 'GtkCellRendererProgressPrivate' */ #define GtkCellRendererSpin_val(val) check_cast(GTK_CELL_RENDERER_SPIN,val) #define Val_GtkCellRendererSpin(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinClass' */ /*TODO: conversion for record 'GtkCellRendererSpinPrivate' */ #define GtkCellRendererSpinner_val(val) check_cast(GTK_CELL_RENDERER_SPINNER,val) #define Val_GtkCellRendererSpinner(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinnerClass' */ /*TODO: conversion for record 'GtkCellRendererSpinnerPrivate' */ #define GtkCellRendererText_val(val) check_cast(GTK_CELL_RENDERER_TEXT,val) #define Val_GtkCellRendererText(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererTextClass' */ /*TODO: conversion for record 'GtkCellRendererTextPrivate' */ #define GtkCellRendererToggle_val(val) check_cast(GTK_CELL_RENDERER_TOGGLE,val) #define Val_GtkCellRendererToggle(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererToggle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererToggleClass' */ /*TODO: conversion for record 'GtkCellRendererTogglePrivate' */ #define GtkCellView_val(val) check_cast(GTK_CELL_VIEW,val) #define Val_GtkCellView(val) Val_GObject((GObject*)val) #define Val_GtkCellView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellViewClass' */ /*TODO: conversion for record 'GtkCellViewPrivate' */ #define GtkCheckButton_val(val) check_cast(GTK_CHECK_BUTTON,val) #define Val_GtkCheckButton(val) Val_GObject((GObject*)val) #define Val_GtkCheckButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckButtonClass' */ #define GtkCheckMenuItem_val(val) check_cast(GTK_CHECK_MENU_ITEM,val) #define Val_GtkCheckMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkCheckMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckMenuItemClass' */ /*TODO: conversion for record 'GtkCheckMenuItemPrivate' */ #define GtkClipboard_val(val) check_cast(GTK_CLIPBOARD,val) #define Val_GtkClipboard(val) Val_GObject((GObject*)val) #define Val_GtkClipboard_new(val) Val_GObject_new((GObject*)val) #define GtkColorButton_val(val) check_cast(GTK_COLOR_BUTTON,val) #define Val_GtkColorButton(val) Val_GObject((GObject*)val) #define Val_GtkColorButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorButtonClass' */ /*TODO: conversion for record 'GtkColorButtonPrivate' */ #define GtkColorSelection_val(val) check_cast(GTK_COLOR_SELECTION,val) #define Val_GtkColorSelection(val) Val_GObject((GObject*)val) #define Val_GtkColorSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionClass' */ #define GtkColorSelectionDialog_val(val) check_cast(GTK_COLOR_SELECTION_DIALOG,val) #define Val_GtkColorSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkColorSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionDialogClass' */ /*TODO: conversion for record 'GtkColorSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkColorSelectionPrivate' */ #define GtkComboBox_val(val) check_cast(GTK_COMBO_BOX,val) #define Val_GtkComboBox(val) Val_GObject((GObject*)val) #define Val_GtkComboBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxClass' */ /*TODO: conversion for record 'GtkComboBoxPrivate' */ #define GtkComboBoxText_val(val) check_cast(GTK_COMBO_BOX_TEXT,val) #define Val_GtkComboBoxText(val) Val_GObject((GObject*)val) #define Val_GtkComboBoxText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxTextClass' */ /*TODO: conversion for record 'GtkComboBoxTextPrivate' */ #define GtkContainer_val(val) check_cast(GTK_CONTAINER,val) #define Val_GtkContainer(val) Val_GObject((GObject*)val) #define Val_GtkContainer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkContainerClass' */ /*TODO: conversion for record 'GtkContainerPrivate' */ #define GtkCssProvider_val(val) check_cast(GTK_CSS_PROVIDER,val) #define Val_GtkCssProvider(val) Val_GObject((GObject*)val) #define Val_GtkCssProvider_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCssProviderClass' */ #define GtkDialog_val(val) check_cast(GTK_DIALOG,val) #define Val_GtkDialog(val) Val_GObject((GObject*)val) #define Val_GtkDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDialogClass' */ /*TODO: conversion for record 'GtkDialogPrivate' */ #define GtkDrawingArea_val(val) check_cast(GTK_DRAWING_AREA,val) #define Val_GtkDrawingArea(val) Val_GObject((GObject*)val) #define Val_GtkDrawingArea_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDrawingAreaClass' */ /*TODO: conversion for record 'GtkEditableInterface' */ #define GtkEntry_val(val) check_cast(GTK_ENTRY,val) #define Val_GtkEntry(val) Val_GObject((GObject*)val) #define Val_GtkEntry_new(val) Val_GObject_new((GObject*)val) #define GtkEntryBuffer_val(val) check_cast(GTK_ENTRY_BUFFER,val) #define Val_GtkEntryBuffer(val) Val_GObject((GObject*)val) #define Val_GtkEntryBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryBufferClass' */ /*TODO: conversion for record 'GtkEntryBufferPrivate' */ /*TODO: conversion for record 'GtkEntryClass' */ #define GtkEntryCompletion_val(val) check_cast(GTK_ENTRY_COMPLETION,val) #define Val_GtkEntryCompletion(val) Val_GObject((GObject*)val) #define Val_GtkEntryCompletion_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryCompletionClass' */ /*TODO: conversion for record 'GtkEntryCompletionPrivate' */ /*TODO: conversion for record 'GtkEntryPrivate' */ #define GtkEventBox_val(val) check_cast(GTK_EVENT_BOX,val) #define Val_GtkEventBox(val) Val_GObject((GObject*)val) #define Val_GtkEventBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEventBoxClass' */ /*TODO: conversion for record 'GtkEventBoxPrivate' */ #define GtkExpander_val(val) check_cast(GTK_EXPANDER,val) #define Val_GtkExpander(val) Val_GObject((GObject*)val) #define Val_GtkExpander_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkExpanderClass' */ /*TODO: conversion for record 'GtkExpanderPrivate' */ #define GtkFileChooserButton_val(val) check_cast(GTK_FILE_CHOOSER_BUTTON,val) #define Val_GtkFileChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserButtonClass' */ /*TODO: conversion for record 'GtkFileChooserButtonPrivate' */ #define GtkFileChooserDialog_val(val) check_cast(GTK_FILE_CHOOSER_DIALOG,val) #define Val_GtkFileChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserDialogClass' */ /*TODO: conversion for record 'GtkFileChooserDialogPrivate' */ #define GtkFileChooserWidget_val(val) check_cast(GTK_FILE_CHOOSER_WIDGET,val) #define Val_GtkFileChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserWidgetClass' */ /*TODO: conversion for record 'GtkFileChooserWidgetPrivate' */ #define GtkFileFilter_val(val) check_cast(GTK_FILE_FILTER,val) #define Val_GtkFileFilter(val) Val_GObject((GObject*)val) #define Val_GtkFileFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileFilterInfo' */ #define GtkFixed_val(val) check_cast(GTK_FIXED,val) #define Val_GtkFixed(val) Val_GObject((GObject*)val) #define Val_GtkFixed_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFixedChild' */ /*TODO: conversion for record 'GtkFixedClass' */ /*TODO: conversion for record 'GtkFixedPrivate' */ #define GtkFontButton_val(val) check_cast(GTK_FONT_BUTTON,val) #define Val_GtkFontButton(val) Val_GObject((GObject*)val) #define Val_GtkFontButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontButtonClass' */ /*TODO: conversion for record 'GtkFontButtonPrivate' */ #define GtkFontSelection_val(val) check_cast(GTK_FONT_SELECTION,val) #define Val_GtkFontSelection(val) Val_GObject((GObject*)val) #define Val_GtkFontSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionClass' */ #define GtkFontSelectionDialog_val(val) check_cast(GTK_FONT_SELECTION_DIALOG,val) #define Val_GtkFontSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkFontSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionDialogClass' */ /*TODO: conversion for record 'GtkFontSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkFontSelectionPrivate' */ #define GtkFrame_val(val) check_cast(GTK_FRAME,val) #define Val_GtkFrame(val) Val_GObject((GObject*)val) #define Val_GtkFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFrameClass' */ /*TODO: conversion for record 'GtkFramePrivate' */ /*TODO: conversion for record 'GtkGradient' */ #define GtkGrid_val(val) check_cast(GTK_GRID,val) #define Val_GtkGrid(val) Val_GObject((GObject*)val) #define Val_GtkGrid_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkGridClass' */ /*TODO: conversion for record 'GtkGridPrivate' */ #define GtkHBox_val(val) check_cast(GTK_H_BOX,val) #define Val_GtkHBox(val) Val_GObject((GObject*)val) #define Val_GtkHBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHBoxClass' */ #define GtkHButtonBox_val(val) check_cast(GTK_H_BUTTON_BOX,val) #define Val_GtkHButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkHButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHButtonBoxClass' */ #define GtkHPaned_val(val) check_cast(GTK_H_PANED,val) #define Val_GtkHPaned(val) Val_GObject((GObject*)val) #define Val_GtkHPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHPanedClass' */ #define GtkHSV_val(val) check_cast(GTK_HSV,val) #define Val_GtkHSV(val) Val_GObject((GObject*)val) #define Val_GtkHSV_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSVClass' */ /*TODO: conversion for record 'GtkHSVPrivate' */ #define GtkHScale_val(val) check_cast(GTK_H_SCALE,val) #define Val_GtkHScale(val) Val_GObject((GObject*)val) #define Val_GtkHScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScaleClass' */ #define GtkHScrollbar_val(val) check_cast(GTK_H_SCROLLBAR,val) #define Val_GtkHScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkHScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScrollbarClass' */ #define GtkHSeparator_val(val) check_cast(GTK_H_SEPARATOR,val) #define Val_GtkHSeparator(val) Val_GObject((GObject*)val) #define Val_GtkHSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSeparatorClass' */ #define GtkHandleBox_val(val) check_cast(GTK_HANDLE_BOX,val) #define Val_GtkHandleBox(val) Val_GObject((GObject*)val) #define Val_GtkHandleBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHandleBoxClass' */ /*TODO: conversion for record 'GtkHandleBoxPrivate' */ #define GtkIMContext_val(val) check_cast(GTK_IM_CONTEXT,val) #define Val_GtkIMContext(val) Val_GObject((GObject*)val) #define Val_GtkIMContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextClass' */ /*TODO: conversion for record 'GtkIMContextInfo' */ #define GtkIMContextSimple_val(val) check_cast(GTK_I_M_CONTEXT_SIMPLE,val) #define Val_GtkIMContextSimple(val) Val_GObject((GObject*)val) #define Val_GtkIMContextSimple_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextSimpleClass' */ /*TODO: conversion for record 'GtkIMContextSimplePrivate' */ #define GtkIMMulticontext_val(val) check_cast(GTK_IM_MULTICONTEXT,val) #define Val_GtkIMMulticontext(val) Val_GObject((GObject*)val) #define Val_GtkIMMulticontext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMMulticontextClass' */ /*TODO: conversion for record 'GtkIMMulticontextPrivate' */ #define GtkIconFactory_val(val) check_cast(GTK_ICON_FACTORY,val) #define Val_GtkIconFactory(val) Val_GObject((GObject*)val) #define Val_GtkIconFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconFactoryClass' */ /*TODO: conversion for record 'GtkIconFactoryPrivate' */ /*TODO: conversion for record 'GtkIconInfo' */ /*TODO: conversion for record 'GtkIconSet' */ /*TODO: conversion for record 'GtkIconSource' */ #define GtkIconTheme_val(val) check_cast(GTK_ICON_THEME,val) #define Val_GtkIconTheme(val) Val_GObject((GObject*)val) #define Val_GtkIconTheme_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconThemeClass' */ /*TODO: conversion for record 'GtkIconThemePrivate' */ #define GtkIconView_val(val) check_cast(GTK_ICON_VIEW,val) #define Val_GtkIconView(val) Val_GObject((GObject*)val) #define Val_GtkIconView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconViewClass' */ /*TODO: conversion for record 'GtkIconViewPrivate' */ #define GtkImage_val(val) check_cast(GTK_IMAGE,val) #define Val_GtkImage(val) Val_GObject((GObject*)val) #define Val_GtkImage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageClass' */ #define GtkImageMenuItem_val(val) check_cast(GTK_IMAGE_MENU_ITEM,val) #define Val_GtkImageMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkImageMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageMenuItemClass' */ /*TODO: conversion for record 'GtkImageMenuItemPrivate' */ /*TODO: conversion for record 'GtkImagePrivate' */ #define GtkInfoBar_val(val) check_cast(GTK_INFO_BAR,val) #define Val_GtkInfoBar(val) Val_GObject((GObject*)val) #define Val_GtkInfoBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInfoBarClass' */ /*TODO: conversion for record 'GtkInfoBarPrivate' */ #define GtkInvisible_val(val) check_cast(GTK_INVISIBLE,val) #define Val_GtkInvisible(val) Val_GObject((GObject*)val) #define Val_GtkInvisible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInvisibleClass' */ /*TODO: conversion for record 'GtkInvisiblePrivate' */ #define GtkLabel_val(val) check_cast(GTK_LABEL,val) #define Val_GtkLabel(val) Val_GObject((GObject*)val) #define Val_GtkLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLabelClass' */ /*TODO: conversion for record 'GtkLabelPrivate' */ /*TODO: conversion for record 'GtkLabelSelectionInfo' */ #define GtkLayout_val(val) check_cast(GTK_LAYOUT,val) #define Val_GtkLayout(val) Val_GObject((GObject*)val) #define Val_GtkLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLayoutClass' */ /*TODO: conversion for record 'GtkLayoutPrivate' */ #define GtkLinkButton_val(val) check_cast(GTK_LINK_BUTTON,val) #define Val_GtkLinkButton(val) Val_GObject((GObject*)val) #define Val_GtkLinkButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLinkButtonClass' */ /*TODO: conversion for record 'GtkLinkButtonPrivate' */ #define GtkListStore_val(val) check_cast(GTK_LIST_STORE,val) #define Val_GtkListStore(val) Val_GObject((GObject*)val) #define Val_GtkListStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkListStoreClass' */ /*TODO: conversion for record 'GtkListStorePrivate' */ #define GtkMenu_val(val) check_cast(GTK_MENU,val) #define Val_GtkMenu(val) Val_GObject((GObject*)val) #define Val_GtkMenu_new(val) Val_GObject_new((GObject*)val) #define GtkMenuBar_val(val) check_cast(GTK_MENU_BAR,val) #define Val_GtkMenuBar(val) Val_GObject((GObject*)val) #define Val_GtkMenuBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuBarClass' */ /*TODO: conversion for record 'GtkMenuBarPrivate' */ /*TODO: conversion for record 'GtkMenuClass' */ #define GtkMenuItem_val(val) check_cast(GTK_MENU_ITEM,val) #define Val_GtkMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuItemClass' */ /*TODO: conversion for record 'GtkMenuItemPrivate' */ /*TODO: conversion for record 'GtkMenuPrivate' */ #define GtkMenuShell_val(val) check_cast(GTK_MENU_SHELL,val) #define Val_GtkMenuShell(val) Val_GObject((GObject*)val) #define Val_GtkMenuShell_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuShellClass' */ /*TODO: conversion for record 'GtkMenuShellPrivate' */ #define GtkMenuToolButton_val(val) check_cast(GTK_MENU_TOOL_BUTTON,val) #define Val_GtkMenuToolButton(val) Val_GObject((GObject*)val) #define Val_GtkMenuToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuToolButtonClass' */ /*TODO: conversion for record 'GtkMenuToolButtonPrivate' */ #define GtkMessageDialog_val(val) check_cast(GTK_MESSAGE_DIALOG,val) #define Val_GtkMessageDialog(val) Val_GObject((GObject*)val) #define Val_GtkMessageDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMessageDialogClass' */ /*TODO: conversion for record 'GtkMessageDialogPrivate' */ #define GtkMisc_val(val) check_cast(GTK_MISC,val) #define Val_GtkMisc(val) Val_GObject((GObject*)val) #define Val_GtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMiscClass' */ /*TODO: conversion for record 'GtkMiscPrivate' */ #define GtkMountOperation_val(val) check_cast(GTK_MOUNT_OPERATION,val) #define Val_GtkMountOperation(val) Val_GObject((GObject*)val) #define Val_GtkMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMountOperationClass' */ /*TODO: conversion for record 'GtkMountOperationPrivate' */ #define GtkNotebook_val(val) check_cast(GTK_NOTEBOOK,val) #define Val_GtkNotebook(val) Val_GObject((GObject*)val) #define Val_GtkNotebook_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNotebookClass' */ /*TODO: conversion for record 'GtkNotebookPrivate' */ #define GtkNumerableIcon_val(val) check_cast(GTK_NUMERABLE_ICON,val) #define Val_GtkNumerableIcon(val) Val_GObject((GObject*)val) #define Val_GtkNumerableIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNumerableIconClass' */ /*TODO: conversion for record 'GtkNumerableIconPrivate' */ #define GtkOffscreenWindow_val(val) check_cast(GTK_OFFSCREEN_WINDOW,val) #define Val_GtkOffscreenWindow(val) Val_GObject((GObject*)val) #define Val_GtkOffscreenWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkOffscreenWindowClass' */ /*TODO: conversion for record 'GtkOrientableIface' */ /*TODO: conversion for record 'GtkPageRange' */ #define GtkPageSetup_val(val) check_cast(GTK_PAGE_SETUP,val) #define Val_GtkPageSetup(val) Val_GObject((GObject*)val) #define Val_GtkPageSetup_new(val) Val_GObject_new((GObject*)val) #define GtkPaned_val(val) check_cast(GTK_PANED,val) #define Val_GtkPaned(val) Val_GObject((GObject*)val) #define Val_GtkPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPanedClass' */ /*TODO: conversion for record 'GtkPanedPrivate' */ /*TODO: conversion for record 'GtkPaperSize' */ #define GtkPlug_val(val) check_cast(GTK_PLUG,val) #define Val_GtkPlug(val) Val_GObject((GObject*)val) #define Val_GtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPlugClass' */ /*TODO: conversion for record 'GtkPlugPrivate' */ #define GtkPrintContext_val(val) check_cast(GTK_PRINT_CONTEXT,val) #define Val_GtkPrintContext(val) Val_GObject((GObject*)val) #define Val_GtkPrintContext_new(val) Val_GObject_new((GObject*)val) #define GtkPrintOperation_val(val) check_cast(GTK_PRINT_OPERATION,val) #define Val_GtkPrintOperation(val) Val_GObject((GObject*)val) #define Val_GtkPrintOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPrintOperationClass' */ /*TODO: conversion for record 'GtkPrintOperationPreviewIface' */ /*TODO: conversion for record 'GtkPrintOperationPrivate' */ #define GtkPrintSettings_val(val) check_cast(GTK_PRINT_SETTINGS,val) #define Val_GtkPrintSettings(val) Val_GObject((GObject*)val) #define Val_GtkPrintSettings_new(val) Val_GObject_new((GObject*)val) #define GtkProgressBar_val(val) check_cast(GTK_PROGRESS_BAR,val) #define Val_GtkProgressBar(val) Val_GObject((GObject*)val) #define Val_GtkProgressBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkProgressBarClass' */ /*TODO: conversion for record 'GtkProgressBarPrivate' */ #define GtkRadioAction_val(val) check_cast(GTK_RADIO_ACTION,val) #define Val_GtkRadioAction(val) Val_GObject((GObject*)val) #define Val_GtkRadioAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioActionClass' */ /*TODO: conversion for record 'GtkRadioActionEntry' */ /*TODO: conversion for record 'GtkRadioActionPrivate' */ #define GtkRadioButton_val(val) check_cast(GTK_RADIO_BUTTON,val) #define Val_GtkRadioButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioButtonClass' */ /*TODO: conversion for record 'GtkRadioButtonPrivate' */ #define GtkRadioMenuItem_val(val) check_cast(GTK_RADIO_MENU_ITEM,val) #define Val_GtkRadioMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkRadioMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioMenuItemClass' */ /*TODO: conversion for record 'GtkRadioMenuItemPrivate' */ #define GtkRadioToolButton_val(val) check_cast(GTK_RADIO_TOOL_BUTTON,val) #define Val_GtkRadioToolButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioToolButtonClass' */ #define GtkRange_val(val) check_cast(GTK_RANGE,val) #define Val_GtkRange(val) Val_GObject((GObject*)val) #define Val_GtkRange_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRangeClass' */ /*TODO: conversion for record 'GtkRangePrivate' */ /*TODO: conversion for record 'GtkRcContext' */ /*TODO: conversion for record 'GtkRcProperty' */ #define GtkRcStyle_val(val) check_cast(GTK_RC_STYLE,val) #define Val_GtkRcStyle(val) Val_GObject((GObject*)val) #define Val_GtkRcStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRcStyleClass' */ #define GtkRecentAction_val(val) check_cast(GTK_RECENT_ACTION,val) #define Val_GtkRecentAction(val) Val_GObject((GObject*)val) #define Val_GtkRecentAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentActionClass' */ /*TODO: conversion for record 'GtkRecentActionPrivate' */ #define GtkRecentChooserDialog_val(val) check_cast(GTK_RECENT_CHOOSER_DIALOG,val) #define Val_GtkRecentChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserDialogClass' */ /*TODO: conversion for record 'GtkRecentChooserDialogPrivate' */ /*TODO: conversion for record 'GtkRecentChooserIface' */ #define GtkRecentChooserMenu_val(val) check_cast(GTK_RECENT_CHOOSER_MENU,val) #define Val_GtkRecentChooserMenu(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserMenu_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserMenuClass' */ /*TODO: conversion for record 'GtkRecentChooserMenuPrivate' */ #define GtkRecentChooserWidget_val(val) check_cast(GTK_RECENT_CHOOSER_WIDGET,val) #define Val_GtkRecentChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserWidgetClass' */ /*TODO: conversion for record 'GtkRecentChooserWidgetPrivate' */ /*TODO: conversion for record 'GtkRecentData' */ #define GtkRecentFilter_val(val) check_cast(GTK_RECENT_FILTER,val) #define Val_GtkRecentFilter(val) Val_GObject((GObject*)val) #define Val_GtkRecentFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentFilterInfo' */ /*TODO: conversion for record 'GtkRecentInfo' */ #define GtkRecentManager_val(val) check_cast(GTK_RECENT_MANAGER,val) #define Val_GtkRecentManager(val) Val_GObject((GObject*)val) #define Val_GtkRecentManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentManagerClass' */ /*TODO: conversion for record 'GtkRecentManagerPrivate' */ /*TODO: conversion for record 'GtkRequestedSize' */ /*TODO: conversion for record 'GtkRequisition' */ #define GtkScale_val(val) check_cast(GTK_SCALE,val) #define Val_GtkScale(val) Val_GObject((GObject*)val) #define Val_GtkScale_new(val) Val_GObject_new((GObject*)val) #define GtkScaleButton_val(val) check_cast(GTK_SCALE_BUTTON,val) #define Val_GtkScaleButton(val) Val_GObject((GObject*)val) #define Val_GtkScaleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScaleButtonClass' */ /*TODO: conversion for record 'GtkScaleButtonPrivate' */ /*TODO: conversion for record 'GtkScaleClass' */ /*TODO: conversion for record 'GtkScalePrivate' */ /*TODO: conversion for record 'GtkScrollableInterface' */ #define GtkScrollbar_val(val) check_cast(GTK_SCROLLBAR,val) #define Val_GtkScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrollbarClass' */ #define GtkScrolledWindow_val(val) check_cast(GTK_SCROLLED_WINDOW,val) #define Val_GtkScrolledWindow(val) Val_GObject((GObject*)val) #define Val_GtkScrolledWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrolledWindowClass' */ /*TODO: conversion for record 'GtkScrolledWindowPrivate' */ /*TODO: conversion for record 'GtkSelectionData' */ #define GtkSeparator_val(val) check_cast(GTK_SEPARATOR,val) #define Val_GtkSeparator(val) Val_GObject((GObject*)val) #define Val_GtkSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorClass' */ #define GtkSeparatorMenuItem_val(val) check_cast(GTK_SEPARATOR_MENU_ITEM,val) #define Val_GtkSeparatorMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorMenuItemClass' */ /*TODO: conversion for record 'GtkSeparatorPrivate' */ #define GtkSeparatorToolItem_val(val) check_cast(GTK_SEPARATOR_TOOL_ITEM,val) #define Val_GtkSeparatorToolItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorToolItemClass' */ /*TODO: conversion for record 'GtkSeparatorToolItemPrivate' */ #define GtkSettings_val(val) check_cast(GTK_SETTINGS,val) #define Val_GtkSettings(val) Val_GObject((GObject*)val) #define Val_GtkSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSettingsClass' */ /*TODO: conversion for record 'GtkSettingsPrivate' */ /*TODO: conversion for record 'GtkSettingsValue' */ #define GtkSizeGroup_val(val) check_cast(GTK_SIZE_GROUP,val) #define Val_GtkSizeGroup(val) Val_GObject((GObject*)val) #define Val_GtkSizeGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSizeGroupClass' */ /*TODO: conversion for record 'GtkSizeGroupPrivate' */ #define GtkSocket_val(val) check_cast(GTK_SOCKET,val) #define Val_GtkSocket(val) Val_GObject((GObject*)val) #define Val_GtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSocketClass' */ /*TODO: conversion for record 'GtkSocketPrivate' */ #define GtkSpinButton_val(val) check_cast(GTK_SPIN_BUTTON,val) #define Val_GtkSpinButton(val) Val_GObject((GObject*)val) #define Val_GtkSpinButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinButtonClass' */ /*TODO: conversion for record 'GtkSpinButtonPrivate' */ #define GtkSpinner_val(val) check_cast(GTK_SPINNER,val) #define Val_GtkSpinner(val) Val_GObject((GObject*)val) #define Val_GtkSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinnerClass' */ /*TODO: conversion for record 'GtkSpinnerPrivate' */ #define GtkStatusIcon_val(val) check_cast(GTK_STATUS_ICON,val) #define Val_GtkStatusIcon(val) Val_GObject((GObject*)val) #define Val_GtkStatusIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusIconClass' */ /*TODO: conversion for record 'GtkStatusIconPrivate' */ #define GtkStatusbar_val(val) check_cast(GTK_STATUSBAR,val) #define Val_GtkStatusbar(val) Val_GObject((GObject*)val) #define Val_GtkStatusbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusbarClass' */ /*TODO: conversion for record 'GtkStatusbarPrivate' */ /*TODO: conversion for record 'GtkStockItem' */ #define GtkStyle_val(val) check_cast(GTK_STYLE,val) #define Val_GtkStyle(val) Val_GObject((GObject*)val) #define Val_GtkStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleClass' */ #define GtkStyleContext_val(val) check_cast(GTK_STYLE_CONTEXT,val) #define Val_GtkStyleContext(val) Val_GObject((GObject*)val) #define Val_GtkStyleContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleContextClass' */ #define GtkStyleProperties_val(val) check_cast(GTK_STYLE_PROPERTIES,val) #define Val_GtkStyleProperties(val) Val_GObject((GObject*)val) #define Val_GtkStyleProperties_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStylePropertiesClass' */ /*TODO: conversion for record 'GtkStyleProviderIface' */ #define GtkSwitch_val(val) check_cast(GTK_SWITCH,val) #define Val_GtkSwitch(val) Val_GObject((GObject*)val) #define Val_GtkSwitch_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSwitchClass' */ /*TODO: conversion for record 'GtkSwitchPrivate' */ /*TODO: conversion for record 'GtkSymbolicColor' */ #define GtkTable_val(val) check_cast(GTK_TABLE,val) #define Val_GtkTable(val) Val_GObject((GObject*)val) #define Val_GtkTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTableChild' */ /*TODO: conversion for record 'GtkTableClass' */ /*TODO: conversion for record 'GtkTablePrivate' */ /*TODO: conversion for record 'GtkTableRowCol' */ /*TODO: conversion for record 'GtkTargetEntry' */ /*TODO: conversion for record 'GtkTargetList' */ #define GtkTearoffMenuItem_val(val) check_cast(GTK_TEAROFF_MENU_ITEM,val) #define Val_GtkTearoffMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkTearoffMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTearoffMenuItemClass' */ /*TODO: conversion for record 'GtkTearoffMenuItemPrivate' */ /*TODO: conversion for record 'GtkTextAppearance' */ /*TODO: conversion for record 'GtkTextAttributes' */ /*TODO: conversion for record 'GtkTextBTree' */ #define GtkTextBuffer_val(val) check_cast(GTK_TEXT_BUFFER,val) #define Val_GtkTextBuffer(val) Val_GObject((GObject*)val) #define Val_GtkTextBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextBufferClass' */ /*TODO: conversion for record 'GtkTextBufferPrivate' */ #define GtkTextChildAnchor_val(val) check_cast(GTK_TEXT_CHILD_ANCHOR,val) #define Val_GtkTextChildAnchor(val) Val_GObject((GObject*)val) #define Val_GtkTextChildAnchor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextChildAnchorClass' */ /*TODO: conversion for record 'GtkTextIter' */ #define GtkTextMark_val(val) check_cast(GTK_TEXT_MARK,val) #define Val_GtkTextMark(val) Val_GObject((GObject*)val) #define Val_GtkTextMark_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextMarkClass' */ #define GtkTextTag_val(val) check_cast(GTK_TEXT_TAG,val) #define Val_GtkTextTag(val) Val_GObject((GObject*)val) #define Val_GtkTextTag_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagClass' */ /*TODO: conversion for record 'GtkTextTagPrivate' */ #define GtkTextTagTable_val(val) check_cast(GTK_TEXT_TAG_TABLE,val) #define Val_GtkTextTagTable(val) Val_GObject((GObject*)val) #define Val_GtkTextTagTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagTableClass' */ /*TODO: conversion for record 'GtkTextTagTablePrivate' */ #define GtkTextView_val(val) check_cast(GTK_TEXT_VIEW,val) #define Val_GtkTextView(val) Val_GObject((GObject*)val) #define Val_GtkTextView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextViewClass' */ /*TODO: conversion for record 'GtkTextViewPrivate' */ /*TODO: conversion for record 'GtkThemeEngine' */ #define GtkThemingEngine_val(val) check_cast(GTK_THEMING_ENGINE,val) #define Val_GtkThemingEngine(val) Val_GObject((GObject*)val) #define Val_GtkThemingEngine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkThemingEngineClass' */ #define GtkToggleAction_val(val) check_cast(GTK_TOGGLE_ACTION,val) #define Val_GtkToggleAction(val) Val_GObject((GObject*)val) #define Val_GtkToggleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleActionClass' */ /*TODO: conversion for record 'GtkToggleActionEntry' */ /*TODO: conversion for record 'GtkToggleActionPrivate' */ #define GtkToggleButton_val(val) check_cast(GTK_TOGGLE_BUTTON,val) #define Val_GtkToggleButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleButtonClass' */ /*TODO: conversion for record 'GtkToggleButtonPrivate' */ #define GtkToggleToolButton_val(val) check_cast(GTK_TOGGLE_TOOL_BUTTON,val) #define Val_GtkToggleToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleToolButtonClass' */ /*TODO: conversion for record 'GtkToggleToolButtonPrivate' */ #define GtkToolButton_val(val) check_cast(GTK_TOOL_BUTTON,val) #define Val_GtkToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolButtonClass' */ /*TODO: conversion for record 'GtkToolButtonPrivate' */ #define GtkToolItem_val(val) check_cast(GTK_TOOL_ITEM,val) #define Val_GtkToolItem(val) Val_GObject((GObject*)val) #define Val_GtkToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemClass' */ #define GtkToolItemGroup_val(val) check_cast(GTK_TOOL_ITEM_GROUP,val) #define Val_GtkToolItemGroup(val) Val_GObject((GObject*)val) #define Val_GtkToolItemGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemGroupClass' */ /*TODO: conversion for record 'GtkToolItemGroupPrivate' */ /*TODO: conversion for record 'GtkToolItemPrivate' */ #define GtkToolPalette_val(val) check_cast(GTK_TOOL_PALETTE,val) #define Val_GtkToolPalette(val) Val_GObject((GObject*)val) #define Val_GtkToolPalette_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolPaletteClass' */ /*TODO: conversion for record 'GtkToolPalettePrivate' */ /*TODO: conversion for record 'GtkToolShellIface' */ #define GtkToolbar_val(val) check_cast(GTK_TOOLBAR,val) #define Val_GtkToolbar(val) Val_GObject((GObject*)val) #define Val_GtkToolbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolbarClass' */ /*TODO: conversion for record 'GtkToolbarPrivate' */ #define GtkTooltip_val(val) check_cast(GTK_TOOLTIP,val) #define Val_GtkTooltip(val) Val_GObject((GObject*)val) #define Val_GtkTooltip_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeDragDestIface' */ /*TODO: conversion for record 'GtkTreeDragSourceIface' */ /*TODO: conversion for record 'GtkTreeIter' */ #define GtkTreeModelFilter_val(val) check_cast(GTK_TREE_MODEL_FILTER,val) #define Val_GtkTreeModelFilter(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelFilterClass' */ /*TODO: conversion for record 'GtkTreeModelFilterPrivate' */ /*TODO: conversion for record 'GtkTreeModelIface' */ #define GtkTreeModelSort_val(val) check_cast(GTK_TREE_MODEL_SORT,val) #define Val_GtkTreeModelSort(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelSort_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelSortClass' */ /*TODO: conversion for record 'GtkTreeModelSortPrivate' */ /*TODO: conversion for record 'GtkTreePath' */ /*TODO: conversion for record 'GtkTreeRowReference' */ #define GtkTreeSelection_val(val) check_cast(GTK_TREE_SELECTION,val) #define Val_GtkTreeSelection(val) Val_GObject((GObject*)val) #define Val_GtkTreeSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeSelectionClass' */ /*TODO: conversion for record 'GtkTreeSelectionPrivate' */ /*TODO: conversion for record 'GtkTreeSortableIface' */ #define GtkTreeStore_val(val) check_cast(GTK_TREE_STORE,val) #define Val_GtkTreeStore(val) Val_GObject((GObject*)val) #define Val_GtkTreeStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeStoreClass' */ /*TODO: conversion for record 'GtkTreeStorePrivate' */ #define GtkTreeView_val(val) check_cast(GTK_TREE_VIEW,val) #define Val_GtkTreeView(val) Val_GObject((GObject*)val) #define Val_GtkTreeView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewClass' */ #define GtkTreeViewColumn_val(val) check_cast(GTK_TREE_VIEW_COLUMN,val) #define Val_GtkTreeViewColumn(val) Val_GObject((GObject*)val) #define Val_GtkTreeViewColumn_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewColumnClass' */ /*TODO: conversion for record 'GtkTreeViewColumnPrivate' */ /*TODO: conversion for record 'GtkTreeViewPrivate' */ #define GtkUIManager_val(val) check_cast(GTK_UI_MANAGER,val) #define Val_GtkUIManager(val) Val_GObject((GObject*)val) #define Val_GtkUIManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkUIManagerClass' */ /*TODO: conversion for record 'GtkUIManagerPrivate' */ #define GtkVBox_val(val) check_cast(GTK_V_BOX,val) #define Val_GtkVBox(val) Val_GObject((GObject*)val) #define Val_GtkVBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVBoxClass' */ #define GtkVButtonBox_val(val) check_cast(GTK_V_BUTTON_BOX,val) #define Val_GtkVButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkVButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVButtonBoxClass' */ #define GtkVPaned_val(val) check_cast(GTK_V_PANED,val) #define Val_GtkVPaned(val) Val_GObject((GObject*)val) #define Val_GtkVPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVPanedClass' */ #define GtkVScale_val(val) check_cast(GTK_V_SCALE,val) #define Val_GtkVScale(val) Val_GObject((GObject*)val) #define Val_GtkVScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScaleClass' */ #define GtkVScrollbar_val(val) check_cast(GTK_V_SCROLLBAR,val) #define Val_GtkVScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkVScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScrollbarClass' */ #define GtkVSeparator_val(val) check_cast(GTK_V_SEPARATOR,val) #define Val_GtkVSeparator(val) Val_GObject((GObject*)val) #define Val_GtkVSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVSeparatorClass' */ #define GtkViewport_val(val) check_cast(GTK_VIEWPORT,val) #define Val_GtkViewport(val) Val_GObject((GObject*)val) #define Val_GtkViewport_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkViewportClass' */ /*TODO: conversion for record 'GtkViewportPrivate' */ #define GtkVolumeButton_val(val) check_cast(GTK_VOLUME_BUTTON,val) #define Val_GtkVolumeButton(val) Val_GObject((GObject*)val) #define Val_GtkVolumeButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVolumeButtonClass' */ #define GtkWidget_val(val) check_cast(GTK_WIDGET,val) #define Val_GtkWidget(val) Val_GObject((GObject*)val) #define Val_GtkWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWidgetAuxInfo' */ /*TODO: conversion for record 'GtkWidgetClass' */ /*TODO: conversion for record 'GtkWidgetPath' */ /*TODO: conversion for record 'GtkWidgetPrivate' */ #define GtkWindow_val(val) check_cast(GTK_WINDOW,val) #define Val_GtkWindow(val) Val_GObject((GObject*)val) #define Val_GtkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowClass' */ /*TODO: conversion for record 'GtkWindowGeometryInfo' */ #define GtkWindowGroup_val(val) check_cast(GTK_WINDOW_GROUP,val) #define Val_GtkWindowGroup(val) Val_GObject((GObject*)val) #define Val_GtkWindowGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowGroupClass' */ /*TODO: conversion for record 'GtkWindowGroupPrivate' */ /*TODO: conversion for record 'GtkWindowPrivate' */ #include <> #include "../wrappers.h" #include "../ml_gobject.h" /* Module Pixdata */ /* end of Pixdata */ /* Module PixbufSimpleAnimIter */ /* end of PixbufSimpleAnimIter */ /* Module PixbufSimpleAnimClass */ /* end of PixbufSimpleAnimClass */ /* Module PixbufSimpleAnim */ ML_2(gdk_pixbuf_simple_anim_set_loop,GdkPixbufSimpleAnim_val, Bool_val, Unit) ML_1(gdk_pixbuf_simple_anim_get_loop,GdkPixbufSimpleAnim_val, Val_bool) ML_2(gdk_pixbuf_simple_anim_add_frame,GdkPixbufSimpleAnim_val, GdkPixbuf_val, Unit) /* end of PixbufSimpleAnim */ /* Module PixbufNonAnim */ /* end of PixbufNonAnim */ /* Module PixbufModulePattern */ /* end of PixbufModulePattern */ /* Module PixbufModule */ /* end of PixbufModule */ /* Module PixbufLoaderClass */ /* end of PixbufLoaderClass */ /* Module PixbufLoader */ ML_3(gdk_pixbuf_loader_set_size,GdkPixbufLoader_val, Int_val, Int_val, Unit) ML_1(gdk_pixbuf_loader_get_pixbuf,GdkPixbufLoader_val, Val_GdkPixbuf) ML_1(gdk_pixbuf_loader_get_format,GdkPixbufLoader_val, Val_GdkPixbufFormat_new) ML_1(gdk_pixbuf_loader_get_animation,GdkPixbufLoader_val, Val_GdkPixbufAnimation) /* end of PixbufLoader */ /* Module PixbufFormat */ ML_2(gdk_pixbuf_format_set_disabled,GdkPixbufFormat_val, Bool_val, Unit) ML_1(gdk_pixbuf_format_is_writable,GdkPixbufFormat_val, Val_bool) ML_1(gdk_pixbuf_format_is_scalable,GdkPixbufFormat_val, Val_bool) ML_1(gdk_pixbuf_format_is_disabled,GdkPixbufFormat_val, Val_bool) ML_1(gdk_pixbuf_format_get_name,GdkPixbufFormat_val, Val_string_new) ML_1(gdk_pixbuf_format_get_license,GdkPixbufFormat_val, Val_string_new) ML_1(gdk_pixbuf_format_get_description,GdkPixbufFormat_val, Val_string_new) ML_1(gdk_pixbuf_format_free,GdkPixbufFormat_val, Unit) ML_1(gdk_pixbuf_format_copy,GdkPixbufFormat_val, Val_GdkPixbufFormat_new) /* end of PixbufFormat */ /* Module PixbufAnimationIterClass */ /* end of PixbufAnimationIterClass */ /* Module PixbufAnimationIter */ ML_1(gdk_pixbuf_animation_iter_on_currently_loading_frame,GdkPixbufAnimationIter_val, Val_bool) ML_1(gdk_pixbuf_animation_iter_get_pixbuf,GdkPixbufAnimationIter_val, Val_GdkPixbuf) ML_1(gdk_pixbuf_animation_iter_get_delay_time,GdkPixbufAnimationIter_val, Val_int) ML_2(gdk_pixbuf_animation_iter_advance,GdkPixbufAnimationIter_val, GTimeVal_val, Val_bool) /* end of PixbufAnimationIter */ /* Module PixbufAnimationClass */ /* end of PixbufAnimationClass */ /* Module PixbufAnimation */ ML_1(gdk_pixbuf_animation_unref,GdkPixbufAnimation_val, Unit) ML_1(gdk_pixbuf_animation_ref,GdkPixbufAnimation_val, Val_GdkPixbufAnimation) ML_1(gdk_pixbuf_animation_is_static_image,GdkPixbufAnimation_val, Val_bool) ML_1(gdk_pixbuf_animation_get_width,GdkPixbufAnimation_val, Val_int) ML_1(gdk_pixbuf_animation_get_static_image,GdkPixbufAnimation_val, Val_GdkPixbuf) ML_2(gdk_pixbuf_animation_get_iter,GdkPixbufAnimation_val, GTimeVal_val, Val_GdkPixbufAnimationIter_new) ML_1(gdk_pixbuf_animation_get_height,GdkPixbufAnimation_val, Val_int) /* end of PixbufAnimation */ /* Module Pixbuf */ ML_1(gdk_pixbuf_unref,GdkPixbuf_val, Unit) ML_3(gdk_pixbuf_set_option,GdkPixbuf_val, String_val, String_val, Val_bool) ML_1(gdk_pixbuf_ref,GdkPixbuf_val, Val_GdkPixbuf) ML_5(gdk_pixbuf_new_subpixbuf,GdkPixbuf_val, Int_val, Int_val, Int_val, Int_val, Val_GdkPixbuf_new) ML_1(gdk_pixbuf_get_width,GdkPixbuf_val, Val_int) ML_1(gdk_pixbuf_get_rowstride,GdkPixbuf_val, Val_int) ML_1(gdk_pixbuf_get_pixels,GdkPixbuf_val, Val_string) ML_2(gdk_pixbuf_get_option,GdkPixbuf_val, String_val, Val_string) ML_1(gdk_pixbuf_get_n_channels,GdkPixbuf_val, Val_int) ML_1(gdk_pixbuf_get_height,GdkPixbuf_val, Val_int) ML_1(gdk_pixbuf_get_has_alpha,GdkPixbuf_val, Val_bool) ML_1(gdk_pixbuf_get_bits_per_sample,GdkPixbuf_val, Val_int) ML_2(gdk_pixbuf_flip,GdkPixbuf_val, Bool_val, Val_GdkPixbuf_new) ML_2(gdk_pixbuf_fill,GdkPixbuf_val, Int32_val, Unit) ML_8(gdk_pixbuf_copy_area,GdkPixbuf_val, Int_val, Int_val, Int_val, Int_val, GdkPixbuf_val, Int_val, Int_val, Unit) ML_bc8(ml_gdk_pixbuf_copy_area) ML_1(gdk_pixbuf_copy,GdkPixbuf_val, Val_GdkPixbuf_new) ML_1(gdk_pixbuf_apply_embedded_orientation,GdkPixbuf_val, Val_GdkPixbuf_new) ML_5(gdk_pixbuf_add_alpha,GdkPixbuf_val, Bool_val, Int_val, Int_val, Int_val, Val_GdkPixbuf_new) ML_1(gdk_pixbuf_gettext,String_val, Val_string) ML_0(gdk_pixbuf_get_formats,Val_GSList) /* end of Pixbuf */ /* Global functions */ ML_0(gdk_pixbuf_error_quark,Val_int32) /* End of global functions */ lablgtk-3.1.2/tools/introspection/stubs/ml_stubs_Gio.c0000644000650106067230000042716614161276610022012 0ustar glondused#include #include #define Val_double(val) caml_copy_double(val) #define Val_string_new(val) caml_copy_string(val) #define Val_int32(val) caml_copy_int32(val) #define Val_int32_new(val) caml_copy_int32(val) /*TODO: conversion for record 'GAllocator' */ /*TODO: conversion for record 'GArray' */ /*TODO: conversion for record 'GAsyncQueue' */ /*TODO: conversion for record 'GBookmarkFile' */ /*TODO: conversion for record 'GByteArray' */ /*TODO: conversion for record 'GCache' */ /*TODO: conversion for record 'GChecksum' */ /*TODO: conversion for record 'GCompletion' */ /*TODO: conversion for record 'GCond' */ /*TODO: conversion for record 'GData' */ /*TODO: conversion for record 'GDate' */ /*TODO: conversion for record 'GDateTime' */ /*TODO: conversion for record 'GDebugKey' */ /*TODO: conversion for record 'GDir' */ /*TODO: conversion for record 'GError' */ /*TODO: conversion for record 'GHashTable' */ /*TODO: conversion for record 'GHashTableIter' */ /*TODO: conversion for record 'GHook' */ /*TODO: conversion for record 'GHookList' */ /*TODO: conversion for record 'GIConv' */ /*TODO: conversion for record 'GIOChannel' */ /*TODO: conversion for record 'GIOFuncs' */ /*TODO: conversion for record 'GKeyFile' */ /*TODO: conversion for record 'GList' */ /*TODO: conversion for record 'GMainContext' */ /*TODO: conversion for record 'GMainLoop' */ /*TODO: conversion for record 'GMappedFile' */ /*TODO: conversion for record 'GMarkupParseContext' */ /*TODO: conversion for record 'GMarkupParser' */ /*TODO: conversion for record 'GMatchInfo' */ /*TODO: conversion for record 'GMemChunk' */ /*TODO: conversion for record 'GMemVTable' */ /*TODO: conversion for record 'GMutex' */ /*TODO: conversion for record 'GNode' */ /*TODO: conversion for record 'GOnce' */ /*TODO: conversion for record 'GOptionContext' */ /*TODO: conversion for record 'GOptionEntry' */ /*TODO: conversion for record 'GOptionGroup' */ /*TODO: conversion for record 'GPatternSpec' */ /*TODO: conversion for record 'GPollFD' */ /*TODO: conversion for record 'GPrivate' */ /*TODO: conversion for record 'GPtrArray' */ /*TODO: conversion for record 'GQueue' */ /*TODO: conversion for record 'GRand' */ /*TODO: conversion for record 'GRegex' */ /*TODO: conversion for record 'GRelation' */ /*TODO: conversion for record 'GSList' */ /*TODO: conversion for record 'GScanner' */ /*TODO: conversion for record 'GScannerConfig' */ /*TODO: conversion for record 'GSequence' */ /*TODO: conversion for record 'GSequenceIter' */ /*TODO: conversion for record 'GSource' */ /*TODO: conversion for record 'GSourceCallbackFuncs' */ /*TODO: conversion for record 'GSourceFuncs' */ /*TODO: conversion for record 'GSourcePrivate' */ /*TODO: conversion for record 'GStatBuf' */ /*TODO: conversion for record 'GStaticMutex' */ /*TODO: conversion for record 'GStaticPrivate' */ /*TODO: conversion for record 'GStaticRWLock' */ /*TODO: conversion for record 'GStaticRecMutex' */ /*TODO: conversion for record 'GString' */ /*TODO: conversion for record 'GStringChunk' */ /*TODO: conversion for record 'GTestCase' */ /*TODO: conversion for record 'GTestConfig' */ /*TODO: conversion for record 'GTestLogBuffer' */ /*TODO: conversion for record 'GTestLogMsg' */ /*TODO: conversion for record 'GTestSuite' */ /*TODO: conversion for record 'GThread' */ /*TODO: conversion for record 'GThreadFunctions' */ /*TODO: conversion for record 'GThreadPool' */ /*TODO: conversion for record 'GTimeVal' */ /*TODO: conversion for record 'GTimeZone' */ /*TODO: conversion for record 'GTimer' */ /*TODO: conversion for record 'GTrashStack' */ /*TODO: conversion for record 'GTree' */ /*TODO: conversion for record 'GTuples' */ /*TODO: conversion for record 'GVariant' */ /*TODO: conversion for record 'GVariantBuilder' */ /*TODO: conversion for record 'GVariantIter' */ /*TODO: conversion for record 'GVariantType' */ #define GBinding_val(val) check_cast(G_BINDING,val) #define Val_GBinding(val) Val_GObject((GObject*)val) #define Val_GBinding_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCClosure' */ /*TODO: conversion for record 'GClosure' */ /*TODO: conversion for record 'GClosureNotifyData' */ /*TODO: conversion for record 'GEnumClass' */ /*TODO: conversion for record 'GEnumValue' */ /*TODO: conversion for record 'GFlagsClass' */ /*TODO: conversion for record 'GFlagsValue' */ /*TODO: conversion for record 'GInitiallyUnownedClass' */ /*TODO: conversion for record 'GInterfaceInfo' */ /*TODO: conversion for record 'GObjectClass' */ /*TODO: conversion for record 'GObjectConstructParam' */ /*TODO: conversion for record 'GParamSpec' */ /*TODO: conversion for record 'GParamSpecBoolean' */ /*TODO: conversion for record 'GParamSpecBoxed' */ /*TODO: conversion for record 'GParamSpecChar' */ /*TODO: conversion for record 'GParamSpecClass' */ /*TODO: conversion for record 'GParamSpecDouble' */ /*TODO: conversion for record 'GParamSpecEnum' */ /*TODO: conversion for record 'GParamSpecFlags' */ /*TODO: conversion for record 'GParamSpecFloat' */ /*TODO: conversion for record 'GParamSpecGType' */ /*TODO: conversion for record 'GParamSpecInt' */ /*TODO: conversion for record 'GParamSpecInt64' */ /*TODO: conversion for record 'GParamSpecLong' */ /*TODO: conversion for record 'GParamSpecObject' */ /*TODO: conversion for record 'GParamSpecOverride' */ /*TODO: conversion for record 'GParamSpecParam' */ /*TODO: conversion for record 'GParamSpecPointer' */ /*TODO: conversion for record 'GParamSpecPool' */ /*TODO: conversion for record 'GParamSpecString' */ /*TODO: conversion for record 'GParamSpecTypeInfo' */ /*TODO: conversion for record 'GParamSpecUChar' */ /*TODO: conversion for record 'GParamSpecUInt' */ /*TODO: conversion for record 'GParamSpecUInt64' */ /*TODO: conversion for record 'GParamSpecULong' */ /*TODO: conversion for record 'GParamSpecUnichar' */ /*TODO: conversion for record 'GParamSpecValueArray' */ /*TODO: conversion for record 'GParamSpecVariant' */ /*TODO: conversion for record 'GParameter' */ /*TODO: conversion for record 'GSignalInvocationHint' */ /*TODO: conversion for record 'GSignalQuery' */ /*TODO: conversion for record 'GTypeClass' */ /*TODO: conversion for record 'GTypeFundamentalInfo' */ /*TODO: conversion for record 'GTypeInfo' */ /*TODO: conversion for record 'GTypeInstance' */ /*TODO: conversion for record 'GTypeInterface' */ #define GTypeModule_val(val) check_cast(G_TYPE_MODULE,val) #define Val_GTypeModule(val) Val_GObject((GObject*)val) #define Val_GTypeModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTypeModuleClass' */ /*TODO: conversion for record 'GTypePluginClass' */ /*TODO: conversion for record 'GTypeQuery' */ /*TODO: conversion for record 'GTypeValueTable' */ /*TODO: conversion for record 'GValue' */ /*TODO: conversion for record 'GValueArray' */ /*TODO: conversion for record 'AtkActionIface' */ /*TODO: conversion for record 'AtkAttribute' */ /*TODO: conversion for record 'AtkComponentIface' */ /*TODO: conversion for record 'AtkDocumentIface' */ /*TODO: conversion for record 'AtkEditableTextIface' */ #define AtkGObjectAccessible_val(val) check_cast(ATK_G_OBJECT_ACCESSIBLE,val) #define Val_AtkGObjectAccessible(val) Val_GObject((GObject*)val) #define Val_AtkGObjectAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkGObjectAccessibleClass' */ #define AtkHyperlink_val(val) check_cast(ATK_HYPERLINK,val) #define Val_AtkHyperlink(val) Val_GObject((GObject*)val) #define Val_AtkHyperlink_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkHyperlinkClass' */ /*TODO: conversion for record 'AtkHyperlinkImplIface' */ /*TODO: conversion for record 'AtkHypertextIface' */ /*TODO: conversion for record 'AtkImageIface' */ /*TODO: conversion for record 'AtkImplementor' */ /*TODO: conversion for record 'AtkKeyEventStruct' */ #define AtkMisc_val(val) check_cast(ATK_MISC,val) #define Val_AtkMisc(val) Val_GObject((GObject*)val) #define Val_AtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkMiscClass' */ #define AtkNoOpObject_val(val) check_cast(ATK_NO_OP_OBJECT,val) #define Val_AtkNoOpObject(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectClass' */ #define AtkNoOpObjectFactory_val(val) check_cast(ATK_NO_OP_OBJECT_FACTORY,val) #define Val_AtkNoOpObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectFactoryClass' */ #define AtkObject_val(val) check_cast(ATK_OBJECT,val) #define Val_AtkObject(val) Val_GObject((GObject*)val) #define Val_AtkObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectClass' */ #define AtkObjectFactory_val(val) check_cast(ATK_OBJECT_FACTORY,val) #define Val_AtkObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectFactoryClass' */ #define AtkPlug_val(val) check_cast(ATK_PLUG,val) #define Val_AtkPlug(val) Val_GObject((GObject*)val) #define Val_AtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkPlugClass' */ /*TODO: conversion for record 'AtkRectangle' */ #define AtkRelation_val(val) check_cast(ATK_RELATION,val) #define Val_AtkRelation(val) Val_GObject((GObject*)val) #define Val_AtkRelation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationClass' */ #define AtkRelationSet_val(val) check_cast(ATK_RELATION_SET,val) #define Val_AtkRelationSet(val) Val_GObject((GObject*)val) #define Val_AtkRelationSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationSetClass' */ /*TODO: conversion for record 'AtkSelectionIface' */ #define AtkSocket_val(val) check_cast(ATK_SOCKET,val) #define Val_AtkSocket(val) Val_GObject((GObject*)val) #define Val_AtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkSocketClass' */ #define AtkStateSet_val(val) check_cast(ATK_STATE_SET,val) #define Val_AtkStateSet(val) Val_GObject((GObject*)val) #define Val_AtkStateSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkStateSetClass' */ /*TODO: conversion for record 'AtkStreamableContentIface' */ /*TODO: conversion for record 'AtkTableIface' */ /*TODO: conversion for record 'AtkTextIface' */ /*TODO: conversion for record 'AtkTextRange' */ /*TODO: conversion for record 'AtkTextRectangle' */ #define AtkUtil_val(val) check_cast(ATK_UTIL,val) #define Val_AtkUtil(val) Val_GObject((GObject*)val) #define Val_AtkUtil_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkUtilClass' */ /*TODO: conversion for record 'AtkValueIface' */ /*TODO: conversion for record '_AtkPropertyValues' */ /*TODO: conversion for record '_AtkRegistry' */ /*TODO: conversion for record '_AtkRegistryClass' */ /*TODO: conversion for record 'GModule' */ /*TODO: conversion for record 'GActionGroupInterface' */ /*TODO: conversion for record 'GActionInterface' */ /*TODO: conversion for record 'GAppInfoIface' */ #define GAppLaunchContext_val(val) check_cast(G_APP_LAUNCH_CONTEXT,val) #define Val_GAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GAppLaunchContextClass' */ /*TODO: conversion for record 'GAppLaunchContextPrivate' */ #define GApplication_val(val) check_cast(G_APPLICATION,val) #define Val_GApplication(val) Val_GObject((GObject*)val) #define Val_GApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationClass' */ #define GApplicationCommandLine_val(val) check_cast(G_APPLICATION_COMMAND_LINE,val) #define Val_GApplicationCommandLine(val) Val_GObject((GObject*)val) #define Val_GApplicationCommandLine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationCommandLineClass' */ /*TODO: conversion for record 'GApplicationCommandLinePrivate' */ /*TODO: conversion for record 'GApplicationPrivate' */ /*TODO: conversion for record 'GAsyncInitableIface' */ /*TODO: conversion for record 'GAsyncResultIface' */ #define GBufferedInputStream_val(val) check_cast(G_BUFFERED_INPUT_STREAM,val) #define Val_GBufferedInputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedInputStreamClass' */ /*TODO: conversion for record 'GBufferedInputStreamPrivate' */ #define GBufferedOutputStream_val(val) check_cast(G_BUFFERED_OUTPUT_STREAM,val) #define Val_GBufferedOutputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedOutputStreamClass' */ /*TODO: conversion for record 'GBufferedOutputStreamPrivate' */ #define GCancellable_val(val) check_cast(G_CANCELLABLE,val) #define Val_GCancellable(val) Val_GObject((GObject*)val) #define Val_GCancellable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCancellableClass' */ /*TODO: conversion for record 'GCancellablePrivate' */ #define GCharsetConverter_val(val) check_cast(G_CHARSET_CONVERTER,val) #define Val_GCharsetConverter(val) Val_GObject((GObject*)val) #define Val_GCharsetConverter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCharsetConverterClass' */ /*TODO: conversion for record 'GConverterIface' */ #define GConverterInputStream_val(val) check_cast(G_CONVERTER_INPUT_STREAM,val) #define Val_GConverterInputStream(val) Val_GObject((GObject*)val) #define Val_GConverterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterInputStreamClass' */ /*TODO: conversion for record 'GConverterInputStreamPrivate' */ #define GConverterOutputStream_val(val) check_cast(G_CONVERTER_OUTPUT_STREAM,val) #define Val_GConverterOutputStream(val) Val_GObject((GObject*)val) #define Val_GConverterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterOutputStreamClass' */ /*TODO: conversion for record 'GConverterOutputStreamPrivate' */ #define GCredentials_val(val) check_cast(G_CREDENTIALS,val) #define Val_GCredentials(val) Val_GObject((GObject*)val) #define Val_GCredentials_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCredentialsClass' */ /*TODO: conversion for record 'GDBusAnnotationInfo' */ /*TODO: conversion for record 'GDBusArgInfo' */ #define GDBusAuthObserver_val(val) check_cast(G_D_BUS_AUTH_OBSERVER,val) #define Val_GDBusAuthObserver(val) Val_GObject((GObject*)val) #define Val_GDBusAuthObserver_new(val) Val_GObject_new((GObject*)val) #define GDBusConnection_val(val) check_cast(G_D_BUS_CONNECTION,val) #define Val_GDBusConnection(val) Val_GObject((GObject*)val) #define Val_GDBusConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusErrorEntry' */ /*TODO: conversion for record 'GDBusInterfaceInfo' */ /*TODO: conversion for record 'GDBusInterfaceVTable' */ #define GDBusMessage_val(val) check_cast(G_D_BUS_MESSAGE,val) #define Val_GDBusMessage(val) Val_GObject((GObject*)val) #define Val_GDBusMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusMethodInfo' */ #define GDBusMethodInvocation_val(val) check_cast(G_D_BUS_METHOD_INVOCATION,val) #define Val_GDBusMethodInvocation(val) Val_GObject((GObject*)val) #define Val_GDBusMethodInvocation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusNodeInfo' */ /*TODO: conversion for record 'GDBusPropertyInfo' */ #define GDBusProxy_val(val) check_cast(G_D_BUS_PROXY,val) #define Val_GDBusProxy(val) Val_GObject((GObject*)val) #define Val_GDBusProxy_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusProxyClass' */ /*TODO: conversion for record 'GDBusProxyPrivate' */ #define GDBusServer_val(val) check_cast(G_D_BUS_SERVER,val) #define Val_GDBusServer(val) Val_GObject((GObject*)val) #define Val_GDBusServer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusSignalInfo' */ /*TODO: conversion for record 'GDBusSubtreeVTable' */ #define GDataInputStream_val(val) check_cast(G_DATA_INPUT_STREAM,val) #define Val_GDataInputStream(val) Val_GObject((GObject*)val) #define Val_GDataInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataInputStreamClass' */ /*TODO: conversion for record 'GDataInputStreamPrivate' */ #define GDataOutputStream_val(val) check_cast(G_DATA_OUTPUT_STREAM,val) #define Val_GDataOutputStream(val) Val_GObject((GObject*)val) #define Val_GDataOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataOutputStreamClass' */ /*TODO: conversion for record 'GDataOutputStreamPrivate' */ #define GDesktopAppInfo_val(val) check_cast(G_DESKTOP_APP_INFO,val) #define Val_GDesktopAppInfo(val) Val_GObject((GObject*)val) #define Val_GDesktopAppInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDesktopAppInfoClass' */ /*TODO: conversion for record 'GDesktopAppInfoLaunchHandlerIface' */ /*TODO: conversion for record 'GDesktopAppInfoLookupIface' */ /*TODO: conversion for record 'GDriveIface' */ #define GEmblem_val(val) check_cast(G_EMBLEM,val) #define Val_GEmblem(val) Val_GObject((GObject*)val) #define Val_GEmblem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemClass' */ #define GEmblemedIcon_val(val) check_cast(G_EMBLEMED_ICON,val) #define Val_GEmblemedIcon(val) Val_GObject((GObject*)val) #define Val_GEmblemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemedIconClass' */ /*TODO: conversion for record 'GEmblemedIconPrivate' */ /*TODO: conversion for record 'GFileAttributeInfo' */ /*TODO: conversion for record 'GFileAttributeInfoList' */ /*TODO: conversion for record 'GFileAttributeMatcher' */ /*TODO: conversion for record 'GFileDescriptorBasedIface' */ #define GFileEnumerator_val(val) check_cast(G_FILE_ENUMERATOR,val) #define Val_GFileEnumerator(val) Val_GObject((GObject*)val) #define Val_GFileEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileEnumeratorClass' */ /*TODO: conversion for record 'GFileEnumeratorPrivate' */ #define GFileIOStream_val(val) check_cast(G_FILE_I_O_STREAM,val) #define Val_GFileIOStream(val) Val_GObject((GObject*)val) #define Val_GFileIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIOStreamClass' */ /*TODO: conversion for record 'GFileIOStreamPrivate' */ #define GFileIcon_val(val) check_cast(G_FILE_ICON,val) #define Val_GFileIcon(val) Val_GObject((GObject*)val) #define Val_GFileIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIconClass' */ /*TODO: conversion for record 'GFileIface' */ #define GFileInfo_val(val) check_cast(G_FILE_INFO,val) #define Val_GFileInfo(val) Val_GObject((GObject*)val) #define Val_GFileInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInfoClass' */ #define GFileInputStream_val(val) check_cast(G_FILE_INPUT_STREAM,val) #define Val_GFileInputStream(val) Val_GObject((GObject*)val) #define Val_GFileInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInputStreamClass' */ /*TODO: conversion for record 'GFileInputStreamPrivate' */ #define GFileMonitor_val(val) check_cast(G_FILE_MONITOR,val) #define Val_GFileMonitor(val) Val_GObject((GObject*)val) #define Val_GFileMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileMonitorClass' */ /*TODO: conversion for record 'GFileMonitorPrivate' */ #define GFileOutputStream_val(val) check_cast(G_FILE_OUTPUT_STREAM,val) #define Val_GFileOutputStream(val) Val_GObject((GObject*)val) #define Val_GFileOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileOutputStreamClass' */ /*TODO: conversion for record 'GFileOutputStreamPrivate' */ #define GFilenameCompleter_val(val) check_cast(G_FILENAME_COMPLETER,val) #define Val_GFilenameCompleter(val) Val_GObject((GObject*)val) #define Val_GFilenameCompleter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilenameCompleterClass' */ #define GFilterInputStream_val(val) check_cast(G_FILTER_INPUT_STREAM,val) #define Val_GFilterInputStream(val) Val_GObject((GObject*)val) #define Val_GFilterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterInputStreamClass' */ #define GFilterOutputStream_val(val) check_cast(G_FILTER_OUTPUT_STREAM,val) #define Val_GFilterOutputStream(val) Val_GObject((GObject*)val) #define Val_GFilterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterOutputStreamClass' */ /*TODO: conversion for record 'GIOExtension' */ /*TODO: conversion for record 'GIOExtensionPoint' */ #define GIOModule_val(val) check_cast(G_I_O_MODULE,val) #define Val_GIOModule(val) Val_GObject((GObject*)val) #define Val_GIOModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOModuleClass' */ /*TODO: conversion for record 'GIOSchedulerJob' */ #define GIOStream_val(val) check_cast(G_I_O_STREAM,val) #define Val_GIOStream(val) Val_GObject((GObject*)val) #define Val_GIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOStreamAdapter' */ /*TODO: conversion for record 'GIOStreamClass' */ /*TODO: conversion for record 'GIOStreamPrivate' */ /*TODO: conversion for record 'GIconIface' */ #define GInetAddress_val(val) check_cast(G_INET_ADDRESS,val) #define Val_GInetAddress(val) Val_GObject((GObject*)val) #define Val_GInetAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetAddressClass' */ /*TODO: conversion for record 'GInetAddressPrivate' */ #define GInetSocketAddress_val(val) check_cast(G_INET_SOCKET_ADDRESS,val) #define Val_GInetSocketAddress(val) Val_GObject((GObject*)val) #define Val_GInetSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetSocketAddressClass' */ /*TODO: conversion for record 'GInetSocketAddressPrivate' */ /*TODO: conversion for record 'GInitableIface' */ #define GInputStream_val(val) check_cast(G_INPUT_STREAM,val) #define Val_GInputStream(val) Val_GObject((GObject*)val) #define Val_GInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInputStreamClass' */ /*TODO: conversion for record 'GInputStreamPrivate' */ /*TODO: conversion for record 'GInputVector' */ /*TODO: conversion for record 'GLoadableIconIface' */ #define GMemoryInputStream_val(val) check_cast(G_MEMORY_INPUT_STREAM,val) #define Val_GMemoryInputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryInputStreamClass' */ /*TODO: conversion for record 'GMemoryInputStreamPrivate' */ #define GMemoryOutputStream_val(val) check_cast(G_MEMORY_OUTPUT_STREAM,val) #define Val_GMemoryOutputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryOutputStreamClass' */ /*TODO: conversion for record 'GMemoryOutputStreamPrivate' */ /*TODO: conversion for record 'GMountIface' */ #define GMountOperation_val(val) check_cast(G_MOUNT_OPERATION,val) #define Val_GMountOperation(val) Val_GObject((GObject*)val) #define Val_GMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMountOperationClass' */ /*TODO: conversion for record 'GMountOperationPrivate' */ #define GNativeVolumeMonitor_val(val) check_cast(G_NATIVE_VOLUME_MONITOR,val) #define Val_GNativeVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GNativeVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNativeVolumeMonitorClass' */ #define GNetworkAddress_val(val) check_cast(G_NETWORK_ADDRESS,val) #define Val_GNetworkAddress(val) Val_GObject((GObject*)val) #define Val_GNetworkAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkAddressClass' */ /*TODO: conversion for record 'GNetworkAddressPrivate' */ #define GNetworkService_val(val) check_cast(G_NETWORK_SERVICE,val) #define Val_GNetworkService(val) Val_GObject((GObject*)val) #define Val_GNetworkService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkServiceClass' */ /*TODO: conversion for record 'GNetworkServicePrivate' */ #define GOutputStream_val(val) check_cast(G_OUTPUT_STREAM,val) #define Val_GOutputStream(val) Val_GObject((GObject*)val) #define Val_GOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GOutputStreamClass' */ /*TODO: conversion for record 'GOutputStreamPrivate' */ /*TODO: conversion for record 'GOutputVector' */ #define GPermission_val(val) check_cast(G_PERMISSION,val) #define Val_GPermission(val) Val_GObject((GObject*)val) #define Val_GPermission_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GPermissionClass' */ /*TODO: conversion for record 'GPermissionPrivate' */ /*TODO: conversion for record 'GPollableInputStreamInterface' */ /*TODO: conversion for record 'GPollableOutputStreamInterface' */ #define GProxyAddress_val(val) check_cast(G_PROXY_ADDRESS,val) #define Val_GProxyAddress(val) Val_GObject((GObject*)val) #define Val_GProxyAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressClass' */ #define GProxyAddressEnumerator_val(val) check_cast(G_PROXY_ADDRESS_ENUMERATOR,val) #define Val_GProxyAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GProxyAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressEnumeratorClass' */ /*TODO: conversion for record 'GProxyAddressEnumeratorPrivate' */ /*TODO: conversion for record 'GProxyAddressPrivate' */ /*TODO: conversion for record 'GProxyInterface' */ /*TODO: conversion for record 'GProxyResolverInterface' */ #define GResolver_val(val) check_cast(G_RESOLVER,val) #define Val_GResolver(val) Val_GObject((GObject*)val) #define Val_GResolver_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GResolverClass' */ /*TODO: conversion for record 'GResolverPrivate' */ /*TODO: conversion for record 'GSeekableIface' */ #define GSettings_val(val) check_cast(G_SETTINGS,val) #define Val_GSettings(val) Val_GObject((GObject*)val) #define Val_GSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSettingsBackend' */ /*TODO: conversion for record 'GSettingsClass' */ /*TODO: conversion for record 'GSettingsPrivate' */ #define GSimpleAction_val(val) check_cast(G_SIMPLE_ACTION,val) #define Val_GSimpleAction(val) Val_GObject((GObject*)val) #define Val_GSimpleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionClass' */ #define GSimpleActionGroup_val(val) check_cast(G_SIMPLE_ACTION_GROUP,val) #define Val_GSimpleActionGroup(val) Val_GObject((GObject*)val) #define Val_GSimpleActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionGroupClass' */ /*TODO: conversion for record 'GSimpleActionGroupPrivate' */ /*TODO: conversion for record 'GSimpleActionPrivate' */ #define GSimpleAsyncResult_val(val) check_cast(G_SIMPLE_ASYNC_RESULT,val) #define Val_GSimpleAsyncResult(val) Val_GObject((GObject*)val) #define Val_GSimpleAsyncResult_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleAsyncResultClass' */ #define GSimplePermission_val(val) check_cast(G_SIMPLE_PERMISSION,val) #define Val_GSimplePermission(val) Val_GObject((GObject*)val) #define Val_GSimplePermission_new(val) Val_GObject_new((GObject*)val) #define GSocket_val(val) check_cast(G_SOCKET,val) #define Val_GSocket(val) Val_GObject((GObject*)val) #define Val_GSocket_new(val) Val_GObject_new((GObject*)val) #define GSocketAddress_val(val) check_cast(G_SOCKET_ADDRESS,val) #define Val_GSocketAddress(val) Val_GObject((GObject*)val) #define Val_GSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressClass' */ #define GSocketAddressEnumerator_val(val) check_cast(G_SOCKET_ADDRESS_ENUMERATOR,val) #define Val_GSocketAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GSocketAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressEnumeratorClass' */ /*TODO: conversion for record 'GSocketClass' */ #define GSocketClient_val(val) check_cast(G_SOCKET_CLIENT,val) #define Val_GSocketClient(val) Val_GObject((GObject*)val) #define Val_GSocketClient_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketClientClass' */ /*TODO: conversion for record 'GSocketClientPrivate' */ /*TODO: conversion for record 'GSocketConnectableIface' */ #define GSocketConnection_val(val) check_cast(G_SOCKET_CONNECTION,val) #define Val_GSocketConnection(val) Val_GObject((GObject*)val) #define Val_GSocketConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketConnectionClass' */ /*TODO: conversion for record 'GSocketConnectionPrivate' */ #define GSocketControlMessage_val(val) check_cast(G_SOCKET_CONTROL_MESSAGE,val) #define Val_GSocketControlMessage(val) Val_GObject((GObject*)val) #define Val_GSocketControlMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketControlMessageClass' */ /*TODO: conversion for record 'GSocketControlMessagePrivate' */ #define GSocketListener_val(val) check_cast(G_SOCKET_LISTENER,val) #define Val_GSocketListener(val) Val_GObject((GObject*)val) #define Val_GSocketListener_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketListenerClass' */ /*TODO: conversion for record 'GSocketListenerPrivate' */ /*TODO: conversion for record 'GSocketPrivate' */ #define GSocketService_val(val) check_cast(G_SOCKET_SERVICE,val) #define Val_GSocketService(val) Val_GObject((GObject*)val) #define Val_GSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketServiceClass' */ /*TODO: conversion for record 'GSocketServicePrivate' */ /*TODO: conversion for record 'GSrvTarget' */ #define GTcpConnection_val(val) check_cast(G_TCP_CONNECTION,val) #define Val_GTcpConnection(val) Val_GObject((GObject*)val) #define Val_GTcpConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpConnectionClass' */ /*TODO: conversion for record 'GTcpConnectionPrivate' */ #define GTcpWrapperConnection_val(val) check_cast(G_TCP_WRAPPER_CONNECTION,val) #define Val_GTcpWrapperConnection(val) Val_GObject((GObject*)val) #define Val_GTcpWrapperConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpWrapperConnectionClass' */ /*TODO: conversion for record 'GTcpWrapperConnectionPrivate' */ #define GThemedIcon_val(val) check_cast(G_THEMED_ICON,val) #define Val_GThemedIcon(val) Val_GObject((GObject*)val) #define Val_GThemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThemedIconClass' */ #define GThreadedSocketService_val(val) check_cast(G_THREADED_SOCKET_SERVICE,val) #define Val_GThreadedSocketService(val) Val_GObject((GObject*)val) #define Val_GThreadedSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThreadedSocketServiceClass' */ /*TODO: conversion for record 'GThreadedSocketServicePrivate' */ /*TODO: conversion for record 'GTlsBackendInterface' */ #define GTlsCertificate_val(val) check_cast(G_TLS_CERTIFICATE,val) #define Val_GTlsCertificate(val) Val_GObject((GObject*)val) #define Val_GTlsCertificate_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsCertificateClass' */ /*TODO: conversion for record 'GTlsCertificatePrivate' */ /*TODO: conversion for record 'GTlsClientConnectionInterface' */ /*TODO: conversion for record 'GTlsClientContext' */ #define GTlsConnection_val(val) check_cast(G_TLS_CONNECTION,val) #define Val_GTlsConnection(val) Val_GObject((GObject*)val) #define Val_GTlsConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsConnectionClass' */ /*TODO: conversion for record 'GTlsConnectionPrivate' */ /*TODO: conversion for record 'GTlsContext' */ /*TODO: conversion for record 'GTlsServerConnectionInterface' */ /*TODO: conversion for record 'GTlsServerContext' */ #define GUnixConnection_val(val) check_cast(G_UNIX_CONNECTION,val) #define Val_GUnixConnection(val) Val_GObject((GObject*)val) #define Val_GUnixConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixConnectionClass' */ /*TODO: conversion for record 'GUnixConnectionPrivate' */ #define GUnixCredentialsMessage_val(val) check_cast(G_UNIX_CREDENTIALS_MESSAGE,val) #define Val_GUnixCredentialsMessage(val) Val_GObject((GObject*)val) #define Val_GUnixCredentialsMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixCredentialsMessageClass' */ /*TODO: conversion for record 'GUnixCredentialsMessagePrivate' */ #define GUnixFDList_val(val) check_cast(G_UNIX_F_D_LIST,val) #define Val_GUnixFDList(val) Val_GObject((GObject*)val) #define Val_GUnixFDList_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDListClass' */ /*TODO: conversion for record 'GUnixFDListPrivate' */ #define GUnixFDMessage_val(val) check_cast(G_UNIX_F_D_MESSAGE,val) #define Val_GUnixFDMessage(val) Val_GObject((GObject*)val) #define Val_GUnixFDMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDMessageClass' */ /*TODO: conversion for record 'GUnixFDMessagePrivate' */ #define GUnixInputStream_val(val) check_cast(G_UNIX_INPUT_STREAM,val) #define Val_GUnixInputStream(val) Val_GObject((GObject*)val) #define Val_GUnixInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixInputStreamClass' */ /*TODO: conversion for record 'GUnixInputStreamPrivate' */ /*TODO: conversion for record 'GUnixMountEntry' */ #define GUnixMountMonitor_val(val) check_cast(G_UNIX_MOUNT_MONITOR,val) #define Val_GUnixMountMonitor(val) Val_GObject((GObject*)val) #define Val_GUnixMountMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixMountMonitorClass' */ /*TODO: conversion for record 'GUnixMountPoint' */ #define GUnixOutputStream_val(val) check_cast(G_UNIX_OUTPUT_STREAM,val) #define Val_GUnixOutputStream(val) Val_GObject((GObject*)val) #define Val_GUnixOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixOutputStreamClass' */ /*TODO: conversion for record 'GUnixOutputStreamPrivate' */ #define GUnixSocketAddress_val(val) check_cast(G_UNIX_SOCKET_ADDRESS,val) #define Val_GUnixSocketAddress(val) Val_GObject((GObject*)val) #define Val_GUnixSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixSocketAddressClass' */ /*TODO: conversion for record 'GUnixSocketAddressPrivate' */ #define GVfs_val(val) check_cast(G_VFS,val) #define Val_GVfs(val) Val_GObject((GObject*)val) #define Val_GVfs_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVfsClass' */ /*TODO: conversion for record 'GVolumeIface' */ #define GVolumeMonitor_val(val) check_cast(G_VOLUME_MONITOR,val) #define Val_GVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVolumeMonitorClass' */ #define GZlibCompressor_val(val) check_cast(G_ZLIB_COMPRESSOR,val) #define Val_GZlibCompressor(val) Val_GObject((GObject*)val) #define Val_GZlibCompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibCompressorClass' */ #define GZlibDecompressor_val(val) check_cast(G_ZLIB_DECOMPRESSOR,val) #define Val_GZlibDecompressor(val) Val_GObject((GObject*)val) #define Val_GZlibDecompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibDecompressorClass' */ #define GdkPixbuf_val(val) check_cast(GDK_PIXBUF,val) #define Val_GdkPixbuf(val) Val_GObject((GObject*)val) #define Val_GdkPixbuf_new(val) Val_GObject_new((GObject*)val) #define GdkPixbufAnimation_val(val) check_cast(GDK_PIXBUF_ANIMATION,val) #define Val_GdkPixbufAnimation(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationClass' */ #define GdkPixbufAnimationIter_val(val) check_cast(GDK_PIXBUF_ANIMATION_ITER,val) #define Val_GdkPixbufAnimationIter(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimationIter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationIterClass' */ /*TODO: conversion for record 'GdkPixbufFormat' */ #define GdkPixbufLoader_val(val) check_cast(GDK_PIXBUF_LOADER,val) #define Val_GdkPixbufLoader(val) Val_GObject((GObject*)val) #define Val_GdkPixbufLoader_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufLoaderClass' */ /*TODO: conversion for record 'GdkPixbufModule' */ /*TODO: conversion for record 'GdkPixbufModulePattern' */ #define GdkPixbufSimpleAnim_val(val) check_cast(GDK_PIXBUF_SIMPLE_ANIM,val) #define Val_GdkPixbufSimpleAnim(val) Val_GObject((GObject*)val) #define Val_GdkPixbufSimpleAnim_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufSimpleAnimClass' */ /*TODO: conversion for record 'GdkPixdata' */ /*TODO: conversion for record 'cairo_t' */ /*TODO: conversion for record 'cairo_surface_t' */ /*TODO: conversion for record 'cairo_matrix_t' */ /*TODO: conversion for record 'cairo_pattern_t' */ /*TODO: conversion for record 'cairo_region_t' */ /*TODO: conversion for record 'cairo_font_options_t' */ /*TODO: conversion for record 'cairo_font_type_t' */ /*TODO: conversion for record 'cairo_font_face_t' */ /*TODO: conversion for record 'cairo_scaled_font_t' */ /*TODO: conversion for record 'cairo_path_t' */ /*TODO: conversion for record 'cairo_rectangle_int_t' */ /*TODO: conversion for record 'PangoAnalysis' */ /*TODO: conversion for record 'PangoAttrClass' */ /*TODO: conversion for record 'PangoAttrColor' */ /*TODO: conversion for record 'PangoAttrFloat' */ /*TODO: conversion for record 'PangoAttrFontDesc' */ /*TODO: conversion for record 'PangoAttrInt' */ /*TODO: conversion for record 'PangoAttrIterator' */ /*TODO: conversion for record 'PangoAttrLanguage' */ /*TODO: conversion for record 'PangoAttrList' */ /*TODO: conversion for record 'PangoAttrShape' */ /*TODO: conversion for record 'PangoAttrSize' */ /*TODO: conversion for record 'PangoAttrString' */ /*TODO: conversion for record 'PangoAttribute' */ /*TODO: conversion for record 'PangoColor' */ #define PangoContext_val(val) check_cast(PANGO_CONTEXT,val) #define Val_PangoContext(val) Val_GObject((GObject*)val) #define Val_PangoContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoContextClass' */ /*TODO: conversion for record 'PangoCoverage' */ /*TODO: conversion for record 'PangoEngineLang' */ /*TODO: conversion for record 'PangoEngineShape' */ #define PangoFont_val(val) check_cast(PANGO_FONT,val) #define Val_PangoFont(val) Val_GObject((GObject*)val) #define Val_PangoFont_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontDescription' */ #define PangoFontFace_val(val) check_cast(PANGO_FONT_FACE,val) #define Val_PangoFontFace(val) Val_GObject((GObject*)val) #define Val_PangoFontFace_new(val) Val_GObject_new((GObject*)val) #define PangoFontFamily_val(val) check_cast(PANGO_FONT_FAMILY,val) #define Val_PangoFontFamily(val) Val_GObject((GObject*)val) #define Val_PangoFontFamily_new(val) Val_GObject_new((GObject*)val) #define PangoFontMap_val(val) check_cast(PANGO_FONT_MAP,val) #define Val_PangoFontMap(val) Val_GObject((GObject*)val) #define Val_PangoFontMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontMetrics' */ #define PangoFontset_val(val) check_cast(PANGO_FONTSET,val) #define Val_PangoFontset(val) Val_GObject((GObject*)val) #define Val_PangoFontset_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoGlyphGeometry' */ /*TODO: conversion for record 'PangoGlyphInfo' */ /*TODO: conversion for record 'PangoGlyphItem' */ /*TODO: conversion for record 'PangoGlyphItemIter' */ /*TODO: conversion for record 'PangoGlyphString' */ /*TODO: conversion for record 'PangoGlyphVisAttr' */ /*TODO: conversion for record 'PangoItem' */ /*TODO: conversion for record 'PangoLanguage' */ #define PangoLayout_val(val) check_cast(PANGO_LAYOUT,val) #define Val_PangoLayout(val) Val_GObject((GObject*)val) #define Val_PangoLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoLayoutClass' */ /*TODO: conversion for record 'PangoLayoutIter' */ /*TODO: conversion for record 'PangoLayoutLine' */ /*TODO: conversion for record 'PangoLogAttr' */ /*TODO: conversion for record 'PangoMatrix' */ /*TODO: conversion for record 'PangoRectangle' */ #define PangoRenderer_val(val) check_cast(PANGO_RENDERER,val) #define Val_PangoRenderer(val) Val_GObject((GObject*)val) #define Val_PangoRenderer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoRendererClass' */ /*TODO: conversion for record 'PangoRendererPrivate' */ /*TODO: conversion for record 'PangoScriptIter' */ /*TODO: conversion for record 'PangoTabArray' */ /*TODO: conversion for record '_PangoScriptForLang' */ #define GdkAppLaunchContext_val(val) check_cast(GDK_APP_LAUNCH_CONTEXT,val) #define Val_GdkAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GdkAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkAtom' */ /*TODO: conversion for record 'GdkColor' */ #define GdkCursor_val(val) check_cast(GDK_CURSOR,val) #define Val_GdkCursor(val) Val_GObject((GObject*)val) #define Val_GdkCursor_new(val) Val_GObject_new((GObject*)val) #define GdkDevice_val(val) check_cast(GDK_DEVICE,val) #define Val_GdkDevice(val) Val_GObject((GObject*)val) #define Val_GdkDevice_new(val) Val_GObject_new((GObject*)val) #define GdkDeviceManager_val(val) check_cast(GDK_DEVICE_MANAGER,val) #define Val_GdkDeviceManager(val) Val_GObject((GObject*)val) #define Val_GdkDeviceManager_new(val) Val_GObject_new((GObject*)val) #define GdkDisplay_val(val) check_cast(GDK_DISPLAY_OBJECT,val) #define Val_GdkDisplay(val) Val_GObject((GObject*)val) #define Val_GdkDisplay_new(val) Val_GObject_new((GObject*)val) #define GdkDisplayManager_val(val) check_cast(GDK_DISPLAY_MANAGER,val) #define Val_GdkDisplayManager(val) Val_GObject((GObject*)val) #define Val_GdkDisplayManager_new(val) Val_GObject_new((GObject*)val) #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val) #define Val_GdkDragContext(val) Val_GObject((GObject*)val) #define Val_GdkDragContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkEventAny' */ /*TODO: conversion for record 'GdkEventButton' */ /*TODO: conversion for record 'GdkEventConfigure' */ /*TODO: conversion for record 'GdkEventCrossing' */ /*TODO: conversion for record 'GdkEventDND' */ /*TODO: conversion for record 'GdkEventExpose' */ /*TODO: conversion for record 'GdkEventFocus' */ /*TODO: conversion for record 'GdkEventGrabBroken' */ /*TODO: conversion for record 'GdkEventKey' */ /*TODO: conversion for record 'GdkEventMotion' */ /*TODO: conversion for record 'GdkEventOwnerChange' */ /*TODO: conversion for record 'GdkEventProperty' */ /*TODO: conversion for record 'GdkEventProximity' */ /*TODO: conversion for record 'GdkEventScroll' */ /*TODO: conversion for record 'GdkEventSelection' */ /*TODO: conversion for record 'GdkEventSetting' */ /*TODO: conversion for record 'GdkEventVisibility' */ /*TODO: conversion for record 'GdkEventWindowState' */ /*TODO: conversion for record 'GdkGeometry' */ #define GdkKeymap_val(val) check_cast(GDK_KEYMAP,val) #define Val_GdkKeymap(val) Val_GObject((GObject*)val) #define Val_GdkKeymap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkKeymapKey' */ /*TODO: conversion for record 'GdkPoint' */ /*TODO: conversion for record 'GdkRGBA' */ #define GdkScreen_val(val) check_cast(GDK_SCREEN,val) #define Val_GdkScreen(val) Val_GObject((GObject*)val) #define Val_GdkScreen_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkTimeCoord' */ #define GdkVisual_val(val) check_cast(GDK_VISUAL,val) #define Val_GdkVisual(val) Val_GObject((GObject*)val) #define Val_GdkVisual_new(val) Val_GObject_new((GObject*)val) #define GdkWindow_val(val) check_cast(GDK_WINDOW,val) #define Val_GdkWindow(val) Val_GObject((GObject*)val) #define Val_GdkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkWindowAttr' */ /*TODO: conversion for record 'GdkWindowClass' */ /*TODO: conversion for record 'GdkWindowRedirect' */ #define GtkAboutDialog_val(val) check_cast(GTK_ABOUT_DIALOG,val) #define Val_GtkAboutDialog(val) Val_GObject((GObject*)val) #define Val_GtkAboutDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAboutDialogClass' */ /*TODO: conversion for record 'GtkAboutDialogPrivate' */ #define GtkAccelGroup_val(val) check_cast(GTK_ACCEL_GROUP,val) #define Val_GtkAccelGroup(val) Val_GObject((GObject*)val) #define Val_GtkAccelGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelGroupClass' */ /*TODO: conversion for record 'GtkAccelGroupEntry' */ /*TODO: conversion for record 'GtkAccelGroupPrivate' */ /*TODO: conversion for record 'GtkAccelKey' */ #define GtkAccelLabel_val(val) check_cast(GTK_ACCEL_LABEL,val) #define Val_GtkAccelLabel(val) Val_GObject((GObject*)val) #define Val_GtkAccelLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelLabelClass' */ /*TODO: conversion for record 'GtkAccelLabelPrivate' */ #define GtkAccelMap_val(val) check_cast(GTK_ACCEL_MAP,val) #define Val_GtkAccelMap(val) Val_GObject((GObject*)val) #define Val_GtkAccelMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelMapClass' */ #define GtkAccessible_val(val) check_cast(GTK_ACCESSIBLE,val) #define Val_GtkAccessible(val) Val_GObject((GObject*)val) #define Val_GtkAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccessibleClass' */ /*TODO: conversion for record 'GtkAccessiblePrivate' */ #define GtkAction_val(val) check_cast(GTK_ACTION,val) #define Val_GtkAction(val) Val_GObject((GObject*)val) #define Val_GtkAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionClass' */ /*TODO: conversion for record 'GtkActionEntry' */ #define GtkActionGroup_val(val) check_cast(GTK_ACTION_GROUP,val) #define Val_GtkActionGroup(val) Val_GObject((GObject*)val) #define Val_GtkActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionGroupClass' */ /*TODO: conversion for record 'GtkActionGroupPrivate' */ /*TODO: conversion for record 'GtkActionPrivate' */ /*TODO: conversion for record 'GtkActivatableIface' */ #define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val) #define Val_GtkAdjustment(val) Val_GObject((GObject*)val) #define Val_GtkAdjustment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAdjustmentClass' */ /*TODO: conversion for record 'GtkAdjustmentPrivate' */ #define GtkAlignment_val(val) check_cast(GTK_ALIGNMENT,val) #define Val_GtkAlignment(val) Val_GObject((GObject*)val) #define Val_GtkAlignment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAlignmentClass' */ /*TODO: conversion for record 'GtkAlignmentPrivate' */ #define GtkAppChooserButton_val(val) check_cast(GTK_APP_CHOOSER_BUTTON,val) #define Val_GtkAppChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserButtonClass' */ /*TODO: conversion for record 'GtkAppChooserButtonPrivate' */ #define GtkAppChooserDialog_val(val) check_cast(GTK_APP_CHOOSER_DIALOG,val) #define Val_GtkAppChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserDialogClass' */ /*TODO: conversion for record 'GtkAppChooserDialogPrivate' */ #define GtkAppChooserWidget_val(val) check_cast(GTK_APP_CHOOSER_WIDGET,val) #define Val_GtkAppChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserWidgetClass' */ /*TODO: conversion for record 'GtkAppChooserWidgetPrivate' */ #define GtkApplication_val(val) check_cast(GTK_APPLICATION,val) #define Val_GtkApplication(val) Val_GObject((GObject*)val) #define Val_GtkApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkApplicationClass' */ /*TODO: conversion for record 'GtkApplicationPrivate' */ #define GtkArrow_val(val) check_cast(GTK_ARROW,val) #define Val_GtkArrow(val) Val_GObject((GObject*)val) #define Val_GtkArrow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkArrowClass' */ /*TODO: conversion for record 'GtkArrowPrivate' */ #define GtkAspectFrame_val(val) check_cast(GTK_ASPECT_FRAME,val) #define Val_GtkAspectFrame(val) Val_GObject((GObject*)val) #define Val_GtkAspectFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAspectFrameClass' */ /*TODO: conversion for record 'GtkAspectFramePrivate' */ #define GtkAssistant_val(val) check_cast(GTK_ASSISTANT,val) #define Val_GtkAssistant(val) Val_GObject((GObject*)val) #define Val_GtkAssistant_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAssistantClass' */ /*TODO: conversion for record 'GtkAssistantPrivate' */ #define GtkBin_val(val) check_cast(GTK_BIN,val) #define Val_GtkBin(val) Val_GObject((GObject*)val) #define Val_GtkBin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBinClass' */ /*TODO: conversion for record 'GtkBinPrivate' */ /*TODO: conversion for record 'GtkBindingArg' */ /*TODO: conversion for record 'GtkBindingEntry' */ /*TODO: conversion for record 'GtkBindingSet' */ /*TODO: conversion for record 'GtkBindingSignal' */ /*TODO: conversion for record 'GtkBorder' */ #define GtkBox_val(val) check_cast(GTK_BOX,val) #define Val_GtkBox(val) Val_GObject((GObject*)val) #define Val_GtkBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBoxClass' */ /*TODO: conversion for record 'GtkBoxPrivate' */ /*TODO: conversion for record 'GtkBuildableIface' */ #define GtkBuilder_val(val) check_cast(GTK_BUILDER,val) #define Val_GtkBuilder(val) Val_GObject((GObject*)val) #define Val_GtkBuilder_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBuilderClass' */ /*TODO: conversion for record 'GtkBuilderPrivate' */ #define GtkButton_val(val) check_cast(GTK_BUTTON,val) #define Val_GtkButton(val) Val_GObject((GObject*)val) #define Val_GtkButton_new(val) Val_GObject_new((GObject*)val) #define GtkButtonBox_val(val) check_cast(GTK_BUTTON_BOX,val) #define Val_GtkButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkButtonBoxClass' */ /*TODO: conversion for record 'GtkButtonBoxPrivate' */ /*TODO: conversion for record 'GtkButtonClass' */ /*TODO: conversion for record 'GtkButtonPrivate' */ #define GtkCalendar_val(val) check_cast(GTK_CALENDAR,val) #define Val_GtkCalendar(val) Val_GObject((GObject*)val) #define Val_GtkCalendar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCalendarClass' */ /*TODO: conversion for record 'GtkCalendarPrivate' */ #define GtkCellArea_val(val) check_cast(GTK_CELL_AREA,val) #define Val_GtkCellArea(val) Val_GObject((GObject*)val) #define Val_GtkCellArea_new(val) Val_GObject_new((GObject*)val) #define GtkCellAreaBox_val(val) check_cast(GTK_CELL_AREA_BOX,val) #define Val_GtkCellAreaBox(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaBoxClass' */ /*TODO: conversion for record 'GtkCellAreaBoxPrivate' */ /*TODO: conversion for record 'GtkCellAreaClass' */ #define GtkCellAreaContext_val(val) check_cast(GTK_CELL_AREA_CONTEXT,val) #define Val_GtkCellAreaContext(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaContextClass' */ /*TODO: conversion for record 'GtkCellAreaContextPrivate' */ /*TODO: conversion for record 'GtkCellAreaPrivate' */ /*TODO: conversion for record 'GtkCellEditableIface' */ /*TODO: conversion for record 'GtkCellLayoutIface' */ #define GtkCellRenderer_val(val) check_cast(GTK_CELL_RENDERER,val) #define Val_GtkCellRenderer(val) Val_GObject((GObject*)val) #define Val_GtkCellRenderer_new(val) Val_GObject_new((GObject*)val) #define GtkCellRendererAccel_val(val) check_cast(GTK_CELL_RENDERER_ACCEL,val) #define Val_GtkCellRendererAccel(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererAccel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererAccelClass' */ /*TODO: conversion for record 'GtkCellRendererAccelPrivate' */ /*TODO: conversion for record 'GtkCellRendererClass' */ #define GtkCellRendererCombo_val(val) check_cast(GTK_CELL_RENDERER_COMBO,val) #define Val_GtkCellRendererCombo(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererCombo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererComboClass' */ /*TODO: conversion for record 'GtkCellRendererComboPrivate' */ #define GtkCellRendererPixbuf_val(val) check_cast(GTK_CELL_RENDERER_PIXBUF,val) #define Val_GtkCellRendererPixbuf(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererPixbuf_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererPixbufClass' */ /*TODO: conversion for record 'GtkCellRendererPixbufPrivate' */ /*TODO: conversion for record 'GtkCellRendererPrivate' */ #define GtkCellRendererProgress_val(val) check_cast(GTK_CELL_RENDERER_PROGRESS,val) #define Val_GtkCellRendererProgress(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererProgress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererProgressClass' */ /*TODO: conversion for record 'GtkCellRendererProgressPrivate' */ #define GtkCellRendererSpin_val(val) check_cast(GTK_CELL_RENDERER_SPIN,val) #define Val_GtkCellRendererSpin(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinClass' */ /*TODO: conversion for record 'GtkCellRendererSpinPrivate' */ #define GtkCellRendererSpinner_val(val) check_cast(GTK_CELL_RENDERER_SPINNER,val) #define Val_GtkCellRendererSpinner(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinnerClass' */ /*TODO: conversion for record 'GtkCellRendererSpinnerPrivate' */ #define GtkCellRendererText_val(val) check_cast(GTK_CELL_RENDERER_TEXT,val) #define Val_GtkCellRendererText(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererTextClass' */ /*TODO: conversion for record 'GtkCellRendererTextPrivate' */ #define GtkCellRendererToggle_val(val) check_cast(GTK_CELL_RENDERER_TOGGLE,val) #define Val_GtkCellRendererToggle(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererToggle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererToggleClass' */ /*TODO: conversion for record 'GtkCellRendererTogglePrivate' */ #define GtkCellView_val(val) check_cast(GTK_CELL_VIEW,val) #define Val_GtkCellView(val) Val_GObject((GObject*)val) #define Val_GtkCellView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellViewClass' */ /*TODO: conversion for record 'GtkCellViewPrivate' */ #define GtkCheckButton_val(val) check_cast(GTK_CHECK_BUTTON,val) #define Val_GtkCheckButton(val) Val_GObject((GObject*)val) #define Val_GtkCheckButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckButtonClass' */ #define GtkCheckMenuItem_val(val) check_cast(GTK_CHECK_MENU_ITEM,val) #define Val_GtkCheckMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkCheckMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckMenuItemClass' */ /*TODO: conversion for record 'GtkCheckMenuItemPrivate' */ #define GtkClipboard_val(val) check_cast(GTK_CLIPBOARD,val) #define Val_GtkClipboard(val) Val_GObject((GObject*)val) #define Val_GtkClipboard_new(val) Val_GObject_new((GObject*)val) #define GtkColorButton_val(val) check_cast(GTK_COLOR_BUTTON,val) #define Val_GtkColorButton(val) Val_GObject((GObject*)val) #define Val_GtkColorButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorButtonClass' */ /*TODO: conversion for record 'GtkColorButtonPrivate' */ #define GtkColorSelection_val(val) check_cast(GTK_COLOR_SELECTION,val) #define Val_GtkColorSelection(val) Val_GObject((GObject*)val) #define Val_GtkColorSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionClass' */ #define GtkColorSelectionDialog_val(val) check_cast(GTK_COLOR_SELECTION_DIALOG,val) #define Val_GtkColorSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkColorSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionDialogClass' */ /*TODO: conversion for record 'GtkColorSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkColorSelectionPrivate' */ #define GtkComboBox_val(val) check_cast(GTK_COMBO_BOX,val) #define Val_GtkComboBox(val) Val_GObject((GObject*)val) #define Val_GtkComboBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxClass' */ /*TODO: conversion for record 'GtkComboBoxPrivate' */ #define GtkComboBoxText_val(val) check_cast(GTK_COMBO_BOX_TEXT,val) #define Val_GtkComboBoxText(val) Val_GObject((GObject*)val) #define Val_GtkComboBoxText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxTextClass' */ /*TODO: conversion for record 'GtkComboBoxTextPrivate' */ #define GtkContainer_val(val) check_cast(GTK_CONTAINER,val) #define Val_GtkContainer(val) Val_GObject((GObject*)val) #define Val_GtkContainer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkContainerClass' */ /*TODO: conversion for record 'GtkContainerPrivate' */ #define GtkCssProvider_val(val) check_cast(GTK_CSS_PROVIDER,val) #define Val_GtkCssProvider(val) Val_GObject((GObject*)val) #define Val_GtkCssProvider_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCssProviderClass' */ #define GtkDialog_val(val) check_cast(GTK_DIALOG,val) #define Val_GtkDialog(val) Val_GObject((GObject*)val) #define Val_GtkDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDialogClass' */ /*TODO: conversion for record 'GtkDialogPrivate' */ #define GtkDrawingArea_val(val) check_cast(GTK_DRAWING_AREA,val) #define Val_GtkDrawingArea(val) Val_GObject((GObject*)val) #define Val_GtkDrawingArea_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDrawingAreaClass' */ /*TODO: conversion for record 'GtkEditableInterface' */ #define GtkEntry_val(val) check_cast(GTK_ENTRY,val) #define Val_GtkEntry(val) Val_GObject((GObject*)val) #define Val_GtkEntry_new(val) Val_GObject_new((GObject*)val) #define GtkEntryBuffer_val(val) check_cast(GTK_ENTRY_BUFFER,val) #define Val_GtkEntryBuffer(val) Val_GObject((GObject*)val) #define Val_GtkEntryBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryBufferClass' */ /*TODO: conversion for record 'GtkEntryBufferPrivate' */ /*TODO: conversion for record 'GtkEntryClass' */ #define GtkEntryCompletion_val(val) check_cast(GTK_ENTRY_COMPLETION,val) #define Val_GtkEntryCompletion(val) Val_GObject((GObject*)val) #define Val_GtkEntryCompletion_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryCompletionClass' */ /*TODO: conversion for record 'GtkEntryCompletionPrivate' */ /*TODO: conversion for record 'GtkEntryPrivate' */ #define GtkEventBox_val(val) check_cast(GTK_EVENT_BOX,val) #define Val_GtkEventBox(val) Val_GObject((GObject*)val) #define Val_GtkEventBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEventBoxClass' */ /*TODO: conversion for record 'GtkEventBoxPrivate' */ #define GtkExpander_val(val) check_cast(GTK_EXPANDER,val) #define Val_GtkExpander(val) Val_GObject((GObject*)val) #define Val_GtkExpander_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkExpanderClass' */ /*TODO: conversion for record 'GtkExpanderPrivate' */ #define GtkFileChooserButton_val(val) check_cast(GTK_FILE_CHOOSER_BUTTON,val) #define Val_GtkFileChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserButtonClass' */ /*TODO: conversion for record 'GtkFileChooserButtonPrivate' */ #define GtkFileChooserDialog_val(val) check_cast(GTK_FILE_CHOOSER_DIALOG,val) #define Val_GtkFileChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserDialogClass' */ /*TODO: conversion for record 'GtkFileChooserDialogPrivate' */ #define GtkFileChooserWidget_val(val) check_cast(GTK_FILE_CHOOSER_WIDGET,val) #define Val_GtkFileChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserWidgetClass' */ /*TODO: conversion for record 'GtkFileChooserWidgetPrivate' */ #define GtkFileFilter_val(val) check_cast(GTK_FILE_FILTER,val) #define Val_GtkFileFilter(val) Val_GObject((GObject*)val) #define Val_GtkFileFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileFilterInfo' */ #define GtkFixed_val(val) check_cast(GTK_FIXED,val) #define Val_GtkFixed(val) Val_GObject((GObject*)val) #define Val_GtkFixed_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFixedChild' */ /*TODO: conversion for record 'GtkFixedClass' */ /*TODO: conversion for record 'GtkFixedPrivate' */ #define GtkFontButton_val(val) check_cast(GTK_FONT_BUTTON,val) #define Val_GtkFontButton(val) Val_GObject((GObject*)val) #define Val_GtkFontButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontButtonClass' */ /*TODO: conversion for record 'GtkFontButtonPrivate' */ #define GtkFontSelection_val(val) check_cast(GTK_FONT_SELECTION,val) #define Val_GtkFontSelection(val) Val_GObject((GObject*)val) #define Val_GtkFontSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionClass' */ #define GtkFontSelectionDialog_val(val) check_cast(GTK_FONT_SELECTION_DIALOG,val) #define Val_GtkFontSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkFontSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionDialogClass' */ /*TODO: conversion for record 'GtkFontSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkFontSelectionPrivate' */ #define GtkFrame_val(val) check_cast(GTK_FRAME,val) #define Val_GtkFrame(val) Val_GObject((GObject*)val) #define Val_GtkFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFrameClass' */ /*TODO: conversion for record 'GtkFramePrivate' */ /*TODO: conversion for record 'GtkGradient' */ #define GtkGrid_val(val) check_cast(GTK_GRID,val) #define Val_GtkGrid(val) Val_GObject((GObject*)val) #define Val_GtkGrid_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkGridClass' */ /*TODO: conversion for record 'GtkGridPrivate' */ #define GtkHBox_val(val) check_cast(GTK_H_BOX,val) #define Val_GtkHBox(val) Val_GObject((GObject*)val) #define Val_GtkHBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHBoxClass' */ #define GtkHButtonBox_val(val) check_cast(GTK_H_BUTTON_BOX,val) #define Val_GtkHButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkHButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHButtonBoxClass' */ #define GtkHPaned_val(val) check_cast(GTK_H_PANED,val) #define Val_GtkHPaned(val) Val_GObject((GObject*)val) #define Val_GtkHPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHPanedClass' */ #define GtkHSV_val(val) check_cast(GTK_HSV,val) #define Val_GtkHSV(val) Val_GObject((GObject*)val) #define Val_GtkHSV_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSVClass' */ /*TODO: conversion for record 'GtkHSVPrivate' */ #define GtkHScale_val(val) check_cast(GTK_H_SCALE,val) #define Val_GtkHScale(val) Val_GObject((GObject*)val) #define Val_GtkHScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScaleClass' */ #define GtkHScrollbar_val(val) check_cast(GTK_H_SCROLLBAR,val) #define Val_GtkHScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkHScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScrollbarClass' */ #define GtkHSeparator_val(val) check_cast(GTK_H_SEPARATOR,val) #define Val_GtkHSeparator(val) Val_GObject((GObject*)val) #define Val_GtkHSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSeparatorClass' */ #define GtkHandleBox_val(val) check_cast(GTK_HANDLE_BOX,val) #define Val_GtkHandleBox(val) Val_GObject((GObject*)val) #define Val_GtkHandleBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHandleBoxClass' */ /*TODO: conversion for record 'GtkHandleBoxPrivate' */ #define GtkIMContext_val(val) check_cast(GTK_IM_CONTEXT,val) #define Val_GtkIMContext(val) Val_GObject((GObject*)val) #define Val_GtkIMContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextClass' */ /*TODO: conversion for record 'GtkIMContextInfo' */ #define GtkIMContextSimple_val(val) check_cast(GTK_I_M_CONTEXT_SIMPLE,val) #define Val_GtkIMContextSimple(val) Val_GObject((GObject*)val) #define Val_GtkIMContextSimple_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextSimpleClass' */ /*TODO: conversion for record 'GtkIMContextSimplePrivate' */ #define GtkIMMulticontext_val(val) check_cast(GTK_IM_MULTICONTEXT,val) #define Val_GtkIMMulticontext(val) Val_GObject((GObject*)val) #define Val_GtkIMMulticontext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMMulticontextClass' */ /*TODO: conversion for record 'GtkIMMulticontextPrivate' */ #define GtkIconFactory_val(val) check_cast(GTK_ICON_FACTORY,val) #define Val_GtkIconFactory(val) Val_GObject((GObject*)val) #define Val_GtkIconFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconFactoryClass' */ /*TODO: conversion for record 'GtkIconFactoryPrivate' */ /*TODO: conversion for record 'GtkIconInfo' */ /*TODO: conversion for record 'GtkIconSet' */ /*TODO: conversion for record 'GtkIconSource' */ #define GtkIconTheme_val(val) check_cast(GTK_ICON_THEME,val) #define Val_GtkIconTheme(val) Val_GObject((GObject*)val) #define Val_GtkIconTheme_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconThemeClass' */ /*TODO: conversion for record 'GtkIconThemePrivate' */ #define GtkIconView_val(val) check_cast(GTK_ICON_VIEW,val) #define Val_GtkIconView(val) Val_GObject((GObject*)val) #define Val_GtkIconView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconViewClass' */ /*TODO: conversion for record 'GtkIconViewPrivate' */ #define GtkImage_val(val) check_cast(GTK_IMAGE,val) #define Val_GtkImage(val) Val_GObject((GObject*)val) #define Val_GtkImage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageClass' */ #define GtkImageMenuItem_val(val) check_cast(GTK_IMAGE_MENU_ITEM,val) #define Val_GtkImageMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkImageMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageMenuItemClass' */ /*TODO: conversion for record 'GtkImageMenuItemPrivate' */ /*TODO: conversion for record 'GtkImagePrivate' */ #define GtkInfoBar_val(val) check_cast(GTK_INFO_BAR,val) #define Val_GtkInfoBar(val) Val_GObject((GObject*)val) #define Val_GtkInfoBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInfoBarClass' */ /*TODO: conversion for record 'GtkInfoBarPrivate' */ #define GtkInvisible_val(val) check_cast(GTK_INVISIBLE,val) #define Val_GtkInvisible(val) Val_GObject((GObject*)val) #define Val_GtkInvisible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInvisibleClass' */ /*TODO: conversion for record 'GtkInvisiblePrivate' */ #define GtkLabel_val(val) check_cast(GTK_LABEL,val) #define Val_GtkLabel(val) Val_GObject((GObject*)val) #define Val_GtkLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLabelClass' */ /*TODO: conversion for record 'GtkLabelPrivate' */ /*TODO: conversion for record 'GtkLabelSelectionInfo' */ #define GtkLayout_val(val) check_cast(GTK_LAYOUT,val) #define Val_GtkLayout(val) Val_GObject((GObject*)val) #define Val_GtkLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLayoutClass' */ /*TODO: conversion for record 'GtkLayoutPrivate' */ #define GtkLinkButton_val(val) check_cast(GTK_LINK_BUTTON,val) #define Val_GtkLinkButton(val) Val_GObject((GObject*)val) #define Val_GtkLinkButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLinkButtonClass' */ /*TODO: conversion for record 'GtkLinkButtonPrivate' */ #define GtkListStore_val(val) check_cast(GTK_LIST_STORE,val) #define Val_GtkListStore(val) Val_GObject((GObject*)val) #define Val_GtkListStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkListStoreClass' */ /*TODO: conversion for record 'GtkListStorePrivate' */ #define GtkMenu_val(val) check_cast(GTK_MENU,val) #define Val_GtkMenu(val) Val_GObject((GObject*)val) #define Val_GtkMenu_new(val) Val_GObject_new((GObject*)val) #define GtkMenuBar_val(val) check_cast(GTK_MENU_BAR,val) #define Val_GtkMenuBar(val) Val_GObject((GObject*)val) #define Val_GtkMenuBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuBarClass' */ /*TODO: conversion for record 'GtkMenuBarPrivate' */ /*TODO: conversion for record 'GtkMenuClass' */ #define GtkMenuItem_val(val) check_cast(GTK_MENU_ITEM,val) #define Val_GtkMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuItemClass' */ /*TODO: conversion for record 'GtkMenuItemPrivate' */ /*TODO: conversion for record 'GtkMenuPrivate' */ #define GtkMenuShell_val(val) check_cast(GTK_MENU_SHELL,val) #define Val_GtkMenuShell(val) Val_GObject((GObject*)val) #define Val_GtkMenuShell_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuShellClass' */ /*TODO: conversion for record 'GtkMenuShellPrivate' */ #define GtkMenuToolButton_val(val) check_cast(GTK_MENU_TOOL_BUTTON,val) #define Val_GtkMenuToolButton(val) Val_GObject((GObject*)val) #define Val_GtkMenuToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuToolButtonClass' */ /*TODO: conversion for record 'GtkMenuToolButtonPrivate' */ #define GtkMessageDialog_val(val) check_cast(GTK_MESSAGE_DIALOG,val) #define Val_GtkMessageDialog(val) Val_GObject((GObject*)val) #define Val_GtkMessageDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMessageDialogClass' */ /*TODO: conversion for record 'GtkMessageDialogPrivate' */ #define GtkMisc_val(val) check_cast(GTK_MISC,val) #define Val_GtkMisc(val) Val_GObject((GObject*)val) #define Val_GtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMiscClass' */ /*TODO: conversion for record 'GtkMiscPrivate' */ #define GtkMountOperation_val(val) check_cast(GTK_MOUNT_OPERATION,val) #define Val_GtkMountOperation(val) Val_GObject((GObject*)val) #define Val_GtkMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMountOperationClass' */ /*TODO: conversion for record 'GtkMountOperationPrivate' */ #define GtkNotebook_val(val) check_cast(GTK_NOTEBOOK,val) #define Val_GtkNotebook(val) Val_GObject((GObject*)val) #define Val_GtkNotebook_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNotebookClass' */ /*TODO: conversion for record 'GtkNotebookPrivate' */ #define GtkNumerableIcon_val(val) check_cast(GTK_NUMERABLE_ICON,val) #define Val_GtkNumerableIcon(val) Val_GObject((GObject*)val) #define Val_GtkNumerableIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNumerableIconClass' */ /*TODO: conversion for record 'GtkNumerableIconPrivate' */ #define GtkOffscreenWindow_val(val) check_cast(GTK_OFFSCREEN_WINDOW,val) #define Val_GtkOffscreenWindow(val) Val_GObject((GObject*)val) #define Val_GtkOffscreenWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkOffscreenWindowClass' */ /*TODO: conversion for record 'GtkOrientableIface' */ /*TODO: conversion for record 'GtkPageRange' */ #define GtkPageSetup_val(val) check_cast(GTK_PAGE_SETUP,val) #define Val_GtkPageSetup(val) Val_GObject((GObject*)val) #define Val_GtkPageSetup_new(val) Val_GObject_new((GObject*)val) #define GtkPaned_val(val) check_cast(GTK_PANED,val) #define Val_GtkPaned(val) Val_GObject((GObject*)val) #define Val_GtkPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPanedClass' */ /*TODO: conversion for record 'GtkPanedPrivate' */ /*TODO: conversion for record 'GtkPaperSize' */ #define GtkPlug_val(val) check_cast(GTK_PLUG,val) #define Val_GtkPlug(val) Val_GObject((GObject*)val) #define Val_GtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPlugClass' */ /*TODO: conversion for record 'GtkPlugPrivate' */ #define GtkPrintContext_val(val) check_cast(GTK_PRINT_CONTEXT,val) #define Val_GtkPrintContext(val) Val_GObject((GObject*)val) #define Val_GtkPrintContext_new(val) Val_GObject_new((GObject*)val) #define GtkPrintOperation_val(val) check_cast(GTK_PRINT_OPERATION,val) #define Val_GtkPrintOperation(val) Val_GObject((GObject*)val) #define Val_GtkPrintOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPrintOperationClass' */ /*TODO: conversion for record 'GtkPrintOperationPreviewIface' */ /*TODO: conversion for record 'GtkPrintOperationPrivate' */ #define GtkPrintSettings_val(val) check_cast(GTK_PRINT_SETTINGS,val) #define Val_GtkPrintSettings(val) Val_GObject((GObject*)val) #define Val_GtkPrintSettings_new(val) Val_GObject_new((GObject*)val) #define GtkProgressBar_val(val) check_cast(GTK_PROGRESS_BAR,val) #define Val_GtkProgressBar(val) Val_GObject((GObject*)val) #define Val_GtkProgressBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkProgressBarClass' */ /*TODO: conversion for record 'GtkProgressBarPrivate' */ #define GtkRadioAction_val(val) check_cast(GTK_RADIO_ACTION,val) #define Val_GtkRadioAction(val) Val_GObject((GObject*)val) #define Val_GtkRadioAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioActionClass' */ /*TODO: conversion for record 'GtkRadioActionEntry' */ /*TODO: conversion for record 'GtkRadioActionPrivate' */ #define GtkRadioButton_val(val) check_cast(GTK_RADIO_BUTTON,val) #define Val_GtkRadioButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioButtonClass' */ /*TODO: conversion for record 'GtkRadioButtonPrivate' */ #define GtkRadioMenuItem_val(val) check_cast(GTK_RADIO_MENU_ITEM,val) #define Val_GtkRadioMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkRadioMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioMenuItemClass' */ /*TODO: conversion for record 'GtkRadioMenuItemPrivate' */ #define GtkRadioToolButton_val(val) check_cast(GTK_RADIO_TOOL_BUTTON,val) #define Val_GtkRadioToolButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioToolButtonClass' */ #define GtkRange_val(val) check_cast(GTK_RANGE,val) #define Val_GtkRange(val) Val_GObject((GObject*)val) #define Val_GtkRange_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRangeClass' */ /*TODO: conversion for record 'GtkRangePrivate' */ /*TODO: conversion for record 'GtkRcContext' */ /*TODO: conversion for record 'GtkRcProperty' */ #define GtkRcStyle_val(val) check_cast(GTK_RC_STYLE,val) #define Val_GtkRcStyle(val) Val_GObject((GObject*)val) #define Val_GtkRcStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRcStyleClass' */ #define GtkRecentAction_val(val) check_cast(GTK_RECENT_ACTION,val) #define Val_GtkRecentAction(val) Val_GObject((GObject*)val) #define Val_GtkRecentAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentActionClass' */ /*TODO: conversion for record 'GtkRecentActionPrivate' */ #define GtkRecentChooserDialog_val(val) check_cast(GTK_RECENT_CHOOSER_DIALOG,val) #define Val_GtkRecentChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserDialogClass' */ /*TODO: conversion for record 'GtkRecentChooserDialogPrivate' */ /*TODO: conversion for record 'GtkRecentChooserIface' */ #define GtkRecentChooserMenu_val(val) check_cast(GTK_RECENT_CHOOSER_MENU,val) #define Val_GtkRecentChooserMenu(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserMenu_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserMenuClass' */ /*TODO: conversion for record 'GtkRecentChooserMenuPrivate' */ #define GtkRecentChooserWidget_val(val) check_cast(GTK_RECENT_CHOOSER_WIDGET,val) #define Val_GtkRecentChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserWidgetClass' */ /*TODO: conversion for record 'GtkRecentChooserWidgetPrivate' */ /*TODO: conversion for record 'GtkRecentData' */ #define GtkRecentFilter_val(val) check_cast(GTK_RECENT_FILTER,val) #define Val_GtkRecentFilter(val) Val_GObject((GObject*)val) #define Val_GtkRecentFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentFilterInfo' */ /*TODO: conversion for record 'GtkRecentInfo' */ #define GtkRecentManager_val(val) check_cast(GTK_RECENT_MANAGER,val) #define Val_GtkRecentManager(val) Val_GObject((GObject*)val) #define Val_GtkRecentManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentManagerClass' */ /*TODO: conversion for record 'GtkRecentManagerPrivate' */ /*TODO: conversion for record 'GtkRequestedSize' */ /*TODO: conversion for record 'GtkRequisition' */ #define GtkScale_val(val) check_cast(GTK_SCALE,val) #define Val_GtkScale(val) Val_GObject((GObject*)val) #define Val_GtkScale_new(val) Val_GObject_new((GObject*)val) #define GtkScaleButton_val(val) check_cast(GTK_SCALE_BUTTON,val) #define Val_GtkScaleButton(val) Val_GObject((GObject*)val) #define Val_GtkScaleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScaleButtonClass' */ /*TODO: conversion for record 'GtkScaleButtonPrivate' */ /*TODO: conversion for record 'GtkScaleClass' */ /*TODO: conversion for record 'GtkScalePrivate' */ /*TODO: conversion for record 'GtkScrollableInterface' */ #define GtkScrollbar_val(val) check_cast(GTK_SCROLLBAR,val) #define Val_GtkScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrollbarClass' */ #define GtkScrolledWindow_val(val) check_cast(GTK_SCROLLED_WINDOW,val) #define Val_GtkScrolledWindow(val) Val_GObject((GObject*)val) #define Val_GtkScrolledWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrolledWindowClass' */ /*TODO: conversion for record 'GtkScrolledWindowPrivate' */ /*TODO: conversion for record 'GtkSelectionData' */ #define GtkSeparator_val(val) check_cast(GTK_SEPARATOR,val) #define Val_GtkSeparator(val) Val_GObject((GObject*)val) #define Val_GtkSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorClass' */ #define GtkSeparatorMenuItem_val(val) check_cast(GTK_SEPARATOR_MENU_ITEM,val) #define Val_GtkSeparatorMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorMenuItemClass' */ /*TODO: conversion for record 'GtkSeparatorPrivate' */ #define GtkSeparatorToolItem_val(val) check_cast(GTK_SEPARATOR_TOOL_ITEM,val) #define Val_GtkSeparatorToolItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorToolItemClass' */ /*TODO: conversion for record 'GtkSeparatorToolItemPrivate' */ #define GtkSettings_val(val) check_cast(GTK_SETTINGS,val) #define Val_GtkSettings(val) Val_GObject((GObject*)val) #define Val_GtkSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSettingsClass' */ /*TODO: conversion for record 'GtkSettingsPrivate' */ /*TODO: conversion for record 'GtkSettingsValue' */ #define GtkSizeGroup_val(val) check_cast(GTK_SIZE_GROUP,val) #define Val_GtkSizeGroup(val) Val_GObject((GObject*)val) #define Val_GtkSizeGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSizeGroupClass' */ /*TODO: conversion for record 'GtkSizeGroupPrivate' */ #define GtkSocket_val(val) check_cast(GTK_SOCKET,val) #define Val_GtkSocket(val) Val_GObject((GObject*)val) #define Val_GtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSocketClass' */ /*TODO: conversion for record 'GtkSocketPrivate' */ #define GtkSpinButton_val(val) check_cast(GTK_SPIN_BUTTON,val) #define Val_GtkSpinButton(val) Val_GObject((GObject*)val) #define Val_GtkSpinButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinButtonClass' */ /*TODO: conversion for record 'GtkSpinButtonPrivate' */ #define GtkSpinner_val(val) check_cast(GTK_SPINNER,val) #define Val_GtkSpinner(val) Val_GObject((GObject*)val) #define Val_GtkSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinnerClass' */ /*TODO: conversion for record 'GtkSpinnerPrivate' */ #define GtkStatusIcon_val(val) check_cast(GTK_STATUS_ICON,val) #define Val_GtkStatusIcon(val) Val_GObject((GObject*)val) #define Val_GtkStatusIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusIconClass' */ /*TODO: conversion for record 'GtkStatusIconPrivate' */ #define GtkStatusbar_val(val) check_cast(GTK_STATUSBAR,val) #define Val_GtkStatusbar(val) Val_GObject((GObject*)val) #define Val_GtkStatusbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusbarClass' */ /*TODO: conversion for record 'GtkStatusbarPrivate' */ /*TODO: conversion for record 'GtkStockItem' */ #define GtkStyle_val(val) check_cast(GTK_STYLE,val) #define Val_GtkStyle(val) Val_GObject((GObject*)val) #define Val_GtkStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleClass' */ #define GtkStyleContext_val(val) check_cast(GTK_STYLE_CONTEXT,val) #define Val_GtkStyleContext(val) Val_GObject((GObject*)val) #define Val_GtkStyleContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleContextClass' */ #define GtkStyleProperties_val(val) check_cast(GTK_STYLE_PROPERTIES,val) #define Val_GtkStyleProperties(val) Val_GObject((GObject*)val) #define Val_GtkStyleProperties_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStylePropertiesClass' */ /*TODO: conversion for record 'GtkStyleProviderIface' */ #define GtkSwitch_val(val) check_cast(GTK_SWITCH,val) #define Val_GtkSwitch(val) Val_GObject((GObject*)val) #define Val_GtkSwitch_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSwitchClass' */ /*TODO: conversion for record 'GtkSwitchPrivate' */ /*TODO: conversion for record 'GtkSymbolicColor' */ #define GtkTable_val(val) check_cast(GTK_TABLE,val) #define Val_GtkTable(val) Val_GObject((GObject*)val) #define Val_GtkTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTableChild' */ /*TODO: conversion for record 'GtkTableClass' */ /*TODO: conversion for record 'GtkTablePrivate' */ /*TODO: conversion for record 'GtkTableRowCol' */ /*TODO: conversion for record 'GtkTargetEntry' */ /*TODO: conversion for record 'GtkTargetList' */ #define GtkTearoffMenuItem_val(val) check_cast(GTK_TEAROFF_MENU_ITEM,val) #define Val_GtkTearoffMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkTearoffMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTearoffMenuItemClass' */ /*TODO: conversion for record 'GtkTearoffMenuItemPrivate' */ /*TODO: conversion for record 'GtkTextAppearance' */ /*TODO: conversion for record 'GtkTextAttributes' */ /*TODO: conversion for record 'GtkTextBTree' */ #define GtkTextBuffer_val(val) check_cast(GTK_TEXT_BUFFER,val) #define Val_GtkTextBuffer(val) Val_GObject((GObject*)val) #define Val_GtkTextBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextBufferClass' */ /*TODO: conversion for record 'GtkTextBufferPrivate' */ #define GtkTextChildAnchor_val(val) check_cast(GTK_TEXT_CHILD_ANCHOR,val) #define Val_GtkTextChildAnchor(val) Val_GObject((GObject*)val) #define Val_GtkTextChildAnchor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextChildAnchorClass' */ /*TODO: conversion for record 'GtkTextIter' */ #define GtkTextMark_val(val) check_cast(GTK_TEXT_MARK,val) #define Val_GtkTextMark(val) Val_GObject((GObject*)val) #define Val_GtkTextMark_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextMarkClass' */ #define GtkTextTag_val(val) check_cast(GTK_TEXT_TAG,val) #define Val_GtkTextTag(val) Val_GObject((GObject*)val) #define Val_GtkTextTag_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagClass' */ /*TODO: conversion for record 'GtkTextTagPrivate' */ #define GtkTextTagTable_val(val) check_cast(GTK_TEXT_TAG_TABLE,val) #define Val_GtkTextTagTable(val) Val_GObject((GObject*)val) #define Val_GtkTextTagTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagTableClass' */ /*TODO: conversion for record 'GtkTextTagTablePrivate' */ #define GtkTextView_val(val) check_cast(GTK_TEXT_VIEW,val) #define Val_GtkTextView(val) Val_GObject((GObject*)val) #define Val_GtkTextView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextViewClass' */ /*TODO: conversion for record 'GtkTextViewPrivate' */ /*TODO: conversion for record 'GtkThemeEngine' */ #define GtkThemingEngine_val(val) check_cast(GTK_THEMING_ENGINE,val) #define Val_GtkThemingEngine(val) Val_GObject((GObject*)val) #define Val_GtkThemingEngine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkThemingEngineClass' */ #define GtkToggleAction_val(val) check_cast(GTK_TOGGLE_ACTION,val) #define Val_GtkToggleAction(val) Val_GObject((GObject*)val) #define Val_GtkToggleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleActionClass' */ /*TODO: conversion for record 'GtkToggleActionEntry' */ /*TODO: conversion for record 'GtkToggleActionPrivate' */ #define GtkToggleButton_val(val) check_cast(GTK_TOGGLE_BUTTON,val) #define Val_GtkToggleButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleButtonClass' */ /*TODO: conversion for record 'GtkToggleButtonPrivate' */ #define GtkToggleToolButton_val(val) check_cast(GTK_TOGGLE_TOOL_BUTTON,val) #define Val_GtkToggleToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleToolButtonClass' */ /*TODO: conversion for record 'GtkToggleToolButtonPrivate' */ #define GtkToolButton_val(val) check_cast(GTK_TOOL_BUTTON,val) #define Val_GtkToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolButtonClass' */ /*TODO: conversion for record 'GtkToolButtonPrivate' */ #define GtkToolItem_val(val) check_cast(GTK_TOOL_ITEM,val) #define Val_GtkToolItem(val) Val_GObject((GObject*)val) #define Val_GtkToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemClass' */ #define GtkToolItemGroup_val(val) check_cast(GTK_TOOL_ITEM_GROUP,val) #define Val_GtkToolItemGroup(val) Val_GObject((GObject*)val) #define Val_GtkToolItemGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemGroupClass' */ /*TODO: conversion for record 'GtkToolItemGroupPrivate' */ /*TODO: conversion for record 'GtkToolItemPrivate' */ #define GtkToolPalette_val(val) check_cast(GTK_TOOL_PALETTE,val) #define Val_GtkToolPalette(val) Val_GObject((GObject*)val) #define Val_GtkToolPalette_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolPaletteClass' */ /*TODO: conversion for record 'GtkToolPalettePrivate' */ /*TODO: conversion for record 'GtkToolShellIface' */ #define GtkToolbar_val(val) check_cast(GTK_TOOLBAR,val) #define Val_GtkToolbar(val) Val_GObject((GObject*)val) #define Val_GtkToolbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolbarClass' */ /*TODO: conversion for record 'GtkToolbarPrivate' */ #define GtkTooltip_val(val) check_cast(GTK_TOOLTIP,val) #define Val_GtkTooltip(val) Val_GObject((GObject*)val) #define Val_GtkTooltip_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeDragDestIface' */ /*TODO: conversion for record 'GtkTreeDragSourceIface' */ /*TODO: conversion for record 'GtkTreeIter' */ #define GtkTreeModelFilter_val(val) check_cast(GTK_TREE_MODEL_FILTER,val) #define Val_GtkTreeModelFilter(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelFilterClass' */ /*TODO: conversion for record 'GtkTreeModelFilterPrivate' */ /*TODO: conversion for record 'GtkTreeModelIface' */ #define GtkTreeModelSort_val(val) check_cast(GTK_TREE_MODEL_SORT,val) #define Val_GtkTreeModelSort(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelSort_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelSortClass' */ /*TODO: conversion for record 'GtkTreeModelSortPrivate' */ /*TODO: conversion for record 'GtkTreePath' */ /*TODO: conversion for record 'GtkTreeRowReference' */ #define GtkTreeSelection_val(val) check_cast(GTK_TREE_SELECTION,val) #define Val_GtkTreeSelection(val) Val_GObject((GObject*)val) #define Val_GtkTreeSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeSelectionClass' */ /*TODO: conversion for record 'GtkTreeSelectionPrivate' */ /*TODO: conversion for record 'GtkTreeSortableIface' */ #define GtkTreeStore_val(val) check_cast(GTK_TREE_STORE,val) #define Val_GtkTreeStore(val) Val_GObject((GObject*)val) #define Val_GtkTreeStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeStoreClass' */ /*TODO: conversion for record 'GtkTreeStorePrivate' */ #define GtkTreeView_val(val) check_cast(GTK_TREE_VIEW,val) #define Val_GtkTreeView(val) Val_GObject((GObject*)val) #define Val_GtkTreeView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewClass' */ #define GtkTreeViewColumn_val(val) check_cast(GTK_TREE_VIEW_COLUMN,val) #define Val_GtkTreeViewColumn(val) Val_GObject((GObject*)val) #define Val_GtkTreeViewColumn_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewColumnClass' */ /*TODO: conversion for record 'GtkTreeViewColumnPrivate' */ /*TODO: conversion for record 'GtkTreeViewPrivate' */ #define GtkUIManager_val(val) check_cast(GTK_UI_MANAGER,val) #define Val_GtkUIManager(val) Val_GObject((GObject*)val) #define Val_GtkUIManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkUIManagerClass' */ /*TODO: conversion for record 'GtkUIManagerPrivate' */ #define GtkVBox_val(val) check_cast(GTK_V_BOX,val) #define Val_GtkVBox(val) Val_GObject((GObject*)val) #define Val_GtkVBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVBoxClass' */ #define GtkVButtonBox_val(val) check_cast(GTK_V_BUTTON_BOX,val) #define Val_GtkVButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkVButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVButtonBoxClass' */ #define GtkVPaned_val(val) check_cast(GTK_V_PANED,val) #define Val_GtkVPaned(val) Val_GObject((GObject*)val) #define Val_GtkVPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVPanedClass' */ #define GtkVScale_val(val) check_cast(GTK_V_SCALE,val) #define Val_GtkVScale(val) Val_GObject((GObject*)val) #define Val_GtkVScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScaleClass' */ #define GtkVScrollbar_val(val) check_cast(GTK_V_SCROLLBAR,val) #define Val_GtkVScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkVScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScrollbarClass' */ #define GtkVSeparator_val(val) check_cast(GTK_V_SEPARATOR,val) #define Val_GtkVSeparator(val) Val_GObject((GObject*)val) #define Val_GtkVSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVSeparatorClass' */ #define GtkViewport_val(val) check_cast(GTK_VIEWPORT,val) #define Val_GtkViewport(val) Val_GObject((GObject*)val) #define Val_GtkViewport_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkViewportClass' */ /*TODO: conversion for record 'GtkViewportPrivate' */ #define GtkVolumeButton_val(val) check_cast(GTK_VOLUME_BUTTON,val) #define Val_GtkVolumeButton(val) Val_GObject((GObject*)val) #define Val_GtkVolumeButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVolumeButtonClass' */ #define GtkWidget_val(val) check_cast(GTK_WIDGET,val) #define Val_GtkWidget(val) Val_GObject((GObject*)val) #define Val_GtkWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWidgetAuxInfo' */ /*TODO: conversion for record 'GtkWidgetClass' */ /*TODO: conversion for record 'GtkWidgetPath' */ /*TODO: conversion for record 'GtkWidgetPrivate' */ #define GtkWindow_val(val) check_cast(GTK_WINDOW,val) #define Val_GtkWindow(val) Val_GObject((GObject*)val) #define Val_GtkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowClass' */ /*TODO: conversion for record 'GtkWindowGeometryInfo' */ #define GtkWindowGroup_val(val) check_cast(GTK_WINDOW_GROUP,val) #define Val_GtkWindowGroup(val) Val_GObject((GObject*)val) #define Val_GtkWindowGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowGroupClass' */ /*TODO: conversion for record 'GtkWindowGroupPrivate' */ /*TODO: conversion for record 'GtkWindowPrivate' */ #include #include "../wrappers.h" #include "../ml_gobject.h" /* Module ZlibDecompressorClass */ /* end of ZlibDecompressorClass */ /* Module ZlibDecompressor */ ML_1(g_zlib_decompressor_get_file_info,GZlibDecompressor_val, Val_GFileInfo) /* end of ZlibDecompressor */ /* Module ZlibCompressorClass */ /* end of ZlibCompressorClass */ /* Module ZlibCompressor */ ML_2(g_zlib_compressor_set_file_info,GZlibCompressor_val, Option_val(arg2,GFileInfo_val,NULL) Ignore, Unit) ML_1(g_zlib_compressor_get_file_info,GZlibCompressor_val, Val_GFileInfo) /* end of ZlibCompressor */ /* Module VolumeMonitorClass */ /* end of VolumeMonitorClass */ /* Module VolumeMonitor */ ML_1(g_volume_monitor_get_volumes,GVolumeMonitor_val, Val_GList_new) ML_1(g_volume_monitor_get_mounts,GVolumeMonitor_val, Val_GList_new) ML_1(g_volume_monitor_get_connected_drives,GVolumeMonitor_val, Val_GList_new) ML_0(g_volume_monitor_get,Val_GVolumeMonitor_new) /* end of VolumeMonitor */ /* Module VolumeIface */ /* end of VolumeIface */ /* Module VfsClass */ /* end of VfsClass */ /* Module Vfs */ ML_1(g_vfs_is_active,GVfs_val, Val_bool) ML_0(g_vfs_get_local,Val_GVfs) ML_0(g_vfs_get_default,Val_GVfs) /* end of Vfs */ /* Module UnixSocketAddressPrivate */ /* end of UnixSocketAddressPrivate */ /* Module UnixSocketAddressClass */ /* end of UnixSocketAddressClass */ /* Module UnixSocketAddress */ ML_1(g_unix_socket_address_get_path_len,GUnixSocketAddress_val, Val_int) ML_1(g_unix_socket_address_get_path,GUnixSocketAddress_val, Val_string) ML_1(g_unix_socket_address_get_is_abstract,GUnixSocketAddress_val, Val_bool) ML_0(g_unix_socket_address_abstract_names_supported,Val_bool) /* end of UnixSocketAddress */ /* Module UnixOutputStreamPrivate */ /* end of UnixOutputStreamPrivate */ /* Module UnixOutputStreamClass */ /* end of UnixOutputStreamClass */ /* Module UnixOutputStream */ ML_2(g_unix_output_stream_set_close_fd,GUnixOutputStream_val, Bool_val, Unit) ML_1(g_unix_output_stream_get_fd,GUnixOutputStream_val, Val_int) ML_1(g_unix_output_stream_get_close_fd,GUnixOutputStream_val, Val_bool) /* end of UnixOutputStream */ /* Module UnixMountPoint */ ML_1(g_unix_mount_point_is_user_mountable,GUnixMountPoint_val, Val_bool) ML_1(g_unix_mount_point_is_readonly,GUnixMountPoint_val, Val_bool) ML_1(g_unix_mount_point_is_loopback,GUnixMountPoint_val, Val_bool) ML_1(g_unix_mount_point_guess_name,GUnixMountPoint_val, Val_string_new) ML_1(g_unix_mount_point_guess_can_eject,GUnixMountPoint_val, Val_bool) ML_1(g_unix_mount_point_get_mount_path,GUnixMountPoint_val, Val_string) ML_1(g_unix_mount_point_get_fs_type,GUnixMountPoint_val, Val_string) ML_1(g_unix_mount_point_get_device_path,GUnixMountPoint_val, Val_string) ML_1(g_unix_mount_point_free,GUnixMountPoint_val, Unit) ML_2(g_unix_mount_point_compare,GUnixMountPoint_val, GUnixMountPoint_val, Val_int) /* end of UnixMountPoint */ /* Module UnixMountMonitorClass */ /* end of UnixMountMonitorClass */ /* Module UnixMountMonitor */ ML_2(g_unix_mount_monitor_set_rate_limit,GUnixMountMonitor_val, Int_val, Unit) /* end of UnixMountMonitor */ /* Module UnixMountEntry */ /* end of UnixMountEntry */ /* Module UnixInputStreamPrivate */ /* end of UnixInputStreamPrivate */ /* Module UnixInputStreamClass */ /* end of UnixInputStreamClass */ /* Module UnixInputStream */ ML_2(g_unix_input_stream_set_close_fd,GUnixInputStream_val, Bool_val, Unit) ML_1(g_unix_input_stream_get_fd,GUnixInputStream_val, Val_int) ML_1(g_unix_input_stream_get_close_fd,GUnixInputStream_val, Val_bool) /* end of UnixInputStream */ /* Module UnixFDMessagePrivate */ /* end of UnixFDMessagePrivate */ /* Module UnixFDMessageClass */ /* end of UnixFDMessageClass */ /* Module UnixFDMessage */ ML_1(g_unix_fd_message_get_fd_list,GUnixFDMessage_val, Val_GUnixFDList) /* end of UnixFDMessage */ /* Module UnixFDListPrivate */ /* end of UnixFDListPrivate */ /* Module UnixFDListClass */ /* end of UnixFDListClass */ /* Module UnixFDList */ ML_1(g_unix_fd_list_get_length,GUnixFDList_val, Val_int) /* end of UnixFDList */ /* Module UnixCredentialsMessagePrivate */ /* end of UnixCredentialsMessagePrivate */ /* Module UnixCredentialsMessageClass */ /* end of UnixCredentialsMessageClass */ /* Module UnixCredentialsMessage */ ML_1(g_unix_credentials_message_get_credentials,GUnixCredentialsMessage_val, Val_GCredentials) ML_0(g_unix_credentials_message_is_supported,Val_bool) /* end of UnixCredentialsMessage */ /* Module UnixConnectionPrivate */ /* end of UnixConnectionPrivate */ /* Module UnixConnectionClass */ /* end of UnixConnectionClass */ /* Module UnixConnection */ /* end of UnixConnection */ /* Module TlsServerContext */ /* end of TlsServerContext */ /* Module TlsServerConnectionInterface */ /* end of TlsServerConnectionInterface */ /* Module TlsContext */ /* end of TlsContext */ /* Module TlsConnectionPrivate */ /* end of TlsConnectionPrivate */ /* Module TlsConnectionClass */ /* end of TlsConnectionClass */ /* Module TlsConnection */ ML_2(g_tls_connection_set_use_system_certdb,GTlsConnection_val, Bool_val, Unit) ML_2(g_tls_connection_set_require_close_notify,GTlsConnection_val, Bool_val, Unit) ML_2(g_tls_connection_set_certificate,GTlsConnection_val, GTlsCertificate_val, Unit) ML_1(g_tls_connection_get_use_system_certdb,GTlsConnection_val, Val_bool) ML_1(g_tls_connection_get_require_close_notify,GTlsConnection_val, Val_bool) ML_1(g_tls_connection_get_peer_certificate,GTlsConnection_val, Val_GTlsCertificate) ML_1(g_tls_connection_get_certificate,GTlsConnection_val, Val_GTlsCertificate) /* end of TlsConnection */ /* Module TlsClientContext */ /* end of TlsClientContext */ /* Module TlsClientConnectionInterface */ /* end of TlsClientConnectionInterface */ /* Module TlsCertificatePrivate */ /* end of TlsCertificatePrivate */ /* Module TlsCertificateClass */ /* end of TlsCertificateClass */ /* Module TlsCertificate */ ML_1(g_tls_certificate_get_issuer,GTlsCertificate_val, Val_GTlsCertificate) /* end of TlsCertificate */ /* Module TlsBackendInterface */ /* end of TlsBackendInterface */ /* Module ThreadedSocketServicePrivate */ /* end of ThreadedSocketServicePrivate */ /* Module ThreadedSocketServiceClass */ /* end of ThreadedSocketServiceClass */ /* Module ThreadedSocketService */ /* end of ThreadedSocketService */ /* Module ThemedIconClass */ /* end of ThemedIconClass */ /* Module ThemedIcon */ ML_2(g_themed_icon_prepend_name,GThemedIcon_val, String_val, Unit) ML_2(g_themed_icon_append_name,GThemedIcon_val, String_val, Unit) /* end of ThemedIcon */ /* Module TcpWrapperConnectionPrivate */ /* end of TcpWrapperConnectionPrivate */ /* Module TcpWrapperConnectionClass */ /* end of TcpWrapperConnectionClass */ /* Module TcpWrapperConnection */ ML_1(g_tcp_wrapper_connection_get_base_io_stream,GTcpWrapperConnection_val, Val_GIOStream) /* end of TcpWrapperConnection */ /* Module TcpConnectionPrivate */ /* end of TcpConnectionPrivate */ /* Module TcpConnectionClass */ /* end of TcpConnectionClass */ /* Module TcpConnection */ ML_2(g_tcp_connection_set_graceful_disconnect,GTcpConnection_val, Bool_val, Unit) ML_1(g_tcp_connection_get_graceful_disconnect,GTcpConnection_val, Val_bool) /* end of TcpConnection */ /* Module SrvTarget */ ML_1(g_srv_target_get_weight,GSrvTarget_val, Val_int) ML_1(g_srv_target_get_priority,GSrvTarget_val, Val_int) ML_1(g_srv_target_get_port,GSrvTarget_val, Val_int) ML_1(g_srv_target_get_hostname,GSrvTarget_val, Val_string) ML_1(g_srv_target_free,GSrvTarget_val, Unit) ML_1(g_srv_target_copy,GSrvTarget_val, Val_GSrvTarget_new) /* end of SrvTarget */ /* Module SocketServicePrivate */ /* end of SocketServicePrivate */ /* Module SocketServiceClass */ /* end of SocketServiceClass */ /* Module SocketService */ ML_1(g_socket_service_stop,GSocketService_val, Unit) ML_1(g_socket_service_start,GSocketService_val, Unit) ML_1(g_socket_service_is_active,GSocketService_val, Val_bool) /* end of SocketService */ /* Module SocketPrivate */ /* end of SocketPrivate */ /* Module SocketListenerPrivate */ /* end of SocketListenerPrivate */ /* Module SocketListenerClass */ /* end of SocketListenerClass */ /* Module SocketListener */ ML_2(g_socket_listener_set_backlog,GSocketListener_val, Int_val, Unit) ML_1(g_socket_listener_close,GSocketListener_val, Unit) /* end of SocketListener */ /* Module SocketControlMessagePrivate */ /* end of SocketControlMessagePrivate */ /* Module SocketControlMessageClass */ /* end of SocketControlMessageClass */ /* Module SocketControlMessage */ ML_1(g_socket_control_message_get_size,GSocketControlMessage_val, Val_int) ML_1(g_socket_control_message_get_msg_type,GSocketControlMessage_val, Val_int) ML_1(g_socket_control_message_get_level,GSocketControlMessage_val, Val_int) /* end of SocketControlMessage */ /* Module SocketConnectionPrivate */ /* end of SocketConnectionPrivate */ /* Module SocketConnectionClass */ /* end of SocketConnectionClass */ /* Module SocketConnection */ ML_1(g_socket_connection_get_socket,GSocketConnection_val, Val_GSocket) /* end of SocketConnection */ /* Module SocketConnectableIface */ /* end of SocketConnectableIface */ /* Module SocketClientPrivate */ /* end of SocketClientPrivate */ /* Module SocketClientClass */ /* end of SocketClientClass */ /* Module SocketClient */ ML_2(g_socket_client_set_tls,GSocketClient_val, Bool_val, Unit) ML_2(g_socket_client_set_timeout,GSocketClient_val, Int_val, Unit) ML_2(g_socket_client_set_local_address,GSocketClient_val, GSocketAddress_val, Unit) ML_2(g_socket_client_set_enable_proxy,GSocketClient_val, Bool_val, Unit) ML_1(g_socket_client_get_tls,GSocketClient_val, Val_bool) ML_1(g_socket_client_get_timeout,GSocketClient_val, Val_int) ML_1(g_socket_client_get_local_address,GSocketClient_val, Val_GSocketAddress) ML_1(g_socket_client_get_enable_proxy,GSocketClient_val, Val_bool) ML_2(g_socket_client_add_application_proxy,GSocketClient_val, String_val, Unit) /* end of SocketClient */ /* Module SocketClass */ /* end of SocketClass */ /* Module SocketAddressEnumeratorClass */ /* end of SocketAddressEnumeratorClass */ /* Module SocketAddressEnumerator */ /* end of SocketAddressEnumerator */ /* Module SocketAddressClass */ /* end of SocketAddressClass */ /* Module SocketAddress */ ML_1(g_socket_address_get_native_size,GSocketAddress_val, Val_int) /* end of SocketAddress */ /* Module Socket */ ML_1(g_socket_speaks_ipv4,GSocket_val, Val_bool) ML_2(g_socket_set_timeout,GSocket_val, Int_val, Unit) ML_2(g_socket_set_listen_backlog,GSocket_val, Int_val, Unit) ML_2(g_socket_set_keepalive,GSocket_val, Bool_val, Unit) ML_2(g_socket_set_blocking,GSocket_val, Bool_val, Unit) ML_1(g_socket_is_connected,GSocket_val, Val_bool) ML_1(g_socket_is_closed,GSocket_val, Val_bool) ML_1(g_socket_get_timeout,GSocket_val, Val_int) ML_1(g_socket_get_listen_backlog,GSocket_val, Val_int) ML_1(g_socket_get_keepalive,GSocket_val, Val_bool) ML_1(g_socket_get_fd,GSocket_val, Val_int) ML_1(g_socket_get_blocking,GSocket_val, Val_bool) ML_1(g_socket_connection_factory_create_connection,GSocket_val, Val_GSocketConnection_new) /* end of Socket */ /* Module SimplePermission */ /* end of SimplePermission */ /* Module SimpleAsyncResultClass */ /* end of SimpleAsyncResultClass */ /* Module SimpleAsyncResult */ ML_2(g_simple_async_result_take_error,GSimpleAsyncResult_val, GError_val, Unit) ML_2(g_simple_async_result_set_op_res_gssize,GSimpleAsyncResult_val, Int_val, Unit) ML_2(g_simple_async_result_set_op_res_gboolean,GSimpleAsyncResult_val, Bool_val, Unit) ML_2(g_simple_async_result_set_handle_cancellation,GSimpleAsyncResult_val, Bool_val, Unit) ML_2(g_simple_async_result_set_from_error,GSimpleAsyncResult_val, GError_val, Unit) ML_1(g_simple_async_result_get_op_res_gssize,GSimpleAsyncResult_val, Val_int) ML_1(g_simple_async_result_get_op_res_gboolean,GSimpleAsyncResult_val, Val_bool) ML_1(g_simple_async_result_complete_in_idle,GSimpleAsyncResult_val, Unit) ML_1(g_simple_async_result_complete,GSimpleAsyncResult_val, Unit) /* end of SimpleAsyncResult */ /* Module SimpleActionPrivate */ /* end of SimpleActionPrivate */ /* Module SimpleActionGroupPrivate */ /* end of SimpleActionGroupPrivate */ /* Module SimpleActionGroupClass */ /* end of SimpleActionGroupClass */ /* Module SimpleActionGroup */ ML_2(g_simple_action_group_remove,GSimpleActionGroup_val, String_val, Unit) /* end of SimpleActionGroup */ /* Module SimpleActionClass */ /* end of SimpleActionClass */ /* Module SimpleAction */ ML_2(g_simple_action_set_enabled,GSimpleAction_val, Bool_val, Unit) /* end of SimpleAction */ /* Module SettingsPrivate */ /* end of SettingsPrivate */ /* Module SettingsClass */ /* end of SettingsClass */ /* Module SettingsBackend */ /* end of SettingsBackend */ /* Module Settings */ ML_3(g_settings_set_value,GSettings_val, String_val, GVariant_val, Val_bool) ML_3(g_settings_set_string,GSettings_val, String_val, String_val, Val_bool) ML_3(g_settings_set_int,GSettings_val, String_val, Int_val, Val_bool) ML_3(g_settings_set_flags,GSettings_val, String_val, Int_val, Val_bool) ML_3(g_settings_set_enum,GSettings_val, String_val, Int_val, Val_bool) ML_3(g_settings_set_double,GSettings_val, String_val, Double_val, Val_bool) ML_3(g_settings_set_boolean,GSettings_val, String_val, Bool_val, Val_bool) ML_1(g_settings_revert,GSettings_val, Unit) ML_2(g_settings_reset,GSettings_val, String_val, Unit) ML_3(g_settings_range_check,GSettings_val, String_val, GVariant_val, Val_bool) ML_2(g_settings_is_writable,GSettings_val, String_val, Val_bool) ML_2(g_settings_get_value,GSettings_val, String_val, Val_GVariant_new) ML_2(g_settings_get_string,GSettings_val, String_val, Val_string_new) ML_2(g_settings_get_range,GSettings_val, String_val, Val_GVariant_new) ML_2(g_settings_get_int,GSettings_val, String_val, Val_int) ML_1(g_settings_get_has_unapplied,GSettings_val, Val_bool) ML_2(g_settings_get_flags,GSettings_val, String_val, Val_int) ML_2(g_settings_get_enum,GSettings_val, String_val, Val_int) ML_2(g_settings_get_double,GSettings_val, String_val, Val_double) ML_2(g_settings_get_child,GSettings_val, String_val, Val_GSettings_new) ML_2(g_settings_get_boolean,GSettings_val, String_val, Val_bool) ML_1(g_settings_delay,GSettings_val, Unit) ML_1(g_settings_apply,GSettings_val, Unit) ML_0(g_settings_sync,Unit) /* end of Settings */ /* Module SeekableIface */ /* end of SeekableIface */ /* Module ResolverPrivate */ /* end of ResolverPrivate */ /* Module ResolverClass */ /* end of ResolverClass */ /* Module Resolver */ ML_1(g_resolver_set_default,GResolver_val, Unit) ML_0(g_resolver_get_default,Val_GResolver_new) ML_1(g_resolver_free_targets,GList_val, Unit) ML_1(g_resolver_free_addresses,GList_val, Unit) /* end of Resolver */ /* Module ProxyResolverInterface */ /* end of ProxyResolverInterface */ /* Module ProxyInterface */ /* end of ProxyInterface */ /* Module ProxyAddressPrivate */ /* end of ProxyAddressPrivate */ /* Module ProxyAddressEnumeratorPrivate */ /* end of ProxyAddressEnumeratorPrivate */ /* Module ProxyAddressEnumeratorClass */ /* end of ProxyAddressEnumeratorClass */ /* Module ProxyAddressEnumerator */ /* end of ProxyAddressEnumerator */ /* Module ProxyAddressClass */ /* end of ProxyAddressClass */ /* Module ProxyAddress */ ML_1(g_proxy_address_get_username,GProxyAddress_val, Val_string) ML_1(g_proxy_address_get_protocol,GProxyAddress_val, Val_string) ML_1(g_proxy_address_get_password,GProxyAddress_val, Val_string) ML_1(g_proxy_address_get_destination_port,GProxyAddress_val, Val_int) ML_1(g_proxy_address_get_destination_hostname,GProxyAddress_val, Val_string) /* end of ProxyAddress */ /* Module PollableOutputStreamInterface */ /* end of PollableOutputStreamInterface */ /* Module PollableInputStreamInterface */ /* end of PollableInputStreamInterface */ /* Module PermissionPrivate */ /* end of PermissionPrivate */ /* Module PermissionClass */ /* end of PermissionClass */ /* Module Permission */ ML_4(g_permission_impl_update,GPermission_val, Bool_val, Bool_val, Bool_val, Unit) ML_1(g_permission_get_can_release,GPermission_val, Val_bool) ML_1(g_permission_get_can_acquire,GPermission_val, Val_bool) ML_1(g_permission_get_allowed,GPermission_val, Val_bool) /* end of Permission */ /* Module OutputVector */ /* end of OutputVector */ /* Module OutputStreamPrivate */ /* end of OutputStreamPrivate */ /* Module OutputStreamClass */ /* end of OutputStreamClass */ /* Module OutputStream */ ML_1(g_output_stream_is_closing,GOutputStream_val, Val_bool) ML_1(g_output_stream_is_closed,GOutputStream_val, Val_bool) ML_1(g_output_stream_has_pending,GOutputStream_val, Val_bool) ML_1(g_output_stream_clear_pending,GOutputStream_val, Unit) /* end of OutputStream */ /* Module NetworkServicePrivate */ /* end of NetworkServicePrivate */ /* Module NetworkServiceClass */ /* end of NetworkServiceClass */ /* Module NetworkService */ ML_2(g_network_service_set_scheme,GNetworkService_val, String_val, Unit) ML_1(g_network_service_get_service,GNetworkService_val, Val_string) ML_1(g_network_service_get_scheme,GNetworkService_val, Val_string) ML_1(g_network_service_get_protocol,GNetworkService_val, Val_string) ML_1(g_network_service_get_domain,GNetworkService_val, Val_string) /* end of NetworkService */ /* Module NetworkAddressPrivate */ /* end of NetworkAddressPrivate */ /* Module NetworkAddressClass */ /* end of NetworkAddressClass */ /* Module NetworkAddress */ ML_1(g_network_address_get_scheme,GNetworkAddress_val, Val_string) ML_1(g_network_address_get_port,GNetworkAddress_val, Val_int) ML_1(g_network_address_get_hostname,GNetworkAddress_val, Val_string) /* end of NetworkAddress */ /* Module NativeVolumeMonitorClass */ /* end of NativeVolumeMonitorClass */ /* Module NativeVolumeMonitor */ /* end of NativeVolumeMonitor */ /* Module MountOperationPrivate */ /* end of MountOperationPrivate */ /* Module MountOperationClass */ /* end of MountOperationClass */ /* Module MountOperation */ ML_2(g_mount_operation_set_username,GMountOperation_val, String_val, Unit) ML_2(g_mount_operation_set_password,GMountOperation_val, String_val, Unit) ML_2(g_mount_operation_set_domain,GMountOperation_val, String_val, Unit) ML_2(g_mount_operation_set_choice,GMountOperation_val, Int_val, Unit) ML_2(g_mount_operation_set_anonymous,GMountOperation_val, Bool_val, Unit) ML_1(g_mount_operation_get_username,GMountOperation_val, Val_string) ML_1(g_mount_operation_get_password,GMountOperation_val, Val_string) ML_1(g_mount_operation_get_domain,GMountOperation_val, Val_string) ML_1(g_mount_operation_get_choice,GMountOperation_val, Val_int) ML_1(g_mount_operation_get_anonymous,GMountOperation_val, Val_bool) /* end of MountOperation */ /* Module MountIface */ /* end of MountIface */ /* Module MemoryOutputStreamPrivate */ /* end of MemoryOutputStreamPrivate */ /* Module MemoryOutputStreamClass */ /* end of MemoryOutputStreamClass */ /* Module MemoryOutputStream */ ML_1(g_memory_output_stream_get_size,GMemoryOutputStream_val, Val_int) ML_1(g_memory_output_stream_get_data_size,GMemoryOutputStream_val, Val_int) /* end of MemoryOutputStream */ /* Module MemoryInputStreamPrivate */ /* end of MemoryInputStreamPrivate */ /* Module MemoryInputStreamClass */ /* end of MemoryInputStreamClass */ /* Module MemoryInputStream */ /* end of MemoryInputStream */ /* Module LoadableIconIface */ /* end of LoadableIconIface */ /* Module InputVector */ /* end of InputVector */ /* Module InputStreamPrivate */ /* end of InputStreamPrivate */ /* Module InputStreamClass */ /* end of InputStreamClass */ /* Module InputStream */ ML_1(g_input_stream_is_closed,GInputStream_val, Val_bool) ML_1(g_input_stream_has_pending,GInputStream_val, Val_bool) ML_1(g_input_stream_clear_pending,GInputStream_val, Unit) /* end of InputStream */ /* Module InitableIface */ /* end of InitableIface */ /* Module InetSocketAddressPrivate */ /* end of InetSocketAddressPrivate */ /* Module InetSocketAddressClass */ /* end of InetSocketAddressClass */ /* Module InetSocketAddress */ ML_1(g_inet_socket_address_get_port,GInetSocketAddress_val, Val_int) ML_1(g_inet_socket_address_get_address,GInetSocketAddress_val, Val_GInetAddress) /* end of InetSocketAddress */ /* Module InetAddressPrivate */ /* end of InetAddressPrivate */ /* Module InetAddressClass */ /* end of InetAddressClass */ /* Module InetAddress */ ML_1(g_inet_address_to_string,GInetAddress_val, Val_string_new) ML_1(g_inet_address_get_native_size,GInetAddress_val, Val_int) ML_1(g_inet_address_get_is_site_local,GInetAddress_val, Val_bool) ML_1(g_inet_address_get_is_multicast,GInetAddress_val, Val_bool) ML_1(g_inet_address_get_is_mc_site_local,GInetAddress_val, Val_bool) ML_1(g_inet_address_get_is_mc_org_local,GInetAddress_val, Val_bool) ML_1(g_inet_address_get_is_mc_node_local,GInetAddress_val, Val_bool) ML_1(g_inet_address_get_is_mc_link_local,GInetAddress_val, Val_bool) ML_1(g_inet_address_get_is_mc_global,GInetAddress_val, Val_bool) ML_1(g_inet_address_get_is_loopback,GInetAddress_val, Val_bool) ML_1(g_inet_address_get_is_link_local,GInetAddress_val, Val_bool) ML_1(g_inet_address_get_is_any,GInetAddress_val, Val_bool) /* end of InetAddress */ /* Module IconIface */ /* end of IconIface */ /* Module IOStreamPrivate */ /* end of IOStreamPrivate */ /* Module IOStreamClass */ /* end of IOStreamClass */ /* Module IOStreamAdapter */ /* end of IOStreamAdapter */ /* Module IOStream */ ML_1(g_io_stream_is_closed,GIOStream_val, Val_bool) ML_1(g_io_stream_has_pending,GIOStream_val, Val_bool) ML_1(g_io_stream_get_output_stream,GIOStream_val, Val_GOutputStream) ML_1(g_io_stream_get_input_stream,GIOStream_val, Val_GInputStream) ML_1(g_io_stream_clear_pending,GIOStream_val, Unit) /* end of IOStream */ /* Module IOSchedulerJob */ /* end of IOSchedulerJob */ /* Module IOModuleClass */ /* end of IOModuleClass */ /* Module IOModule */ ML_1(g_io_module_unload,GIOModule_val, Unit) ML_1(g_io_module_load,GIOModule_val, Unit) /* end of IOModule */ /* Module IOExtensionPoint */ ML_2(g_io_extension_point_set_required_type,GIOExtensionPoint_val, Int_val, Unit) ML_1(g_io_extension_point_get_required_type,GIOExtensionPoint_val, Val_int) ML_1(g_io_extension_point_get_extensions,GIOExtensionPoint_val, Val_GList) ML_2(g_io_extension_point_get_extension_by_name,GIOExtensionPoint_val, String_val, Val_GIOExtension) /* end of IOExtensionPoint */ /* Module IOExtension */ ML_1(g_io_extension_ref_class,GIOExtension_val, Val_GTypeClass_new) ML_1(g_io_extension_get_priority,GIOExtension_val, Val_int) ML_1(g_io_extension_get_name,GIOExtension_val, Val_string) /* end of IOExtension */ /* Module FilterOutputStreamClass */ /* end of FilterOutputStreamClass */ /* Module FilterOutputStream */ ML_2(g_filter_output_stream_set_close_base_stream,GFilterOutputStream_val, Bool_val, Unit) ML_1(g_filter_output_stream_get_close_base_stream,GFilterOutputStream_val, Val_bool) ML_1(g_filter_output_stream_get_base_stream,GFilterOutputStream_val, Val_GOutputStream) /* end of FilterOutputStream */ /* Module FilterInputStreamClass */ /* end of FilterInputStreamClass */ /* Module FilterInputStream */ ML_2(g_filter_input_stream_set_close_base_stream,GFilterInputStream_val, Bool_val, Unit) ML_1(g_filter_input_stream_get_close_base_stream,GFilterInputStream_val, Val_bool) ML_1(g_filter_input_stream_get_base_stream,GFilterInputStream_val, Val_GInputStream) /* end of FilterInputStream */ /* Module FilenameCompleterClass */ /* end of FilenameCompleterClass */ /* Module FilenameCompleter */ ML_2(g_filename_completer_set_dirs_only,GFilenameCompleter_val, Bool_val, Unit) ML_2(g_filename_completer_get_completion_suffix,GFilenameCompleter_val, String_val, Val_string_new) /* end of FilenameCompleter */ /* Module FileOutputStreamPrivate */ /* end of FileOutputStreamPrivate */ /* Module FileOutputStreamClass */ /* end of FileOutputStreamClass */ /* Module FileOutputStream */ ML_1(g_file_output_stream_get_etag,GFileOutputStream_val, Val_string_new) /* end of FileOutputStream */ /* Module FileMonitorPrivate */ /* end of FileMonitorPrivate */ /* Module FileMonitorClass */ /* end of FileMonitorClass */ /* Module FileMonitor */ ML_2(g_file_monitor_set_rate_limit,GFileMonitor_val, Int_val, Unit) ML_1(g_file_monitor_is_cancelled,GFileMonitor_val, Val_bool) ML_1(g_file_monitor_cancel,GFileMonitor_val, Val_bool) /* end of FileMonitor */ /* Module FileInputStreamPrivate */ /* end of FileInputStreamPrivate */ /* Module FileInputStreamClass */ /* end of FileInputStreamClass */ /* Module FileInputStream */ /* end of FileInputStream */ /* Module FileInfoClass */ /* end of FileInfoClass */ /* Module FileInfo */ ML_1(g_file_info_unset_attribute_mask,GFileInfo_val, Unit) ML_2(g_file_info_set_symlink_target,GFileInfo_val, String_val, Unit) ML_2(g_file_info_set_sort_order,GFileInfo_val, Int32_val, Unit) ML_2(g_file_info_set_name,GFileInfo_val, String_val, Unit) ML_2(g_file_info_set_modification_time,GFileInfo_val, GTimeVal_val, Unit) ML_2(g_file_info_set_is_symlink,GFileInfo_val, Bool_val, Unit) ML_2(g_file_info_set_is_hidden,GFileInfo_val, Bool_val, Unit) ML_2(g_file_info_set_edit_name,GFileInfo_val, String_val, Unit) ML_2(g_file_info_set_display_name,GFileInfo_val, String_val, Unit) ML_2(g_file_info_set_content_type,GFileInfo_val, String_val, Unit) ML_3(g_file_info_set_attribute_uint64,GFileInfo_val, String_val, Int64_val, Unit) ML_3(g_file_info_set_attribute_uint32,GFileInfo_val, String_val, Int32_val, Unit) ML_3(g_file_info_set_attribute_string,GFileInfo_val, String_val, String_val, Unit) ML_2(g_file_info_set_attribute_mask,GFileInfo_val, GFileAttributeMatcher_val, Unit) ML_3(g_file_info_set_attribute_int64,GFileInfo_val, String_val, Int64_val, Unit) ML_3(g_file_info_set_attribute_int32,GFileInfo_val, String_val, Int32_val, Unit) ML_3(g_file_info_set_attribute_byte_string,GFileInfo_val, String_val, String_val, Unit) ML_3(g_file_info_set_attribute_boolean,GFileInfo_val, String_val, Bool_val, Unit) ML_2(g_file_info_remove_attribute,GFileInfo_val, String_val, Unit) ML_2(g_file_info_has_namespace,GFileInfo_val, String_val, Val_bool) ML_2(g_file_info_has_attribute,GFileInfo_val, String_val, Val_bool) ML_1(g_file_info_get_symlink_target,GFileInfo_val, Val_string) ML_1(g_file_info_get_sort_order,GFileInfo_val, Val_int32) ML_1(g_file_info_get_name,GFileInfo_val, Val_string) ML_2(g_file_info_get_modification_time,GFileInfo_val, GTimeVal_val, Unit) ML_1(g_file_info_get_is_symlink,GFileInfo_val, Val_bool) ML_1(g_file_info_get_is_hidden,GFileInfo_val, Val_bool) ML_1(g_file_info_get_is_backup,GFileInfo_val, Val_bool) ML_1(g_file_info_get_etag,GFileInfo_val, Val_string) ML_1(g_file_info_get_edit_name,GFileInfo_val, Val_string) ML_1(g_file_info_get_display_name,GFileInfo_val, Val_string) ML_1(g_file_info_get_content_type,GFileInfo_val, Val_string) ML_2(g_file_info_get_attribute_uint64,GFileInfo_val, String_val, Val_int64) ML_2(g_file_info_get_attribute_uint32,GFileInfo_val, String_val, Val_int32) ML_2(g_file_info_get_attribute_string,GFileInfo_val, String_val, Val_string) ML_2(g_file_info_get_attribute_int64,GFileInfo_val, String_val, Val_int64) ML_2(g_file_info_get_attribute_int32,GFileInfo_val, String_val, Val_int32) ML_2(g_file_info_get_attribute_byte_string,GFileInfo_val, String_val, Val_string) ML_2(g_file_info_get_attribute_boolean,GFileInfo_val, String_val, Val_bool) ML_2(g_file_info_get_attribute_as_string,GFileInfo_val, String_val, Val_string_new) ML_1(g_file_info_dup,GFileInfo_val, Val_GFileInfo_new) ML_2(g_file_info_copy_into,GFileInfo_val, GFileInfo_val, Unit) ML_1(g_file_info_clear_status,GFileInfo_val, Unit) /* end of FileInfo */ /* Module FileIface */ /* end of FileIface */ /* Module FileIconClass */ /* end of FileIconClass */ /* Module FileIcon */ /* end of FileIcon */ /* Module FileIOStreamPrivate */ /* end of FileIOStreamPrivate */ /* Module FileIOStreamClass */ /* end of FileIOStreamClass */ /* Module FileIOStream */ ML_1(g_file_io_stream_get_etag,GFileIOStream_val, Val_string_new) /* end of FileIOStream */ /* Module FileEnumeratorPrivate */ /* end of FileEnumeratorPrivate */ /* Module FileEnumeratorClass */ /* end of FileEnumeratorClass */ /* Module FileEnumerator */ ML_2(g_file_enumerator_set_pending,GFileEnumerator_val, Bool_val, Unit) ML_1(g_file_enumerator_is_closed,GFileEnumerator_val, Val_bool) ML_1(g_file_enumerator_has_pending,GFileEnumerator_val, Val_bool) /* end of FileEnumerator */ /* Module FileDescriptorBasedIface */ /* end of FileDescriptorBasedIface */ /* Module FileAttributeMatcher */ ML_1(g_file_attribute_matcher_unref,GFileAttributeMatcher_val, Unit) ML_1(g_file_attribute_matcher_ref,GFileAttributeMatcher_val, Val_GFileAttributeMatcher_new) ML_2(g_file_attribute_matcher_matches_only,GFileAttributeMatcher_val, String_val, Val_bool) ML_2(g_file_attribute_matcher_matches,GFileAttributeMatcher_val, String_val, Val_bool) ML_1(g_file_attribute_matcher_enumerate_next,GFileAttributeMatcher_val, Val_string) ML_2(g_file_attribute_matcher_enumerate_namespace,GFileAttributeMatcher_val, String_val, Val_bool) /* end of FileAttributeMatcher */ /* Module FileAttributeInfoList */ ML_1(g_file_attribute_info_list_unref,GFileAttributeInfoList_val, Unit) ML_1(g_file_attribute_info_list_ref,GFileAttributeInfoList_val, Val_GFileAttributeInfoList_new) ML_2(g_file_attribute_info_list_lookup,GFileAttributeInfoList_val, String_val, Val_GFileAttributeInfo) ML_1(g_file_attribute_info_list_dup,GFileAttributeInfoList_val, Val_GFileAttributeInfoList_new) /* end of FileAttributeInfoList */ /* Module FileAttributeInfo */ /* end of FileAttributeInfo */ /* Module EmblemedIconPrivate */ /* end of EmblemedIconPrivate */ /* Module EmblemedIconClass */ /* end of EmblemedIconClass */ /* Module EmblemedIcon */ ML_1(g_emblemed_icon_get_emblems,GEmblemedIcon_val, Val_GList) ML_1(g_emblemed_icon_clear_emblems,GEmblemedIcon_val, Unit) ML_2(g_emblemed_icon_add_emblem,GEmblemedIcon_val, GEmblem_val, Unit) /* end of EmblemedIcon */ /* Module EmblemClass */ /* end of EmblemClass */ /* Module Emblem */ /* end of Emblem */ /* Module DriveIface */ /* end of DriveIface */ /* Module DesktopAppInfoLookupIface */ /* end of DesktopAppInfoLookupIface */ /* Module DesktopAppInfoLaunchHandlerIface */ /* end of DesktopAppInfoLaunchHandlerIface */ /* Module DesktopAppInfoClass */ /* end of DesktopAppInfoClass */ /* Module DesktopAppInfo */ ML_1(g_desktop_app_info_get_is_hidden,GDesktopAppInfo_val, Val_bool) ML_1(g_desktop_app_info_get_filename,GDesktopAppInfo_val, Val_string) ML_1(g_desktop_app_info_set_desktop_env,String_val, Unit) /* end of DesktopAppInfo */ /* Module DataOutputStreamPrivate */ /* end of DataOutputStreamPrivate */ /* Module DataOutputStreamClass */ /* end of DataOutputStreamClass */ /* Module DataOutputStream */ /* end of DataOutputStream */ /* Module DataInputStreamPrivate */ /* end of DataInputStreamPrivate */ /* Module DataInputStreamClass */ /* end of DataInputStreamClass */ /* Module DataInputStream */ /* end of DataInputStream */ /* Module DBusSubtreeVTable */ /* end of DBusSubtreeVTable */ /* Module DBusSignalInfo */ ML_1(g_dbus_signal_info_unref,GDBusSignalInfo_val, Unit) ML_1(g_dbus_signal_info_ref,GDBusSignalInfo_val, Val_GDBusSignalInfo_new) /* end of DBusSignalInfo */ /* Module DBusServer */ ML_1(g_dbus_server_stop,GDBusServer_val, Unit) ML_1(g_dbus_server_start,GDBusServer_val, Unit) ML_1(g_dbus_server_is_active,GDBusServer_val, Val_bool) ML_1(g_dbus_server_get_guid,GDBusServer_val, Val_string) ML_1(g_dbus_server_get_client_address,GDBusServer_val, Val_string) /* end of DBusServer */ /* Module DBusProxyPrivate */ /* end of DBusProxyPrivate */ /* Module DBusProxyClass */ /* end of DBusProxyClass */ /* Module DBusProxy */ ML_2(g_dbus_proxy_set_interface_info,GDBusProxy_val, GDBusInterfaceInfo_val, Unit) ML_2(g_dbus_proxy_set_default_timeout,GDBusProxy_val, Int_val, Unit) ML_3(g_dbus_proxy_set_cached_property,GDBusProxy_val, String_val, GVariant_val, Unit) ML_1(g_dbus_proxy_get_object_path,GDBusProxy_val, Val_string) ML_1(g_dbus_proxy_get_name_owner,GDBusProxy_val, Val_string_new) ML_1(g_dbus_proxy_get_name,GDBusProxy_val, Val_string) ML_1(g_dbus_proxy_get_interface_name,GDBusProxy_val, Val_string) ML_1(g_dbus_proxy_get_interface_info,GDBusProxy_val, Val_GDBusInterfaceInfo_new) ML_1(g_dbus_proxy_get_default_timeout,GDBusProxy_val, Val_int) ML_1(g_dbus_proxy_get_connection,GDBusProxy_val, Val_GDBusConnection) ML_2(g_dbus_proxy_get_cached_property,GDBusProxy_val, String_val, Val_GVariant_new) /* end of DBusProxy */ /* Module DBusPropertyInfo */ ML_1(g_dbus_property_info_unref,GDBusPropertyInfo_val, Unit) ML_1(g_dbus_property_info_ref,GDBusPropertyInfo_val, Val_GDBusPropertyInfo_new) /* end of DBusPropertyInfo */ /* Module DBusNodeInfo */ ML_1(g_dbus_node_info_unref,GDBusNodeInfo_val, Unit) ML_1(g_dbus_node_info_ref,GDBusNodeInfo_val, Val_GDBusNodeInfo_new) ML_2(g_dbus_node_info_lookup_interface,GDBusNodeInfo_val, String_val, Val_GDBusInterfaceInfo_new) ML_3(g_dbus_node_info_generate_xml,GDBusNodeInfo_val, Int_val, GString_val, Unit) /* end of DBusNodeInfo */ /* Module DBusMethodInvocation */ ML_2(g_dbus_method_invocation_return_value,GDBusMethodInvocation_val, GVariant_val, Unit) ML_2(g_dbus_method_invocation_return_gerror,GDBusMethodInvocation_val, GError_val, Unit) ML_4(g_dbus_method_invocation_return_error_literal,GDBusMethodInvocation_val, Int32_val, Int_val, String_val, Unit) ML_3(g_dbus_method_invocation_return_dbus_error,GDBusMethodInvocation_val, String_val, String_val, Unit) ML_1(g_dbus_method_invocation_get_sender,GDBusMethodInvocation_val, Val_string) ML_1(g_dbus_method_invocation_get_parameters,GDBusMethodInvocation_val, Val_GVariant_new) ML_1(g_dbus_method_invocation_get_object_path,GDBusMethodInvocation_val, Val_string) ML_1(g_dbus_method_invocation_get_method_name,GDBusMethodInvocation_val, Val_string) ML_1(g_dbus_method_invocation_get_method_info,GDBusMethodInvocation_val, Val_GDBusMethodInfo) ML_1(g_dbus_method_invocation_get_message,GDBusMethodInvocation_val, Val_GDBusMessage) ML_1(g_dbus_method_invocation_get_interface_name,GDBusMethodInvocation_val, Val_string) ML_1(g_dbus_method_invocation_get_connection,GDBusMethodInvocation_val, Val_GDBusConnection) /* end of DBusMethodInvocation */ /* Module DBusMethodInfo */ ML_1(g_dbus_method_info_unref,GDBusMethodInfo_val, Unit) ML_1(g_dbus_method_info_ref,GDBusMethodInfo_val, Val_GDBusMethodInfo_new) /* end of DBusMethodInfo */ /* Module DBusMessage */ ML_2(g_dbus_message_set_unix_fd_list,GDBusMessage_val, Option_val(arg2,GUnixFDList_val,NULL) Ignore, Unit) ML_2(g_dbus_message_set_signature,GDBusMessage_val, String_val, Unit) ML_2(g_dbus_message_set_serial,GDBusMessage_val, Int32_val, Unit) ML_2(g_dbus_message_set_sender,GDBusMessage_val, String_val, Unit) ML_2(g_dbus_message_set_reply_serial,GDBusMessage_val, Int32_val, Unit) ML_2(g_dbus_message_set_path,GDBusMessage_val, String_val, Unit) ML_2(g_dbus_message_set_num_unix_fds,GDBusMessage_val, Int32_val, Unit) ML_2(g_dbus_message_set_member,GDBusMessage_val, String_val, Unit) ML_2(g_dbus_message_set_interface,GDBusMessage_val, String_val, Unit) ML_2(g_dbus_message_set_error_name,GDBusMessage_val, String_val, Unit) ML_2(g_dbus_message_set_destination,GDBusMessage_val, String_val, Unit) ML_2(g_dbus_message_set_body,GDBusMessage_val, GVariant_val, Unit) ML_2(g_dbus_message_print,GDBusMessage_val, Int_val, Val_string_new) ML_1(g_dbus_message_new_method_reply,GDBusMessage_val, Val_GDBusMessage_new) ML_3(g_dbus_message_new_method_error_literal,GDBusMessage_val, String_val, String_val, Val_GDBusMessage_new) ML_1(g_dbus_message_lock,GDBusMessage_val, Unit) ML_1(g_dbus_message_get_unix_fd_list,GDBusMessage_val, Val_GUnixFDList) ML_1(g_dbus_message_get_signature,GDBusMessage_val, Val_string) ML_1(g_dbus_message_get_serial,GDBusMessage_val, Val_int32) ML_1(g_dbus_message_get_sender,GDBusMessage_val, Val_string) ML_1(g_dbus_message_get_reply_serial,GDBusMessage_val, Val_int32) ML_1(g_dbus_message_get_path,GDBusMessage_val, Val_string) ML_1(g_dbus_message_get_num_unix_fds,GDBusMessage_val, Val_int32) ML_1(g_dbus_message_get_member,GDBusMessage_val, Val_string) ML_1(g_dbus_message_get_locked,GDBusMessage_val, Val_bool) ML_1(g_dbus_message_get_interface,GDBusMessage_val, Val_string) ML_1(g_dbus_message_get_header_fields,GDBusMessage_val, Val_string) ML_1(g_dbus_message_get_error_name,GDBusMessage_val, Val_string) ML_1(g_dbus_message_get_destination,GDBusMessage_val, Val_string) ML_1(g_dbus_message_get_body,GDBusMessage_val, Val_GVariant_new) ML_1(g_dbus_message_get_arg0,GDBusMessage_val, Val_string) /* end of DBusMessage */ /* Module DBusInterfaceVTable */ /* end of DBusInterfaceVTable */ /* Module DBusInterfaceInfo */ ML_1(g_dbus_interface_info_unref,GDBusInterfaceInfo_val, Unit) ML_1(g_dbus_interface_info_ref,GDBusInterfaceInfo_val, Val_GDBusInterfaceInfo_new) ML_2(g_dbus_interface_info_lookup_signal,GDBusInterfaceInfo_val, String_val, Val_GDBusSignalInfo_new) ML_2(g_dbus_interface_info_lookup_property,GDBusInterfaceInfo_val, String_val, Val_GDBusPropertyInfo_new) ML_2(g_dbus_interface_info_lookup_method,GDBusInterfaceInfo_val, String_val, Val_GDBusMethodInfo_new) ML_3(g_dbus_interface_info_generate_xml,GDBusInterfaceInfo_val, Int_val, GString_val, Unit) /* end of DBusInterfaceInfo */ /* Module DBusErrorEntry */ /* end of DBusErrorEntry */ /* Module DBusConnection */ ML_2(g_dbus_connection_unregister_subtree,GDBusConnection_val, Int_val, Val_bool) ML_2(g_dbus_connection_unregister_object,GDBusConnection_val, Int_val, Val_bool) ML_1(g_dbus_connection_start_message_processing,GDBusConnection_val, Unit) ML_2(g_dbus_connection_signal_unsubscribe,GDBusConnection_val, Int_val, Unit) ML_2(g_dbus_connection_set_exit_on_close,GDBusConnection_val, Bool_val, Unit) ML_2(g_dbus_connection_remove_filter,GDBusConnection_val, Int_val, Unit) ML_1(g_dbus_connection_is_closed,GDBusConnection_val, Val_bool) ML_1(g_dbus_connection_get_unique_name,GDBusConnection_val, Val_string) ML_1(g_dbus_connection_get_stream,GDBusConnection_val, Val_GIOStream) ML_1(g_dbus_connection_get_peer_credentials,GDBusConnection_val, Val_GCredentials) ML_1(g_dbus_connection_get_guid,GDBusConnection_val, Val_string) ML_1(g_dbus_connection_get_exit_on_close,GDBusConnection_val, Val_bool) /* end of DBusConnection */ /* Module DBusAuthObserver */ ML_3(g_dbus_auth_observer_authorize_authenticated_peer,GDBusAuthObserver_val, GIOStream_val, GCredentials_val, Val_bool) /* end of DBusAuthObserver */ /* Module DBusArgInfo */ ML_1(g_dbus_arg_info_unref,GDBusArgInfo_val, Unit) ML_1(g_dbus_arg_info_ref,GDBusArgInfo_val, Val_GDBusArgInfo_new) /* end of DBusArgInfo */ /* Module DBusAnnotationInfo */ ML_1(g_dbus_annotation_info_unref,GDBusAnnotationInfo_val, Unit) ML_1(g_dbus_annotation_info_ref,GDBusAnnotationInfo_val, Val_GDBusAnnotationInfo_new) /* end of DBusAnnotationInfo */ /* Module CredentialsClass */ /* end of CredentialsClass */ /* Module Credentials */ ML_1(g_credentials_to_string,GCredentials_val, Val_string_new) /* end of Credentials */ /* Module ConverterOutputStreamPrivate */ /* end of ConverterOutputStreamPrivate */ /* Module ConverterOutputStreamClass */ /* end of ConverterOutputStreamClass */ /* Module ConverterOutputStream */ /* end of ConverterOutputStream */ /* Module ConverterInputStreamPrivate */ /* end of ConverterInputStreamPrivate */ /* Module ConverterInputStreamClass */ /* end of ConverterInputStreamClass */ /* Module ConverterInputStream */ /* end of ConverterInputStream */ /* Module ConverterIface */ /* end of ConverterIface */ /* Module CharsetConverterClass */ /* end of CharsetConverterClass */ /* Module CharsetConverter */ ML_2(g_charset_converter_set_use_fallback,GCharsetConverter_val, Bool_val, Unit) ML_1(g_charset_converter_get_use_fallback,GCharsetConverter_val, Val_bool) ML_1(g_charset_converter_get_num_fallbacks,GCharsetConverter_val, Val_int) /* end of CharsetConverter */ /* Module CancellablePrivate */ /* end of CancellablePrivate */ /* Module CancellableClass */ /* end of CancellableClass */ /* Module Cancellable */ ML_1(g_cancellable_source_new,GCancellable_val, Val_GSource_new) ML_1(g_cancellable_reset,GCancellable_val, Unit) ML_1(g_cancellable_release_fd,GCancellable_val, Unit) ML_1(g_cancellable_push_current,GCancellable_val, Unit) ML_1(g_cancellable_pop_current,GCancellable_val, Unit) ML_2(g_cancellable_make_pollfd,GCancellable_val, GPollFD_val, Val_bool) ML_1(g_cancellable_is_cancelled,GCancellable_val, Val_bool) ML_1(g_cancellable_get_fd,GCancellable_val, Val_int) ML_2(g_cancellable_disconnect,GCancellable_val, Double_val, Unit) ML_1(g_cancellable_cancel,GCancellable_val, Unit) ML_0(g_cancellable_get_current,Val_GCancellable) /* end of Cancellable */ /* Module BufferedOutputStreamPrivate */ /* end of BufferedOutputStreamPrivate */ /* Module BufferedOutputStreamClass */ /* end of BufferedOutputStreamClass */ /* Module BufferedOutputStream */ ML_2(g_buffered_output_stream_set_buffer_size,GBufferedOutputStream_val, Int_val, Unit) ML_2(g_buffered_output_stream_set_auto_grow,GBufferedOutputStream_val, Bool_val, Unit) ML_1(g_buffered_output_stream_get_buffer_size,GBufferedOutputStream_val, Val_int) ML_1(g_buffered_output_stream_get_auto_grow,GBufferedOutputStream_val, Val_bool) /* end of BufferedOutputStream */ /* Module BufferedInputStreamPrivate */ /* end of BufferedInputStreamPrivate */ /* Module BufferedInputStreamClass */ /* end of BufferedInputStreamClass */ /* Module BufferedInputStream */ ML_2(g_buffered_input_stream_set_buffer_size,GBufferedInputStream_val, Int_val, Unit) ML_1(g_buffered_input_stream_get_buffer_size,GBufferedInputStream_val, Val_int) ML_1(g_buffered_input_stream_get_available,GBufferedInputStream_val, Val_int) /* end of BufferedInputStream */ /* Module AsyncResultIface */ /* end of AsyncResultIface */ /* Module AsyncInitableIface */ /* end of AsyncInitableIface */ /* Module ApplicationPrivate */ /* end of ApplicationPrivate */ /* Module ApplicationCommandLinePrivate */ /* end of ApplicationCommandLinePrivate */ /* Module ApplicationCommandLineClass */ /* end of ApplicationCommandLineClass */ /* Module ApplicationCommandLine */ ML_2(g_application_command_line_set_exit_status,GApplicationCommandLine_val, Int_val, Unit) ML_2(g_application_command_line_getenv,GApplicationCommandLine_val, String_val, Val_string) ML_1(g_application_command_line_get_platform_data,GApplicationCommandLine_val, Val_GVariant_new) ML_1(g_application_command_line_get_is_remote,GApplicationCommandLine_val, Val_bool) ML_1(g_application_command_line_get_exit_status,GApplicationCommandLine_val, Val_int) ML_1(g_application_command_line_get_cwd,GApplicationCommandLine_val, Val_string) /* end of ApplicationCommandLine */ /* Module ApplicationClass */ /* end of ApplicationClass */ /* Module Application */ ML_2(g_application_set_inactivity_timeout,GApplication_val, Int_val, Unit) ML_2(g_application_set_application_id,GApplication_val, String_val, Unit) ML_1(g_application_release,GApplication_val, Unit) ML_1(g_application_hold,GApplication_val, Unit) ML_1(g_application_get_is_remote,GApplication_val, Val_bool) ML_1(g_application_get_is_registered,GApplication_val, Val_bool) ML_1(g_application_get_inactivity_timeout,GApplication_val, Val_int) ML_1(g_application_get_application_id,GApplication_val, Val_string) ML_1(g_application_activate,GApplication_val, Unit) ML_1(g_application_id_is_valid,String_val, Val_bool) /* end of Application */ /* Module AppLaunchContextPrivate */ /* end of AppLaunchContextPrivate */ /* Module AppLaunchContextClass */ /* end of AppLaunchContextClass */ /* Module AppLaunchContext */ ML_2(g_app_launch_context_launch_failed,GAppLaunchContext_val, String_val, Unit) /* end of AppLaunchContext */ /* Module AppInfoIface */ /* end of AppInfoIface */ /* Module ActionInterface */ /* end of ActionInterface */ /* Module ActionGroupInterface */ /* end of ActionGroupInterface */ /* Global functions */ ML_1(g_unix_mounts_changed_since,Int64_val, Val_bool) ML_1(g_unix_mount_points_changed_since,Int64_val, Val_bool) ML_1(g_unix_mount_is_system_internal,GUnixMountEntry_val, Val_bool) ML_1(g_unix_mount_is_readonly,GUnixMountEntry_val, Val_bool) ML_1(g_unix_mount_guess_should_display,GUnixMountEntry_val, Val_bool) ML_1(g_unix_mount_guess_name,GUnixMountEntry_val, Val_string_new) ML_1(g_unix_mount_guess_can_eject,GUnixMountEntry_val, Val_bool) ML_1(g_unix_mount_get_mount_path,GUnixMountEntry_val, Val_string) ML_1(g_unix_mount_get_fs_type,GUnixMountEntry_val, Val_string) ML_1(g_unix_mount_get_device_path,GUnixMountEntry_val, Val_string) ML_1(g_unix_mount_free,GUnixMountEntry_val, Unit) ML_2(g_unix_mount_compare,GUnixMountEntry_val, GUnixMountEntry_val, Val_int) ML_1(g_unix_is_mount_path_system_internal,String_val, Val_bool) ML_0(g_tls_error_quark,Val_int32) ML_1(g_srv_target_list_sort,GList_val, Val_GList_new) ML_0(g_resolver_error_quark,Val_int32) ML_0(g_io_scheduler_cancel_all_jobs,Unit) ML_1(g_io_modules_scan_all_in_directory,String_val, Unit) ML_1(g_io_modules_load_all_in_directory,String_val, Val_GList_new) ML_1(g_io_extension_point_register,String_val, Val_GIOExtensionPoint) ML_1(g_io_extension_point_lookup,String_val, Val_GIOExtensionPoint) ML_4(g_io_extension_point_implement,String_val, Int_val, String_val, Int_val, Val_GIOExtension) ML_1(g_io_extension_get_type,GIOExtension_val, Val_int) ML_0(g_io_error_quark,Val_int32) ML_1(g_dbus_is_unique_name,String_val, Val_bool) ML_1(g_dbus_is_name,String_val, Val_bool) ML_1(g_dbus_is_member_name,String_val, Val_bool) ML_1(g_dbus_is_interface_name,String_val, Val_bool) ML_1(g_dbus_is_guid,String_val, Val_bool) ML_1(g_dbus_is_address,String_val, Val_bool) ML_0(g_dbus_generate_guid,Val_string_new) ML_3(g_dbus_error_unregister_error,Int32_val, Int_val, String_val, Val_bool) ML_1(g_dbus_error_strip_remote_error,GError_val, Val_bool) ML_3(g_dbus_error_register_error,Int32_val, Int_val, String_val, Val_bool) ML_0(g_dbus_error_quark,Val_int32) ML_2(g_dbus_error_new_for_dbus_error,String_val, String_val, Val_GError) ML_1(g_dbus_error_is_remote_error,GError_val, Val_bool) ML_1(g_dbus_error_get_remote_error,GError_val, Val_string_new) ML_1(g_dbus_error_encode_gerror,GError_val, Val_string_new) ML_0(g_content_types_get_registered,Val_GList_new) ML_1(g_content_type_is_unknown,String_val, Val_bool) ML_2(g_content_type_is_a,String_val, String_val, Val_bool) ML_1(g_content_type_get_mime_type,String_val, Val_string_new) ML_1(g_content_type_get_description,String_val, Val_string_new) ML_1(g_content_type_from_mime_type,String_val, Val_string_new) ML_2(g_content_type_equals,String_val, String_val, Val_bool) ML_1(g_content_type_can_be_executable,String_val, Val_bool) ML_1(g_bus_unwatch_name,Int_val, Unit) ML_1(g_bus_unown_name,Int_val, Unit) ML_1(g_app_info_reset_type_associations,String_val, Unit) ML_1(g_app_info_get_recommended_for_type,String_val, Val_GList_new) ML_1(g_app_info_get_fallback_for_type,String_val, Val_GList_new) ML_1(g_app_info_get_all_for_type,String_val, Val_GList_new) ML_0(g_app_info_get_all,Val_GList_new) /* End of global functions */ lablgtk-3.1.2/tools/introspection/stubs/ml_stubs_Gtk.c0000644000650106067230000101325314161276610022006 0ustar glondused#include #include #define Val_double(val) caml_copy_double(val) #define Val_string_new(val) caml_copy_string(val) #define Val_int32(val) caml_copy_int32(val) #define Val_int32_new(val) caml_copy_int32(val) /*TODO: conversion for record 'GAllocator' */ /*TODO: conversion for record 'GArray' */ /*TODO: conversion for record 'GAsyncQueue' */ /*TODO: conversion for record 'GBookmarkFile' */ /*TODO: conversion for record 'GByteArray' */ /*TODO: conversion for record 'GCache' */ /*TODO: conversion for record 'GChecksum' */ /*TODO: conversion for record 'GCompletion' */ /*TODO: conversion for record 'GCond' */ /*TODO: conversion for record 'GData' */ /*TODO: conversion for record 'GDate' */ /*TODO: conversion for record 'GDateTime' */ /*TODO: conversion for record 'GDebugKey' */ /*TODO: conversion for record 'GDir' */ /*TODO: conversion for record 'GError' */ /*TODO: conversion for record 'GHashTable' */ /*TODO: conversion for record 'GHashTableIter' */ /*TODO: conversion for record 'GHook' */ /*TODO: conversion for record 'GHookList' */ /*TODO: conversion for record 'GIConv' */ /*TODO: conversion for record 'GIOChannel' */ /*TODO: conversion for record 'GIOFuncs' */ /*TODO: conversion for record 'GKeyFile' */ /*TODO: conversion for record 'GList' */ /*TODO: conversion for record 'GMainContext' */ /*TODO: conversion for record 'GMainLoop' */ /*TODO: conversion for record 'GMappedFile' */ /*TODO: conversion for record 'GMarkupParseContext' */ /*TODO: conversion for record 'GMarkupParser' */ /*TODO: conversion for record 'GMatchInfo' */ /*TODO: conversion for record 'GMemChunk' */ /*TODO: conversion for record 'GMemVTable' */ /*TODO: conversion for record 'GMutex' */ /*TODO: conversion for record 'GNode' */ /*TODO: conversion for record 'GOnce' */ /*TODO: conversion for record 'GOptionContext' */ /*TODO: conversion for record 'GOptionEntry' */ /*TODO: conversion for record 'GOptionGroup' */ /*TODO: conversion for record 'GPatternSpec' */ /*TODO: conversion for record 'GPollFD' */ /*TODO: conversion for record 'GPrivate' */ /*TODO: conversion for record 'GPtrArray' */ /*TODO: conversion for record 'GQueue' */ /*TODO: conversion for record 'GRand' */ /*TODO: conversion for record 'GRegex' */ /*TODO: conversion for record 'GRelation' */ /*TODO: conversion for record 'GSList' */ /*TODO: conversion for record 'GScanner' */ /*TODO: conversion for record 'GScannerConfig' */ /*TODO: conversion for record 'GSequence' */ /*TODO: conversion for record 'GSequenceIter' */ /*TODO: conversion for record 'GSource' */ /*TODO: conversion for record 'GSourceCallbackFuncs' */ /*TODO: conversion for record 'GSourceFuncs' */ /*TODO: conversion for record 'GSourcePrivate' */ /*TODO: conversion for record 'GStatBuf' */ /*TODO: conversion for record 'GStaticMutex' */ /*TODO: conversion for record 'GStaticPrivate' */ /*TODO: conversion for record 'GStaticRWLock' */ /*TODO: conversion for record 'GStaticRecMutex' */ /*TODO: conversion for record 'GString' */ /*TODO: conversion for record 'GStringChunk' */ /*TODO: conversion for record 'GTestCase' */ /*TODO: conversion for record 'GTestConfig' */ /*TODO: conversion for record 'GTestLogBuffer' */ /*TODO: conversion for record 'GTestLogMsg' */ /*TODO: conversion for record 'GTestSuite' */ /*TODO: conversion for record 'GThread' */ /*TODO: conversion for record 'GThreadFunctions' */ /*TODO: conversion for record 'GThreadPool' */ /*TODO: conversion for record 'GTimeVal' */ /*TODO: conversion for record 'GTimeZone' */ /*TODO: conversion for record 'GTimer' */ /*TODO: conversion for record 'GTrashStack' */ /*TODO: conversion for record 'GTree' */ /*TODO: conversion for record 'GTuples' */ /*TODO: conversion for record 'GVariant' */ /*TODO: conversion for record 'GVariantBuilder' */ /*TODO: conversion for record 'GVariantIter' */ /*TODO: conversion for record 'GVariantType' */ #define GBinding_val(val) check_cast(G_BINDING,val) #define Val_GBinding(val) Val_GObject((GObject*)val) #define Val_GBinding_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCClosure' */ /*TODO: conversion for record 'GClosure' */ /*TODO: conversion for record 'GClosureNotifyData' */ /*TODO: conversion for record 'GEnumClass' */ /*TODO: conversion for record 'GEnumValue' */ /*TODO: conversion for record 'GFlagsClass' */ /*TODO: conversion for record 'GFlagsValue' */ /*TODO: conversion for record 'GInitiallyUnownedClass' */ /*TODO: conversion for record 'GInterfaceInfo' */ /*TODO: conversion for record 'GObjectClass' */ /*TODO: conversion for record 'GObjectConstructParam' */ /*TODO: conversion for record 'GParamSpec' */ /*TODO: conversion for record 'GParamSpecBoolean' */ /*TODO: conversion for record 'GParamSpecBoxed' */ /*TODO: conversion for record 'GParamSpecChar' */ /*TODO: conversion for record 'GParamSpecClass' */ /*TODO: conversion for record 'GParamSpecDouble' */ /*TODO: conversion for record 'GParamSpecEnum' */ /*TODO: conversion for record 'GParamSpecFlags' */ /*TODO: conversion for record 'GParamSpecFloat' */ /*TODO: conversion for record 'GParamSpecGType' */ /*TODO: conversion for record 'GParamSpecInt' */ /*TODO: conversion for record 'GParamSpecInt64' */ /*TODO: conversion for record 'GParamSpecLong' */ /*TODO: conversion for record 'GParamSpecObject' */ /*TODO: conversion for record 'GParamSpecOverride' */ /*TODO: conversion for record 'GParamSpecParam' */ /*TODO: conversion for record 'GParamSpecPointer' */ /*TODO: conversion for record 'GParamSpecPool' */ /*TODO: conversion for record 'GParamSpecString' */ /*TODO: conversion for record 'GParamSpecTypeInfo' */ /*TODO: conversion for record 'GParamSpecUChar' */ /*TODO: conversion for record 'GParamSpecUInt' */ /*TODO: conversion for record 'GParamSpecUInt64' */ /*TODO: conversion for record 'GParamSpecULong' */ /*TODO: conversion for record 'GParamSpecUnichar' */ /*TODO: conversion for record 'GParamSpecValueArray' */ /*TODO: conversion for record 'GParamSpecVariant' */ /*TODO: conversion for record 'GParameter' */ /*TODO: conversion for record 'GSignalInvocationHint' */ /*TODO: conversion for record 'GSignalQuery' */ /*TODO: conversion for record 'GTypeClass' */ /*TODO: conversion for record 'GTypeFundamentalInfo' */ /*TODO: conversion for record 'GTypeInfo' */ /*TODO: conversion for record 'GTypeInstance' */ /*TODO: conversion for record 'GTypeInterface' */ #define GTypeModule_val(val) check_cast(G_TYPE_MODULE,val) #define Val_GTypeModule(val) Val_GObject((GObject*)val) #define Val_GTypeModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTypeModuleClass' */ /*TODO: conversion for record 'GTypePluginClass' */ /*TODO: conversion for record 'GTypeQuery' */ /*TODO: conversion for record 'GTypeValueTable' */ /*TODO: conversion for record 'GValue' */ /*TODO: conversion for record 'GValueArray' */ /*TODO: conversion for record 'AtkActionIface' */ /*TODO: conversion for record 'AtkAttribute' */ /*TODO: conversion for record 'AtkComponentIface' */ /*TODO: conversion for record 'AtkDocumentIface' */ /*TODO: conversion for record 'AtkEditableTextIface' */ #define AtkGObjectAccessible_val(val) check_cast(ATK_G_OBJECT_ACCESSIBLE,val) #define Val_AtkGObjectAccessible(val) Val_GObject((GObject*)val) #define Val_AtkGObjectAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkGObjectAccessibleClass' */ #define AtkHyperlink_val(val) check_cast(ATK_HYPERLINK,val) #define Val_AtkHyperlink(val) Val_GObject((GObject*)val) #define Val_AtkHyperlink_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkHyperlinkClass' */ /*TODO: conversion for record 'AtkHyperlinkImplIface' */ /*TODO: conversion for record 'AtkHypertextIface' */ /*TODO: conversion for record 'AtkImageIface' */ /*TODO: conversion for record 'AtkImplementor' */ /*TODO: conversion for record 'AtkKeyEventStruct' */ #define AtkMisc_val(val) check_cast(ATK_MISC,val) #define Val_AtkMisc(val) Val_GObject((GObject*)val) #define Val_AtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkMiscClass' */ #define AtkNoOpObject_val(val) check_cast(ATK_NO_OP_OBJECT,val) #define Val_AtkNoOpObject(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectClass' */ #define AtkNoOpObjectFactory_val(val) check_cast(ATK_NO_OP_OBJECT_FACTORY,val) #define Val_AtkNoOpObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectFactoryClass' */ #define AtkObject_val(val) check_cast(ATK_OBJECT,val) #define Val_AtkObject(val) Val_GObject((GObject*)val) #define Val_AtkObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectClass' */ #define AtkObjectFactory_val(val) check_cast(ATK_OBJECT_FACTORY,val) #define Val_AtkObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectFactoryClass' */ #define AtkPlug_val(val) check_cast(ATK_PLUG,val) #define Val_AtkPlug(val) Val_GObject((GObject*)val) #define Val_AtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkPlugClass' */ /*TODO: conversion for record 'AtkRectangle' */ #define AtkRelation_val(val) check_cast(ATK_RELATION,val) #define Val_AtkRelation(val) Val_GObject((GObject*)val) #define Val_AtkRelation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationClass' */ #define AtkRelationSet_val(val) check_cast(ATK_RELATION_SET,val) #define Val_AtkRelationSet(val) Val_GObject((GObject*)val) #define Val_AtkRelationSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationSetClass' */ /*TODO: conversion for record 'AtkSelectionIface' */ #define AtkSocket_val(val) check_cast(ATK_SOCKET,val) #define Val_AtkSocket(val) Val_GObject((GObject*)val) #define Val_AtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkSocketClass' */ #define AtkStateSet_val(val) check_cast(ATK_STATE_SET,val) #define Val_AtkStateSet(val) Val_GObject((GObject*)val) #define Val_AtkStateSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkStateSetClass' */ /*TODO: conversion for record 'AtkStreamableContentIface' */ /*TODO: conversion for record 'AtkTableIface' */ /*TODO: conversion for record 'AtkTextIface' */ /*TODO: conversion for record 'AtkTextRange' */ /*TODO: conversion for record 'AtkTextRectangle' */ #define AtkUtil_val(val) check_cast(ATK_UTIL,val) #define Val_AtkUtil(val) Val_GObject((GObject*)val) #define Val_AtkUtil_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkUtilClass' */ /*TODO: conversion for record 'AtkValueIface' */ /*TODO: conversion for record '_AtkPropertyValues' */ /*TODO: conversion for record '_AtkRegistry' */ /*TODO: conversion for record '_AtkRegistryClass' */ /*TODO: conversion for record 'GModule' */ /*TODO: conversion for record 'GActionGroupInterface' */ /*TODO: conversion for record 'GActionInterface' */ /*TODO: conversion for record 'GAppInfoIface' */ #define GAppLaunchContext_val(val) check_cast(G_APP_LAUNCH_CONTEXT,val) #define Val_GAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GAppLaunchContextClass' */ /*TODO: conversion for record 'GAppLaunchContextPrivate' */ #define GApplication_val(val) check_cast(G_APPLICATION,val) #define Val_GApplication(val) Val_GObject((GObject*)val) #define Val_GApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationClass' */ #define GApplicationCommandLine_val(val) check_cast(G_APPLICATION_COMMAND_LINE,val) #define Val_GApplicationCommandLine(val) Val_GObject((GObject*)val) #define Val_GApplicationCommandLine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationCommandLineClass' */ /*TODO: conversion for record 'GApplicationCommandLinePrivate' */ /*TODO: conversion for record 'GApplicationPrivate' */ /*TODO: conversion for record 'GAsyncInitableIface' */ /*TODO: conversion for record 'GAsyncResultIface' */ #define GBufferedInputStream_val(val) check_cast(G_BUFFERED_INPUT_STREAM,val) #define Val_GBufferedInputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedInputStreamClass' */ /*TODO: conversion for record 'GBufferedInputStreamPrivate' */ #define GBufferedOutputStream_val(val) check_cast(G_BUFFERED_OUTPUT_STREAM,val) #define Val_GBufferedOutputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedOutputStreamClass' */ /*TODO: conversion for record 'GBufferedOutputStreamPrivate' */ #define GCancellable_val(val) check_cast(G_CANCELLABLE,val) #define Val_GCancellable(val) Val_GObject((GObject*)val) #define Val_GCancellable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCancellableClass' */ /*TODO: conversion for record 'GCancellablePrivate' */ #define GCharsetConverter_val(val) check_cast(G_CHARSET_CONVERTER,val) #define Val_GCharsetConverter(val) Val_GObject((GObject*)val) #define Val_GCharsetConverter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCharsetConverterClass' */ /*TODO: conversion for record 'GConverterIface' */ #define GConverterInputStream_val(val) check_cast(G_CONVERTER_INPUT_STREAM,val) #define Val_GConverterInputStream(val) Val_GObject((GObject*)val) #define Val_GConverterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterInputStreamClass' */ /*TODO: conversion for record 'GConverterInputStreamPrivate' */ #define GConverterOutputStream_val(val) check_cast(G_CONVERTER_OUTPUT_STREAM,val) #define Val_GConverterOutputStream(val) Val_GObject((GObject*)val) #define Val_GConverterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterOutputStreamClass' */ /*TODO: conversion for record 'GConverterOutputStreamPrivate' */ #define GCredentials_val(val) check_cast(G_CREDENTIALS,val) #define Val_GCredentials(val) Val_GObject((GObject*)val) #define Val_GCredentials_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCredentialsClass' */ /*TODO: conversion for record 'GDBusAnnotationInfo' */ /*TODO: conversion for record 'GDBusArgInfo' */ #define GDBusAuthObserver_val(val) check_cast(G_D_BUS_AUTH_OBSERVER,val) #define Val_GDBusAuthObserver(val) Val_GObject((GObject*)val) #define Val_GDBusAuthObserver_new(val) Val_GObject_new((GObject*)val) #define GDBusConnection_val(val) check_cast(G_D_BUS_CONNECTION,val) #define Val_GDBusConnection(val) Val_GObject((GObject*)val) #define Val_GDBusConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusErrorEntry' */ /*TODO: conversion for record 'GDBusInterfaceInfo' */ /*TODO: conversion for record 'GDBusInterfaceVTable' */ #define GDBusMessage_val(val) check_cast(G_D_BUS_MESSAGE,val) #define Val_GDBusMessage(val) Val_GObject((GObject*)val) #define Val_GDBusMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusMethodInfo' */ #define GDBusMethodInvocation_val(val) check_cast(G_D_BUS_METHOD_INVOCATION,val) #define Val_GDBusMethodInvocation(val) Val_GObject((GObject*)val) #define Val_GDBusMethodInvocation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusNodeInfo' */ /*TODO: conversion for record 'GDBusPropertyInfo' */ #define GDBusProxy_val(val) check_cast(G_D_BUS_PROXY,val) #define Val_GDBusProxy(val) Val_GObject((GObject*)val) #define Val_GDBusProxy_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusProxyClass' */ /*TODO: conversion for record 'GDBusProxyPrivate' */ #define GDBusServer_val(val) check_cast(G_D_BUS_SERVER,val) #define Val_GDBusServer(val) Val_GObject((GObject*)val) #define Val_GDBusServer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusSignalInfo' */ /*TODO: conversion for record 'GDBusSubtreeVTable' */ #define GDataInputStream_val(val) check_cast(G_DATA_INPUT_STREAM,val) #define Val_GDataInputStream(val) Val_GObject((GObject*)val) #define Val_GDataInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataInputStreamClass' */ /*TODO: conversion for record 'GDataInputStreamPrivate' */ #define GDataOutputStream_val(val) check_cast(G_DATA_OUTPUT_STREAM,val) #define Val_GDataOutputStream(val) Val_GObject((GObject*)val) #define Val_GDataOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataOutputStreamClass' */ /*TODO: conversion for record 'GDataOutputStreamPrivate' */ #define GDesktopAppInfo_val(val) check_cast(G_DESKTOP_APP_INFO,val) #define Val_GDesktopAppInfo(val) Val_GObject((GObject*)val) #define Val_GDesktopAppInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDesktopAppInfoClass' */ /*TODO: conversion for record 'GDesktopAppInfoLaunchHandlerIface' */ /*TODO: conversion for record 'GDesktopAppInfoLookupIface' */ /*TODO: conversion for record 'GDriveIface' */ #define GEmblem_val(val) check_cast(G_EMBLEM,val) #define Val_GEmblem(val) Val_GObject((GObject*)val) #define Val_GEmblem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemClass' */ #define GEmblemedIcon_val(val) check_cast(G_EMBLEMED_ICON,val) #define Val_GEmblemedIcon(val) Val_GObject((GObject*)val) #define Val_GEmblemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemedIconClass' */ /*TODO: conversion for record 'GEmblemedIconPrivate' */ /*TODO: conversion for record 'GFileAttributeInfo' */ /*TODO: conversion for record 'GFileAttributeInfoList' */ /*TODO: conversion for record 'GFileAttributeMatcher' */ /*TODO: conversion for record 'GFileDescriptorBasedIface' */ #define GFileEnumerator_val(val) check_cast(G_FILE_ENUMERATOR,val) #define Val_GFileEnumerator(val) Val_GObject((GObject*)val) #define Val_GFileEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileEnumeratorClass' */ /*TODO: conversion for record 'GFileEnumeratorPrivate' */ #define GFileIOStream_val(val) check_cast(G_FILE_I_O_STREAM,val) #define Val_GFileIOStream(val) Val_GObject((GObject*)val) #define Val_GFileIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIOStreamClass' */ /*TODO: conversion for record 'GFileIOStreamPrivate' */ #define GFileIcon_val(val) check_cast(G_FILE_ICON,val) #define Val_GFileIcon(val) Val_GObject((GObject*)val) #define Val_GFileIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIconClass' */ /*TODO: conversion for record 'GFileIface' */ #define GFileInfo_val(val) check_cast(G_FILE_INFO,val) #define Val_GFileInfo(val) Val_GObject((GObject*)val) #define Val_GFileInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInfoClass' */ #define GFileInputStream_val(val) check_cast(G_FILE_INPUT_STREAM,val) #define Val_GFileInputStream(val) Val_GObject((GObject*)val) #define Val_GFileInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInputStreamClass' */ /*TODO: conversion for record 'GFileInputStreamPrivate' */ #define GFileMonitor_val(val) check_cast(G_FILE_MONITOR,val) #define Val_GFileMonitor(val) Val_GObject((GObject*)val) #define Val_GFileMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileMonitorClass' */ /*TODO: conversion for record 'GFileMonitorPrivate' */ #define GFileOutputStream_val(val) check_cast(G_FILE_OUTPUT_STREAM,val) #define Val_GFileOutputStream(val) Val_GObject((GObject*)val) #define Val_GFileOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileOutputStreamClass' */ /*TODO: conversion for record 'GFileOutputStreamPrivate' */ #define GFilenameCompleter_val(val) check_cast(G_FILENAME_COMPLETER,val) #define Val_GFilenameCompleter(val) Val_GObject((GObject*)val) #define Val_GFilenameCompleter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilenameCompleterClass' */ #define GFilterInputStream_val(val) check_cast(G_FILTER_INPUT_STREAM,val) #define Val_GFilterInputStream(val) Val_GObject((GObject*)val) #define Val_GFilterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterInputStreamClass' */ #define GFilterOutputStream_val(val) check_cast(G_FILTER_OUTPUT_STREAM,val) #define Val_GFilterOutputStream(val) Val_GObject((GObject*)val) #define Val_GFilterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterOutputStreamClass' */ /*TODO: conversion for record 'GIOExtension' */ /*TODO: conversion for record 'GIOExtensionPoint' */ #define GIOModule_val(val) check_cast(G_I_O_MODULE,val) #define Val_GIOModule(val) Val_GObject((GObject*)val) #define Val_GIOModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOModuleClass' */ /*TODO: conversion for record 'GIOSchedulerJob' */ #define GIOStream_val(val) check_cast(G_I_O_STREAM,val) #define Val_GIOStream(val) Val_GObject((GObject*)val) #define Val_GIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOStreamAdapter' */ /*TODO: conversion for record 'GIOStreamClass' */ /*TODO: conversion for record 'GIOStreamPrivate' */ /*TODO: conversion for record 'GIconIface' */ #define GInetAddress_val(val) check_cast(G_INET_ADDRESS,val) #define Val_GInetAddress(val) Val_GObject((GObject*)val) #define Val_GInetAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetAddressClass' */ /*TODO: conversion for record 'GInetAddressPrivate' */ #define GInetSocketAddress_val(val) check_cast(G_INET_SOCKET_ADDRESS,val) #define Val_GInetSocketAddress(val) Val_GObject((GObject*)val) #define Val_GInetSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetSocketAddressClass' */ /*TODO: conversion for record 'GInetSocketAddressPrivate' */ /*TODO: conversion for record 'GInitableIface' */ #define GInputStream_val(val) check_cast(G_INPUT_STREAM,val) #define Val_GInputStream(val) Val_GObject((GObject*)val) #define Val_GInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInputStreamClass' */ /*TODO: conversion for record 'GInputStreamPrivate' */ /*TODO: conversion for record 'GInputVector' */ /*TODO: conversion for record 'GLoadableIconIface' */ #define GMemoryInputStream_val(val) check_cast(G_MEMORY_INPUT_STREAM,val) #define Val_GMemoryInputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryInputStreamClass' */ /*TODO: conversion for record 'GMemoryInputStreamPrivate' */ #define GMemoryOutputStream_val(val) check_cast(G_MEMORY_OUTPUT_STREAM,val) #define Val_GMemoryOutputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryOutputStreamClass' */ /*TODO: conversion for record 'GMemoryOutputStreamPrivate' */ /*TODO: conversion for record 'GMountIface' */ #define GMountOperation_val(val) check_cast(G_MOUNT_OPERATION,val) #define Val_GMountOperation(val) Val_GObject((GObject*)val) #define Val_GMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMountOperationClass' */ /*TODO: conversion for record 'GMountOperationPrivate' */ #define GNativeVolumeMonitor_val(val) check_cast(G_NATIVE_VOLUME_MONITOR,val) #define Val_GNativeVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GNativeVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNativeVolumeMonitorClass' */ #define GNetworkAddress_val(val) check_cast(G_NETWORK_ADDRESS,val) #define Val_GNetworkAddress(val) Val_GObject((GObject*)val) #define Val_GNetworkAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkAddressClass' */ /*TODO: conversion for record 'GNetworkAddressPrivate' */ #define GNetworkService_val(val) check_cast(G_NETWORK_SERVICE,val) #define Val_GNetworkService(val) Val_GObject((GObject*)val) #define Val_GNetworkService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkServiceClass' */ /*TODO: conversion for record 'GNetworkServicePrivate' */ #define GOutputStream_val(val) check_cast(G_OUTPUT_STREAM,val) #define Val_GOutputStream(val) Val_GObject((GObject*)val) #define Val_GOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GOutputStreamClass' */ /*TODO: conversion for record 'GOutputStreamPrivate' */ /*TODO: conversion for record 'GOutputVector' */ #define GPermission_val(val) check_cast(G_PERMISSION,val) #define Val_GPermission(val) Val_GObject((GObject*)val) #define Val_GPermission_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GPermissionClass' */ /*TODO: conversion for record 'GPermissionPrivate' */ /*TODO: conversion for record 'GPollableInputStreamInterface' */ /*TODO: conversion for record 'GPollableOutputStreamInterface' */ #define GProxyAddress_val(val) check_cast(G_PROXY_ADDRESS,val) #define Val_GProxyAddress(val) Val_GObject((GObject*)val) #define Val_GProxyAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressClass' */ #define GProxyAddressEnumerator_val(val) check_cast(G_PROXY_ADDRESS_ENUMERATOR,val) #define Val_GProxyAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GProxyAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressEnumeratorClass' */ /*TODO: conversion for record 'GProxyAddressEnumeratorPrivate' */ /*TODO: conversion for record 'GProxyAddressPrivate' */ /*TODO: conversion for record 'GProxyInterface' */ /*TODO: conversion for record 'GProxyResolverInterface' */ #define GResolver_val(val) check_cast(G_RESOLVER,val) #define Val_GResolver(val) Val_GObject((GObject*)val) #define Val_GResolver_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GResolverClass' */ /*TODO: conversion for record 'GResolverPrivate' */ /*TODO: conversion for record 'GSeekableIface' */ #define GSettings_val(val) check_cast(G_SETTINGS,val) #define Val_GSettings(val) Val_GObject((GObject*)val) #define Val_GSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSettingsBackend' */ /*TODO: conversion for record 'GSettingsClass' */ /*TODO: conversion for record 'GSettingsPrivate' */ #define GSimpleAction_val(val) check_cast(G_SIMPLE_ACTION,val) #define Val_GSimpleAction(val) Val_GObject((GObject*)val) #define Val_GSimpleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionClass' */ #define GSimpleActionGroup_val(val) check_cast(G_SIMPLE_ACTION_GROUP,val) #define Val_GSimpleActionGroup(val) Val_GObject((GObject*)val) #define Val_GSimpleActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionGroupClass' */ /*TODO: conversion for record 'GSimpleActionGroupPrivate' */ /*TODO: conversion for record 'GSimpleActionPrivate' */ #define GSimpleAsyncResult_val(val) check_cast(G_SIMPLE_ASYNC_RESULT,val) #define Val_GSimpleAsyncResult(val) Val_GObject((GObject*)val) #define Val_GSimpleAsyncResult_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleAsyncResultClass' */ #define GSimplePermission_val(val) check_cast(G_SIMPLE_PERMISSION,val) #define Val_GSimplePermission(val) Val_GObject((GObject*)val) #define Val_GSimplePermission_new(val) Val_GObject_new((GObject*)val) #define GSocket_val(val) check_cast(G_SOCKET,val) #define Val_GSocket(val) Val_GObject((GObject*)val) #define Val_GSocket_new(val) Val_GObject_new((GObject*)val) #define GSocketAddress_val(val) check_cast(G_SOCKET_ADDRESS,val) #define Val_GSocketAddress(val) Val_GObject((GObject*)val) #define Val_GSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressClass' */ #define GSocketAddressEnumerator_val(val) check_cast(G_SOCKET_ADDRESS_ENUMERATOR,val) #define Val_GSocketAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GSocketAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressEnumeratorClass' */ /*TODO: conversion for record 'GSocketClass' */ #define GSocketClient_val(val) check_cast(G_SOCKET_CLIENT,val) #define Val_GSocketClient(val) Val_GObject((GObject*)val) #define Val_GSocketClient_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketClientClass' */ /*TODO: conversion for record 'GSocketClientPrivate' */ /*TODO: conversion for record 'GSocketConnectableIface' */ #define GSocketConnection_val(val) check_cast(G_SOCKET_CONNECTION,val) #define Val_GSocketConnection(val) Val_GObject((GObject*)val) #define Val_GSocketConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketConnectionClass' */ /*TODO: conversion for record 'GSocketConnectionPrivate' */ #define GSocketControlMessage_val(val) check_cast(G_SOCKET_CONTROL_MESSAGE,val) #define Val_GSocketControlMessage(val) Val_GObject((GObject*)val) #define Val_GSocketControlMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketControlMessageClass' */ /*TODO: conversion for record 'GSocketControlMessagePrivate' */ #define GSocketListener_val(val) check_cast(G_SOCKET_LISTENER,val) #define Val_GSocketListener(val) Val_GObject((GObject*)val) #define Val_GSocketListener_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketListenerClass' */ /*TODO: conversion for record 'GSocketListenerPrivate' */ /*TODO: conversion for record 'GSocketPrivate' */ #define GSocketService_val(val) check_cast(G_SOCKET_SERVICE,val) #define Val_GSocketService(val) Val_GObject((GObject*)val) #define Val_GSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketServiceClass' */ /*TODO: conversion for record 'GSocketServicePrivate' */ /*TODO: conversion for record 'GSrvTarget' */ #define GTcpConnection_val(val) check_cast(G_TCP_CONNECTION,val) #define Val_GTcpConnection(val) Val_GObject((GObject*)val) #define Val_GTcpConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpConnectionClass' */ /*TODO: conversion for record 'GTcpConnectionPrivate' */ #define GTcpWrapperConnection_val(val) check_cast(G_TCP_WRAPPER_CONNECTION,val) #define Val_GTcpWrapperConnection(val) Val_GObject((GObject*)val) #define Val_GTcpWrapperConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpWrapperConnectionClass' */ /*TODO: conversion for record 'GTcpWrapperConnectionPrivate' */ #define GThemedIcon_val(val) check_cast(G_THEMED_ICON,val) #define Val_GThemedIcon(val) Val_GObject((GObject*)val) #define Val_GThemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThemedIconClass' */ #define GThreadedSocketService_val(val) check_cast(G_THREADED_SOCKET_SERVICE,val) #define Val_GThreadedSocketService(val) Val_GObject((GObject*)val) #define Val_GThreadedSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThreadedSocketServiceClass' */ /*TODO: conversion for record 'GThreadedSocketServicePrivate' */ /*TODO: conversion for record 'GTlsBackendInterface' */ #define GTlsCertificate_val(val) check_cast(G_TLS_CERTIFICATE,val) #define Val_GTlsCertificate(val) Val_GObject((GObject*)val) #define Val_GTlsCertificate_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsCertificateClass' */ /*TODO: conversion for record 'GTlsCertificatePrivate' */ /*TODO: conversion for record 'GTlsClientConnectionInterface' */ /*TODO: conversion for record 'GTlsClientContext' */ #define GTlsConnection_val(val) check_cast(G_TLS_CONNECTION,val) #define Val_GTlsConnection(val) Val_GObject((GObject*)val) #define Val_GTlsConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsConnectionClass' */ /*TODO: conversion for record 'GTlsConnectionPrivate' */ /*TODO: conversion for record 'GTlsContext' */ /*TODO: conversion for record 'GTlsServerConnectionInterface' */ /*TODO: conversion for record 'GTlsServerContext' */ #define GUnixConnection_val(val) check_cast(G_UNIX_CONNECTION,val) #define Val_GUnixConnection(val) Val_GObject((GObject*)val) #define Val_GUnixConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixConnectionClass' */ /*TODO: conversion for record 'GUnixConnectionPrivate' */ #define GUnixCredentialsMessage_val(val) check_cast(G_UNIX_CREDENTIALS_MESSAGE,val) #define Val_GUnixCredentialsMessage(val) Val_GObject((GObject*)val) #define Val_GUnixCredentialsMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixCredentialsMessageClass' */ /*TODO: conversion for record 'GUnixCredentialsMessagePrivate' */ #define GUnixFDList_val(val) check_cast(G_UNIX_F_D_LIST,val) #define Val_GUnixFDList(val) Val_GObject((GObject*)val) #define Val_GUnixFDList_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDListClass' */ /*TODO: conversion for record 'GUnixFDListPrivate' */ #define GUnixFDMessage_val(val) check_cast(G_UNIX_F_D_MESSAGE,val) #define Val_GUnixFDMessage(val) Val_GObject((GObject*)val) #define Val_GUnixFDMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDMessageClass' */ /*TODO: conversion for record 'GUnixFDMessagePrivate' */ #define GUnixInputStream_val(val) check_cast(G_UNIX_INPUT_STREAM,val) #define Val_GUnixInputStream(val) Val_GObject((GObject*)val) #define Val_GUnixInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixInputStreamClass' */ /*TODO: conversion for record 'GUnixInputStreamPrivate' */ /*TODO: conversion for record 'GUnixMountEntry' */ #define GUnixMountMonitor_val(val) check_cast(G_UNIX_MOUNT_MONITOR,val) #define Val_GUnixMountMonitor(val) Val_GObject((GObject*)val) #define Val_GUnixMountMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixMountMonitorClass' */ /*TODO: conversion for record 'GUnixMountPoint' */ #define GUnixOutputStream_val(val) check_cast(G_UNIX_OUTPUT_STREAM,val) #define Val_GUnixOutputStream(val) Val_GObject((GObject*)val) #define Val_GUnixOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixOutputStreamClass' */ /*TODO: conversion for record 'GUnixOutputStreamPrivate' */ #define GUnixSocketAddress_val(val) check_cast(G_UNIX_SOCKET_ADDRESS,val) #define Val_GUnixSocketAddress(val) Val_GObject((GObject*)val) #define Val_GUnixSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixSocketAddressClass' */ /*TODO: conversion for record 'GUnixSocketAddressPrivate' */ #define GVfs_val(val) check_cast(G_VFS,val) #define Val_GVfs(val) Val_GObject((GObject*)val) #define Val_GVfs_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVfsClass' */ /*TODO: conversion for record 'GVolumeIface' */ #define GVolumeMonitor_val(val) check_cast(G_VOLUME_MONITOR,val) #define Val_GVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVolumeMonitorClass' */ #define GZlibCompressor_val(val) check_cast(G_ZLIB_COMPRESSOR,val) #define Val_GZlibCompressor(val) Val_GObject((GObject*)val) #define Val_GZlibCompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibCompressorClass' */ #define GZlibDecompressor_val(val) check_cast(G_ZLIB_DECOMPRESSOR,val) #define Val_GZlibDecompressor(val) Val_GObject((GObject*)val) #define Val_GZlibDecompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibDecompressorClass' */ #define GdkPixbuf_val(val) check_cast(GDK_PIXBUF,val) #define Val_GdkPixbuf(val) Val_GObject((GObject*)val) #define Val_GdkPixbuf_new(val) Val_GObject_new((GObject*)val) #define GdkPixbufAnimation_val(val) check_cast(GDK_PIXBUF_ANIMATION,val) #define Val_GdkPixbufAnimation(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationClass' */ #define GdkPixbufAnimationIter_val(val) check_cast(GDK_PIXBUF_ANIMATION_ITER,val) #define Val_GdkPixbufAnimationIter(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimationIter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationIterClass' */ /*TODO: conversion for record 'GdkPixbufFormat' */ #define GdkPixbufLoader_val(val) check_cast(GDK_PIXBUF_LOADER,val) #define Val_GdkPixbufLoader(val) Val_GObject((GObject*)val) #define Val_GdkPixbufLoader_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufLoaderClass' */ /*TODO: conversion for record 'GdkPixbufModule' */ /*TODO: conversion for record 'GdkPixbufModulePattern' */ #define GdkPixbufSimpleAnim_val(val) check_cast(GDK_PIXBUF_SIMPLE_ANIM,val) #define Val_GdkPixbufSimpleAnim(val) Val_GObject((GObject*)val) #define Val_GdkPixbufSimpleAnim_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufSimpleAnimClass' */ /*TODO: conversion for record 'GdkPixdata' */ /*TODO: conversion for record 'cairo_t' */ /*TODO: conversion for record 'cairo_surface_t' */ /*TODO: conversion for record 'cairo_matrix_t' */ /*TODO: conversion for record 'cairo_pattern_t' */ /*TODO: conversion for record 'cairo_region_t' */ /*TODO: conversion for record 'cairo_font_options_t' */ /*TODO: conversion for record 'cairo_font_type_t' */ /*TODO: conversion for record 'cairo_font_face_t' */ /*TODO: conversion for record 'cairo_scaled_font_t' */ /*TODO: conversion for record 'cairo_path_t' */ /*TODO: conversion for record 'cairo_rectangle_int_t' */ /*TODO: conversion for record 'PangoAnalysis' */ /*TODO: conversion for record 'PangoAttrClass' */ /*TODO: conversion for record 'PangoAttrColor' */ /*TODO: conversion for record 'PangoAttrFloat' */ /*TODO: conversion for record 'PangoAttrFontDesc' */ /*TODO: conversion for record 'PangoAttrInt' */ /*TODO: conversion for record 'PangoAttrIterator' */ /*TODO: conversion for record 'PangoAttrLanguage' */ /*TODO: conversion for record 'PangoAttrList' */ /*TODO: conversion for record 'PangoAttrShape' */ /*TODO: conversion for record 'PangoAttrSize' */ /*TODO: conversion for record 'PangoAttrString' */ /*TODO: conversion for record 'PangoAttribute' */ /*TODO: conversion for record 'PangoColor' */ #define PangoContext_val(val) check_cast(PANGO_CONTEXT,val) #define Val_PangoContext(val) Val_GObject((GObject*)val) #define Val_PangoContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoContextClass' */ /*TODO: conversion for record 'PangoCoverage' */ /*TODO: conversion for record 'PangoEngineLang' */ /*TODO: conversion for record 'PangoEngineShape' */ #define PangoFont_val(val) check_cast(PANGO_FONT,val) #define Val_PangoFont(val) Val_GObject((GObject*)val) #define Val_PangoFont_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontDescription' */ #define PangoFontFace_val(val) check_cast(PANGO_FONT_FACE,val) #define Val_PangoFontFace(val) Val_GObject((GObject*)val) #define Val_PangoFontFace_new(val) Val_GObject_new((GObject*)val) #define PangoFontFamily_val(val) check_cast(PANGO_FONT_FAMILY,val) #define Val_PangoFontFamily(val) Val_GObject((GObject*)val) #define Val_PangoFontFamily_new(val) Val_GObject_new((GObject*)val) #define PangoFontMap_val(val) check_cast(PANGO_FONT_MAP,val) #define Val_PangoFontMap(val) Val_GObject((GObject*)val) #define Val_PangoFontMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontMetrics' */ #define PangoFontset_val(val) check_cast(PANGO_FONTSET,val) #define Val_PangoFontset(val) Val_GObject((GObject*)val) #define Val_PangoFontset_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoGlyphGeometry' */ /*TODO: conversion for record 'PangoGlyphInfo' */ /*TODO: conversion for record 'PangoGlyphItem' */ /*TODO: conversion for record 'PangoGlyphItemIter' */ /*TODO: conversion for record 'PangoGlyphString' */ /*TODO: conversion for record 'PangoGlyphVisAttr' */ /*TODO: conversion for record 'PangoItem' */ /*TODO: conversion for record 'PangoLanguage' */ #define PangoLayout_val(val) check_cast(PANGO_LAYOUT,val) #define Val_PangoLayout(val) Val_GObject((GObject*)val) #define Val_PangoLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoLayoutClass' */ /*TODO: conversion for record 'PangoLayoutIter' */ /*TODO: conversion for record 'PangoLayoutLine' */ /*TODO: conversion for record 'PangoLogAttr' */ /*TODO: conversion for record 'PangoMatrix' */ /*TODO: conversion for record 'PangoRectangle' */ #define PangoRenderer_val(val) check_cast(PANGO_RENDERER,val) #define Val_PangoRenderer(val) Val_GObject((GObject*)val) #define Val_PangoRenderer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoRendererClass' */ /*TODO: conversion for record 'PangoRendererPrivate' */ /*TODO: conversion for record 'PangoScriptIter' */ /*TODO: conversion for record 'PangoTabArray' */ /*TODO: conversion for record '_PangoScriptForLang' */ #define GdkAppLaunchContext_val(val) check_cast(GDK_APP_LAUNCH_CONTEXT,val) #define Val_GdkAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GdkAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkAtom' */ /*TODO: conversion for record 'GdkColor' */ #define GdkCursor_val(val) check_cast(GDK_CURSOR,val) #define Val_GdkCursor(val) Val_GObject((GObject*)val) #define Val_GdkCursor_new(val) Val_GObject_new((GObject*)val) #define GdkDevice_val(val) check_cast(GDK_DEVICE,val) #define Val_GdkDevice(val) Val_GObject((GObject*)val) #define Val_GdkDevice_new(val) Val_GObject_new((GObject*)val) #define GdkDeviceManager_val(val) check_cast(GDK_DEVICE_MANAGER,val) #define Val_GdkDeviceManager(val) Val_GObject((GObject*)val) #define Val_GdkDeviceManager_new(val) Val_GObject_new((GObject*)val) #define GdkDisplay_val(val) check_cast(GDK_DISPLAY_OBJECT,val) #define Val_GdkDisplay(val) Val_GObject((GObject*)val) #define Val_GdkDisplay_new(val) Val_GObject_new((GObject*)val) #define GdkDisplayManager_val(val) check_cast(GDK_DISPLAY_MANAGER,val) #define Val_GdkDisplayManager(val) Val_GObject((GObject*)val) #define Val_GdkDisplayManager_new(val) Val_GObject_new((GObject*)val) #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val) #define Val_GdkDragContext(val) Val_GObject((GObject*)val) #define Val_GdkDragContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkEventAny' */ /*TODO: conversion for record 'GdkEventButton' */ /*TODO: conversion for record 'GdkEventConfigure' */ /*TODO: conversion for record 'GdkEventCrossing' */ /*TODO: conversion for record 'GdkEventDND' */ /*TODO: conversion for record 'GdkEventExpose' */ /*TODO: conversion for record 'GdkEventFocus' */ /*TODO: conversion for record 'GdkEventGrabBroken' */ /*TODO: conversion for record 'GdkEventKey' */ /*TODO: conversion for record 'GdkEventMotion' */ /*TODO: conversion for record 'GdkEventOwnerChange' */ /*TODO: conversion for record 'GdkEventProperty' */ /*TODO: conversion for record 'GdkEventProximity' */ /*TODO: conversion for record 'GdkEventScroll' */ /*TODO: conversion for record 'GdkEventSelection' */ /*TODO: conversion for record 'GdkEventSetting' */ /*TODO: conversion for record 'GdkEventVisibility' */ /*TODO: conversion for record 'GdkEventWindowState' */ /*TODO: conversion for record 'GdkGeometry' */ #define GdkKeymap_val(val) check_cast(GDK_KEYMAP,val) #define Val_GdkKeymap(val) Val_GObject((GObject*)val) #define Val_GdkKeymap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkKeymapKey' */ /*TODO: conversion for record 'GdkPoint' */ /*TODO: conversion for record 'GdkRGBA' */ #define GdkScreen_val(val) check_cast(GDK_SCREEN,val) #define Val_GdkScreen(val) Val_GObject((GObject*)val) #define Val_GdkScreen_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkTimeCoord' */ #define GdkVisual_val(val) check_cast(GDK_VISUAL,val) #define Val_GdkVisual(val) Val_GObject((GObject*)val) #define Val_GdkVisual_new(val) Val_GObject_new((GObject*)val) #define GdkWindow_val(val) check_cast(GDK_WINDOW,val) #define Val_GdkWindow(val) Val_GObject((GObject*)val) #define Val_GdkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkWindowAttr' */ /*TODO: conversion for record 'GdkWindowClass' */ /*TODO: conversion for record 'GdkWindowRedirect' */ #define GtkAboutDialog_val(val) check_cast(GTK_ABOUT_DIALOG,val) #define Val_GtkAboutDialog(val) Val_GObject((GObject*)val) #define Val_GtkAboutDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAboutDialogClass' */ /*TODO: conversion for record 'GtkAboutDialogPrivate' */ #define GtkAccelGroup_val(val) check_cast(GTK_ACCEL_GROUP,val) #define Val_GtkAccelGroup(val) Val_GObject((GObject*)val) #define Val_GtkAccelGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelGroupClass' */ /*TODO: conversion for record 'GtkAccelGroupEntry' */ /*TODO: conversion for record 'GtkAccelGroupPrivate' */ /*TODO: conversion for record 'GtkAccelKey' */ #define GtkAccelLabel_val(val) check_cast(GTK_ACCEL_LABEL,val) #define Val_GtkAccelLabel(val) Val_GObject((GObject*)val) #define Val_GtkAccelLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelLabelClass' */ /*TODO: conversion for record 'GtkAccelLabelPrivate' */ #define GtkAccelMap_val(val) check_cast(GTK_ACCEL_MAP,val) #define Val_GtkAccelMap(val) Val_GObject((GObject*)val) #define Val_GtkAccelMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelMapClass' */ #define GtkAccessible_val(val) check_cast(GTK_ACCESSIBLE,val) #define Val_GtkAccessible(val) Val_GObject((GObject*)val) #define Val_GtkAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccessibleClass' */ /*TODO: conversion for record 'GtkAccessiblePrivate' */ #define GtkAction_val(val) check_cast(GTK_ACTION,val) #define Val_GtkAction(val) Val_GObject((GObject*)val) #define Val_GtkAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionClass' */ /*TODO: conversion for record 'GtkActionEntry' */ #define GtkActionGroup_val(val) check_cast(GTK_ACTION_GROUP,val) #define Val_GtkActionGroup(val) Val_GObject((GObject*)val) #define Val_GtkActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionGroupClass' */ /*TODO: conversion for record 'GtkActionGroupPrivate' */ /*TODO: conversion for record 'GtkActionPrivate' */ /*TODO: conversion for record 'GtkActivatableIface' */ #define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val) #define Val_GtkAdjustment(val) Val_GObject((GObject*)val) #define Val_GtkAdjustment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAdjustmentClass' */ /*TODO: conversion for record 'GtkAdjustmentPrivate' */ #define GtkAlignment_val(val) check_cast(GTK_ALIGNMENT,val) #define Val_GtkAlignment(val) Val_GObject((GObject*)val) #define Val_GtkAlignment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAlignmentClass' */ /*TODO: conversion for record 'GtkAlignmentPrivate' */ #define GtkAppChooserButton_val(val) check_cast(GTK_APP_CHOOSER_BUTTON,val) #define Val_GtkAppChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserButtonClass' */ /*TODO: conversion for record 'GtkAppChooserButtonPrivate' */ #define GtkAppChooserDialog_val(val) check_cast(GTK_APP_CHOOSER_DIALOG,val) #define Val_GtkAppChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserDialogClass' */ /*TODO: conversion for record 'GtkAppChooserDialogPrivate' */ #define GtkAppChooserWidget_val(val) check_cast(GTK_APP_CHOOSER_WIDGET,val) #define Val_GtkAppChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserWidgetClass' */ /*TODO: conversion for record 'GtkAppChooserWidgetPrivate' */ #define GtkApplication_val(val) check_cast(GTK_APPLICATION,val) #define Val_GtkApplication(val) Val_GObject((GObject*)val) #define Val_GtkApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkApplicationClass' */ /*TODO: conversion for record 'GtkApplicationPrivate' */ #define GtkArrow_val(val) check_cast(GTK_ARROW,val) #define Val_GtkArrow(val) Val_GObject((GObject*)val) #define Val_GtkArrow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkArrowClass' */ /*TODO: conversion for record 'GtkArrowPrivate' */ #define GtkAspectFrame_val(val) check_cast(GTK_ASPECT_FRAME,val) #define Val_GtkAspectFrame(val) Val_GObject((GObject*)val) #define Val_GtkAspectFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAspectFrameClass' */ /*TODO: conversion for record 'GtkAspectFramePrivate' */ #define GtkAssistant_val(val) check_cast(GTK_ASSISTANT,val) #define Val_GtkAssistant(val) Val_GObject((GObject*)val) #define Val_GtkAssistant_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAssistantClass' */ /*TODO: conversion for record 'GtkAssistantPrivate' */ #define GtkBin_val(val) check_cast(GTK_BIN,val) #define Val_GtkBin(val) Val_GObject((GObject*)val) #define Val_GtkBin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBinClass' */ /*TODO: conversion for record 'GtkBinPrivate' */ /*TODO: conversion for record 'GtkBindingArg' */ /*TODO: conversion for record 'GtkBindingEntry' */ /*TODO: conversion for record 'GtkBindingSet' */ /*TODO: conversion for record 'GtkBindingSignal' */ /*TODO: conversion for record 'GtkBorder' */ #define GtkBox_val(val) check_cast(GTK_BOX,val) #define Val_GtkBox(val) Val_GObject((GObject*)val) #define Val_GtkBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBoxClass' */ /*TODO: conversion for record 'GtkBoxPrivate' */ /*TODO: conversion for record 'GtkBuildableIface' */ #define GtkBuilder_val(val) check_cast(GTK_BUILDER,val) #define Val_GtkBuilder(val) Val_GObject((GObject*)val) #define Val_GtkBuilder_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBuilderClass' */ /*TODO: conversion for record 'GtkBuilderPrivate' */ #define GtkButton_val(val) check_cast(GTK_BUTTON,val) #define Val_GtkButton(val) Val_GObject((GObject*)val) #define Val_GtkButton_new(val) Val_GObject_new((GObject*)val) #define GtkButtonBox_val(val) check_cast(GTK_BUTTON_BOX,val) #define Val_GtkButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkButtonBoxClass' */ /*TODO: conversion for record 'GtkButtonBoxPrivate' */ /*TODO: conversion for record 'GtkButtonClass' */ /*TODO: conversion for record 'GtkButtonPrivate' */ #define GtkCalendar_val(val) check_cast(GTK_CALENDAR,val) #define Val_GtkCalendar(val) Val_GObject((GObject*)val) #define Val_GtkCalendar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCalendarClass' */ /*TODO: conversion for record 'GtkCalendarPrivate' */ #define GtkCellArea_val(val) check_cast(GTK_CELL_AREA,val) #define Val_GtkCellArea(val) Val_GObject((GObject*)val) #define Val_GtkCellArea_new(val) Val_GObject_new((GObject*)val) #define GtkCellAreaBox_val(val) check_cast(GTK_CELL_AREA_BOX,val) #define Val_GtkCellAreaBox(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaBoxClass' */ /*TODO: conversion for record 'GtkCellAreaBoxPrivate' */ /*TODO: conversion for record 'GtkCellAreaClass' */ #define GtkCellAreaContext_val(val) check_cast(GTK_CELL_AREA_CONTEXT,val) #define Val_GtkCellAreaContext(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaContextClass' */ /*TODO: conversion for record 'GtkCellAreaContextPrivate' */ /*TODO: conversion for record 'GtkCellAreaPrivate' */ /*TODO: conversion for record 'GtkCellEditableIface' */ /*TODO: conversion for record 'GtkCellLayoutIface' */ #define GtkCellRenderer_val(val) check_cast(GTK_CELL_RENDERER,val) #define Val_GtkCellRenderer(val) Val_GObject((GObject*)val) #define Val_GtkCellRenderer_new(val) Val_GObject_new((GObject*)val) #define GtkCellRendererAccel_val(val) check_cast(GTK_CELL_RENDERER_ACCEL,val) #define Val_GtkCellRendererAccel(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererAccel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererAccelClass' */ /*TODO: conversion for record 'GtkCellRendererAccelPrivate' */ /*TODO: conversion for record 'GtkCellRendererClass' */ #define GtkCellRendererCombo_val(val) check_cast(GTK_CELL_RENDERER_COMBO,val) #define Val_GtkCellRendererCombo(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererCombo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererComboClass' */ /*TODO: conversion for record 'GtkCellRendererComboPrivate' */ #define GtkCellRendererPixbuf_val(val) check_cast(GTK_CELL_RENDERER_PIXBUF,val) #define Val_GtkCellRendererPixbuf(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererPixbuf_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererPixbufClass' */ /*TODO: conversion for record 'GtkCellRendererPixbufPrivate' */ /*TODO: conversion for record 'GtkCellRendererPrivate' */ #define GtkCellRendererProgress_val(val) check_cast(GTK_CELL_RENDERER_PROGRESS,val) #define Val_GtkCellRendererProgress(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererProgress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererProgressClass' */ /*TODO: conversion for record 'GtkCellRendererProgressPrivate' */ #define GtkCellRendererSpin_val(val) check_cast(GTK_CELL_RENDERER_SPIN,val) #define Val_GtkCellRendererSpin(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinClass' */ /*TODO: conversion for record 'GtkCellRendererSpinPrivate' */ #define GtkCellRendererSpinner_val(val) check_cast(GTK_CELL_RENDERER_SPINNER,val) #define Val_GtkCellRendererSpinner(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinnerClass' */ /*TODO: conversion for record 'GtkCellRendererSpinnerPrivate' */ #define GtkCellRendererText_val(val) check_cast(GTK_CELL_RENDERER_TEXT,val) #define Val_GtkCellRendererText(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererTextClass' */ /*TODO: conversion for record 'GtkCellRendererTextPrivate' */ #define GtkCellRendererToggle_val(val) check_cast(GTK_CELL_RENDERER_TOGGLE,val) #define Val_GtkCellRendererToggle(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererToggle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererToggleClass' */ /*TODO: conversion for record 'GtkCellRendererTogglePrivate' */ #define GtkCellView_val(val) check_cast(GTK_CELL_VIEW,val) #define Val_GtkCellView(val) Val_GObject((GObject*)val) #define Val_GtkCellView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellViewClass' */ /*TODO: conversion for record 'GtkCellViewPrivate' */ #define GtkCheckButton_val(val) check_cast(GTK_CHECK_BUTTON,val) #define Val_GtkCheckButton(val) Val_GObject((GObject*)val) #define Val_GtkCheckButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckButtonClass' */ #define GtkCheckMenuItem_val(val) check_cast(GTK_CHECK_MENU_ITEM,val) #define Val_GtkCheckMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkCheckMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckMenuItemClass' */ /*TODO: conversion for record 'GtkCheckMenuItemPrivate' */ #define GtkClipboard_val(val) check_cast(GTK_CLIPBOARD,val) #define Val_GtkClipboard(val) Val_GObject((GObject*)val) #define Val_GtkClipboard_new(val) Val_GObject_new((GObject*)val) #define GtkColorButton_val(val) check_cast(GTK_COLOR_BUTTON,val) #define Val_GtkColorButton(val) Val_GObject((GObject*)val) #define Val_GtkColorButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorButtonClass' */ /*TODO: conversion for record 'GtkColorButtonPrivate' */ #define GtkColorSelection_val(val) check_cast(GTK_COLOR_SELECTION,val) #define Val_GtkColorSelection(val) Val_GObject((GObject*)val) #define Val_GtkColorSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionClass' */ #define GtkColorSelectionDialog_val(val) check_cast(GTK_COLOR_SELECTION_DIALOG,val) #define Val_GtkColorSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkColorSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionDialogClass' */ /*TODO: conversion for record 'GtkColorSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkColorSelectionPrivate' */ #define GtkComboBox_val(val) check_cast(GTK_COMBO_BOX,val) #define Val_GtkComboBox(val) Val_GObject((GObject*)val) #define Val_GtkComboBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxClass' */ /*TODO: conversion for record 'GtkComboBoxPrivate' */ #define GtkComboBoxText_val(val) check_cast(GTK_COMBO_BOX_TEXT,val) #define Val_GtkComboBoxText(val) Val_GObject((GObject*)val) #define Val_GtkComboBoxText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxTextClass' */ /*TODO: conversion for record 'GtkComboBoxTextPrivate' */ #define GtkContainer_val(val) check_cast(GTK_CONTAINER,val) #define Val_GtkContainer(val) Val_GObject((GObject*)val) #define Val_GtkContainer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkContainerClass' */ /*TODO: conversion for record 'GtkContainerPrivate' */ #define GtkCssProvider_val(val) check_cast(GTK_CSS_PROVIDER,val) #define Val_GtkCssProvider(val) Val_GObject((GObject*)val) #define Val_GtkCssProvider_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCssProviderClass' */ #define GtkDialog_val(val) check_cast(GTK_DIALOG,val) #define Val_GtkDialog(val) Val_GObject((GObject*)val) #define Val_GtkDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDialogClass' */ /*TODO: conversion for record 'GtkDialogPrivate' */ #define GtkDrawingArea_val(val) check_cast(GTK_DRAWING_AREA,val) #define Val_GtkDrawingArea(val) Val_GObject((GObject*)val) #define Val_GtkDrawingArea_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDrawingAreaClass' */ /*TODO: conversion for record 'GtkEditableInterface' */ #define GtkEntry_val(val) check_cast(GTK_ENTRY,val) #define Val_GtkEntry(val) Val_GObject((GObject*)val) #define Val_GtkEntry_new(val) Val_GObject_new((GObject*)val) #define GtkEntryBuffer_val(val) check_cast(GTK_ENTRY_BUFFER,val) #define Val_GtkEntryBuffer(val) Val_GObject((GObject*)val) #define Val_GtkEntryBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryBufferClass' */ /*TODO: conversion for record 'GtkEntryBufferPrivate' */ /*TODO: conversion for record 'GtkEntryClass' */ #define GtkEntryCompletion_val(val) check_cast(GTK_ENTRY_COMPLETION,val) #define Val_GtkEntryCompletion(val) Val_GObject((GObject*)val) #define Val_GtkEntryCompletion_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryCompletionClass' */ /*TODO: conversion for record 'GtkEntryCompletionPrivate' */ /*TODO: conversion for record 'GtkEntryPrivate' */ #define GtkEventBox_val(val) check_cast(GTK_EVENT_BOX,val) #define Val_GtkEventBox(val) Val_GObject((GObject*)val) #define Val_GtkEventBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEventBoxClass' */ /*TODO: conversion for record 'GtkEventBoxPrivate' */ #define GtkExpander_val(val) check_cast(GTK_EXPANDER,val) #define Val_GtkExpander(val) Val_GObject((GObject*)val) #define Val_GtkExpander_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkExpanderClass' */ /*TODO: conversion for record 'GtkExpanderPrivate' */ #define GtkFileChooserButton_val(val) check_cast(GTK_FILE_CHOOSER_BUTTON,val) #define Val_GtkFileChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserButtonClass' */ /*TODO: conversion for record 'GtkFileChooserButtonPrivate' */ #define GtkFileChooserDialog_val(val) check_cast(GTK_FILE_CHOOSER_DIALOG,val) #define Val_GtkFileChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserDialogClass' */ /*TODO: conversion for record 'GtkFileChooserDialogPrivate' */ #define GtkFileChooserWidget_val(val) check_cast(GTK_FILE_CHOOSER_WIDGET,val) #define Val_GtkFileChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserWidgetClass' */ /*TODO: conversion for record 'GtkFileChooserWidgetPrivate' */ #define GtkFileFilter_val(val) check_cast(GTK_FILE_FILTER,val) #define Val_GtkFileFilter(val) Val_GObject((GObject*)val) #define Val_GtkFileFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileFilterInfo' */ #define GtkFixed_val(val) check_cast(GTK_FIXED,val) #define Val_GtkFixed(val) Val_GObject((GObject*)val) #define Val_GtkFixed_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFixedChild' */ /*TODO: conversion for record 'GtkFixedClass' */ /*TODO: conversion for record 'GtkFixedPrivate' */ #define GtkFontButton_val(val) check_cast(GTK_FONT_BUTTON,val) #define Val_GtkFontButton(val) Val_GObject((GObject*)val) #define Val_GtkFontButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontButtonClass' */ /*TODO: conversion for record 'GtkFontButtonPrivate' */ #define GtkFontSelection_val(val) check_cast(GTK_FONT_SELECTION,val) #define Val_GtkFontSelection(val) Val_GObject((GObject*)val) #define Val_GtkFontSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionClass' */ #define GtkFontSelectionDialog_val(val) check_cast(GTK_FONT_SELECTION_DIALOG,val) #define Val_GtkFontSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkFontSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionDialogClass' */ /*TODO: conversion for record 'GtkFontSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkFontSelectionPrivate' */ #define GtkFrame_val(val) check_cast(GTK_FRAME,val) #define Val_GtkFrame(val) Val_GObject((GObject*)val) #define Val_GtkFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFrameClass' */ /*TODO: conversion for record 'GtkFramePrivate' */ /*TODO: conversion for record 'GtkGradient' */ #define GtkGrid_val(val) check_cast(GTK_GRID,val) #define Val_GtkGrid(val) Val_GObject((GObject*)val) #define Val_GtkGrid_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkGridClass' */ /*TODO: conversion for record 'GtkGridPrivate' */ #define GtkHBox_val(val) check_cast(GTK_H_BOX,val) #define Val_GtkHBox(val) Val_GObject((GObject*)val) #define Val_GtkHBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHBoxClass' */ #define GtkHButtonBox_val(val) check_cast(GTK_H_BUTTON_BOX,val) #define Val_GtkHButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkHButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHButtonBoxClass' */ #define GtkHPaned_val(val) check_cast(GTK_H_PANED,val) #define Val_GtkHPaned(val) Val_GObject((GObject*)val) #define Val_GtkHPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHPanedClass' */ #define GtkHSV_val(val) check_cast(GTK_HSV,val) #define Val_GtkHSV(val) Val_GObject((GObject*)val) #define Val_GtkHSV_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSVClass' */ /*TODO: conversion for record 'GtkHSVPrivate' */ #define GtkHScale_val(val) check_cast(GTK_H_SCALE,val) #define Val_GtkHScale(val) Val_GObject((GObject*)val) #define Val_GtkHScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScaleClass' */ #define GtkHScrollbar_val(val) check_cast(GTK_H_SCROLLBAR,val) #define Val_GtkHScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkHScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScrollbarClass' */ #define GtkHSeparator_val(val) check_cast(GTK_H_SEPARATOR,val) #define Val_GtkHSeparator(val) Val_GObject((GObject*)val) #define Val_GtkHSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSeparatorClass' */ #define GtkHandleBox_val(val) check_cast(GTK_HANDLE_BOX,val) #define Val_GtkHandleBox(val) Val_GObject((GObject*)val) #define Val_GtkHandleBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHandleBoxClass' */ /*TODO: conversion for record 'GtkHandleBoxPrivate' */ #define GtkIMContext_val(val) check_cast(GTK_IM_CONTEXT,val) #define Val_GtkIMContext(val) Val_GObject((GObject*)val) #define Val_GtkIMContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextClass' */ /*TODO: conversion for record 'GtkIMContextInfo' */ #define GtkIMContextSimple_val(val) check_cast(GTK_I_M_CONTEXT_SIMPLE,val) #define Val_GtkIMContextSimple(val) Val_GObject((GObject*)val) #define Val_GtkIMContextSimple_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextSimpleClass' */ /*TODO: conversion for record 'GtkIMContextSimplePrivate' */ #define GtkIMMulticontext_val(val) check_cast(GTK_IM_MULTICONTEXT,val) #define Val_GtkIMMulticontext(val) Val_GObject((GObject*)val) #define Val_GtkIMMulticontext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMMulticontextClass' */ /*TODO: conversion for record 'GtkIMMulticontextPrivate' */ #define GtkIconFactory_val(val) check_cast(GTK_ICON_FACTORY,val) #define Val_GtkIconFactory(val) Val_GObject((GObject*)val) #define Val_GtkIconFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconFactoryClass' */ /*TODO: conversion for record 'GtkIconFactoryPrivate' */ /*TODO: conversion for record 'GtkIconInfo' */ /*TODO: conversion for record 'GtkIconSet' */ /*TODO: conversion for record 'GtkIconSource' */ #define GtkIconTheme_val(val) check_cast(GTK_ICON_THEME,val) #define Val_GtkIconTheme(val) Val_GObject((GObject*)val) #define Val_GtkIconTheme_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconThemeClass' */ /*TODO: conversion for record 'GtkIconThemePrivate' */ #define GtkIconView_val(val) check_cast(GTK_ICON_VIEW,val) #define Val_GtkIconView(val) Val_GObject((GObject*)val) #define Val_GtkIconView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconViewClass' */ /*TODO: conversion for record 'GtkIconViewPrivate' */ #define GtkImage_val(val) check_cast(GTK_IMAGE,val) #define Val_GtkImage(val) Val_GObject((GObject*)val) #define Val_GtkImage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageClass' */ #define GtkImageMenuItem_val(val) check_cast(GTK_IMAGE_MENU_ITEM,val) #define Val_GtkImageMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkImageMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageMenuItemClass' */ /*TODO: conversion for record 'GtkImageMenuItemPrivate' */ /*TODO: conversion for record 'GtkImagePrivate' */ #define GtkInfoBar_val(val) check_cast(GTK_INFO_BAR,val) #define Val_GtkInfoBar(val) Val_GObject((GObject*)val) #define Val_GtkInfoBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInfoBarClass' */ /*TODO: conversion for record 'GtkInfoBarPrivate' */ #define GtkInvisible_val(val) check_cast(GTK_INVISIBLE,val) #define Val_GtkInvisible(val) Val_GObject((GObject*)val) #define Val_GtkInvisible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInvisibleClass' */ /*TODO: conversion for record 'GtkInvisiblePrivate' */ #define GtkLabel_val(val) check_cast(GTK_LABEL,val) #define Val_GtkLabel(val) Val_GObject((GObject*)val) #define Val_GtkLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLabelClass' */ /*TODO: conversion for record 'GtkLabelPrivate' */ /*TODO: conversion for record 'GtkLabelSelectionInfo' */ #define GtkLayout_val(val) check_cast(GTK_LAYOUT,val) #define Val_GtkLayout(val) Val_GObject((GObject*)val) #define Val_GtkLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLayoutClass' */ /*TODO: conversion for record 'GtkLayoutPrivate' */ #define GtkLinkButton_val(val) check_cast(GTK_LINK_BUTTON,val) #define Val_GtkLinkButton(val) Val_GObject((GObject*)val) #define Val_GtkLinkButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLinkButtonClass' */ /*TODO: conversion for record 'GtkLinkButtonPrivate' */ #define GtkListStore_val(val) check_cast(GTK_LIST_STORE,val) #define Val_GtkListStore(val) Val_GObject((GObject*)val) #define Val_GtkListStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkListStoreClass' */ /*TODO: conversion for record 'GtkListStorePrivate' */ #define GtkMenu_val(val) check_cast(GTK_MENU,val) #define Val_GtkMenu(val) Val_GObject((GObject*)val) #define Val_GtkMenu_new(val) Val_GObject_new((GObject*)val) #define GtkMenuBar_val(val) check_cast(GTK_MENU_BAR,val) #define Val_GtkMenuBar(val) Val_GObject((GObject*)val) #define Val_GtkMenuBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuBarClass' */ /*TODO: conversion for record 'GtkMenuBarPrivate' */ /*TODO: conversion for record 'GtkMenuClass' */ #define GtkMenuItem_val(val) check_cast(GTK_MENU_ITEM,val) #define Val_GtkMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuItemClass' */ /*TODO: conversion for record 'GtkMenuItemPrivate' */ /*TODO: conversion for record 'GtkMenuPrivate' */ #define GtkMenuShell_val(val) check_cast(GTK_MENU_SHELL,val) #define Val_GtkMenuShell(val) Val_GObject((GObject*)val) #define Val_GtkMenuShell_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuShellClass' */ /*TODO: conversion for record 'GtkMenuShellPrivate' */ #define GtkMenuToolButton_val(val) check_cast(GTK_MENU_TOOL_BUTTON,val) #define Val_GtkMenuToolButton(val) Val_GObject((GObject*)val) #define Val_GtkMenuToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuToolButtonClass' */ /*TODO: conversion for record 'GtkMenuToolButtonPrivate' */ #define GtkMessageDialog_val(val) check_cast(GTK_MESSAGE_DIALOG,val) #define Val_GtkMessageDialog(val) Val_GObject((GObject*)val) #define Val_GtkMessageDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMessageDialogClass' */ /*TODO: conversion for record 'GtkMessageDialogPrivate' */ #define GtkMisc_val(val) check_cast(GTK_MISC,val) #define Val_GtkMisc(val) Val_GObject((GObject*)val) #define Val_GtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMiscClass' */ /*TODO: conversion for record 'GtkMiscPrivate' */ #define GtkMountOperation_val(val) check_cast(GTK_MOUNT_OPERATION,val) #define Val_GtkMountOperation(val) Val_GObject((GObject*)val) #define Val_GtkMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMountOperationClass' */ /*TODO: conversion for record 'GtkMountOperationPrivate' */ #define GtkNotebook_val(val) check_cast(GTK_NOTEBOOK,val) #define Val_GtkNotebook(val) Val_GObject((GObject*)val) #define Val_GtkNotebook_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNotebookClass' */ /*TODO: conversion for record 'GtkNotebookPrivate' */ #define GtkNumerableIcon_val(val) check_cast(GTK_NUMERABLE_ICON,val) #define Val_GtkNumerableIcon(val) Val_GObject((GObject*)val) #define Val_GtkNumerableIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNumerableIconClass' */ /*TODO: conversion for record 'GtkNumerableIconPrivate' */ #define GtkOffscreenWindow_val(val) check_cast(GTK_OFFSCREEN_WINDOW,val) #define Val_GtkOffscreenWindow(val) Val_GObject((GObject*)val) #define Val_GtkOffscreenWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkOffscreenWindowClass' */ /*TODO: conversion for record 'GtkOrientableIface' */ /*TODO: conversion for record 'GtkPageRange' */ #define GtkPageSetup_val(val) check_cast(GTK_PAGE_SETUP,val) #define Val_GtkPageSetup(val) Val_GObject((GObject*)val) #define Val_GtkPageSetup_new(val) Val_GObject_new((GObject*)val) #define GtkPaned_val(val) check_cast(GTK_PANED,val) #define Val_GtkPaned(val) Val_GObject((GObject*)val) #define Val_GtkPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPanedClass' */ /*TODO: conversion for record 'GtkPanedPrivate' */ /*TODO: conversion for record 'GtkPaperSize' */ #define GtkPlug_val(val) check_cast(GTK_PLUG,val) #define Val_GtkPlug(val) Val_GObject((GObject*)val) #define Val_GtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPlugClass' */ /*TODO: conversion for record 'GtkPlugPrivate' */ #define GtkPrintContext_val(val) check_cast(GTK_PRINT_CONTEXT,val) #define Val_GtkPrintContext(val) Val_GObject((GObject*)val) #define Val_GtkPrintContext_new(val) Val_GObject_new((GObject*)val) #define GtkPrintOperation_val(val) check_cast(GTK_PRINT_OPERATION,val) #define Val_GtkPrintOperation(val) Val_GObject((GObject*)val) #define Val_GtkPrintOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPrintOperationClass' */ /*TODO: conversion for record 'GtkPrintOperationPreviewIface' */ /*TODO: conversion for record 'GtkPrintOperationPrivate' */ #define GtkPrintSettings_val(val) check_cast(GTK_PRINT_SETTINGS,val) #define Val_GtkPrintSettings(val) Val_GObject((GObject*)val) #define Val_GtkPrintSettings_new(val) Val_GObject_new((GObject*)val) #define GtkProgressBar_val(val) check_cast(GTK_PROGRESS_BAR,val) #define Val_GtkProgressBar(val) Val_GObject((GObject*)val) #define Val_GtkProgressBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkProgressBarClass' */ /*TODO: conversion for record 'GtkProgressBarPrivate' */ #define GtkRadioAction_val(val) check_cast(GTK_RADIO_ACTION,val) #define Val_GtkRadioAction(val) Val_GObject((GObject*)val) #define Val_GtkRadioAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioActionClass' */ /*TODO: conversion for record 'GtkRadioActionEntry' */ /*TODO: conversion for record 'GtkRadioActionPrivate' */ #define GtkRadioButton_val(val) check_cast(GTK_RADIO_BUTTON,val) #define Val_GtkRadioButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioButtonClass' */ /*TODO: conversion for record 'GtkRadioButtonPrivate' */ #define GtkRadioMenuItem_val(val) check_cast(GTK_RADIO_MENU_ITEM,val) #define Val_GtkRadioMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkRadioMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioMenuItemClass' */ /*TODO: conversion for record 'GtkRadioMenuItemPrivate' */ #define GtkRadioToolButton_val(val) check_cast(GTK_RADIO_TOOL_BUTTON,val) #define Val_GtkRadioToolButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioToolButtonClass' */ #define GtkRange_val(val) check_cast(GTK_RANGE,val) #define Val_GtkRange(val) Val_GObject((GObject*)val) #define Val_GtkRange_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRangeClass' */ /*TODO: conversion for record 'GtkRangePrivate' */ /*TODO: conversion for record 'GtkRcContext' */ /*TODO: conversion for record 'GtkRcProperty' */ #define GtkRcStyle_val(val) check_cast(GTK_RC_STYLE,val) #define Val_GtkRcStyle(val) Val_GObject((GObject*)val) #define Val_GtkRcStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRcStyleClass' */ #define GtkRecentAction_val(val) check_cast(GTK_RECENT_ACTION,val) #define Val_GtkRecentAction(val) Val_GObject((GObject*)val) #define Val_GtkRecentAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentActionClass' */ /*TODO: conversion for record 'GtkRecentActionPrivate' */ #define GtkRecentChooserDialog_val(val) check_cast(GTK_RECENT_CHOOSER_DIALOG,val) #define Val_GtkRecentChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserDialogClass' */ /*TODO: conversion for record 'GtkRecentChooserDialogPrivate' */ /*TODO: conversion for record 'GtkRecentChooserIface' */ #define GtkRecentChooserMenu_val(val) check_cast(GTK_RECENT_CHOOSER_MENU,val) #define Val_GtkRecentChooserMenu(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserMenu_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserMenuClass' */ /*TODO: conversion for record 'GtkRecentChooserMenuPrivate' */ #define GtkRecentChooserWidget_val(val) check_cast(GTK_RECENT_CHOOSER_WIDGET,val) #define Val_GtkRecentChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserWidgetClass' */ /*TODO: conversion for record 'GtkRecentChooserWidgetPrivate' */ /*TODO: conversion for record 'GtkRecentData' */ #define GtkRecentFilter_val(val) check_cast(GTK_RECENT_FILTER,val) #define Val_GtkRecentFilter(val) Val_GObject((GObject*)val) #define Val_GtkRecentFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentFilterInfo' */ /*TODO: conversion for record 'GtkRecentInfo' */ #define GtkRecentManager_val(val) check_cast(GTK_RECENT_MANAGER,val) #define Val_GtkRecentManager(val) Val_GObject((GObject*)val) #define Val_GtkRecentManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentManagerClass' */ /*TODO: conversion for record 'GtkRecentManagerPrivate' */ /*TODO: conversion for record 'GtkRequestedSize' */ /*TODO: conversion for record 'GtkRequisition' */ #define GtkScale_val(val) check_cast(GTK_SCALE,val) #define Val_GtkScale(val) Val_GObject((GObject*)val) #define Val_GtkScale_new(val) Val_GObject_new((GObject*)val) #define GtkScaleButton_val(val) check_cast(GTK_SCALE_BUTTON,val) #define Val_GtkScaleButton(val) Val_GObject((GObject*)val) #define Val_GtkScaleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScaleButtonClass' */ /*TODO: conversion for record 'GtkScaleButtonPrivate' */ /*TODO: conversion for record 'GtkScaleClass' */ /*TODO: conversion for record 'GtkScalePrivate' */ /*TODO: conversion for record 'GtkScrollableInterface' */ #define GtkScrollbar_val(val) check_cast(GTK_SCROLLBAR,val) #define Val_GtkScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrollbarClass' */ #define GtkScrolledWindow_val(val) check_cast(GTK_SCROLLED_WINDOW,val) #define Val_GtkScrolledWindow(val) Val_GObject((GObject*)val) #define Val_GtkScrolledWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrolledWindowClass' */ /*TODO: conversion for record 'GtkScrolledWindowPrivate' */ /*TODO: conversion for record 'GtkSelectionData' */ #define GtkSeparator_val(val) check_cast(GTK_SEPARATOR,val) #define Val_GtkSeparator(val) Val_GObject((GObject*)val) #define Val_GtkSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorClass' */ #define GtkSeparatorMenuItem_val(val) check_cast(GTK_SEPARATOR_MENU_ITEM,val) #define Val_GtkSeparatorMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorMenuItemClass' */ /*TODO: conversion for record 'GtkSeparatorPrivate' */ #define GtkSeparatorToolItem_val(val) check_cast(GTK_SEPARATOR_TOOL_ITEM,val) #define Val_GtkSeparatorToolItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorToolItemClass' */ /*TODO: conversion for record 'GtkSeparatorToolItemPrivate' */ #define GtkSettings_val(val) check_cast(GTK_SETTINGS,val) #define Val_GtkSettings(val) Val_GObject((GObject*)val) #define Val_GtkSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSettingsClass' */ /*TODO: conversion for record 'GtkSettingsPrivate' */ /*TODO: conversion for record 'GtkSettingsValue' */ #define GtkSizeGroup_val(val) check_cast(GTK_SIZE_GROUP,val) #define Val_GtkSizeGroup(val) Val_GObject((GObject*)val) #define Val_GtkSizeGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSizeGroupClass' */ /*TODO: conversion for record 'GtkSizeGroupPrivate' */ #define GtkSocket_val(val) check_cast(GTK_SOCKET,val) #define Val_GtkSocket(val) Val_GObject((GObject*)val) #define Val_GtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSocketClass' */ /*TODO: conversion for record 'GtkSocketPrivate' */ #define GtkSpinButton_val(val) check_cast(GTK_SPIN_BUTTON,val) #define Val_GtkSpinButton(val) Val_GObject((GObject*)val) #define Val_GtkSpinButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinButtonClass' */ /*TODO: conversion for record 'GtkSpinButtonPrivate' */ #define GtkSpinner_val(val) check_cast(GTK_SPINNER,val) #define Val_GtkSpinner(val) Val_GObject((GObject*)val) #define Val_GtkSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinnerClass' */ /*TODO: conversion for record 'GtkSpinnerPrivate' */ #define GtkStatusIcon_val(val) check_cast(GTK_STATUS_ICON,val) #define Val_GtkStatusIcon(val) Val_GObject((GObject*)val) #define Val_GtkStatusIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusIconClass' */ /*TODO: conversion for record 'GtkStatusIconPrivate' */ #define GtkStatusbar_val(val) check_cast(GTK_STATUSBAR,val) #define Val_GtkStatusbar(val) Val_GObject((GObject*)val) #define Val_GtkStatusbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusbarClass' */ /*TODO: conversion for record 'GtkStatusbarPrivate' */ /*TODO: conversion for record 'GtkStockItem' */ #define GtkStyle_val(val) check_cast(GTK_STYLE,val) #define Val_GtkStyle(val) Val_GObject((GObject*)val) #define Val_GtkStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleClass' */ #define GtkStyleContext_val(val) check_cast(GTK_STYLE_CONTEXT,val) #define Val_GtkStyleContext(val) Val_GObject((GObject*)val) #define Val_GtkStyleContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleContextClass' */ #define GtkStyleProperties_val(val) check_cast(GTK_STYLE_PROPERTIES,val) #define Val_GtkStyleProperties(val) Val_GObject((GObject*)val) #define Val_GtkStyleProperties_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStylePropertiesClass' */ /*TODO: conversion for record 'GtkStyleProviderIface' */ #define GtkSwitch_val(val) check_cast(GTK_SWITCH,val) #define Val_GtkSwitch(val) Val_GObject((GObject*)val) #define Val_GtkSwitch_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSwitchClass' */ /*TODO: conversion for record 'GtkSwitchPrivate' */ /*TODO: conversion for record 'GtkSymbolicColor' */ #define GtkTable_val(val) check_cast(GTK_TABLE,val) #define Val_GtkTable(val) Val_GObject((GObject*)val) #define Val_GtkTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTableChild' */ /*TODO: conversion for record 'GtkTableClass' */ /*TODO: conversion for record 'GtkTablePrivate' */ /*TODO: conversion for record 'GtkTableRowCol' */ /*TODO: conversion for record 'GtkTargetEntry' */ /*TODO: conversion for record 'GtkTargetList' */ #define GtkTearoffMenuItem_val(val) check_cast(GTK_TEAROFF_MENU_ITEM,val) #define Val_GtkTearoffMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkTearoffMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTearoffMenuItemClass' */ /*TODO: conversion for record 'GtkTearoffMenuItemPrivate' */ /*TODO: conversion for record 'GtkTextAppearance' */ /*TODO: conversion for record 'GtkTextAttributes' */ /*TODO: conversion for record 'GtkTextBTree' */ #define GtkTextBuffer_val(val) check_cast(GTK_TEXT_BUFFER,val) #define Val_GtkTextBuffer(val) Val_GObject((GObject*)val) #define Val_GtkTextBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextBufferClass' */ /*TODO: conversion for record 'GtkTextBufferPrivate' */ #define GtkTextChildAnchor_val(val) check_cast(GTK_TEXT_CHILD_ANCHOR,val) #define Val_GtkTextChildAnchor(val) Val_GObject((GObject*)val) #define Val_GtkTextChildAnchor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextChildAnchorClass' */ /*TODO: conversion for record 'GtkTextIter' */ #define GtkTextMark_val(val) check_cast(GTK_TEXT_MARK,val) #define Val_GtkTextMark(val) Val_GObject((GObject*)val) #define Val_GtkTextMark_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextMarkClass' */ #define GtkTextTag_val(val) check_cast(GTK_TEXT_TAG,val) #define Val_GtkTextTag(val) Val_GObject((GObject*)val) #define Val_GtkTextTag_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagClass' */ /*TODO: conversion for record 'GtkTextTagPrivate' */ #define GtkTextTagTable_val(val) check_cast(GTK_TEXT_TAG_TABLE,val) #define Val_GtkTextTagTable(val) Val_GObject((GObject*)val) #define Val_GtkTextTagTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagTableClass' */ /*TODO: conversion for record 'GtkTextTagTablePrivate' */ #define GtkTextView_val(val) check_cast(GTK_TEXT_VIEW,val) #define Val_GtkTextView(val) Val_GObject((GObject*)val) #define Val_GtkTextView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextViewClass' */ /*TODO: conversion for record 'GtkTextViewPrivate' */ /*TODO: conversion for record 'GtkThemeEngine' */ #define GtkThemingEngine_val(val) check_cast(GTK_THEMING_ENGINE,val) #define Val_GtkThemingEngine(val) Val_GObject((GObject*)val) #define Val_GtkThemingEngine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkThemingEngineClass' */ #define GtkToggleAction_val(val) check_cast(GTK_TOGGLE_ACTION,val) #define Val_GtkToggleAction(val) Val_GObject((GObject*)val) #define Val_GtkToggleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleActionClass' */ /*TODO: conversion for record 'GtkToggleActionEntry' */ /*TODO: conversion for record 'GtkToggleActionPrivate' */ #define GtkToggleButton_val(val) check_cast(GTK_TOGGLE_BUTTON,val) #define Val_GtkToggleButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleButtonClass' */ /*TODO: conversion for record 'GtkToggleButtonPrivate' */ #define GtkToggleToolButton_val(val) check_cast(GTK_TOGGLE_TOOL_BUTTON,val) #define Val_GtkToggleToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleToolButtonClass' */ /*TODO: conversion for record 'GtkToggleToolButtonPrivate' */ #define GtkToolButton_val(val) check_cast(GTK_TOOL_BUTTON,val) #define Val_GtkToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolButtonClass' */ /*TODO: conversion for record 'GtkToolButtonPrivate' */ #define GtkToolItem_val(val) check_cast(GTK_TOOL_ITEM,val) #define Val_GtkToolItem(val) Val_GObject((GObject*)val) #define Val_GtkToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemClass' */ #define GtkToolItemGroup_val(val) check_cast(GTK_TOOL_ITEM_GROUP,val) #define Val_GtkToolItemGroup(val) Val_GObject((GObject*)val) #define Val_GtkToolItemGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemGroupClass' */ /*TODO: conversion for record 'GtkToolItemGroupPrivate' */ /*TODO: conversion for record 'GtkToolItemPrivate' */ #define GtkToolPalette_val(val) check_cast(GTK_TOOL_PALETTE,val) #define Val_GtkToolPalette(val) Val_GObject((GObject*)val) #define Val_GtkToolPalette_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolPaletteClass' */ /*TODO: conversion for record 'GtkToolPalettePrivate' */ /*TODO: conversion for record 'GtkToolShellIface' */ #define GtkToolbar_val(val) check_cast(GTK_TOOLBAR,val) #define Val_GtkToolbar(val) Val_GObject((GObject*)val) #define Val_GtkToolbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolbarClass' */ /*TODO: conversion for record 'GtkToolbarPrivate' */ #define GtkTooltip_val(val) check_cast(GTK_TOOLTIP,val) #define Val_GtkTooltip(val) Val_GObject((GObject*)val) #define Val_GtkTooltip_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeDragDestIface' */ /*TODO: conversion for record 'GtkTreeDragSourceIface' */ /*TODO: conversion for record 'GtkTreeIter' */ #define GtkTreeModelFilter_val(val) check_cast(GTK_TREE_MODEL_FILTER,val) #define Val_GtkTreeModelFilter(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelFilterClass' */ /*TODO: conversion for record 'GtkTreeModelFilterPrivate' */ /*TODO: conversion for record 'GtkTreeModelIface' */ #define GtkTreeModelSort_val(val) check_cast(GTK_TREE_MODEL_SORT,val) #define Val_GtkTreeModelSort(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelSort_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelSortClass' */ /*TODO: conversion for record 'GtkTreeModelSortPrivate' */ /*TODO: conversion for record 'GtkTreePath' */ /*TODO: conversion for record 'GtkTreeRowReference' */ #define GtkTreeSelection_val(val) check_cast(GTK_TREE_SELECTION,val) #define Val_GtkTreeSelection(val) Val_GObject((GObject*)val) #define Val_GtkTreeSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeSelectionClass' */ /*TODO: conversion for record 'GtkTreeSelectionPrivate' */ /*TODO: conversion for record 'GtkTreeSortableIface' */ #define GtkTreeStore_val(val) check_cast(GTK_TREE_STORE,val) #define Val_GtkTreeStore(val) Val_GObject((GObject*)val) #define Val_GtkTreeStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeStoreClass' */ /*TODO: conversion for record 'GtkTreeStorePrivate' */ #define GtkTreeView_val(val) check_cast(GTK_TREE_VIEW,val) #define Val_GtkTreeView(val) Val_GObject((GObject*)val) #define Val_GtkTreeView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewClass' */ #define GtkTreeViewColumn_val(val) check_cast(GTK_TREE_VIEW_COLUMN,val) #define Val_GtkTreeViewColumn(val) Val_GObject((GObject*)val) #define Val_GtkTreeViewColumn_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewColumnClass' */ /*TODO: conversion for record 'GtkTreeViewColumnPrivate' */ /*TODO: conversion for record 'GtkTreeViewPrivate' */ #define GtkUIManager_val(val) check_cast(GTK_UI_MANAGER,val) #define Val_GtkUIManager(val) Val_GObject((GObject*)val) #define Val_GtkUIManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkUIManagerClass' */ /*TODO: conversion for record 'GtkUIManagerPrivate' */ #define GtkVBox_val(val) check_cast(GTK_V_BOX,val) #define Val_GtkVBox(val) Val_GObject((GObject*)val) #define Val_GtkVBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVBoxClass' */ #define GtkVButtonBox_val(val) check_cast(GTK_V_BUTTON_BOX,val) #define Val_GtkVButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkVButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVButtonBoxClass' */ #define GtkVPaned_val(val) check_cast(GTK_V_PANED,val) #define Val_GtkVPaned(val) Val_GObject((GObject*)val) #define Val_GtkVPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVPanedClass' */ #define GtkVScale_val(val) check_cast(GTK_V_SCALE,val) #define Val_GtkVScale(val) Val_GObject((GObject*)val) #define Val_GtkVScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScaleClass' */ #define GtkVScrollbar_val(val) check_cast(GTK_V_SCROLLBAR,val) #define Val_GtkVScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkVScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScrollbarClass' */ #define GtkVSeparator_val(val) check_cast(GTK_V_SEPARATOR,val) #define Val_GtkVSeparator(val) Val_GObject((GObject*)val) #define Val_GtkVSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVSeparatorClass' */ #define GtkViewport_val(val) check_cast(GTK_VIEWPORT,val) #define Val_GtkViewport(val) Val_GObject((GObject*)val) #define Val_GtkViewport_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkViewportClass' */ /*TODO: conversion for record 'GtkViewportPrivate' */ #define GtkVolumeButton_val(val) check_cast(GTK_VOLUME_BUTTON,val) #define Val_GtkVolumeButton(val) Val_GObject((GObject*)val) #define Val_GtkVolumeButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVolumeButtonClass' */ #define GtkWidget_val(val) check_cast(GTK_WIDGET,val) #define Val_GtkWidget(val) Val_GObject((GObject*)val) #define Val_GtkWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWidgetAuxInfo' */ /*TODO: conversion for record 'GtkWidgetClass' */ /*TODO: conversion for record 'GtkWidgetPath' */ /*TODO: conversion for record 'GtkWidgetPrivate' */ #define GtkWindow_val(val) check_cast(GTK_WINDOW,val) #define Val_GtkWindow(val) Val_GObject((GObject*)val) #define Val_GtkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowClass' */ /*TODO: conversion for record 'GtkWindowGeometryInfo' */ #define GtkWindowGroup_val(val) check_cast(GTK_WINDOW_GROUP,val) #define Val_GtkWindowGroup(val) Val_GObject((GObject*)val) #define Val_GtkWindowGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowGroupClass' */ /*TODO: conversion for record 'GtkWindowGroupPrivate' */ /*TODO: conversion for record 'GtkWindowPrivate' */ #include #include "../wrappers.h" #include "../ml_gobject.h" /* Module WindowPrivate */ /* end of WindowPrivate */ /* Module WindowGroupPrivate */ /* end of WindowGroupPrivate */ /* Module WindowGroupClass */ /* end of WindowGroupClass */ /* Module WindowGroup */ ML_2(gtk_window_group_remove_window,GtkWindowGroup_val, GtkWindow_val, Unit) ML_1(gtk_window_group_list_windows,GtkWindowGroup_val, Val_GList) ML_1(gtk_window_group_get_current_grab,GtkWindowGroup_val, Val_GtkWidget) ML_2(gtk_window_group_get_current_device_grab,GtkWindowGroup_val, GdkDevice_val, Val_GtkWidget) ML_2(gtk_window_group_add_window,GtkWindowGroup_val, GtkWindow_val, Unit) /* end of WindowGroup */ /* Module WindowGeometryInfo */ /* end of WindowGeometryInfo */ /* Module WindowClass */ /* end of WindowClass */ /* Module Window */ ML_1(gtk_window_unstick,GtkWindow_val, Unit) ML_1(gtk_window_unmaximize,GtkWindow_val, Unit) ML_1(gtk_window_unfullscreen,GtkWindow_val, Unit) ML_1(gtk_window_stick,GtkWindow_val, Unit) ML_3(gtk_window_set_wmclass,GtkWindow_val, String_val, String_val, Unit) ML_2(gtk_window_set_urgency_hint,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_transient_for,GtkWindow_val, Option_val(arg2,GtkWindow_val,NULL) Ignore, Unit) ML_2(gtk_window_set_title,GtkWindow_val, String_val, Unit) ML_2(gtk_window_set_startup_id,GtkWindow_val, String_val, Unit) ML_2(gtk_window_set_skip_taskbar_hint,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_skip_pager_hint,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_screen,GtkWindow_val, GdkScreen_val, Unit) ML_2(gtk_window_set_role,GtkWindow_val, String_val, Unit) ML_2(gtk_window_set_resizable,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_opacity,GtkWindow_val, Double_val, Unit) ML_2(gtk_window_set_modal,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_mnemonics_visible,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_keep_below,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_keep_above,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_icon_name,GtkWindow_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_window_set_icon_list,GtkWindow_val, GList_val, Unit) ML_2(gtk_window_set_icon,GtkWindow_val, Option_val(arg2,GdkPixbuf_val,NULL) Ignore, Unit) ML_2(gtk_window_set_has_user_ref_count,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_has_resize_grip,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_focus_on_map,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_focus,GtkWindow_val, Option_val(arg2,GtkWidget_val,NULL) Ignore, Unit) ML_2(gtk_window_set_destroy_with_parent,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_deletable,GtkWindow_val, Bool_val, Unit) ML_3(gtk_window_set_default_size,GtkWindow_val, Int_val, Int_val, Unit) ML_3(gtk_window_set_default_geometry,GtkWindow_val, Int_val, Int_val, Unit) ML_2(gtk_window_set_default,GtkWindow_val, Option_val(arg2,GtkWidget_val,NULL) Ignore, Unit) ML_2(gtk_window_set_decorated,GtkWindow_val, Bool_val, Unit) ML_2(gtk_window_set_application,GtkWindow_val, Option_val(arg2,GtkApplication_val,NULL) Ignore, Unit) ML_2(gtk_window_set_accept_focus,GtkWindow_val, Bool_val, Unit) ML_3(gtk_window_resize_to_geometry,GtkWindow_val, Int_val, Int_val, Unit) ML_1(gtk_window_resize_grip_is_visible,GtkWindow_val, Val_bool) ML_3(gtk_window_resize,GtkWindow_val, Int_val, Int_val, Unit) ML_1(gtk_window_reshow_with_initial_size,GtkWindow_val, Unit) ML_3(gtk_window_remove_mnemonic,GtkWindow_val, Int_val, GtkWidget_val, Unit) ML_2(gtk_window_remove_accel_group,GtkWindow_val, GtkAccelGroup_val, Unit) ML_2(gtk_window_propagate_key_event,GtkWindow_val, GdkEventKey_val, Val_bool) ML_2(gtk_window_present_with_time,GtkWindow_val, Int32_val, Unit) ML_1(gtk_window_present,GtkWindow_val, Unit) ML_2(gtk_window_parse_geometry,GtkWindow_val, String_val, Val_bool) ML_3(gtk_window_move,GtkWindow_val, Int_val, Int_val, Unit) ML_1(gtk_window_maximize,GtkWindow_val, Unit) ML_1(gtk_window_is_active,GtkWindow_val, Val_bool) ML_1(gtk_window_iconify,GtkWindow_val, Unit) ML_1(gtk_window_has_toplevel_focus,GtkWindow_val, Val_bool) ML_1(gtk_window_has_group,GtkWindow_val, Val_bool) ML_1(gtk_window_get_urgency_hint,GtkWindow_val, Val_bool) ML_1(gtk_window_get_transient_for,GtkWindow_val, Val_GtkWindow) ML_1(gtk_window_get_title,GtkWindow_val, Val_string) ML_1(gtk_window_get_skip_taskbar_hint,GtkWindow_val, Val_bool) ML_1(gtk_window_get_skip_pager_hint,GtkWindow_val, Val_bool) ML_1(gtk_window_get_screen,GtkWindow_val, Val_GdkScreen) ML_1(gtk_window_get_role,GtkWindow_val, Val_string) ML_1(gtk_window_get_resizable,GtkWindow_val, Val_bool) ML_1(gtk_window_get_opacity,GtkWindow_val, Val_double) ML_1(gtk_window_get_modal,GtkWindow_val, Val_bool) ML_1(gtk_window_get_mnemonics_visible,GtkWindow_val, Val_bool) ML_1(gtk_window_get_icon_name,GtkWindow_val, Val_string) ML_1(gtk_window_get_icon_list,GtkWindow_val, Val_GList) ML_1(gtk_window_get_icon,GtkWindow_val, Val_GdkPixbuf) ML_1(gtk_window_get_has_resize_grip,GtkWindow_val, Val_bool) ML_1(gtk_window_get_group,GtkWindow_val, Val_GtkWindowGroup) ML_1(gtk_window_get_focus_on_map,GtkWindow_val, Val_bool) ML_1(gtk_window_get_focus,GtkWindow_val, Val_GtkWidget) ML_1(gtk_window_get_destroy_with_parent,GtkWindow_val, Val_bool) ML_1(gtk_window_get_deletable,GtkWindow_val, Val_bool) ML_1(gtk_window_get_default_widget,GtkWindow_val, Val_GtkWidget) ML_1(gtk_window_get_decorated,GtkWindow_val, Val_bool) ML_1(gtk_window_get_application,GtkWindow_val, Val_GtkApplication) ML_1(gtk_window_get_accept_focus,GtkWindow_val, Val_bool) ML_1(gtk_window_fullscreen,GtkWindow_val, Unit) ML_1(gtk_window_deiconify,GtkWindow_val, Unit) ML_5(gtk_window_begin_move_drag,GtkWindow_val, Int_val, Int_val, Int_val, Int32_val, Unit) ML_3(gtk_window_add_mnemonic,GtkWindow_val, Int_val, GtkWidget_val, Unit) ML_2(gtk_window_add_accel_group,GtkWindow_val, GtkAccelGroup_val, Unit) ML_2(gtk_window_activate_key,GtkWindow_val, GdkEventKey_val, Val_bool) ML_1(gtk_window_activate_focus,GtkWindow_val, Val_bool) ML_1(gtk_window_activate_default,GtkWindow_val, Val_bool) ML_1(gtk_window_set_default_icon_name,String_val, Unit) ML_1(gtk_window_set_default_icon_list,GList_val, Unit) ML_1(gtk_window_set_default_icon,GdkPixbuf_val, Unit) ML_1(gtk_window_set_auto_startup_notification,Bool_val, Unit) ML_0(gtk_window_list_toplevels,Val_GList) ML_0(gtk_window_get_default_icon_name,Val_string) ML_0(gtk_window_get_default_icon_list,Val_GList) /* end of Window */ /* Module WidgetPrivate */ /* end of WidgetPrivate */ /* Module WidgetPath */ ML_2(gtk_widget_path_prepend_type,GtkWidgetPath_val, Int_val, Unit) ML_1(gtk_widget_path_length,GtkWidgetPath_val, Val_int) ML_3(gtk_widget_path_iter_set_object_type,GtkWidgetPath_val, Int_val, Int_val, Unit) ML_3(gtk_widget_path_iter_set_name,GtkWidgetPath_val, Int_val, String_val, Unit) ML_3(gtk_widget_path_iter_remove_region,GtkWidgetPath_val, Int_val, String_val, Unit) ML_3(gtk_widget_path_iter_remove_class,GtkWidgetPath_val, Int_val, String_val, Unit) ML_2(gtk_widget_path_iter_list_regions,GtkWidgetPath_val, Int_val, Val_GSList) ML_2(gtk_widget_path_iter_list_classes,GtkWidgetPath_val, Int_val, Val_GSList) ML_3(gtk_widget_path_iter_has_qname,GtkWidgetPath_val, Int_val, Int32_val, Val_bool) ML_3(gtk_widget_path_iter_has_qclass,GtkWidgetPath_val, Int_val, Int32_val, Val_bool) ML_3(gtk_widget_path_iter_has_name,GtkWidgetPath_val, Int_val, String_val, Val_bool) ML_3(gtk_widget_path_iter_has_class,GtkWidgetPath_val, Int_val, String_val, Val_bool) ML_2(gtk_widget_path_iter_get_object_type,GtkWidgetPath_val, Int_val, Val_int) ML_2(gtk_widget_path_iter_get_name,GtkWidgetPath_val, Int_val, Val_string) ML_2(gtk_widget_path_iter_clear_regions,GtkWidgetPath_val, Int_val, Unit) ML_2(gtk_widget_path_iter_clear_classes,GtkWidgetPath_val, Int_val, Unit) ML_3(gtk_widget_path_iter_add_class,GtkWidgetPath_val, Int_val, String_val, Unit) ML_2(gtk_widget_path_is_type,GtkWidgetPath_val, Int_val, Val_bool) ML_2(gtk_widget_path_has_parent,GtkWidgetPath_val, Int_val, Val_bool) ML_1(gtk_widget_path_get_object_type,GtkWidgetPath_val, Val_int) ML_1(gtk_widget_path_free,GtkWidgetPath_val, Unit) ML_1(gtk_widget_path_copy,GtkWidgetPath_val, Val_GtkWidgetPath_new) ML_2(gtk_widget_path_append_type,GtkWidgetPath_val, Int_val, Val_int) /* end of WidgetPath */ /* Module WidgetClass */ ML_2(gtk_widget_class_install_style_property,GtkWidgetClass_val, GParamSpec_val, Unit) ML_2(gtk_widget_class_find_style_property,GtkWidgetClass_val, String_val, Val_GParamSpec) /* end of WidgetClass */ /* Module WidgetAuxInfo */ /* end of WidgetAuxInfo */ /* Module Widget */ ML_1(gtk_widget_unrealize,GtkWidget_val, Unit) ML_1(gtk_widget_unparent,GtkWidget_val, Unit) ML_1(gtk_widget_unmap,GtkWidget_val, Unit) ML_1(gtk_widget_trigger_tooltip_query,GtkWidget_val, Unit) ML_1(gtk_widget_thaw_child_notify,GtkWidget_val, Unit) ML_3(gtk_widget_style_get_property,GtkWidget_val, String_val, GValue_val, Unit) ML_1(gtk_widget_style_attach,GtkWidget_val, Unit) ML_1(gtk_widget_show_now,GtkWidget_val, Unit) ML_1(gtk_widget_show_all,GtkWidget_val, Unit) ML_1(gtk_widget_show,GtkWidget_val, Unit) ML_2(gtk_widget_shape_combine_region,GtkWidget_val, Option_val(arg2,cairo_region_t_val,NULL) Ignore, Unit) ML_2(gtk_widget_set_window,GtkWidget_val, GdkWindow_val, Unit) ML_2(gtk_widget_set_visual,GtkWidget_val, GdkVisual_val, Unit) ML_2(gtk_widget_set_visible,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_vexpand_set,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_vexpand,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_tooltip_window,GtkWidget_val, Option_val(arg2,GtkWindow_val,NULL) Ignore, Unit) ML_2(gtk_widget_set_tooltip_text,GtkWidget_val, String_val, Unit) ML_2(gtk_widget_set_tooltip_markup,GtkWidget_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_widget_set_support_multidevice,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_style,GtkWidget_val, Option_val(arg2,GtkStyle_val,NULL) Ignore, Unit) ML_3(gtk_widget_set_size_request,GtkWidget_val, Int_val, Int_val, Unit) ML_2(gtk_widget_set_sensitive,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_redraw_on_allocate,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_receives_default,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_realized,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_parent_window,GtkWidget_val, GdkWindow_val, Unit) ML_2(gtk_widget_set_parent,GtkWidget_val, GtkWidget_val, Unit) ML_2(gtk_widget_set_no_show_all,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_name,GtkWidget_val, String_val, Unit) ML_2(gtk_widget_set_margin_top,GtkWidget_val, Int_val, Unit) ML_2(gtk_widget_set_margin_right,GtkWidget_val, Int_val, Unit) ML_2(gtk_widget_set_margin_left,GtkWidget_val, Int_val, Unit) ML_2(gtk_widget_set_margin_bottom,GtkWidget_val, Int_val, Unit) ML_2(gtk_widget_set_mapped,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_hexpand_set,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_hexpand,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_has_window,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_has_tooltip,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_events,GtkWidget_val, Int_val, Unit) ML_2(gtk_widget_set_double_buffered,GtkWidget_val, Bool_val, Unit) ML_3(gtk_widget_set_device_enabled,GtkWidget_val, GdkDevice_val, Bool_val, Unit) ML_2(gtk_widget_set_composite_name,GtkWidget_val, String_val, Unit) ML_2(gtk_widget_set_child_visible,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_can_focus,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_can_default,GtkWidget_val, Bool_val, Unit) ML_2(gtk_widget_set_app_paintable,GtkWidget_val, Bool_val, Unit) ML_3(gtk_widget_set_accel_path,GtkWidget_val, Option_val(arg2,String_val,NULL) Ignore, Option_val(arg3,GtkAccelGroup_val,NULL) Ignore, Unit) ML_1(gtk_widget_reset_style,GtkWidget_val, Unit) ML_1(gtk_widget_reset_rc_styles,GtkWidget_val, Unit) ML_2(gtk_widget_reparent,GtkWidget_val, GtkWidget_val, Unit) ML_2(gtk_widget_remove_mnemonic_label,GtkWidget_val, GtkWidget_val, Unit) ML_2(gtk_widget_region_intersect,GtkWidget_val, cairo_region_t_val, Val_cairo_region_t_new) ML_1(gtk_widget_realize,GtkWidget_val, Unit) ML_1(gtk_widget_queue_resize_no_redraw,GtkWidget_val, Unit) ML_1(gtk_widget_queue_resize,GtkWidget_val, Unit) ML_2(gtk_widget_queue_draw_region,GtkWidget_val, cairo_region_t_val, Unit) ML_5(gtk_widget_queue_draw_area,GtkWidget_val, Int_val, Int_val, Int_val, Int_val, Unit) ML_1(gtk_widget_queue_draw,GtkWidget_val, Unit) ML_1(gtk_widget_queue_compute_expand,GtkWidget_val, Unit) ML_3(gtk_widget_override_symbolic_color,GtkWidget_val, String_val, Option_val(arg3,GdkRGBA_val,NULL) Ignore, Unit) ML_2(gtk_widget_override_font,GtkWidget_val, PangoFontDescription_val, Unit) ML_3(gtk_widget_override_cursor,GtkWidget_val, GdkRGBA_val, GdkRGBA_val, Unit) ML_2(gtk_widget_modify_style,GtkWidget_val, GtkRcStyle_val, Unit) ML_2(gtk_widget_modify_font,GtkWidget_val, Option_val(arg2,PangoFontDescription_val,NULL) Ignore, Unit) ML_3(gtk_widget_modify_cursor,GtkWidget_val, GdkColor_val, GdkColor_val, Unit) ML_2(gtk_widget_mnemonic_activate,GtkWidget_val, Bool_val, Val_bool) ML_1(gtk_widget_map,GtkWidget_val, Unit) ML_1(gtk_widget_list_mnemonic_labels,GtkWidget_val, Val_GList) ML_1(gtk_widget_list_accel_closures,GtkWidget_val, Val_GList) ML_1(gtk_widget_is_toplevel,GtkWidget_val, Val_bool) ML_1(gtk_widget_is_sensitive,GtkWidget_val, Val_bool) ML_1(gtk_widget_is_focus,GtkWidget_val, Val_bool) ML_1(gtk_widget_is_drawable,GtkWidget_val, Val_bool) ML_1(gtk_widget_is_composited,GtkWidget_val, Val_bool) ML_2(gtk_widget_is_ancestor,GtkWidget_val, GtkWidget_val, Val_bool) ML_2(gtk_widget_input_shape_combine_region,GtkWidget_val, Option_val(arg2,cairo_region_t_val,NULL) Ignore, Unit) ML_1(gtk_widget_in_destruction,GtkWidget_val, Val_bool) ML_1(gtk_widget_hide_on_delete,GtkWidget_val, Val_bool) ML_1(gtk_widget_hide,GtkWidget_val, Unit) ML_1(gtk_widget_has_screen,GtkWidget_val, Val_bool) ML_1(gtk_widget_has_rc_style,GtkWidget_val, Val_bool) ML_1(gtk_widget_has_grab,GtkWidget_val, Val_bool) ML_1(gtk_widget_has_focus,GtkWidget_val, Val_bool) ML_1(gtk_widget_has_default,GtkWidget_val, Val_bool) ML_1(gtk_grab_remove,GtkWidget_val, Unit) ML_1(gtk_widget_grab_focus,GtkWidget_val, Unit) ML_1(gtk_widget_grab_default,GtkWidget_val, Unit) ML_1(gtk_grab_add,GtkWidget_val, Unit) ML_1(gtk_widget_get_window,GtkWidget_val, Val_GdkWindow) ML_1(gtk_widget_get_visual,GtkWidget_val, Val_GdkVisual) ML_1(gtk_widget_get_visible,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_vexpand_set,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_vexpand,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_toplevel,GtkWidget_val, Val_GtkWidget) ML_1(gtk_widget_get_tooltip_window,GtkWidget_val, Val_GtkWindow) ML_1(gtk_widget_get_tooltip_text,GtkWidget_val, Val_string_new) ML_1(gtk_widget_get_tooltip_markup,GtkWidget_val, Val_string_new) ML_1(gtk_widget_get_support_multidevice,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_style_context,GtkWidget_val, Val_GtkStyleContext) ML_1(gtk_widget_get_style,GtkWidget_val, Val_GtkStyle) ML_1(gtk_widget_get_settings,GtkWidget_val, Val_GtkSettings) ML_1(gtk_widget_get_sensitive,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_screen,GtkWidget_val, Val_GdkScreen) ML_1(gtk_widget_get_root_window,GtkWidget_val, Val_GdkWindow) ML_1(gtk_widget_get_receives_default,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_realized,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_path,GtkWidget_val, Val_GtkWidgetPath) ML_1(gtk_widget_get_parent_window,GtkWidget_val, Val_GdkWindow) ML_1(gtk_widget_get_parent,GtkWidget_val, Val_GtkWidget) ML_1(gtk_widget_get_pango_context,GtkWidget_val, Val_PangoContext) ML_1(gtk_widget_get_no_show_all,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_name,GtkWidget_val, Val_string) ML_1(gtk_widget_get_modifier_style,GtkWidget_val, Val_GtkRcStyle) ML_1(gtk_widget_get_margin_top,GtkWidget_val, Val_int) ML_1(gtk_widget_get_margin_right,GtkWidget_val, Val_int) ML_1(gtk_widget_get_margin_left,GtkWidget_val, Val_int) ML_1(gtk_widget_get_margin_bottom,GtkWidget_val, Val_int) ML_1(gtk_widget_get_mapped,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_hexpand_set,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_hexpand,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_has_window,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_has_tooltip,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_events,GtkWidget_val, Val_int) ML_1(gtk_widget_get_double_buffered,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_display,GtkWidget_val, Val_GdkDisplay) ML_2(gtk_widget_get_device_enabled,GtkWidget_val, GdkDevice_val, Val_bool) ML_1(gtk_widget_get_composite_name,GtkWidget_val, Val_string_new) ML_1(gtk_widget_get_child_visible,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_can_focus,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_can_default,GtkWidget_val, Val_bool) ML_1(gtk_widget_get_app_paintable,GtkWidget_val, Val_bool) ML_2(gtk_widget_get_ancestor,GtkWidget_val, Int_val, Val_GtkWidget) ML_1(gtk_widget_get_allocated_width,GtkWidget_val, Val_int) ML_1(gtk_widget_get_allocated_height,GtkWidget_val, Val_int) ML_1(gtk_widget_get_accessible,GtkWidget_val, Val_AtkObject) ML_1(gtk_widget_freeze_child_notify,GtkWidget_val, Unit) ML_1(gtk_widget_error_bell,GtkWidget_val, Unit) ML_1(gtk_widget_ensure_style,GtkWidget_val, Unit) ML_2(gtk_widget_draw,GtkWidget_val, cairo_t_val, Unit) ML_1(gtk_drag_unhighlight,GtkWidget_val, Unit) ML_1(gtk_drag_source_unset,GtkWidget_val, Unit) ML_2(gtk_drag_source_set_target_list,GtkWidget_val, Option_val(arg2,GtkTargetList_val,NULL) Ignore, Unit) ML_2(gtk_drag_source_set_icon_stock,GtkWidget_val, String_val, Unit) ML_2(gtk_drag_source_set_icon_pixbuf,GtkWidget_val, GdkPixbuf_val, Unit) ML_2(gtk_drag_source_set_icon_name,GtkWidget_val, String_val, Unit) ML_1(gtk_drag_source_get_target_list,GtkWidget_val, Val_GtkTargetList) ML_1(gtk_drag_source_add_uri_targets,GtkWidget_val, Unit) ML_1(gtk_drag_source_add_text_targets,GtkWidget_val, Unit) ML_1(gtk_drag_source_add_image_targets,GtkWidget_val, Unit) ML_1(gtk_drag_highlight,GtkWidget_val, Unit) ML_1(gtk_drag_dest_unset,GtkWidget_val, Unit) ML_2(gtk_drag_dest_set_track_motion,GtkWidget_val, Bool_val, Unit) ML_2(gtk_drag_dest_set_target_list,GtkWidget_val, Option_val(arg2,GtkTargetList_val,NULL) Ignore, Unit) ML_1(gtk_drag_dest_get_track_motion,GtkWidget_val, Val_bool) ML_1(gtk_drag_dest_get_target_list,GtkWidget_val, Val_GtkTargetList) ML_1(gtk_drag_dest_add_uri_targets,GtkWidget_val, Unit) ML_1(gtk_drag_dest_add_text_targets,GtkWidget_val, Unit) ML_1(gtk_drag_dest_add_image_targets,GtkWidget_val, Unit) ML_5(gtk_drag_check_threshold,GtkWidget_val, Int_val, Int_val, Int_val, Int_val, Val_bool) ML_2(gtk_widget_device_is_shadowed,GtkWidget_val, GdkDevice_val, Val_bool) ML_1(gtk_widget_destroy,GtkWidget_val, Unit) ML_2(gtk_widget_create_pango_layout,GtkWidget_val, String_val, Val_PangoLayout_new) ML_1(gtk_widget_create_pango_context,GtkWidget_val, Val_PangoContext_new) ML_2(gtk_widget_child_notify,GtkWidget_val, String_val, Unit) ML_2(gtk_widget_can_activate_accel,GtkWidget_val, Int_val, Val_bool) ML_2(gtk_widget_add_mnemonic_label,GtkWidget_val, GtkWidget_val, Unit) ML_2(gtk_widget_add_events,GtkWidget_val, Int_val, Unit) ML_1(gtk_widget_activate,GtkWidget_val, Val_bool) ML_0(gtk_widget_push_composite_child,Unit) ML_0(gtk_widget_pop_composite_child,Unit) ML_0(gtk_widget_get_default_style,Val_GtkStyle) /* end of Widget */ /* Module VolumeButtonClass */ /* end of VolumeButtonClass */ /* Module VolumeButton */ /* end of VolumeButton */ /* Module ViewportPrivate */ /* end of ViewportPrivate */ /* Module ViewportClass */ /* end of ViewportClass */ /* Module Viewport */ ML_2(gtk_viewport_set_vadjustment,GtkViewport_val, Option_val(arg2,GtkAdjustment_val,NULL) Ignore, Unit) ML_2(gtk_viewport_set_hadjustment,GtkViewport_val, Option_val(arg2,GtkAdjustment_val,NULL) Ignore, Unit) ML_1(gtk_viewport_get_view_window,GtkViewport_val, Val_GdkWindow) ML_1(gtk_viewport_get_vadjustment,GtkViewport_val, Val_GtkAdjustment) ML_1(gtk_viewport_get_hadjustment,GtkViewport_val, Val_GtkAdjustment) ML_1(gtk_viewport_get_bin_window,GtkViewport_val, Val_GdkWindow) /* end of Viewport */ /* Module VSeparatorClass */ /* end of VSeparatorClass */ /* Module VSeparator */ /* end of VSeparator */ /* Module VScrollbarClass */ /* end of VScrollbarClass */ /* Module VScrollbar */ /* end of VScrollbar */ /* Module VScaleClass */ /* end of VScaleClass */ /* Module VScale */ /* end of VScale */ /* Module VPanedClass */ /* end of VPanedClass */ /* Module VPaned */ /* end of VPaned */ /* Module VButtonBoxClass */ /* end of VButtonBoxClass */ /* Module VButtonBox */ /* end of VButtonBox */ /* Module VBoxClass */ /* end of VBoxClass */ /* Module VBox */ /* end of VBox */ /* Module UIManagerPrivate */ /* end of UIManagerPrivate */ /* Module UIManagerClass */ /* end of UIManagerClass */ /* Module UIManager */ ML_2(gtk_ui_manager_set_add_tearoffs,GtkUIManager_val, Bool_val, Unit) ML_2(gtk_ui_manager_remove_ui,GtkUIManager_val, Int_val, Unit) ML_2(gtk_ui_manager_remove_action_group,GtkUIManager_val, GtkActionGroup_val, Unit) ML_1(gtk_ui_manager_new_merge_id,GtkUIManager_val, Val_int) ML_3(gtk_ui_manager_insert_action_group,GtkUIManager_val, GtkActionGroup_val, Int_val, Unit) ML_2(gtk_ui_manager_get_widget,GtkUIManager_val, String_val, Val_GtkWidget) ML_1(gtk_ui_manager_get_ui,GtkUIManager_val, Val_string_new) ML_1(gtk_ui_manager_get_add_tearoffs,GtkUIManager_val, Val_bool) ML_1(gtk_ui_manager_get_action_groups,GtkUIManager_val, Val_GList) ML_2(gtk_ui_manager_get_action,GtkUIManager_val, String_val, Val_GtkAction) ML_1(gtk_ui_manager_get_accel_group,GtkUIManager_val, Val_GtkAccelGroup) ML_1(gtk_ui_manager_ensure_update,GtkUIManager_val, Unit) /* end of UIManager */ /* Module TreeViewPrivate */ /* end of TreeViewPrivate */ /* Module TreeViewColumnPrivate */ /* end of TreeViewColumnPrivate */ /* Module TreeViewColumnClass */ /* end of TreeViewColumnClass */ /* Module TreeViewColumn */ ML_2(gtk_tree_view_column_set_widget,GtkTreeViewColumn_val, Option_val(arg2,GtkWidget_val,NULL) Ignore, Unit) ML_2(gtk_tree_view_column_set_visible,GtkTreeViewColumn_val, Bool_val, Unit) ML_2(gtk_tree_view_column_set_title,GtkTreeViewColumn_val, String_val, Unit) ML_2(gtk_tree_view_column_set_spacing,GtkTreeViewColumn_val, Int_val, Unit) ML_2(gtk_tree_view_column_set_sort_indicator,GtkTreeViewColumn_val, Bool_val, Unit) ML_2(gtk_tree_view_column_set_sort_column_id,GtkTreeViewColumn_val, Int_val, Unit) ML_2(gtk_tree_view_column_set_resizable,GtkTreeViewColumn_val, Bool_val, Unit) ML_2(gtk_tree_view_column_set_reorderable,GtkTreeViewColumn_val, Bool_val, Unit) ML_2(gtk_tree_view_column_set_min_width,GtkTreeViewColumn_val, Int_val, Unit) ML_2(gtk_tree_view_column_set_max_width,GtkTreeViewColumn_val, Int_val, Unit) ML_2(gtk_tree_view_column_set_fixed_width,GtkTreeViewColumn_val, Int_val, Unit) ML_2(gtk_tree_view_column_set_expand,GtkTreeViewColumn_val, Bool_val, Unit) ML_2(gtk_tree_view_column_set_clickable,GtkTreeViewColumn_val, Bool_val, Unit) ML_1(gtk_tree_view_column_queue_resize,GtkTreeViewColumn_val, Unit) ML_3(gtk_tree_view_column_pack_start,GtkTreeViewColumn_val, GtkCellRenderer_val, Bool_val, Unit) ML_3(gtk_tree_view_column_pack_end,GtkTreeViewColumn_val, GtkCellRenderer_val, Bool_val, Unit) ML_1(gtk_tree_view_column_get_width,GtkTreeViewColumn_val, Val_int) ML_1(gtk_tree_view_column_get_widget,GtkTreeViewColumn_val, Val_GtkWidget) ML_1(gtk_tree_view_column_get_visible,GtkTreeViewColumn_val, Val_bool) ML_1(gtk_tree_view_column_get_tree_view,GtkTreeViewColumn_val, Val_GtkWidget) ML_1(gtk_tree_view_column_get_title,GtkTreeViewColumn_val, Val_string) ML_1(gtk_tree_view_column_get_spacing,GtkTreeViewColumn_val, Val_int) ML_1(gtk_tree_view_column_get_sort_indicator,GtkTreeViewColumn_val, Val_bool) ML_1(gtk_tree_view_column_get_sort_column_id,GtkTreeViewColumn_val, Val_int) ML_1(gtk_tree_view_column_get_resizable,GtkTreeViewColumn_val, Val_bool) ML_1(gtk_tree_view_column_get_reorderable,GtkTreeViewColumn_val, Val_bool) ML_1(gtk_tree_view_column_get_min_width,GtkTreeViewColumn_val, Val_int) ML_1(gtk_tree_view_column_get_max_width,GtkTreeViewColumn_val, Val_int) ML_1(gtk_tree_view_column_get_fixed_width,GtkTreeViewColumn_val, Val_int) ML_1(gtk_tree_view_column_get_expand,GtkTreeViewColumn_val, Val_bool) ML_1(gtk_tree_view_column_get_clickable,GtkTreeViewColumn_val, Val_bool) ML_1(gtk_tree_view_column_get_button,GtkTreeViewColumn_val, Val_GtkWidget) ML_2(gtk_tree_view_column_focus_cell,GtkTreeViewColumn_val, GtkCellRenderer_val, Unit) ML_1(gtk_tree_view_column_clicked,GtkTreeViewColumn_val, Unit) ML_2(gtk_tree_view_column_clear_attributes,GtkTreeViewColumn_val, GtkCellRenderer_val, Unit) ML_1(gtk_tree_view_column_clear,GtkTreeViewColumn_val, Unit) ML_1(gtk_tree_view_column_cell_is_visible,GtkTreeViewColumn_val, Val_bool) ML_4(gtk_tree_view_column_add_attribute,GtkTreeViewColumn_val, GtkCellRenderer_val, String_val, Int_val, Unit) /* end of TreeViewColumn */ /* Module TreeViewClass */ /* end of TreeViewClass */ /* Module TreeView */ ML_1(gtk_tree_view_unset_rows_drag_source,GtkTreeView_val, Unit) ML_1(gtk_tree_view_unset_rows_drag_dest,GtkTreeView_val, Unit) ML_2(gtk_tree_view_set_vadjustment,GtkTreeView_val, Option_val(arg2,GtkAdjustment_val,NULL) Ignore, Unit) ML_3(gtk_tree_view_set_tooltip_row,GtkTreeView_val, GtkTooltip_val, GtkTreePath_val, Unit) ML_2(gtk_tree_view_set_tooltip_column,GtkTreeView_val, Int_val, Unit) ML_5(gtk_tree_view_set_tooltip_cell,GtkTreeView_val, GtkTooltip_val, Option_val(arg3,GtkTreePath_val,NULL) Ignore, Option_val(arg4,GtkTreeViewColumn_val,NULL) Ignore, Option_val(arg5,GtkCellRenderer_val,NULL) Ignore, Unit) ML_2(gtk_tree_view_set_show_expanders,GtkTreeView_val, Bool_val, Unit) ML_2(gtk_tree_view_set_search_entry,GtkTreeView_val, Option_val(arg2,GtkEntry_val,NULL) Ignore, Unit) ML_2(gtk_tree_view_set_search_column,GtkTreeView_val, Int_val, Unit) ML_2(gtk_tree_view_set_rules_hint,GtkTreeView_val, Bool_val, Unit) ML_2(gtk_tree_view_set_rubber_banding,GtkTreeView_val, Bool_val, Unit) ML_2(gtk_tree_view_set_reorderable,GtkTreeView_val, Bool_val, Unit) ML_2(gtk_tree_view_set_level_indentation,GtkTreeView_val, Int_val, Unit) ML_2(gtk_tree_view_set_hover_selection,GtkTreeView_val, Bool_val, Unit) ML_2(gtk_tree_view_set_hover_expand,GtkTreeView_val, Bool_val, Unit) ML_2(gtk_tree_view_set_headers_visible,GtkTreeView_val, Bool_val, Unit) ML_2(gtk_tree_view_set_headers_clickable,GtkTreeView_val, Bool_val, Unit) ML_2(gtk_tree_view_set_hadjustment,GtkTreeView_val, Option_val(arg2,GtkAdjustment_val,NULL) Ignore, Unit) ML_2(gtk_tree_view_set_fixed_height_mode,GtkTreeView_val, Bool_val, Unit) ML_2(gtk_tree_view_set_expander_column,GtkTreeView_val, GtkTreeViewColumn_val, Unit) ML_2(gtk_tree_view_set_enable_tree_lines,GtkTreeView_val, Bool_val, Unit) ML_2(gtk_tree_view_set_enable_search,GtkTreeView_val, Bool_val, Unit) ML_5(gtk_tree_view_set_cursor_on_cell,GtkTreeView_val, GtkTreePath_val, Option_val(arg3,GtkTreeViewColumn_val,NULL) Ignore, Option_val(arg4,GtkCellRenderer_val,NULL) Ignore, Bool_val, Unit) ML_4(gtk_tree_view_set_cursor,GtkTreeView_val, GtkTreePath_val, Option_val(arg3,GtkTreeViewColumn_val,NULL) Ignore, Bool_val, Unit) ML_3(gtk_tree_view_scroll_to_point,GtkTreeView_val, Int_val, Int_val, Unit) ML_2(gtk_tree_view_row_expanded,GtkTreeView_val, GtkTreePath_val, Val_bool) ML_3(gtk_tree_view_row_activated,GtkTreeView_val, GtkTreePath_val, GtkTreeViewColumn_val, Unit) ML_2(gtk_tree_view_remove_column,GtkTreeView_val, GtkTreeViewColumn_val, Val_int) ML_3(gtk_tree_view_move_column_after,GtkTreeView_val, GtkTreeViewColumn_val, Option_val(arg3,GtkTreeViewColumn_val,NULL) Ignore, Unit) ML_1(gtk_tree_view_is_rubber_banding_active,GtkTreeView_val, Val_bool) ML_3(gtk_tree_view_insert_column,GtkTreeView_val, GtkTreeViewColumn_val, Int_val, Val_int) ML_1(gtk_tree_view_get_vadjustment,GtkTreeView_val, Val_GtkAdjustment) ML_1(gtk_tree_view_get_tooltip_column,GtkTreeView_val, Val_int) ML_1(gtk_tree_view_get_show_expanders,GtkTreeView_val, Val_bool) ML_1(gtk_tree_view_get_selection,GtkTreeView_val, Val_GtkTreeSelection) ML_1(gtk_tree_view_get_search_entry,GtkTreeView_val, Val_GtkEntry) ML_1(gtk_tree_view_get_search_column,GtkTreeView_val, Val_int) ML_1(gtk_tree_view_get_rules_hint,GtkTreeView_val, Val_bool) ML_1(gtk_tree_view_get_rubber_banding,GtkTreeView_val, Val_bool) ML_1(gtk_tree_view_get_reorderable,GtkTreeView_val, Val_bool) ML_1(gtk_tree_view_get_level_indentation,GtkTreeView_val, Val_int) ML_1(gtk_tree_view_get_hover_selection,GtkTreeView_val, Val_bool) ML_1(gtk_tree_view_get_hover_expand,GtkTreeView_val, Val_bool) ML_1(gtk_tree_view_get_headers_visible,GtkTreeView_val, Val_bool) ML_1(gtk_tree_view_get_headers_clickable,GtkTreeView_val, Val_bool) ML_1(gtk_tree_view_get_hadjustment,GtkTreeView_val, Val_GtkAdjustment) ML_1(gtk_tree_view_get_fixed_height_mode,GtkTreeView_val, Val_bool) ML_1(gtk_tree_view_get_expander_column,GtkTreeView_val, Val_GtkTreeViewColumn) ML_1(gtk_tree_view_get_enable_tree_lines,GtkTreeView_val, Val_bool) ML_1(gtk_tree_view_get_enable_search,GtkTreeView_val, Val_bool) ML_1(gtk_tree_view_get_columns,GtkTreeView_val, Val_GList) ML_2(gtk_tree_view_get_column,GtkTreeView_val, Int_val, Val_GtkTreeViewColumn) ML_1(gtk_tree_view_get_bin_window,GtkTreeView_val, Val_GdkWindow) ML_2(gtk_tree_view_expand_to_path,GtkTreeView_val, GtkTreePath_val, Unit) ML_3(gtk_tree_view_expand_row,GtkTreeView_val, GtkTreePath_val, Bool_val, Val_bool) ML_1(gtk_tree_view_expand_all,GtkTreeView_val, Unit) ML_2(gtk_tree_view_create_row_drag_icon,GtkTreeView_val, GtkTreePath_val, Val_cairo_surface_t_new) ML_1(gtk_tree_view_columns_autosize,GtkTreeView_val, Unit) ML_2(gtk_tree_view_collapse_row,GtkTreeView_val, GtkTreePath_val, Val_bool) ML_1(gtk_tree_view_collapse_all,GtkTreeView_val, Unit) ML_2(gtk_tree_view_append_column,GtkTreeView_val, GtkTreeViewColumn_val, Val_int) /* end of TreeView */ /* Module TreeStorePrivate */ /* end of TreeStorePrivate */ /* Module TreeStoreClass */ /* end of TreeStoreClass */ /* Module TreeStore */ ML_3(gtk_tree_store_swap,GtkTreeStore_val, GtkTreeIter_val, GtkTreeIter_val, Unit) ML_4(gtk_tree_store_set_value,GtkTreeStore_val, GtkTreeIter_val, Int_val, GValue_val, Unit) ML_2(gtk_tree_store_remove,GtkTreeStore_val, GtkTreeIter_val, Val_bool) ML_3(gtk_tree_store_move_before,GtkTreeStore_val, GtkTreeIter_val, Option_val(arg3,GtkTreeIter_val,NULL) Ignore, Unit) ML_3(gtk_tree_store_move_after,GtkTreeStore_val, GtkTreeIter_val, Option_val(arg3,GtkTreeIter_val,NULL) Ignore, Unit) ML_2(gtk_tree_store_iter_is_valid,GtkTreeStore_val, GtkTreeIter_val, Val_bool) ML_2(gtk_tree_store_iter_depth,GtkTreeStore_val, GtkTreeIter_val, Val_int) ML_3(gtk_tree_store_is_ancestor,GtkTreeStore_val, GtkTreeIter_val, GtkTreeIter_val, Val_bool) ML_1(gtk_tree_store_clear,GtkTreeStore_val, Unit) /* end of TreeStore */ /* Module TreeSortableIface */ /* end of TreeSortableIface */ /* Module TreeSelectionPrivate */ /* end of TreeSelectionPrivate */ /* Module TreeSelectionClass */ /* end of TreeSelectionClass */ /* Module TreeSelection */ ML_3(gtk_tree_selection_unselect_range,GtkTreeSelection_val, GtkTreePath_val, GtkTreePath_val, Unit) ML_2(gtk_tree_selection_unselect_path,GtkTreeSelection_val, GtkTreePath_val, Unit) ML_2(gtk_tree_selection_unselect_iter,GtkTreeSelection_val, GtkTreeIter_val, Unit) ML_1(gtk_tree_selection_unselect_all,GtkTreeSelection_val, Unit) ML_3(gtk_tree_selection_select_range,GtkTreeSelection_val, GtkTreePath_val, GtkTreePath_val, Unit) ML_2(gtk_tree_selection_select_path,GtkTreeSelection_val, GtkTreePath_val, Unit) ML_2(gtk_tree_selection_select_iter,GtkTreeSelection_val, GtkTreeIter_val, Unit) ML_1(gtk_tree_selection_select_all,GtkTreeSelection_val, Unit) ML_2(gtk_tree_selection_path_is_selected,GtkTreeSelection_val, GtkTreePath_val, Val_bool) ML_2(gtk_tree_selection_iter_is_selected,GtkTreeSelection_val, GtkTreeIter_val, Val_bool) ML_1(gtk_tree_selection_get_tree_view,GtkTreeSelection_val, Val_GtkTreeView) ML_1(gtk_tree_selection_count_selected_rows,GtkTreeSelection_val, Val_int) /* end of TreeSelection */ /* Module TreeRowReference */ ML_1(gtk_tree_row_reference_valid,GtkTreeRowReference_val, Val_bool) ML_1(gtk_tree_row_reference_get_path,GtkTreeRowReference_val, Val_GtkTreePath_new) ML_1(gtk_tree_row_reference_free,GtkTreeRowReference_val, Unit) ML_1(gtk_tree_row_reference_copy,GtkTreeRowReference_val, Val_GtkTreeRowReference_new) /* end of TreeRowReference */ /* Module TreePath */ ML_1(gtk_tree_path_up,GtkTreePath_val, Val_bool) ML_1(gtk_tree_path_to_string,GtkTreePath_val, Val_string_new) ML_1(gtk_tree_path_prev,GtkTreePath_val, Val_bool) ML_2(gtk_tree_path_prepend_index,GtkTreePath_val, Int_val, Unit) ML_1(gtk_tree_path_next,GtkTreePath_val, Unit) ML_2(gtk_tree_path_is_descendant,GtkTreePath_val, GtkTreePath_val, Val_bool) ML_2(gtk_tree_path_is_ancestor,GtkTreePath_val, GtkTreePath_val, Val_bool) ML_1(gtk_tree_path_get_depth,GtkTreePath_val, Val_int) ML_1(gtk_tree_path_free,GtkTreePath_val, Unit) ML_1(gtk_tree_path_down,GtkTreePath_val, Unit) ML_1(gtk_tree_path_copy,GtkTreePath_val, Val_GtkTreePath_new) ML_2(gtk_tree_path_compare,GtkTreePath_val, GtkTreePath_val, Val_int) ML_2(gtk_tree_path_append_index,GtkTreePath_val, Int_val, Unit) /* end of TreePath */ /* Module TreeModelSortPrivate */ /* end of TreeModelSortPrivate */ /* Module TreeModelSortClass */ /* end of TreeModelSortClass */ /* Module TreeModelSort */ ML_1(gtk_tree_model_sort_reset_default_sort_func,GtkTreeModelSort_val, Unit) ML_2(gtk_tree_model_sort_iter_is_valid,GtkTreeModelSort_val, GtkTreeIter_val, Val_bool) ML_2(gtk_tree_model_sort_convert_path_to_child_path,GtkTreeModelSort_val, GtkTreePath_val, Val_GtkTreePath_new) ML_2(gtk_tree_model_sort_convert_child_path_to_path,GtkTreeModelSort_val, GtkTreePath_val, Val_GtkTreePath_new) ML_1(gtk_tree_model_sort_clear_cache,GtkTreeModelSort_val, Unit) /* end of TreeModelSort */ /* Module TreeModelIface */ /* end of TreeModelIface */ /* Module TreeModelFilterPrivate */ /* end of TreeModelFilterPrivate */ /* Module TreeModelFilterClass */ /* end of TreeModelFilterClass */ /* Module TreeModelFilter */ ML_2(gtk_tree_model_filter_set_visible_column,GtkTreeModelFilter_val, Int_val, Unit) ML_1(gtk_tree_model_filter_refilter,GtkTreeModelFilter_val, Unit) ML_2(gtk_tree_model_filter_convert_path_to_child_path,GtkTreeModelFilter_val, GtkTreePath_val, Val_GtkTreePath_new) ML_2(gtk_tree_model_filter_convert_child_path_to_path,GtkTreeModelFilter_val, GtkTreePath_val, Val_GtkTreePath_new) ML_1(gtk_tree_model_filter_clear_cache,GtkTreeModelFilter_val, Unit) /* end of TreeModelFilter */ /* Module TreeIter */ ML_1(gtk_tree_iter_free,GtkTreeIter_val, Unit) ML_1(gtk_tree_iter_copy,GtkTreeIter_val, Val_GtkTreeIter_new) /* end of TreeIter */ /* Module TreeDragSourceIface */ /* end of TreeDragSourceIface */ /* Module TreeDragDestIface */ /* end of TreeDragDestIface */ /* Module Tooltip */ ML_2(gtk_tooltip_set_text,GtkTooltip_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_tooltip_set_markup,GtkTooltip_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_tooltip_set_icon,GtkTooltip_val, Option_val(arg2,GdkPixbuf_val,NULL) Ignore, Unit) ML_2(gtk_tooltip_set_custom,GtkTooltip_val, Option_val(arg2,GtkWidget_val,NULL) Ignore, Unit) ML_1(gtk_tooltip_trigger_tooltip_query,GdkDisplay_val, Unit) /* end of Tooltip */ /* Module ToolbarPrivate */ /* end of ToolbarPrivate */ /* Module ToolbarClass */ /* end of ToolbarClass */ /* Module Toolbar */ ML_1(gtk_toolbar_unset_style,GtkToolbar_val, Unit) ML_1(gtk_toolbar_unset_icon_size,GtkToolbar_val, Unit) ML_2(gtk_toolbar_set_show_arrow,GtkToolbar_val, Bool_val, Unit) ML_3(gtk_toolbar_set_drop_highlight_item,GtkToolbar_val, Option_val(arg2,GtkToolItem_val,NULL) Ignore, Int_val, Unit) ML_3(gtk_toolbar_insert,GtkToolbar_val, GtkToolItem_val, Int_val, Unit) ML_1(gtk_toolbar_get_show_arrow,GtkToolbar_val, Val_bool) ML_2(gtk_toolbar_get_nth_item,GtkToolbar_val, Int_val, Val_GtkToolItem) ML_1(gtk_toolbar_get_n_items,GtkToolbar_val, Val_int) ML_2(gtk_toolbar_get_item_index,GtkToolbar_val, GtkToolItem_val, Val_int) ML_3(gtk_toolbar_get_drop_index,GtkToolbar_val, Int_val, Int_val, Val_int) /* end of Toolbar */ /* Module ToolShellIface */ /* end of ToolShellIface */ /* Module ToolPalettePrivate */ /* end of ToolPalettePrivate */ /* Module ToolPaletteClass */ /* end of ToolPaletteClass */ /* Module ToolPalette */ ML_1(gtk_tool_palette_unset_style,GtkToolPalette_val, Unit) ML_1(gtk_tool_palette_unset_icon_size,GtkToolPalette_val, Unit) ML_3(gtk_tool_palette_set_group_position,GtkToolPalette_val, GtkToolItemGroup_val, Int_val, Unit) ML_3(gtk_tool_palette_set_expand,GtkToolPalette_val, GtkToolItemGroup_val, Bool_val, Unit) ML_3(gtk_tool_palette_set_exclusive,GtkToolPalette_val, GtkToolItemGroup_val, Bool_val, Unit) ML_1(gtk_tool_palette_get_vadjustment,GtkToolPalette_val, Val_GtkAdjustment) ML_1(gtk_tool_palette_get_hadjustment,GtkToolPalette_val, Val_GtkAdjustment) ML_2(gtk_tool_palette_get_group_position,GtkToolPalette_val, GtkToolItemGroup_val, Val_int) ML_2(gtk_tool_palette_get_expand,GtkToolPalette_val, GtkToolItemGroup_val, Val_bool) ML_2(gtk_tool_palette_get_exclusive,GtkToolPalette_val, GtkToolItemGroup_val, Val_bool) ML_3(gtk_tool_palette_get_drop_item,GtkToolPalette_val, Int_val, Int_val, Val_GtkToolItem) ML_3(gtk_tool_palette_get_drop_group,GtkToolPalette_val, Int_val, Int_val, Val_GtkToolItemGroup) ML_2(gtk_tool_palette_get_drag_item,GtkToolPalette_val, GtkSelectionData_val, Val_GtkWidget) ML_0(gtk_tool_palette_get_drag_target_item,Val_GtkTargetEntry) ML_0(gtk_tool_palette_get_drag_target_group,Val_GtkTargetEntry) /* end of ToolPalette */ /* Module ToolItemPrivate */ /* end of ToolItemPrivate */ /* Module ToolItemGroupPrivate */ /* end of ToolItemGroupPrivate */ /* Module ToolItemGroupClass */ /* end of ToolItemGroupClass */ /* Module ToolItemGroup */ ML_2(gtk_tool_item_group_set_label_widget,GtkToolItemGroup_val, GtkWidget_val, Unit) ML_2(gtk_tool_item_group_set_label,GtkToolItemGroup_val, String_val, Unit) ML_3(gtk_tool_item_group_set_item_position,GtkToolItemGroup_val, GtkToolItem_val, Int_val, Unit) ML_2(gtk_tool_item_group_set_collapsed,GtkToolItemGroup_val, Bool_val, Unit) ML_3(gtk_tool_item_group_insert,GtkToolItemGroup_val, GtkToolItem_val, Int_val, Unit) ML_2(gtk_tool_item_group_get_nth_item,GtkToolItemGroup_val, Int_val, Val_GtkToolItem) ML_1(gtk_tool_item_group_get_n_items,GtkToolItemGroup_val, Val_int) ML_1(gtk_tool_item_group_get_label_widget,GtkToolItemGroup_val, Val_GtkWidget) ML_1(gtk_tool_item_group_get_label,GtkToolItemGroup_val, Val_string) ML_2(gtk_tool_item_group_get_item_position,GtkToolItemGroup_val, GtkToolItem_val, Val_int) ML_3(gtk_tool_item_group_get_drop_item,GtkToolItemGroup_val, Int_val, Int_val, Val_GtkToolItem) ML_1(gtk_tool_item_group_get_collapsed,GtkToolItemGroup_val, Val_bool) /* end of ToolItemGroup */ /* Module ToolItemClass */ /* end of ToolItemClass */ /* Module ToolItem */ ML_1(gtk_tool_item_toolbar_reconfigured,GtkToolItem_val, Unit) ML_2(gtk_tool_item_set_visible_vertical,GtkToolItem_val, Bool_val, Unit) ML_2(gtk_tool_item_set_visible_horizontal,GtkToolItem_val, Bool_val, Unit) ML_2(gtk_tool_item_set_use_drag_window,GtkToolItem_val, Bool_val, Unit) ML_2(gtk_tool_item_set_tooltip_text,GtkToolItem_val, String_val, Unit) ML_2(gtk_tool_item_set_tooltip_markup,GtkToolItem_val, String_val, Unit) ML_3(gtk_tool_item_set_proxy_menu_item,GtkToolItem_val, String_val, GtkWidget_val, Unit) ML_2(gtk_tool_item_set_is_important,GtkToolItem_val, Bool_val, Unit) ML_2(gtk_tool_item_set_homogeneous,GtkToolItem_val, Bool_val, Unit) ML_2(gtk_tool_item_set_expand,GtkToolItem_val, Bool_val, Unit) ML_1(gtk_tool_item_retrieve_proxy_menu_item,GtkToolItem_val, Val_GtkWidget) ML_1(gtk_tool_item_rebuild_menu,GtkToolItem_val, Unit) ML_1(gtk_tool_item_get_visible_vertical,GtkToolItem_val, Val_bool) ML_1(gtk_tool_item_get_visible_horizontal,GtkToolItem_val, Val_bool) ML_1(gtk_tool_item_get_use_drag_window,GtkToolItem_val, Val_bool) ML_1(gtk_tool_item_get_text_size_group,GtkToolItem_val, Val_GtkSizeGroup) ML_2(gtk_tool_item_get_proxy_menu_item,GtkToolItem_val, String_val, Val_GtkWidget) ML_1(gtk_tool_item_get_is_important,GtkToolItem_val, Val_bool) ML_1(gtk_tool_item_get_homogeneous,GtkToolItem_val, Val_bool) ML_1(gtk_tool_item_get_expand,GtkToolItem_val, Val_bool) /* end of ToolItem */ /* Module ToolButtonPrivate */ /* end of ToolButtonPrivate */ /* Module ToolButtonClass */ /* end of ToolButtonClass */ /* Module ToolButton */ ML_2(gtk_tool_button_set_use_underline,GtkToolButton_val, Bool_val, Unit) ML_2(gtk_tool_button_set_stock_id,GtkToolButton_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_tool_button_set_label_widget,GtkToolButton_val, Option_val(arg2,GtkWidget_val,NULL) Ignore, Unit) ML_2(gtk_tool_button_set_label,GtkToolButton_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_tool_button_set_icon_widget,GtkToolButton_val, Option_val(arg2,GtkWidget_val,NULL) Ignore, Unit) ML_2(gtk_tool_button_set_icon_name,GtkToolButton_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_1(gtk_tool_button_get_use_underline,GtkToolButton_val, Val_bool) ML_1(gtk_tool_button_get_stock_id,GtkToolButton_val, Val_string) ML_1(gtk_tool_button_get_label_widget,GtkToolButton_val, Val_GtkWidget) ML_1(gtk_tool_button_get_label,GtkToolButton_val, Val_string) ML_1(gtk_tool_button_get_icon_widget,GtkToolButton_val, Val_GtkWidget) ML_1(gtk_tool_button_get_icon_name,GtkToolButton_val, Val_string) /* end of ToolButton */ /* Module ToggleToolButtonPrivate */ /* end of ToggleToolButtonPrivate */ /* Module ToggleToolButtonClass */ /* end of ToggleToolButtonClass */ /* Module ToggleToolButton */ ML_2(gtk_toggle_tool_button_set_active,GtkToggleToolButton_val, Bool_val, Unit) ML_1(gtk_toggle_tool_button_get_active,GtkToggleToolButton_val, Val_bool) /* end of ToggleToolButton */ /* Module ToggleButtonPrivate */ /* end of ToggleButtonPrivate */ /* Module ToggleButtonClass */ /* end of ToggleButtonClass */ /* Module ToggleButton */ ML_1(gtk_toggle_button_toggled,GtkToggleButton_val, Unit) ML_2(gtk_toggle_button_set_mode,GtkToggleButton_val, Bool_val, Unit) ML_2(gtk_toggle_button_set_inconsistent,GtkToggleButton_val, Bool_val, Unit) ML_2(gtk_toggle_button_set_active,GtkToggleButton_val, Bool_val, Unit) ML_1(gtk_toggle_button_get_mode,GtkToggleButton_val, Val_bool) ML_1(gtk_toggle_button_get_inconsistent,GtkToggleButton_val, Val_bool) ML_1(gtk_toggle_button_get_active,GtkToggleButton_val, Val_bool) /* end of ToggleButton */ /* Module ToggleActionPrivate */ /* end of ToggleActionPrivate */ /* Module ToggleActionEntry */ /* end of ToggleActionEntry */ /* Module ToggleActionClass */ /* end of ToggleActionClass */ /* Module ToggleAction */ ML_1(gtk_toggle_action_toggled,GtkToggleAction_val, Unit) ML_2(gtk_toggle_action_set_draw_as_radio,GtkToggleAction_val, Bool_val, Unit) ML_2(gtk_toggle_action_set_active,GtkToggleAction_val, Bool_val, Unit) ML_1(gtk_toggle_action_get_draw_as_radio,GtkToggleAction_val, Val_bool) ML_1(gtk_toggle_action_get_active,GtkToggleAction_val, Val_bool) /* end of ToggleAction */ /* Module ThemingEngineClass */ /* end of ThemingEngineClass */ /* Module ThemingEngine */ ML_2(gtk_theming_engine_has_class,GtkThemingEngine_val, String_val, Val_bool) ML_3(gtk_theming_engine_get_style_property,GtkThemingEngine_val, String_val, GValue_val, Unit) ML_1(gtk_theming_engine_get_screen,GtkThemingEngine_val, Val_GdkScreen) ML_1(gtk_theming_engine_get_path,GtkThemingEngine_val, Val_GtkWidgetPath) ML_1(gtk_theming_engine_load,String_val, Val_GtkThemingEngine) /* end of ThemingEngine */ /* Module ThemeEngine */ /* end of ThemeEngine */ /* Module TextViewPrivate */ /* end of TextViewPrivate */ /* Module TextViewClass */ /* end of TextViewClass */ /* Module TextView */ ML_2(gtk_text_view_starts_display_line,GtkTextView_val, GtkTextIter_val, Val_bool) ML_2(gtk_text_view_set_tabs,GtkTextView_val, PangoTabArray_val, Unit) ML_2(gtk_text_view_set_right_margin,GtkTextView_val, Int_val, Unit) ML_2(gtk_text_view_set_pixels_inside_wrap,GtkTextView_val, Int_val, Unit) ML_2(gtk_text_view_set_pixels_below_lines,GtkTextView_val, Int_val, Unit) ML_2(gtk_text_view_set_pixels_above_lines,GtkTextView_val, Int_val, Unit) ML_2(gtk_text_view_set_overwrite,GtkTextView_val, Bool_val, Unit) ML_2(gtk_text_view_set_left_margin,GtkTextView_val, Int_val, Unit) ML_2(gtk_text_view_set_indent,GtkTextView_val, Int_val, Unit) ML_2(gtk_text_view_set_editable,GtkTextView_val, Bool_val, Unit) ML_2(gtk_text_view_set_cursor_visible,GtkTextView_val, Bool_val, Unit) ML_2(gtk_text_view_set_buffer,GtkTextView_val, Option_val(arg2,GtkTextBuffer_val,NULL) Ignore, Unit) ML_2(gtk_text_view_set_accepts_tab,GtkTextView_val, Bool_val, Unit) ML_6(gtk_text_view_scroll_to_mark,GtkTextView_val, GtkTextMark_val, Double_val, Bool_val, Double_val, Double_val, Unit) ML_bc6(ml_gtk_text_view_scroll_to_mark) ML_6(gtk_text_view_scroll_to_iter,GtkTextView_val, GtkTextIter_val, Double_val, Bool_val, Double_val, Double_val, Val_bool) ML_bc6(ml_gtk_text_view_scroll_to_iter) ML_2(gtk_text_view_scroll_mark_onscreen,GtkTextView_val, GtkTextMark_val, Unit) ML_1(gtk_text_view_reset_im_context,GtkTextView_val, Unit) ML_1(gtk_text_view_place_cursor_onscreen,GtkTextView_val, Val_bool) ML_3(gtk_text_view_move_visually,GtkTextView_val, GtkTextIter_val, Int_val, Val_bool) ML_2(gtk_text_view_move_mark_onscreen,GtkTextView_val, GtkTextMark_val, Val_bool) ML_4(gtk_text_view_move_child,GtkTextView_val, GtkWidget_val, Int_val, Int_val, Unit) ML_2(gtk_text_view_im_context_filter_keypress,GtkTextView_val, GdkEventKey_val, Val_bool) ML_1(gtk_text_view_get_vadjustment,GtkTextView_val, Val_GtkAdjustment) ML_1(gtk_text_view_get_tabs,GtkTextView_val, Val_PangoTabArray_new) ML_1(gtk_text_view_get_right_margin,GtkTextView_val, Val_int) ML_1(gtk_text_view_get_pixels_inside_wrap,GtkTextView_val, Val_int) ML_1(gtk_text_view_get_pixels_below_lines,GtkTextView_val, Val_int) ML_1(gtk_text_view_get_pixels_above_lines,GtkTextView_val, Val_int) ML_1(gtk_text_view_get_overwrite,GtkTextView_val, Val_bool) ML_1(gtk_text_view_get_left_margin,GtkTextView_val, Val_int) ML_1(gtk_text_view_get_indent,GtkTextView_val, Val_int) ML_1(gtk_text_view_get_hadjustment,GtkTextView_val, Val_GtkAdjustment) ML_1(gtk_text_view_get_editable,GtkTextView_val, Val_bool) ML_1(gtk_text_view_get_default_attributes,GtkTextView_val, Val_GtkTextAttributes_new) ML_1(gtk_text_view_get_cursor_visible,GtkTextView_val, Val_bool) ML_1(gtk_text_view_get_buffer,GtkTextView_val, Val_GtkTextBuffer) ML_1(gtk_text_view_get_accepts_tab,GtkTextView_val, Val_bool) ML_2(gtk_text_view_forward_display_line_end,GtkTextView_val, GtkTextIter_val, Val_bool) ML_2(gtk_text_view_forward_display_line,GtkTextView_val, GtkTextIter_val, Val_bool) ML_2(gtk_text_view_backward_display_line_start,GtkTextView_val, GtkTextIter_val, Val_bool) ML_2(gtk_text_view_backward_display_line,GtkTextView_val, GtkTextIter_val, Val_bool) ML_3(gtk_text_view_add_child_at_anchor,GtkTextView_val, GtkWidget_val, GtkTextChildAnchor_val, Unit) /* end of TextView */ /* Module TextTagTablePrivate */ /* end of TextTagTablePrivate */ /* Module TextTagTableClass */ /* end of TextTagTableClass */ /* Module TextTagTable */ ML_2(gtk_text_tag_table_remove,GtkTextTagTable_val, GtkTextTag_val, Unit) ML_2(gtk_text_tag_table_lookup,GtkTextTagTable_val, String_val, Val_GtkTextTag) ML_1(gtk_text_tag_table_get_size,GtkTextTagTable_val, Val_int) ML_2(gtk_text_tag_table_add,GtkTextTagTable_val, GtkTextTag_val, Unit) /* end of TextTagTable */ /* Module TextTagPrivate */ /* end of TextTagPrivate */ /* Module TextTagClass */ /* end of TextTagClass */ /* Module TextTag */ ML_2(gtk_text_tag_set_priority,GtkTextTag_val, Int_val, Unit) ML_1(gtk_text_tag_get_priority,GtkTextTag_val, Val_int) /* end of TextTag */ /* Module TextMarkClass */ /* end of TextMarkClass */ /* Module TextMark */ ML_2(gtk_text_mark_set_visible,GtkTextMark_val, Bool_val, Unit) ML_1(gtk_text_mark_get_visible,GtkTextMark_val, Val_bool) ML_1(gtk_text_mark_get_name,GtkTextMark_val, Val_string) ML_1(gtk_text_mark_get_left_gravity,GtkTextMark_val, Val_bool) ML_1(gtk_text_mark_get_deleted,GtkTextMark_val, Val_bool) ML_1(gtk_text_mark_get_buffer,GtkTextMark_val, Val_GtkTextBuffer) /* end of TextMark */ /* Module TextIter */ ML_2(gtk_text_iter_toggles_tag,GtkTextIter_val, Option_val(arg2,GtkTextTag_val,NULL) Ignore, Val_bool) ML_1(gtk_text_iter_starts_word,GtkTextIter_val, Val_bool) ML_1(gtk_text_iter_starts_sentence,GtkTextIter_val, Val_bool) ML_1(gtk_text_iter_starts_line,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_set_visible_line_offset,GtkTextIter_val, Int_val, Unit) ML_2(gtk_text_iter_set_visible_line_index,GtkTextIter_val, Int_val, Unit) ML_2(gtk_text_iter_set_offset,GtkTextIter_val, Int_val, Unit) ML_2(gtk_text_iter_set_line_offset,GtkTextIter_val, Int_val, Unit) ML_2(gtk_text_iter_set_line_index,GtkTextIter_val, Int_val, Unit) ML_2(gtk_text_iter_set_line,GtkTextIter_val, Int_val, Unit) ML_2(gtk_text_iter_order,GtkTextIter_val, GtkTextIter_val, Unit) ML_1(gtk_text_iter_is_start,GtkTextIter_val, Val_bool) ML_1(gtk_text_iter_is_end,GtkTextIter_val, Val_bool) ML_1(gtk_text_iter_is_cursor_position,GtkTextIter_val, Val_bool) ML_1(gtk_text_iter_inside_word,GtkTextIter_val, Val_bool) ML_1(gtk_text_iter_inside_sentence,GtkTextIter_val, Val_bool) ML_3(gtk_text_iter_in_range,GtkTextIter_val, GtkTextIter_val, GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_has_tag,GtkTextIter_val, GtkTextTag_val, Val_bool) ML_2(gtk_text_iter_get_visible_text,GtkTextIter_val, GtkTextIter_val, Val_string_new) ML_2(gtk_text_iter_get_visible_slice,GtkTextIter_val, GtkTextIter_val, Val_string_new) ML_1(gtk_text_iter_get_visible_line_offset,GtkTextIter_val, Val_int) ML_1(gtk_text_iter_get_visible_line_index,GtkTextIter_val, Val_int) ML_2(gtk_text_iter_get_toggled_tags,GtkTextIter_val, Bool_val, Val_GSList) ML_2(gtk_text_iter_get_text,GtkTextIter_val, GtkTextIter_val, Val_string_new) ML_1(gtk_text_iter_get_tags,GtkTextIter_val, Val_GSList) ML_2(gtk_text_iter_get_slice,GtkTextIter_val, GtkTextIter_val, Val_string_new) ML_1(gtk_text_iter_get_pixbuf,GtkTextIter_val, Val_GdkPixbuf) ML_1(gtk_text_iter_get_offset,GtkTextIter_val, Val_int) ML_1(gtk_text_iter_get_marks,GtkTextIter_val, Val_GSList) ML_1(gtk_text_iter_get_line_offset,GtkTextIter_val, Val_int) ML_1(gtk_text_iter_get_line_index,GtkTextIter_val, Val_int) ML_1(gtk_text_iter_get_line,GtkTextIter_val, Val_int) ML_1(gtk_text_iter_get_language,GtkTextIter_val, Val_PangoLanguage_new) ML_1(gtk_text_iter_get_child_anchor,GtkTextIter_val, Val_GtkTextChildAnchor) ML_1(gtk_text_iter_get_chars_in_line,GtkTextIter_val, Val_int) ML_1(gtk_text_iter_get_char,GtkTextIter_val, Val_int32) ML_1(gtk_text_iter_get_bytes_in_line,GtkTextIter_val, Val_int) ML_1(gtk_text_iter_get_buffer,GtkTextIter_val, Val_GtkTextBuffer) ML_1(gtk_text_iter_free,GtkTextIter_val, Unit) ML_2(gtk_text_iter_forward_word_ends,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_forward_word_end,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_forward_visible_word_ends,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_forward_visible_word_end,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_forward_visible_lines,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_forward_visible_line,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_forward_visible_cursor_positions,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_forward_visible_cursor_position,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_forward_to_tag_toggle,GtkTextIter_val, Option_val(arg2,GtkTextTag_val,NULL) Ignore, Val_bool) ML_1(gtk_text_iter_forward_to_line_end,GtkTextIter_val, Val_bool) ML_1(gtk_text_iter_forward_to_end,GtkTextIter_val, Unit) ML_2(gtk_text_iter_forward_sentence_ends,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_forward_sentence_end,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_forward_lines,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_forward_line,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_forward_cursor_positions,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_forward_cursor_position,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_forward_chars,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_forward_char,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_equal,GtkTextIter_val, GtkTextIter_val, Val_bool) ML_1(gtk_text_iter_ends_word,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_ends_tag,GtkTextIter_val, Option_val(arg2,GtkTextTag_val,NULL) Ignore, Val_bool) ML_1(gtk_text_iter_ends_sentence,GtkTextIter_val, Val_bool) ML_1(gtk_text_iter_ends_line,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_editable,GtkTextIter_val, Bool_val, Val_bool) ML_1(gtk_text_iter_copy,GtkTextIter_val, Val_GtkTextIter_new) ML_2(gtk_text_iter_compare,GtkTextIter_val, GtkTextIter_val, Val_int) ML_2(gtk_text_iter_can_insert,GtkTextIter_val, Bool_val, Val_bool) ML_2(gtk_text_iter_begins_tag,GtkTextIter_val, Option_val(arg2,GtkTextTag_val,NULL) Ignore, Val_bool) ML_2(gtk_text_iter_backward_word_starts,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_backward_word_start,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_backward_visible_word_starts,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_backward_visible_word_start,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_backward_visible_lines,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_backward_visible_line,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_backward_visible_cursor_positions,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_backward_visible_cursor_position,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_backward_to_tag_toggle,GtkTextIter_val, Option_val(arg2,GtkTextTag_val,NULL) Ignore, Val_bool) ML_2(gtk_text_iter_backward_sentence_starts,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_backward_sentence_start,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_backward_lines,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_backward_line,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_backward_cursor_positions,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_backward_cursor_position,GtkTextIter_val, Val_bool) ML_2(gtk_text_iter_backward_chars,GtkTextIter_val, Int_val, Val_bool) ML_1(gtk_text_iter_backward_char,GtkTextIter_val, Val_bool) /* end of TextIter */ /* Module TextChildAnchorClass */ /* end of TextChildAnchorClass */ /* Module TextChildAnchor */ ML_1(gtk_text_child_anchor_get_widgets,GtkTextChildAnchor_val, Val_GList) ML_1(gtk_text_child_anchor_get_deleted,GtkTextChildAnchor_val, Val_bool) /* end of TextChildAnchor */ /* Module TextBufferPrivate */ /* end of TextBufferPrivate */ /* Module TextBufferClass */ /* end of TextBufferClass */ /* Module TextBuffer */ ML_3(gtk_text_buffer_set_text,GtkTextBuffer_val, String_val, Int_val, Unit) ML_2(gtk_text_buffer_set_modified,GtkTextBuffer_val, Bool_val, Unit) ML_3(gtk_text_buffer_select_range,GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_4(gtk_text_buffer_remove_tag_by_name,GtkTextBuffer_val, String_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_4(gtk_text_buffer_remove_tag,GtkTextBuffer_val, GtkTextTag_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_2(gtk_text_buffer_remove_selection_clipboard,GtkTextBuffer_val, GtkClipboard_val, Unit) ML_3(gtk_text_buffer_remove_all_tags,GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_2(gtk_text_buffer_place_cursor,GtkTextBuffer_val, GtkTextIter_val, Unit) ML_4(gtk_text_buffer_paste_clipboard,GtkTextBuffer_val, GtkClipboard_val, Option_val(arg3,GtkTextIter_val,NULL) Ignore, Bool_val, Unit) ML_3(gtk_text_buffer_move_mark_by_name,GtkTextBuffer_val, String_val, GtkTextIter_val, Unit) ML_3(gtk_text_buffer_move_mark,GtkTextBuffer_val, GtkTextMark_val, GtkTextIter_val, Unit) ML_5(gtk_text_buffer_insert_range_interactive,GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val, GtkTextIter_val, Bool_val, Val_bool) ML_4(gtk_text_buffer_insert_range,GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_3(gtk_text_buffer_insert_pixbuf,GtkTextBuffer_val, GtkTextIter_val, GdkPixbuf_val, Unit) ML_4(gtk_text_buffer_insert_interactive_at_cursor,GtkTextBuffer_val, String_val, Int_val, Bool_val, Val_bool) ML_5(gtk_text_buffer_insert_interactive,GtkTextBuffer_val, GtkTextIter_val, String_val, Int_val, Bool_val, Val_bool) ML_3(gtk_text_buffer_insert_child_anchor,GtkTextBuffer_val, GtkTextIter_val, GtkTextChildAnchor_val, Unit) ML_3(gtk_text_buffer_insert_at_cursor,GtkTextBuffer_val, String_val, Int_val, Unit) ML_4(gtk_text_buffer_insert,GtkTextBuffer_val, GtkTextIter_val, String_val, Int_val, Unit) ML_4(gtk_text_buffer_get_text,GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val, Bool_val, Val_string_new) ML_1(gtk_text_buffer_get_tag_table,GtkTextBuffer_val, Val_GtkTextTagTable) ML_4(gtk_text_buffer_get_slice,GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val, Bool_val, Val_string_new) ML_1(gtk_text_buffer_get_selection_bound,GtkTextBuffer_val, Val_GtkTextMark) ML_1(gtk_text_buffer_get_paste_target_list,GtkTextBuffer_val, Val_GtkTargetList) ML_1(gtk_text_buffer_get_modified,GtkTextBuffer_val, Val_bool) ML_2(gtk_text_buffer_get_mark,GtkTextBuffer_val, String_val, Val_GtkTextMark) ML_1(gtk_text_buffer_get_line_count,GtkTextBuffer_val, Val_int) ML_1(gtk_text_buffer_get_insert,GtkTextBuffer_val, Val_GtkTextMark) ML_1(gtk_text_buffer_get_has_selection,GtkTextBuffer_val, Val_bool) ML_1(gtk_text_buffer_get_copy_target_list,GtkTextBuffer_val, Val_GtkTargetList) ML_1(gtk_text_buffer_get_char_count,GtkTextBuffer_val, Val_int) ML_1(gtk_text_buffer_end_user_action,GtkTextBuffer_val, Unit) ML_3(gtk_text_buffer_delete_selection,GtkTextBuffer_val, Bool_val, Bool_val, Val_bool) ML_2(gtk_text_buffer_delete_mark_by_name,GtkTextBuffer_val, String_val, Unit) ML_2(gtk_text_buffer_delete_mark,GtkTextBuffer_val, GtkTextMark_val, Unit) ML_4(gtk_text_buffer_delete_interactive,GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val, Bool_val, Val_bool) ML_3(gtk_text_buffer_delete,GtkTextBuffer_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_3(gtk_text_buffer_cut_clipboard,GtkTextBuffer_val, GtkClipboard_val, Bool_val, Unit) ML_4(gtk_text_buffer_create_mark,GtkTextBuffer_val, Option_val(arg2,String_val,NULL) Ignore, GtkTextIter_val, Bool_val, Val_GtkTextMark) ML_2(gtk_text_buffer_create_child_anchor,GtkTextBuffer_val, GtkTextIter_val, Val_GtkTextChildAnchor) ML_2(gtk_text_buffer_copy_clipboard,GtkTextBuffer_val, GtkClipboard_val, Unit) ML_1(gtk_text_buffer_begin_user_action,GtkTextBuffer_val, Unit) ML_4(gtk_text_buffer_backspace,GtkTextBuffer_val, GtkTextIter_val, Bool_val, Bool_val, Val_bool) ML_4(gtk_text_buffer_apply_tag_by_name,GtkTextBuffer_val, String_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_4(gtk_text_buffer_apply_tag,GtkTextBuffer_val, GtkTextTag_val, GtkTextIter_val, GtkTextIter_val, Unit) ML_2(gtk_text_buffer_add_selection_clipboard,GtkTextBuffer_val, GtkClipboard_val, Unit) ML_3(gtk_text_buffer_add_mark,GtkTextBuffer_val, GtkTextMark_val, GtkTextIter_val, Unit) /* end of TextBuffer */ /* Module TextBTree */ /* end of TextBTree */ /* Module TextAttributes */ ML_1(gtk_text_attributes_unref,GtkTextAttributes_val, Unit) ML_1(gtk_text_attributes_ref,GtkTextAttributes_val, Val_GtkTextAttributes_new) ML_2(gtk_text_attributes_copy_values,GtkTextAttributes_val, GtkTextAttributes_val, Unit) ML_1(gtk_text_attributes_copy,GtkTextAttributes_val, Val_GtkTextAttributes_new) /* end of TextAttributes */ /* Module TextAppearance */ /* end of TextAppearance */ /* Module TearoffMenuItemPrivate */ /* end of TearoffMenuItemPrivate */ /* Module TearoffMenuItemClass */ /* end of TearoffMenuItemClass */ /* Module TearoffMenuItem */ /* end of TearoffMenuItem */ /* Module TargetList */ ML_1(gtk_target_list_unref,GtkTargetList_val, Unit) ML_1(gtk_target_list_ref,GtkTargetList_val, Val_GtkTargetList_new) ML_2(gtk_target_list_add_uri_targets,GtkTargetList_val, Int_val, Unit) ML_2(gtk_target_list_add_text_targets,GtkTargetList_val, Int_val, Unit) ML_4(gtk_target_list_add_rich_text_targets,GtkTargetList_val, Int_val, Bool_val, GtkTextBuffer_val, Unit) ML_3(gtk_target_list_add_image_targets,GtkTargetList_val, Int_val, Bool_val, Unit) /* end of TargetList */ /* Module TargetEntry */ ML_1(gtk_target_entry_free,GtkTargetEntry_val, Unit) ML_1(gtk_target_entry_copy,GtkTargetEntry_val, Val_GtkTargetEntry_new) /* end of TargetEntry */ /* Module TableRowCol */ /* end of TableRowCol */ /* Module TablePrivate */ /* end of TablePrivate */ /* Module TableClass */ /* end of TableClass */ /* Module TableChild */ /* end of TableChild */ /* Module Table */ ML_2(gtk_table_set_row_spacings,GtkTable_val, Int_val, Unit) ML_3(gtk_table_set_row_spacing,GtkTable_val, Int_val, Int_val, Unit) ML_2(gtk_table_set_homogeneous,GtkTable_val, Bool_val, Unit) ML_2(gtk_table_set_col_spacings,GtkTable_val, Int_val, Unit) ML_3(gtk_table_set_col_spacing,GtkTable_val, Int_val, Int_val, Unit) ML_3(gtk_table_resize,GtkTable_val, Int_val, Int_val, Unit) ML_2(gtk_table_get_row_spacing,GtkTable_val, Int_val, Val_int) ML_1(gtk_table_get_homogeneous,GtkTable_val, Val_bool) ML_1(gtk_table_get_default_row_spacing,GtkTable_val, Val_int) ML_1(gtk_table_get_default_col_spacing,GtkTable_val, Val_int) ML_2(gtk_table_get_col_spacing,GtkTable_val, Int_val, Val_int) ML_6(gtk_table_attach_defaults,GtkTable_val, GtkWidget_val, Int_val, Int_val, Int_val, Int_val, Unit) ML_bc6(ml_gtk_table_attach_defaults) /* end of Table */ /* Module SymbolicColor */ ML_1(gtk_symbolic_color_unref,GtkSymbolicColor_val, Unit) ML_1(gtk_symbolic_color_ref,GtkSymbolicColor_val, Val_GtkSymbolicColor_new) ML_2(gtk_symbolic_color_new_shade,GtkSymbolicColor_val, Double_val, Val_GtkSymbolicColor_new) ML_3(gtk_symbolic_color_new_mix,GtkSymbolicColor_val, GtkSymbolicColor_val, Double_val, Val_GtkSymbolicColor_new) ML_2(gtk_symbolic_color_new_alpha,GtkSymbolicColor_val, Double_val, Val_GtkSymbolicColor_new) /* end of SymbolicColor */ /* Module SwitchPrivate */ /* end of SwitchPrivate */ /* Module SwitchClass */ /* end of SwitchClass */ /* Module Switch */ ML_2(gtk_switch_set_active,GtkSwitch_val, Bool_val, Unit) ML_1(gtk_switch_get_active,GtkSwitch_val, Val_bool) /* end of Switch */ /* Module StyleProviderIface */ /* end of StyleProviderIface */ /* Module StylePropertiesClass */ /* end of StylePropertiesClass */ /* Module StyleProperties */ ML_3(gtk_style_properties_merge,GtkStyleProperties_val, GtkStyleProperties_val, Bool_val, Unit) ML_3(gtk_style_properties_map_color,GtkStyleProperties_val, String_val, GtkSymbolicColor_val, Unit) ML_2(gtk_style_properties_lookup_color,GtkStyleProperties_val, String_val, Val_GtkSymbolicColor) ML_1(gtk_style_properties_clear,GtkStyleProperties_val, Unit) /* end of StyleProperties */ /* Module StyleContextClass */ /* end of StyleContextClass */ /* Module StyleContext */ ML_2(gtk_style_context_set_screen,GtkStyleContext_val, GdkScreen_val, Unit) ML_2(gtk_style_context_set_path,GtkStyleContext_val, GtkWidgetPath_val, Unit) ML_2(gtk_style_context_set_background,GtkStyleContext_val, GdkWindow_val, Unit) ML_4(gtk_style_context_scroll_animations,GtkStyleContext_val, GdkWindow_val, Int_val, Int_val, Unit) ML_1(gtk_style_context_save,GtkStyleContext_val, Unit) ML_1(gtk_style_context_restore,GtkStyleContext_val, Unit) ML_2(gtk_style_context_remove_region,GtkStyleContext_val, String_val, Unit) ML_2(gtk_style_context_remove_class,GtkStyleContext_val, String_val, Unit) ML_1(gtk_style_context_pop_animatable_region,GtkStyleContext_val, Unit) ML_2(gtk_style_context_lookup_icon_set,GtkStyleContext_val, String_val, Val_GtkIconSet) ML_1(gtk_style_context_list_regions,GtkStyleContext_val, Val_GList) ML_1(gtk_style_context_list_classes,GtkStyleContext_val, Val_GList) ML_1(gtk_style_context_invalidate,GtkStyleContext_val, Unit) ML_2(gtk_style_context_has_class,GtkStyleContext_val, String_val, Val_bool) ML_3(gtk_style_context_get_style_property,GtkStyleContext_val, String_val, GValue_val, Unit) ML_1(gtk_style_context_get_screen,GtkStyleContext_val, Val_GdkScreen) ML_1(gtk_style_context_get_path,GtkStyleContext_val, Val_GtkWidgetPath) ML_2(gtk_style_context_add_class,GtkStyleContext_val, String_val, Unit) ML_1(gtk_style_context_reset_widgets,GdkScreen_val, Unit) /* end of StyleContext */ /* Module StyleClass */ /* end of StyleClass */ /* Module Style */ ML_2(gtk_style_lookup_icon_set,GtkStyle_val, String_val, Val_GtkIconSet) ML_1(gtk_style_has_context,GtkStyle_val, Val_bool) ML_4(gtk_style_get_style_property,GtkStyle_val, Int_val, String_val, GValue_val, Unit) ML_1(gtk_style_detach,GtkStyle_val, Unit) ML_1(gtk_style_copy,GtkStyle_val, Val_GtkStyle_new) ML_2(gtk_style_attach,GtkStyle_val, GdkWindow_val, Val_GtkStyle) /* end of Style */ /* Module StockItem */ ML_1(gtk_stock_item_free,GtkStockItem_val, Unit) ML_1(gtk_stock_item_copy,GtkStockItem_val, Val_GtkStockItem) /* end of StockItem */ /* Module StatusbarPrivate */ /* end of StatusbarPrivate */ /* Module StatusbarClass */ /* end of StatusbarClass */ /* Module Statusbar */ ML_2(gtk_statusbar_remove_all,GtkStatusbar_val, Int_val, Unit) ML_3(gtk_statusbar_remove,GtkStatusbar_val, Int_val, Int_val, Unit) ML_3(gtk_statusbar_push,GtkStatusbar_val, Int_val, String_val, Val_int) ML_2(gtk_statusbar_pop,GtkStatusbar_val, Int_val, Unit) ML_1(gtk_statusbar_get_message_area,GtkStatusbar_val, Val_GtkWidget) ML_2(gtk_statusbar_get_context_id,GtkStatusbar_val, String_val, Val_int) /* end of Statusbar */ /* Module StatusIconPrivate */ /* end of StatusIconPrivate */ /* Module StatusIconClass */ /* end of StatusIconClass */ /* Module StatusIcon */ ML_2(gtk_status_icon_set_visible,GtkStatusIcon_val, Bool_val, Unit) ML_2(gtk_status_icon_set_tooltip_text,GtkStatusIcon_val, String_val, Unit) ML_2(gtk_status_icon_set_tooltip_markup,GtkStatusIcon_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_status_icon_set_title,GtkStatusIcon_val, String_val, Unit) ML_2(gtk_status_icon_set_screen,GtkStatusIcon_val, GdkScreen_val, Unit) ML_2(gtk_status_icon_set_name,GtkStatusIcon_val, String_val, Unit) ML_2(gtk_status_icon_set_has_tooltip,GtkStatusIcon_val, Bool_val, Unit) ML_2(gtk_status_icon_set_from_stock,GtkStatusIcon_val, String_val, Unit) ML_2(gtk_status_icon_set_from_pixbuf,GtkStatusIcon_val, Option_val(arg2,GdkPixbuf_val,NULL) Ignore, Unit) ML_2(gtk_status_icon_set_from_icon_name,GtkStatusIcon_val, String_val, Unit) ML_1(gtk_status_icon_is_embedded,GtkStatusIcon_val, Val_bool) ML_1(gtk_status_icon_get_x11_window_id,GtkStatusIcon_val, Val_int32) ML_1(gtk_status_icon_get_visible,GtkStatusIcon_val, Val_bool) ML_1(gtk_status_icon_get_tooltip_text,GtkStatusIcon_val, Val_string_new) ML_1(gtk_status_icon_get_tooltip_markup,GtkStatusIcon_val, Val_string_new) ML_1(gtk_status_icon_get_title,GtkStatusIcon_val, Val_string) ML_1(gtk_status_icon_get_stock,GtkStatusIcon_val, Val_string) ML_1(gtk_status_icon_get_size,GtkStatusIcon_val, Val_int) ML_1(gtk_status_icon_get_screen,GtkStatusIcon_val, Val_GdkScreen) ML_1(gtk_status_icon_get_pixbuf,GtkStatusIcon_val, Val_GdkPixbuf) ML_1(gtk_status_icon_get_icon_name,GtkStatusIcon_val, Val_string) ML_1(gtk_status_icon_get_has_tooltip,GtkStatusIcon_val, Val_bool) /* end of StatusIcon */ /* Module SpinnerPrivate */ /* end of SpinnerPrivate */ /* Module SpinnerClass */ /* end of SpinnerClass */ /* Module Spinner */ ML_1(gtk_spinner_stop,GtkSpinner_val, Unit) ML_1(gtk_spinner_start,GtkSpinner_val, Unit) /* end of Spinner */ /* Module SpinButtonPrivate */ /* end of SpinButtonPrivate */ /* Module SpinButtonClass */ /* end of SpinButtonClass */ /* Module SpinButton */ ML_1(gtk_spin_button_update,GtkSpinButton_val, Unit) ML_2(gtk_spin_button_set_wrap,GtkSpinButton_val, Bool_val, Unit) ML_2(gtk_spin_button_set_value,GtkSpinButton_val, Double_val, Unit) ML_2(gtk_spin_button_set_snap_to_ticks,GtkSpinButton_val, Bool_val, Unit) ML_3(gtk_spin_button_set_range,GtkSpinButton_val, Double_val, Double_val, Unit) ML_2(gtk_spin_button_set_numeric,GtkSpinButton_val, Bool_val, Unit) ML_3(gtk_spin_button_set_increments,GtkSpinButton_val, Double_val, Double_val, Unit) ML_2(gtk_spin_button_set_digits,GtkSpinButton_val, Int_val, Unit) ML_2(gtk_spin_button_set_adjustment,GtkSpinButton_val, GtkAdjustment_val, Unit) ML_1(gtk_spin_button_get_wrap,GtkSpinButton_val, Val_bool) ML_1(gtk_spin_button_get_value_as_int,GtkSpinButton_val, Val_int) ML_1(gtk_spin_button_get_value,GtkSpinButton_val, Val_double) ML_1(gtk_spin_button_get_snap_to_ticks,GtkSpinButton_val, Val_bool) ML_1(gtk_spin_button_get_numeric,GtkSpinButton_val, Val_bool) ML_1(gtk_spin_button_get_digits,GtkSpinButton_val, Val_int) ML_1(gtk_spin_button_get_adjustment,GtkSpinButton_val, Val_GtkAdjustment) ML_4(gtk_spin_button_configure,GtkSpinButton_val, Option_val(arg2,GtkAdjustment_val,NULL) Ignore, Double_val, Int_val, Unit) /* end of SpinButton */ /* Module SocketPrivate */ /* end of SocketPrivate */ /* Module SocketClass */ /* end of SocketClass */ /* Module Socket */ ML_1(gtk_socket_get_plug_window,GtkSocket_val, Val_GdkWindow) /* end of Socket */ /* Module SizeGroupPrivate */ /* end of SizeGroupPrivate */ /* Module SizeGroupClass */ /* end of SizeGroupClass */ /* Module SizeGroup */ ML_2(gtk_size_group_set_ignore_hidden,GtkSizeGroup_val, Bool_val, Unit) ML_2(gtk_size_group_remove_widget,GtkSizeGroup_val, GtkWidget_val, Unit) ML_1(gtk_size_group_get_widgets,GtkSizeGroup_val, Val_GSList) ML_1(gtk_size_group_get_ignore_hidden,GtkSizeGroup_val, Val_bool) ML_2(gtk_size_group_add_widget,GtkSizeGroup_val, GtkWidget_val, Unit) /* end of SizeGroup */ /* Module SettingsValue */ /* end of SettingsValue */ /* Module SettingsPrivate */ /* end of SettingsPrivate */ /* Module SettingsClass */ /* end of SettingsClass */ /* Module Settings */ ML_4(gtk_settings_set_string_property,GtkSettings_val, String_val, String_val, String_val, Unit) ML_3(gtk_settings_set_property_value,GtkSettings_val, String_val, GtkSettingsValue_val, Unit) ML_4(gtk_settings_set_long_property,GtkSettings_val, String_val, Double_val, String_val, Unit) ML_4(gtk_settings_set_double_property,GtkSettings_val, String_val, Double_val, String_val, Unit) ML_1(gtk_settings_install_property,GParamSpec_val, Unit) ML_1(gtk_settings_get_for_screen,GdkScreen_val, Val_GtkSettings) ML_0(gtk_settings_get_default,Val_GtkSettings) /* end of Settings */ /* Module SeparatorToolItemPrivate */ /* end of SeparatorToolItemPrivate */ /* Module SeparatorToolItemClass */ /* end of SeparatorToolItemClass */ /* Module SeparatorToolItem */ ML_2(gtk_separator_tool_item_set_draw,GtkSeparatorToolItem_val, Bool_val, Unit) ML_1(gtk_separator_tool_item_get_draw,GtkSeparatorToolItem_val, Val_bool) /* end of SeparatorToolItem */ /* Module SeparatorPrivate */ /* end of SeparatorPrivate */ /* Module SeparatorMenuItemClass */ /* end of SeparatorMenuItemClass */ /* Module SeparatorMenuItem */ /* end of SeparatorMenuItem */ /* Module SeparatorClass */ /* end of SeparatorClass */ /* Module Separator */ /* end of Separator */ /* Module SelectionData */ ML_1(gtk_selection_data_targets_include_uri,GtkSelectionData_val, Val_bool) ML_1(gtk_selection_data_targets_include_text,GtkSelectionData_val, Val_bool) ML_2(gtk_selection_data_targets_include_rich_text,GtkSelectionData_val, GtkTextBuffer_val, Val_bool) ML_2(gtk_selection_data_targets_include_image,GtkSelectionData_val, Bool_val, Val_bool) ML_3(gtk_selection_data_set_text,GtkSelectionData_val, String_val, Int_val, Val_bool) ML_2(gtk_selection_data_set_pixbuf,GtkSelectionData_val, GdkPixbuf_val, Val_bool) ML_1(gtk_selection_data_get_pixbuf,GtkSelectionData_val, Val_GdkPixbuf_new) ML_1(gtk_selection_data_get_length,GtkSelectionData_val, Val_int) ML_1(gtk_selection_data_get_format,GtkSelectionData_val, Val_int) ML_1(gtk_selection_data_get_display,GtkSelectionData_val, Val_GdkDisplay) ML_1(gtk_selection_data_get_data,GtkSelectionData_val, Val_string) ML_1(gtk_selection_data_free,GtkSelectionData_val, Unit) ML_1(gtk_selection_data_copy,GtkSelectionData_val, Val_GtkSelectionData_new) /* end of SelectionData */ /* Module ScrolledWindowPrivate */ /* end of ScrolledWindowPrivate */ /* Module ScrolledWindowClass */ /* end of ScrolledWindowClass */ /* Module ScrolledWindow */ ML_1(gtk_scrolled_window_unset_placement,GtkScrolledWindow_val, Unit) ML_2(gtk_scrolled_window_set_vadjustment,GtkScrolledWindow_val, GtkAdjustment_val, Unit) ML_2(gtk_scrolled_window_set_min_content_width,GtkScrolledWindow_val, Int_val, Unit) ML_2(gtk_scrolled_window_set_min_content_height,GtkScrolledWindow_val, Int_val, Unit) ML_2(gtk_scrolled_window_set_hadjustment,GtkScrolledWindow_val, GtkAdjustment_val, Unit) ML_1(gtk_scrolled_window_get_vscrollbar,GtkScrolledWindow_val, Val_GtkWidget) ML_1(gtk_scrolled_window_get_vadjustment,GtkScrolledWindow_val, Val_GtkAdjustment) ML_1(gtk_scrolled_window_get_min_content_width,GtkScrolledWindow_val, Val_int) ML_1(gtk_scrolled_window_get_min_content_height,GtkScrolledWindow_val, Val_int) ML_1(gtk_scrolled_window_get_hscrollbar,GtkScrolledWindow_val, Val_GtkWidget) ML_1(gtk_scrolled_window_get_hadjustment,GtkScrolledWindow_val, Val_GtkAdjustment) ML_2(gtk_scrolled_window_add_with_viewport,GtkScrolledWindow_val, GtkWidget_val, Unit) /* end of ScrolledWindow */ /* Module ScrollbarClass */ /* end of ScrollbarClass */ /* Module Scrollbar */ /* end of Scrollbar */ /* Module ScrollableInterface */ /* end of ScrollableInterface */ /* Module ScalePrivate */ /* end of ScalePrivate */ /* Module ScaleClass */ /* end of ScaleClass */ /* Module ScaleButtonPrivate */ /* end of ScaleButtonPrivate */ /* Module ScaleButtonClass */ /* end of ScaleButtonClass */ /* Module ScaleButton */ ML_2(gtk_scale_button_set_value,GtkScaleButton_val, Double_val, Unit) ML_2(gtk_scale_button_set_adjustment,GtkScaleButton_val, GtkAdjustment_val, Unit) ML_1(gtk_scale_button_get_value,GtkScaleButton_val, Val_double) ML_1(gtk_scale_button_get_popup,GtkScaleButton_val, Val_GtkWidget) ML_1(gtk_scale_button_get_plus_button,GtkScaleButton_val, Val_GtkWidget) ML_1(gtk_scale_button_get_minus_button,GtkScaleButton_val, Val_GtkWidget) ML_1(gtk_scale_button_get_adjustment,GtkScaleButton_val, Val_GtkAdjustment) /* end of ScaleButton */ /* Module Scale */ ML_2(gtk_scale_set_draw_value,GtkScale_val, Bool_val, Unit) ML_2(gtk_scale_set_digits,GtkScale_val, Int_val, Unit) ML_1(gtk_scale_get_layout,GtkScale_val, Val_PangoLayout) ML_1(gtk_scale_get_draw_value,GtkScale_val, Val_bool) ML_1(gtk_scale_get_digits,GtkScale_val, Val_int) ML_1(gtk_scale_clear_marks,GtkScale_val, Unit) /* end of Scale */ /* Module Requisition */ ML_1(gtk_requisition_free,GtkRequisition_val, Unit) ML_1(gtk_requisition_copy,GtkRequisition_val, Val_GtkRequisition_new) /* end of Requisition */ /* Module RequestedSize */ /* end of RequestedSize */ /* Module RecentManagerPrivate */ /* end of RecentManagerPrivate */ /* Module RecentManagerClass */ /* end of RecentManagerClass */ /* Module RecentManager */ ML_2(gtk_recent_manager_has_item,GtkRecentManager_val, String_val, Val_bool) ML_1(gtk_recent_manager_get_items,GtkRecentManager_val, Val_GList_new) ML_2(gtk_recent_manager_add_item,GtkRecentManager_val, String_val, Val_bool) ML_3(gtk_recent_manager_add_full,GtkRecentManager_val, String_val, GtkRecentData_val, Val_bool) ML_0(gtk_recent_manager_get_default,Val_GtkRecentManager) /* end of RecentManager */ /* Module RecentInfo */ ML_1(gtk_recent_info_unref,GtkRecentInfo_val, Unit) ML_1(gtk_recent_info_ref,GtkRecentInfo_val, Val_GtkRecentInfo_new) ML_2(gtk_recent_info_match,GtkRecentInfo_val, GtkRecentInfo_val, Val_bool) ML_1(gtk_recent_info_last_application,GtkRecentInfo_val, Val_string_new) ML_1(gtk_recent_info_is_local,GtkRecentInfo_val, Val_bool) ML_2(gtk_recent_info_has_group,GtkRecentInfo_val, String_val, Val_bool) ML_2(gtk_recent_info_has_application,GtkRecentInfo_val, String_val, Val_bool) ML_1(gtk_recent_info_get_uri_display,GtkRecentInfo_val, Val_string_new) ML_1(gtk_recent_info_get_uri,GtkRecentInfo_val, Val_string) ML_1(gtk_recent_info_get_short_name,GtkRecentInfo_val, Val_string_new) ML_1(gtk_recent_info_get_private_hint,GtkRecentInfo_val, Val_bool) ML_1(gtk_recent_info_get_mime_type,GtkRecentInfo_val, Val_string) ML_2(gtk_recent_info_get_icon,GtkRecentInfo_val, Int_val, Val_GdkPixbuf_new) ML_1(gtk_recent_info_get_display_name,GtkRecentInfo_val, Val_string) ML_1(gtk_recent_info_get_description,GtkRecentInfo_val, Val_string) ML_1(gtk_recent_info_get_age,GtkRecentInfo_val, Val_int) ML_1(gtk_recent_info_exists,GtkRecentInfo_val, Val_bool) /* end of RecentInfo */ /* Module RecentFilterInfo */ /* end of RecentFilterInfo */ /* Module RecentFilter */ ML_2(gtk_recent_filter_set_name,GtkRecentFilter_val, String_val, Unit) ML_1(gtk_recent_filter_get_name,GtkRecentFilter_val, Val_string) ML_2(gtk_recent_filter_filter,GtkRecentFilter_val, GtkRecentFilterInfo_val, Val_bool) ML_1(gtk_recent_filter_add_pixbuf_formats,GtkRecentFilter_val, Unit) ML_2(gtk_recent_filter_add_pattern,GtkRecentFilter_val, String_val, Unit) ML_2(gtk_recent_filter_add_mime_type,GtkRecentFilter_val, String_val, Unit) ML_2(gtk_recent_filter_add_group,GtkRecentFilter_val, String_val, Unit) ML_2(gtk_recent_filter_add_application,GtkRecentFilter_val, String_val, Unit) ML_2(gtk_recent_filter_add_age,GtkRecentFilter_val, Int_val, Unit) /* end of RecentFilter */ /* Module RecentData */ /* end of RecentData */ /* Module RecentChooserWidgetPrivate */ /* end of RecentChooserWidgetPrivate */ /* Module RecentChooserWidgetClass */ /* end of RecentChooserWidgetClass */ /* Module RecentChooserWidget */ /* end of RecentChooserWidget */ /* Module RecentChooserMenuPrivate */ /* end of RecentChooserMenuPrivate */ /* Module RecentChooserMenuClass */ /* end of RecentChooserMenuClass */ /* Module RecentChooserMenu */ ML_2(gtk_recent_chooser_menu_set_show_numbers,GtkRecentChooserMenu_val, Bool_val, Unit) ML_1(gtk_recent_chooser_menu_get_show_numbers,GtkRecentChooserMenu_val, Val_bool) /* end of RecentChooserMenu */ /* Module RecentChooserIface */ /* end of RecentChooserIface */ /* Module RecentChooserDialogPrivate */ /* end of RecentChooserDialogPrivate */ /* Module RecentChooserDialogClass */ /* end of RecentChooserDialogClass */ /* Module RecentChooserDialog */ /* end of RecentChooserDialog */ /* Module RecentActionPrivate */ /* end of RecentActionPrivate */ /* Module RecentActionClass */ /* end of RecentActionClass */ /* Module RecentAction */ ML_2(gtk_recent_action_set_show_numbers,GtkRecentAction_val, Bool_val, Unit) ML_1(gtk_recent_action_get_show_numbers,GtkRecentAction_val, Val_bool) /* end of RecentAction */ /* Module RcStyleClass */ /* end of RcStyleClass */ /* Module RcStyle */ ML_1(gtk_rc_style_copy,GtkRcStyle_val, Val_GtkRcStyle_new) /* end of RcStyle */ /* Module RcProperty */ /* end of RcProperty */ /* Module RcContext */ /* end of RcContext */ /* Module RangePrivate */ /* end of RangePrivate */ /* Module RangeClass */ /* end of RangeClass */ /* Module Range */ ML_2(gtk_range_set_value,GtkRange_val, Double_val, Unit) ML_2(gtk_range_set_slider_size_fixed,GtkRange_val, Bool_val, Unit) ML_2(gtk_range_set_show_fill_level,GtkRange_val, Bool_val, Unit) ML_2(gtk_range_set_round_digits,GtkRange_val, Int_val, Unit) ML_2(gtk_range_set_restrict_to_fill_level,GtkRange_val, Bool_val, Unit) ML_3(gtk_range_set_range,GtkRange_val, Double_val, Double_val, Unit) ML_2(gtk_range_set_min_slider_size,GtkRange_val, Int_val, Unit) ML_2(gtk_range_set_inverted,GtkRange_val, Bool_val, Unit) ML_3(gtk_range_set_increments,GtkRange_val, Double_val, Double_val, Unit) ML_2(gtk_range_set_flippable,GtkRange_val, Bool_val, Unit) ML_2(gtk_range_set_fill_level,GtkRange_val, Double_val, Unit) ML_2(gtk_range_set_adjustment,GtkRange_val, GtkAdjustment_val, Unit) ML_1(gtk_range_get_value,GtkRange_val, Val_double) ML_1(gtk_range_get_slider_size_fixed,GtkRange_val, Val_bool) ML_1(gtk_range_get_show_fill_level,GtkRange_val, Val_bool) ML_1(gtk_range_get_round_digits,GtkRange_val, Val_int) ML_1(gtk_range_get_restrict_to_fill_level,GtkRange_val, Val_bool) ML_1(gtk_range_get_min_slider_size,GtkRange_val, Val_int) ML_1(gtk_range_get_inverted,GtkRange_val, Val_bool) ML_1(gtk_range_get_flippable,GtkRange_val, Val_bool) ML_1(gtk_range_get_fill_level,GtkRange_val, Val_double) ML_1(gtk_range_get_event_window,GtkRange_val, Val_GdkWindow) ML_1(gtk_range_get_adjustment,GtkRange_val, Val_GtkAdjustment) /* end of Range */ /* Module RadioToolButtonClass */ /* end of RadioToolButtonClass */ /* Module RadioToolButton */ ML_2(gtk_radio_tool_button_set_group,GtkRadioToolButton_val, GSList_val, Unit) ML_2(gtk_radio_tool_button_new_with_stock_from_widget,GtkRadioToolButton_val, String_val, Val_GtkToolItem) ML_1(gtk_radio_tool_button_new_from_widget,GtkRadioToolButton_val, Val_GtkToolItem) ML_1(gtk_radio_tool_button_get_group,GtkRadioToolButton_val, Val_GSList) /* end of RadioToolButton */ /* Module RadioMenuItemPrivate */ /* end of RadioMenuItemPrivate */ /* Module RadioMenuItemClass */ /* end of RadioMenuItemClass */ /* Module RadioMenuItem */ ML_2(gtk_radio_menu_item_set_group,GtkRadioMenuItem_val, GSList_val, Unit) ML_2(gtk_radio_menu_item_new_with_mnemonic_from_widget,GtkRadioMenuItem_val, String_val, Val_GtkWidget) ML_2(gtk_radio_menu_item_new_with_label_from_widget,GtkRadioMenuItem_val, String_val, Val_GtkWidget) ML_1(gtk_radio_menu_item_new_from_widget,GtkRadioMenuItem_val, Val_GtkWidget) ML_1(gtk_radio_menu_item_get_group,GtkRadioMenuItem_val, Val_GSList) /* end of RadioMenuItem */ /* Module RadioButtonPrivate */ /* end of RadioButtonPrivate */ /* Module RadioButtonClass */ /* end of RadioButtonClass */ /* Module RadioButton */ ML_2(gtk_radio_button_set_group,GtkRadioButton_val, GSList_val, Unit) ML_1(gtk_radio_button_new_from_widget,GtkRadioButton_val, Val_GtkWidget) ML_2(gtk_radio_button_join_group,GtkRadioButton_val, Option_val(arg2,GtkRadioButton_val,NULL) Ignore, Unit) ML_1(gtk_radio_button_get_group,GtkRadioButton_val, Val_GSList) /* end of RadioButton */ /* Module RadioActionPrivate */ /* end of RadioActionPrivate */ /* Module RadioActionEntry */ /* end of RadioActionEntry */ /* Module RadioActionClass */ /* end of RadioActionClass */ /* Module RadioAction */ ML_2(gtk_radio_action_set_group,GtkRadioAction_val, GSList_val, Unit) ML_2(gtk_radio_action_set_current_value,GtkRadioAction_val, Int_val, Unit) ML_2(gtk_radio_action_join_group,GtkRadioAction_val, Option_val(arg2,GtkRadioAction_val,NULL) Ignore, Unit) ML_1(gtk_radio_action_get_group,GtkRadioAction_val, Val_GSList) ML_1(gtk_radio_action_get_current_value,GtkRadioAction_val, Val_int) /* end of RadioAction */ /* Module ProgressBarPrivate */ /* end of ProgressBarPrivate */ /* Module ProgressBarClass */ /* end of ProgressBarClass */ /* Module ProgressBar */ ML_2(gtk_progress_bar_set_text,GtkProgressBar_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_progress_bar_set_show_text,GtkProgressBar_val, Bool_val, Unit) ML_2(gtk_progress_bar_set_pulse_step,GtkProgressBar_val, Double_val, Unit) ML_2(gtk_progress_bar_set_inverted,GtkProgressBar_val, Bool_val, Unit) ML_2(gtk_progress_bar_set_fraction,GtkProgressBar_val, Double_val, Unit) ML_1(gtk_progress_bar_pulse,GtkProgressBar_val, Unit) ML_1(gtk_progress_bar_get_text,GtkProgressBar_val, Val_string) ML_1(gtk_progress_bar_get_show_text,GtkProgressBar_val, Val_bool) ML_1(gtk_progress_bar_get_pulse_step,GtkProgressBar_val, Val_double) ML_1(gtk_progress_bar_get_inverted,GtkProgressBar_val, Val_bool) ML_1(gtk_progress_bar_get_fraction,GtkProgressBar_val, Val_double) /* end of ProgressBar */ /* Module PrintSettings */ ML_2(gtk_print_settings_unset,GtkPrintSettings_val, String_val, Unit) ML_3(gtk_print_settings_to_key_file,GtkPrintSettings_val, GKeyFile_val, String_val, Unit) ML_2(gtk_print_settings_set_use_color,GtkPrintSettings_val, Bool_val, Unit) ML_2(gtk_print_settings_set_scale,GtkPrintSettings_val, Double_val, Unit) ML_2(gtk_print_settings_set_reverse,GtkPrintSettings_val, Bool_val, Unit) ML_3(gtk_print_settings_set_resolution_xy,GtkPrintSettings_val, Int_val, Int_val, Unit) ML_2(gtk_print_settings_set_resolution,GtkPrintSettings_val, Int_val, Unit) ML_2(gtk_print_settings_set_printer_lpi,GtkPrintSettings_val, Double_val, Unit) ML_2(gtk_print_settings_set_printer,GtkPrintSettings_val, String_val, Unit) ML_2(gtk_print_settings_set_paper_size,GtkPrintSettings_val, GtkPaperSize_val, Unit) ML_2(gtk_print_settings_set_output_bin,GtkPrintSettings_val, String_val, Unit) ML_2(gtk_print_settings_set_number_up,GtkPrintSettings_val, Int_val, Unit) ML_2(gtk_print_settings_set_n_copies,GtkPrintSettings_val, Int_val, Unit) ML_2(gtk_print_settings_set_media_type,GtkPrintSettings_val, String_val, Unit) ML_3(gtk_print_settings_set_int,GtkPrintSettings_val, String_val, Int_val, Unit) ML_2(gtk_print_settings_set_finishings,GtkPrintSettings_val, String_val, Unit) ML_3(gtk_print_settings_set_double,GtkPrintSettings_val, String_val, Double_val, Unit) ML_2(gtk_print_settings_set_dither,GtkPrintSettings_val, String_val, Unit) ML_2(gtk_print_settings_set_default_source,GtkPrintSettings_val, String_val, Unit) ML_2(gtk_print_settings_set_collate,GtkPrintSettings_val, Bool_val, Unit) ML_3(gtk_print_settings_set_bool,GtkPrintSettings_val, String_val, Bool_val, Unit) ML_3(gtk_print_settings_set,GtkPrintSettings_val, String_val, Option_val(arg3,String_val,NULL) Ignore, Unit) ML_2(gtk_print_settings_has_key,GtkPrintSettings_val, String_val, Val_bool) ML_1(gtk_print_settings_get_use_color,GtkPrintSettings_val, Val_bool) ML_1(gtk_print_settings_get_scale,GtkPrintSettings_val, Val_double) ML_1(gtk_print_settings_get_reverse,GtkPrintSettings_val, Val_bool) ML_1(gtk_print_settings_get_resolution_y,GtkPrintSettings_val, Val_int) ML_1(gtk_print_settings_get_resolution_x,GtkPrintSettings_val, Val_int) ML_1(gtk_print_settings_get_resolution,GtkPrintSettings_val, Val_int) ML_1(gtk_print_settings_get_printer_lpi,GtkPrintSettings_val, Val_double) ML_1(gtk_print_settings_get_printer,GtkPrintSettings_val, Val_string) ML_1(gtk_print_settings_get_paper_size,GtkPrintSettings_val, Val_GtkPaperSize_new) ML_1(gtk_print_settings_get_output_bin,GtkPrintSettings_val, Val_string) ML_1(gtk_print_settings_get_number_up,GtkPrintSettings_val, Val_int) ML_1(gtk_print_settings_get_n_copies,GtkPrintSettings_val, Val_int) ML_1(gtk_print_settings_get_media_type,GtkPrintSettings_val, Val_string) ML_3(gtk_print_settings_get_int_with_default,GtkPrintSettings_val, String_val, Int_val, Val_int) ML_2(gtk_print_settings_get_int,GtkPrintSettings_val, String_val, Val_int) ML_1(gtk_print_settings_get_finishings,GtkPrintSettings_val, Val_string) ML_3(gtk_print_settings_get_double_with_default,GtkPrintSettings_val, String_val, Double_val, Val_double) ML_2(gtk_print_settings_get_double,GtkPrintSettings_val, String_val, Val_double) ML_1(gtk_print_settings_get_dither,GtkPrintSettings_val, Val_string) ML_1(gtk_print_settings_get_default_source,GtkPrintSettings_val, Val_string) ML_1(gtk_print_settings_get_collate,GtkPrintSettings_val, Val_bool) ML_2(gtk_print_settings_get_bool,GtkPrintSettings_val, String_val, Val_bool) ML_2(gtk_print_settings_get,GtkPrintSettings_val, String_val, Val_string) ML_1(gtk_print_settings_copy,GtkPrintSettings_val, Val_GtkPrintSettings_new) /* end of PrintSettings */ /* Module PrintOperationPrivate */ /* end of PrintOperationPrivate */ /* Module PrintOperationPreviewIface */ /* end of PrintOperationPreviewIface */ /* Module PrintOperationClass */ /* end of PrintOperationClass */ /* Module PrintOperation */ ML_2(gtk_print_operation_set_use_full_page,GtkPrintOperation_val, Bool_val, Unit) ML_2(gtk_print_operation_set_track_print_status,GtkPrintOperation_val, Bool_val, Unit) ML_2(gtk_print_operation_set_support_selection,GtkPrintOperation_val, Bool_val, Unit) ML_2(gtk_print_operation_set_show_progress,GtkPrintOperation_val, Bool_val, Unit) ML_2(gtk_print_operation_set_print_settings,GtkPrintOperation_val, Option_val(arg2,GtkPrintSettings_val,NULL) Ignore, Unit) ML_2(gtk_print_operation_set_n_pages,GtkPrintOperation_val, Int_val, Unit) ML_2(gtk_print_operation_set_job_name,GtkPrintOperation_val, String_val, Unit) ML_2(gtk_print_operation_set_has_selection,GtkPrintOperation_val, Bool_val, Unit) ML_2(gtk_print_operation_set_embed_page_setup,GtkPrintOperation_val, Bool_val, Unit) ML_1(gtk_print_operation_set_defer_drawing,GtkPrintOperation_val, Unit) ML_2(gtk_print_operation_set_default_page_setup,GtkPrintOperation_val, Option_val(arg2,GtkPageSetup_val,NULL) Ignore, Unit) ML_2(gtk_print_operation_set_custom_tab_label,GtkPrintOperation_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_print_operation_set_current_page,GtkPrintOperation_val, Int_val, Unit) ML_2(gtk_print_operation_set_allow_async,GtkPrintOperation_val, Bool_val, Unit) ML_1(gtk_print_operation_is_finished,GtkPrintOperation_val, Val_bool) ML_1(gtk_print_operation_get_support_selection,GtkPrintOperation_val, Val_bool) ML_1(gtk_print_operation_get_status_string,GtkPrintOperation_val, Val_string) ML_1(gtk_print_operation_get_print_settings,GtkPrintOperation_val, Val_GtkPrintSettings) ML_1(gtk_print_operation_get_n_pages_to_print,GtkPrintOperation_val, Val_int) ML_1(gtk_print_operation_get_has_selection,GtkPrintOperation_val, Val_bool) ML_1(gtk_print_operation_get_embed_page_setup,GtkPrintOperation_val, Val_bool) ML_1(gtk_print_operation_get_default_page_setup,GtkPrintOperation_val, Val_GtkPageSetup) ML_1(gtk_print_operation_draw_page_finish,GtkPrintOperation_val, Unit) ML_1(gtk_print_operation_cancel,GtkPrintOperation_val, Unit) /* end of PrintOperation */ /* Module PrintContext */ ML_4(gtk_print_context_set_cairo_context,GtkPrintContext_val, cairo_t_val, Double_val, Double_val, Unit) ML_1(gtk_print_context_get_width,GtkPrintContext_val, Val_double) ML_1(gtk_print_context_get_pango_fontmap,GtkPrintContext_val, Val_PangoFontMap) ML_1(gtk_print_context_get_page_setup,GtkPrintContext_val, Val_GtkPageSetup) ML_1(gtk_print_context_get_height,GtkPrintContext_val, Val_double) ML_1(gtk_print_context_get_dpi_y,GtkPrintContext_val, Val_double) ML_1(gtk_print_context_get_dpi_x,GtkPrintContext_val, Val_double) ML_1(gtk_print_context_get_cairo_context,GtkPrintContext_val, Val_cairo_t) ML_1(gtk_print_context_create_pango_layout,GtkPrintContext_val, Val_PangoLayout_new) ML_1(gtk_print_context_create_pango_context,GtkPrintContext_val, Val_PangoContext_new) /* end of PrintContext */ /* Module PlugPrivate */ /* end of PlugPrivate */ /* Module PlugClass */ /* end of PlugClass */ /* Module Plug */ ML_1(gtk_plug_get_socket_window,GtkPlug_val, Val_GdkWindow) ML_1(gtk_plug_get_embedded,GtkPlug_val, Val_bool) /* end of Plug */ /* Module PaperSize */ ML_3(gtk_paper_size_to_key_file,GtkPaperSize_val, GKeyFile_val, String_val, Unit) ML_2(gtk_paper_size_is_equal,GtkPaperSize_val, GtkPaperSize_val, Val_bool) ML_1(gtk_paper_size_is_custom,GtkPaperSize_val, Val_bool) ML_1(gtk_paper_size_get_ppd_name,GtkPaperSize_val, Val_string) ML_1(gtk_paper_size_get_name,GtkPaperSize_val, Val_string) ML_1(gtk_paper_size_get_display_name,GtkPaperSize_val, Val_string) ML_1(gtk_paper_size_free,GtkPaperSize_val, Unit) ML_1(gtk_paper_size_copy,GtkPaperSize_val, Val_GtkPaperSize_new) /* end of PaperSize */ /* Module PanedPrivate */ /* end of PanedPrivate */ /* Module PanedClass */ /* end of PanedClass */ /* Module Paned */ ML_2(gtk_paned_set_position,GtkPaned_val, Int_val, Unit) ML_4(gtk_paned_pack2,GtkPaned_val, GtkWidget_val, Bool_val, Bool_val, Unit) ML_4(gtk_paned_pack1,GtkPaned_val, GtkWidget_val, Bool_val, Bool_val, Unit) ML_1(gtk_paned_get_position,GtkPaned_val, Val_int) ML_1(gtk_paned_get_handle_window,GtkPaned_val, Val_GdkWindow) ML_1(gtk_paned_get_child2,GtkPaned_val, Val_GtkWidget) ML_1(gtk_paned_get_child1,GtkPaned_val, Val_GtkWidget) ML_2(gtk_paned_add2,GtkPaned_val, GtkWidget_val, Unit) ML_2(gtk_paned_add1,GtkPaned_val, GtkWidget_val, Unit) /* end of Paned */ /* Module PageSetup */ ML_3(gtk_page_setup_to_key_file,GtkPageSetup_val, GKeyFile_val, String_val, Unit) ML_2(gtk_page_setup_set_paper_size_and_default_margins,GtkPageSetup_val, GtkPaperSize_val, Unit) ML_2(gtk_page_setup_set_paper_size,GtkPageSetup_val, GtkPaperSize_val, Unit) ML_1(gtk_page_setup_get_paper_size,GtkPageSetup_val, Val_GtkPaperSize_new) ML_1(gtk_page_setup_copy,GtkPageSetup_val, Val_GtkPageSetup_new) /* end of PageSetup */ /* Module PageRange */ /* end of PageRange */ /* Module OrientableIface */ /* end of OrientableIface */ /* Module OffscreenWindowClass */ /* end of OffscreenWindowClass */ /* Module OffscreenWindow */ ML_1(gtk_offscreen_window_get_surface,GtkOffscreenWindow_val, Val_cairo_surface_t) ML_1(gtk_offscreen_window_get_pixbuf,GtkOffscreenWindow_val, Val_GdkPixbuf_new) /* end of OffscreenWindow */ /* Module NumerableIconPrivate */ /* end of NumerableIconPrivate */ /* Module NumerableIconClass */ /* end of NumerableIconClass */ /* Module NumerableIcon */ ML_2(gtk_numerable_icon_set_style_context,GtkNumerableIcon_val, GtkStyleContext_val, Unit) ML_2(gtk_numerable_icon_set_label,GtkNumerableIcon_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_numerable_icon_set_count,GtkNumerableIcon_val, Int_val, Unit) ML_2(gtk_numerable_icon_set_background_icon_name,GtkNumerableIcon_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_1(gtk_numerable_icon_get_style_context,GtkNumerableIcon_val, Val_GtkStyleContext) ML_1(gtk_numerable_icon_get_label,GtkNumerableIcon_val, Val_string) ML_1(gtk_numerable_icon_get_count,GtkNumerableIcon_val, Val_int) ML_1(gtk_numerable_icon_get_background_icon_name,GtkNumerableIcon_val, Val_string) /* end of NumerableIcon */ /* Module NotebookPrivate */ /* end of NotebookPrivate */ /* Module NotebookClass */ /* end of NotebookClass */ /* Module Notebook */ ML_3(gtk_notebook_set_tab_reorderable,GtkNotebook_val, GtkWidget_val, Bool_val, Unit) ML_3(gtk_notebook_set_tab_label_text,GtkNotebook_val, GtkWidget_val, String_val, Unit) ML_3(gtk_notebook_set_tab_label,GtkNotebook_val, GtkWidget_val, Option_val(arg3,GtkWidget_val,NULL) Ignore, Unit) ML_3(gtk_notebook_set_tab_detachable,GtkNotebook_val, GtkWidget_val, Bool_val, Unit) ML_2(gtk_notebook_set_show_tabs,GtkNotebook_val, Bool_val, Unit) ML_2(gtk_notebook_set_show_border,GtkNotebook_val, Bool_val, Unit) ML_2(gtk_notebook_set_scrollable,GtkNotebook_val, Bool_val, Unit) ML_3(gtk_notebook_set_menu_label_text,GtkNotebook_val, GtkWidget_val, String_val, Unit) ML_3(gtk_notebook_set_menu_label,GtkNotebook_val, GtkWidget_val, Option_val(arg3,GtkWidget_val,NULL) Ignore, Unit) ML_2(gtk_notebook_set_group_name,GtkNotebook_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_notebook_set_current_page,GtkNotebook_val, Int_val, Unit) ML_3(gtk_notebook_reorder_child,GtkNotebook_val, GtkWidget_val, Int_val, Unit) ML_2(gtk_notebook_remove_page,GtkNotebook_val, Int_val, Unit) ML_1(gtk_notebook_prev_page,GtkNotebook_val, Unit) ML_4(gtk_notebook_prepend_page_menu,GtkNotebook_val, GtkWidget_val, Option_val(arg3,GtkWidget_val,NULL) Ignore, Option_val(arg4,GtkWidget_val,NULL) Ignore, Val_int) ML_3(gtk_notebook_prepend_page,GtkNotebook_val, GtkWidget_val, Option_val(arg3,GtkWidget_val,NULL) Ignore, Val_int) ML_1(gtk_notebook_popup_enable,GtkNotebook_val, Unit) ML_1(gtk_notebook_popup_disable,GtkNotebook_val, Unit) ML_2(gtk_notebook_page_num,GtkNotebook_val, GtkWidget_val, Val_int) ML_1(gtk_notebook_next_page,GtkNotebook_val, Unit) ML_5(gtk_notebook_insert_page_menu,GtkNotebook_val, GtkWidget_val, Option_val(arg3,GtkWidget_val,NULL) Ignore, Option_val(arg4,GtkWidget_val,NULL) Ignore, Int_val, Val_int) ML_4(gtk_notebook_insert_page,GtkNotebook_val, GtkWidget_val, Option_val(arg3,GtkWidget_val,NULL) Ignore, Int_val, Val_int) ML_1(gtk_notebook_get_tab_vborder,GtkNotebook_val, Val_int) ML_2(gtk_notebook_get_tab_reorderable,GtkNotebook_val, GtkWidget_val, Val_bool) ML_2(gtk_notebook_get_tab_label_text,GtkNotebook_val, GtkWidget_val, Val_string) ML_2(gtk_notebook_get_tab_label,GtkNotebook_val, GtkWidget_val, Val_GtkWidget) ML_1(gtk_notebook_get_tab_hborder,GtkNotebook_val, Val_int) ML_2(gtk_notebook_get_tab_detachable,GtkNotebook_val, GtkWidget_val, Val_bool) ML_1(gtk_notebook_get_show_tabs,GtkNotebook_val, Val_bool) ML_1(gtk_notebook_get_show_border,GtkNotebook_val, Val_bool) ML_1(gtk_notebook_get_scrollable,GtkNotebook_val, Val_bool) ML_2(gtk_notebook_get_nth_page,GtkNotebook_val, Int_val, Val_GtkWidget) ML_1(gtk_notebook_get_n_pages,GtkNotebook_val, Val_int) ML_2(gtk_notebook_get_menu_label_text,GtkNotebook_val, GtkWidget_val, Val_string) ML_2(gtk_notebook_get_menu_label,GtkNotebook_val, GtkWidget_val, Val_GtkWidget) ML_1(gtk_notebook_get_group_name,GtkNotebook_val, Val_string) ML_1(gtk_notebook_get_current_page,GtkNotebook_val, Val_int) ML_4(gtk_notebook_append_page_menu,GtkNotebook_val, GtkWidget_val, Option_val(arg3,GtkWidget_val,NULL) Ignore, Option_val(arg4,GtkWidget_val,NULL) Ignore, Val_int) ML_3(gtk_notebook_append_page,GtkNotebook_val, GtkWidget_val, Option_val(arg3,GtkWidget_val,NULL) Ignore, Val_int) /* end of Notebook */ /* Module MountOperationPrivate */ /* end of MountOperationPrivate */ /* Module MountOperationClass */ /* end of MountOperationClass */ /* Module MountOperation */ ML_2(gtk_mount_operation_set_screen,GtkMountOperation_val, GdkScreen_val, Unit) ML_2(gtk_mount_operation_set_parent,GtkMountOperation_val, Option_val(arg2,GtkWindow_val,NULL) Ignore, Unit) ML_1(gtk_mount_operation_is_showing,GtkMountOperation_val, Val_bool) ML_1(gtk_mount_operation_get_screen,GtkMountOperation_val, Val_GdkScreen) ML_1(gtk_mount_operation_get_parent,GtkMountOperation_val, Val_GtkWindow) /* end of MountOperation */ /* Module MiscPrivate */ /* end of MiscPrivate */ /* Module MiscClass */ /* end of MiscClass */ /* Module Misc */ ML_3(gtk_misc_set_padding,GtkMisc_val, Int_val, Int_val, Unit) /* end of Misc */ /* Module MessageDialogPrivate */ /* end of MessageDialogPrivate */ /* Module MessageDialogClass */ /* end of MessageDialogClass */ /* Module MessageDialog */ ML_2(gtk_message_dialog_set_markup,GtkMessageDialog_val, String_val, Unit) ML_2(gtk_message_dialog_set_image,GtkMessageDialog_val, GtkWidget_val, Unit) ML_1(gtk_message_dialog_get_message_area,GtkMessageDialog_val, Val_GtkWidget) ML_1(gtk_message_dialog_get_image,GtkMessageDialog_val, Val_GtkWidget) /* end of MessageDialog */ /* Module MenuToolButtonPrivate */ /* end of MenuToolButtonPrivate */ /* Module MenuToolButtonClass */ /* end of MenuToolButtonClass */ /* Module MenuToolButton */ ML_2(gtk_menu_tool_button_set_menu,GtkMenuToolButton_val, GtkWidget_val, Unit) ML_2(gtk_menu_tool_button_set_arrow_tooltip_text,GtkMenuToolButton_val, String_val, Unit) ML_2(gtk_menu_tool_button_set_arrow_tooltip_markup,GtkMenuToolButton_val, String_val, Unit) ML_1(gtk_menu_tool_button_get_menu,GtkMenuToolButton_val, Val_GtkWidget) /* end of MenuToolButton */ /* Module MenuShellPrivate */ /* end of MenuShellPrivate */ /* Module MenuShellClass */ /* end of MenuShellClass */ /* Module MenuShell */ ML_2(gtk_menu_shell_set_take_focus,GtkMenuShell_val, Bool_val, Unit) ML_2(gtk_menu_shell_select_item,GtkMenuShell_val, GtkWidget_val, Unit) ML_2(gtk_menu_shell_select_first,GtkMenuShell_val, Bool_val, Unit) ML_2(gtk_menu_shell_prepend,GtkMenuShell_val, GtkWidget_val, Unit) ML_3(gtk_menu_shell_insert,GtkMenuShell_val, GtkWidget_val, Int_val, Unit) ML_1(gtk_menu_shell_get_take_focus,GtkMenuShell_val, Val_bool) ML_1(gtk_menu_shell_get_selected_item,GtkMenuShell_val, Val_GtkWidget) ML_1(gtk_menu_shell_get_parent_shell,GtkMenuShell_val, Val_GtkWidget) ML_1(gtk_menu_shell_deselect,GtkMenuShell_val, Unit) ML_1(gtk_menu_shell_deactivate,GtkMenuShell_val, Unit) ML_1(gtk_menu_shell_cancel,GtkMenuShell_val, Unit) ML_2(gtk_menu_shell_append,GtkMenuShell_val, GtkWidget_val, Unit) ML_3(gtk_menu_shell_activate_item,GtkMenuShell_val, GtkWidget_val, Bool_val, Unit) /* end of MenuShell */ /* Module MenuPrivate */ /* end of MenuPrivate */ /* Module MenuItemPrivate */ /* end of MenuItemPrivate */ /* Module MenuItemClass */ /* end of MenuItemClass */ /* Module MenuItem */ ML_2(gtk_menu_item_toggle_size_allocate,GtkMenuItem_val, Int_val, Unit) ML_2(gtk_menu_item_set_use_underline,GtkMenuItem_val, Bool_val, Unit) ML_2(gtk_menu_item_set_submenu,GtkMenuItem_val, Option_val(arg2,GtkWidget_val,NULL) Ignore, Unit) ML_2(gtk_menu_item_set_right_justified,GtkMenuItem_val, Bool_val, Unit) ML_2(gtk_menu_item_set_reserve_indicator,GtkMenuItem_val, Bool_val, Unit) ML_2(gtk_menu_item_set_label,GtkMenuItem_val, String_val, Unit) ML_2(gtk_menu_item_set_accel_path,GtkMenuItem_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_1(gtk_menu_item_select,GtkMenuItem_val, Unit) ML_1(gtk_menu_item_get_use_underline,GtkMenuItem_val, Val_bool) ML_1(gtk_menu_item_get_submenu,GtkMenuItem_val, Val_GtkWidget) ML_1(gtk_menu_item_get_right_justified,GtkMenuItem_val, Val_bool) ML_1(gtk_menu_item_get_reserve_indicator,GtkMenuItem_val, Val_bool) ML_1(gtk_menu_item_get_label,GtkMenuItem_val, Val_string) ML_1(gtk_menu_item_get_accel_path,GtkMenuItem_val, Val_string) ML_1(gtk_menu_item_deselect,GtkMenuItem_val, Unit) ML_1(gtk_menu_item_activate,GtkMenuItem_val, Unit) /* end of MenuItem */ /* Module MenuClass */ /* end of MenuClass */ /* Module MenuBarPrivate */ /* end of MenuBarPrivate */ /* Module MenuBarClass */ /* end of MenuBarClass */ /* Module MenuBar */ /* end of MenuBar */ /* Module Menu */ ML_2(gtk_menu_set_title,GtkMenu_val, String_val, Unit) ML_2(gtk_menu_set_tearoff_state,GtkMenu_val, Bool_val, Unit) ML_2(gtk_menu_set_screen,GtkMenu_val, Option_val(arg2,GdkScreen_val,NULL) Ignore, Unit) ML_2(gtk_menu_set_reserve_toggle_size,GtkMenu_val, Bool_val, Unit) ML_2(gtk_menu_set_monitor,GtkMenu_val, Int_val, Unit) ML_2(gtk_menu_set_active,GtkMenu_val, Int_val, Unit) ML_2(gtk_menu_set_accel_path,GtkMenu_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_menu_set_accel_group,GtkMenu_val, Option_val(arg2,GtkAccelGroup_val,NULL) Ignore, Unit) ML_1(gtk_menu_reposition,GtkMenu_val, Unit) ML_3(gtk_menu_reorder_child,GtkMenu_val, GtkWidget_val, Int_val, Unit) ML_1(gtk_menu_popdown,GtkMenu_val, Unit) ML_1(gtk_menu_get_title,GtkMenu_val, Val_string) ML_1(gtk_menu_get_tearoff_state,GtkMenu_val, Val_bool) ML_1(gtk_menu_get_reserve_toggle_size,GtkMenu_val, Val_bool) ML_1(gtk_menu_get_monitor,GtkMenu_val, Val_int) ML_1(gtk_menu_get_attach_widget,GtkMenu_val, Val_GtkWidget) ML_1(gtk_menu_get_active,GtkMenu_val, Val_GtkWidget) ML_1(gtk_menu_get_accel_path,GtkMenu_val, Val_string) ML_1(gtk_menu_get_accel_group,GtkMenu_val, Val_GtkAccelGroup) ML_1(gtk_menu_detach,GtkMenu_val, Unit) ML_6(gtk_menu_attach,GtkMenu_val, GtkWidget_val, Int_val, Int_val, Int_val, Int_val, Unit) ML_bc6(ml_gtk_menu_attach) ML_1(gtk_menu_get_for_attach_widget,GtkWidget_val, Val_GList) /* end of Menu */ /* Module ListStorePrivate */ /* end of ListStorePrivate */ /* Module ListStoreClass */ /* end of ListStoreClass */ /* Module ListStore */ ML_3(gtk_list_store_swap,GtkListStore_val, GtkTreeIter_val, GtkTreeIter_val, Unit) ML_4(gtk_list_store_set_value,GtkListStore_val, GtkTreeIter_val, Int_val, GValue_val, Unit) ML_2(gtk_list_store_remove,GtkListStore_val, GtkTreeIter_val, Val_bool) ML_3(gtk_list_store_move_before,GtkListStore_val, GtkTreeIter_val, Option_val(arg3,GtkTreeIter_val,NULL) Ignore, Unit) ML_3(gtk_list_store_move_after,GtkListStore_val, GtkTreeIter_val, Option_val(arg3,GtkTreeIter_val,NULL) Ignore, Unit) ML_2(gtk_list_store_iter_is_valid,GtkListStore_val, GtkTreeIter_val, Val_bool) ML_1(gtk_list_store_clear,GtkListStore_val, Unit) /* end of ListStore */ /* Module LinkButtonPrivate */ /* end of LinkButtonPrivate */ /* Module LinkButtonClass */ /* end of LinkButtonClass */ /* Module LinkButton */ ML_2(gtk_link_button_set_visited,GtkLinkButton_val, Bool_val, Unit) ML_2(gtk_link_button_set_uri,GtkLinkButton_val, String_val, Unit) ML_1(gtk_link_button_get_visited,GtkLinkButton_val, Val_bool) ML_1(gtk_link_button_get_uri,GtkLinkButton_val, Val_string) /* end of LinkButton */ /* Module LayoutPrivate */ /* end of LayoutPrivate */ /* Module LayoutClass */ /* end of LayoutClass */ /* Module Layout */ ML_2(gtk_layout_set_vadjustment,GtkLayout_val, Option_val(arg2,GtkAdjustment_val,NULL) Ignore, Unit) ML_3(gtk_layout_set_size,GtkLayout_val, Int_val, Int_val, Unit) ML_2(gtk_layout_set_hadjustment,GtkLayout_val, Option_val(arg2,GtkAdjustment_val,NULL) Ignore, Unit) ML_4(gtk_layout_put,GtkLayout_val, GtkWidget_val, Int_val, Int_val, Unit) ML_4(gtk_layout_move,GtkLayout_val, GtkWidget_val, Int_val, Int_val, Unit) ML_1(gtk_layout_get_vadjustment,GtkLayout_val, Val_GtkAdjustment) ML_1(gtk_layout_get_hadjustment,GtkLayout_val, Val_GtkAdjustment) ML_1(gtk_layout_get_bin_window,GtkLayout_val, Val_GdkWindow) /* end of Layout */ /* Module LabelSelectionInfo */ /* end of LabelSelectionInfo */ /* Module LabelPrivate */ /* end of LabelPrivate */ /* Module LabelClass */ /* end of LabelClass */ /* Module Label */ ML_2(gtk_label_set_width_chars,GtkLabel_val, Int_val, Unit) ML_2(gtk_label_set_use_underline,GtkLabel_val, Bool_val, Unit) ML_2(gtk_label_set_use_markup,GtkLabel_val, Bool_val, Unit) ML_2(gtk_label_set_track_visited_links,GtkLabel_val, Bool_val, Unit) ML_2(gtk_label_set_text_with_mnemonic,GtkLabel_val, String_val, Unit) ML_2(gtk_label_set_text,GtkLabel_val, String_val, Unit) ML_2(gtk_label_set_single_line_mode,GtkLabel_val, Bool_val, Unit) ML_2(gtk_label_set_selectable,GtkLabel_val, Bool_val, Unit) ML_2(gtk_label_set_pattern,GtkLabel_val, String_val, Unit) ML_2(gtk_label_set_mnemonic_widget,GtkLabel_val, Option_val(arg2,GtkWidget_val,NULL) Ignore, Unit) ML_2(gtk_label_set_max_width_chars,GtkLabel_val, Int_val, Unit) ML_2(gtk_label_set_markup_with_mnemonic,GtkLabel_val, String_val, Unit) ML_2(gtk_label_set_markup,GtkLabel_val, String_val, Unit) ML_2(gtk_label_set_line_wrap,GtkLabel_val, Bool_val, Unit) ML_2(gtk_label_set_label,GtkLabel_val, String_val, Unit) ML_2(gtk_label_set_attributes,GtkLabel_val, PangoAttrList_val, Unit) ML_2(gtk_label_set_angle,GtkLabel_val, Double_val, Unit) ML_3(gtk_label_select_region,GtkLabel_val, Int_val, Int_val, Unit) ML_1(gtk_label_get_width_chars,GtkLabel_val, Val_int) ML_1(gtk_label_get_use_underline,GtkLabel_val, Val_bool) ML_1(gtk_label_get_use_markup,GtkLabel_val, Val_bool) ML_1(gtk_label_get_track_visited_links,GtkLabel_val, Val_bool) ML_1(gtk_label_get_text,GtkLabel_val, Val_string) ML_1(gtk_label_get_single_line_mode,GtkLabel_val, Val_bool) ML_1(gtk_label_get_selectable,GtkLabel_val, Val_bool) ML_1(gtk_label_get_mnemonic_widget,GtkLabel_val, Val_GtkWidget) ML_1(gtk_label_get_mnemonic_keyval,GtkLabel_val, Val_int) ML_1(gtk_label_get_max_width_chars,GtkLabel_val, Val_int) ML_1(gtk_label_get_line_wrap,GtkLabel_val, Val_bool) ML_1(gtk_label_get_layout,GtkLabel_val, Val_PangoLayout) ML_1(gtk_label_get_label,GtkLabel_val, Val_string) ML_1(gtk_label_get_current_uri,GtkLabel_val, Val_string) ML_1(gtk_label_get_attributes,GtkLabel_val, Val_PangoAttrList) ML_1(gtk_label_get_angle,GtkLabel_val, Val_double) /* end of Label */ /* Module InvisiblePrivate */ /* end of InvisiblePrivate */ /* Module InvisibleClass */ /* end of InvisibleClass */ /* Module Invisible */ ML_2(gtk_invisible_set_screen,GtkInvisible_val, GdkScreen_val, Unit) ML_1(gtk_invisible_get_screen,GtkInvisible_val, Val_GdkScreen) /* end of Invisible */ /* Module InfoBarPrivate */ /* end of InfoBarPrivate */ /* Module InfoBarClass */ /* end of InfoBarClass */ /* Module InfoBar */ ML_3(gtk_info_bar_set_response_sensitive,GtkInfoBar_val, Int_val, Bool_val, Unit) ML_2(gtk_info_bar_set_default_response,GtkInfoBar_val, Int_val, Unit) ML_2(gtk_info_bar_response,GtkInfoBar_val, Int_val, Unit) ML_1(gtk_info_bar_get_content_area,GtkInfoBar_val, Val_GtkWidget) ML_1(gtk_info_bar_get_action_area,GtkInfoBar_val, Val_GtkWidget) ML_3(gtk_info_bar_add_button,GtkInfoBar_val, String_val, Int_val, Val_GtkWidget) ML_3(gtk_info_bar_add_action_widget,GtkInfoBar_val, GtkWidget_val, Int_val, Unit) /* end of InfoBar */ /* Module ImagePrivate */ /* end of ImagePrivate */ /* Module ImageMenuItemPrivate */ /* end of ImageMenuItemPrivate */ /* Module ImageMenuItemClass */ /* end of ImageMenuItemClass */ /* Module ImageMenuItem */ ML_2(gtk_image_menu_item_set_use_stock,GtkImageMenuItem_val, Bool_val, Unit) ML_2(gtk_image_menu_item_set_image,GtkImageMenuItem_val, Option_val(arg2,GtkWidget_val,NULL) Ignore, Unit) ML_2(gtk_image_menu_item_set_always_show_image,GtkImageMenuItem_val, Bool_val, Unit) ML_2(gtk_image_menu_item_set_accel_group,GtkImageMenuItem_val, GtkAccelGroup_val, Unit) ML_1(gtk_image_menu_item_get_use_stock,GtkImageMenuItem_val, Val_bool) ML_1(gtk_image_menu_item_get_image,GtkImageMenuItem_val, Val_GtkWidget) ML_1(gtk_image_menu_item_get_always_show_image,GtkImageMenuItem_val, Val_bool) /* end of ImageMenuItem */ /* Module ImageClass */ /* end of ImageClass */ /* Module Image */ ML_2(gtk_image_set_pixel_size,GtkImage_val, Int_val, Unit) ML_2(gtk_image_set_from_pixbuf,GtkImage_val, Option_val(arg2,GdkPixbuf_val,NULL) Ignore, Unit) ML_2(gtk_image_set_from_animation,GtkImage_val, GdkPixbufAnimation_val, Unit) ML_1(gtk_image_get_pixel_size,GtkImage_val, Val_int) ML_1(gtk_image_get_pixbuf,GtkImage_val, Val_GdkPixbuf) ML_1(gtk_image_get_animation,GtkImage_val, Val_GdkPixbufAnimation) ML_1(gtk_image_clear,GtkImage_val, Unit) /* end of Image */ /* Module IconViewPrivate */ /* end of IconViewPrivate */ /* Module IconViewClass */ /* end of IconViewClass */ /* Module IconView */ ML_1(gtk_icon_view_unset_model_drag_source,GtkIconView_val, Unit) ML_1(gtk_icon_view_unset_model_drag_dest,GtkIconView_val, Unit) ML_2(gtk_icon_view_unselect_path,GtkIconView_val, GtkTreePath_val, Unit) ML_1(gtk_icon_view_unselect_all,GtkIconView_val, Unit) ML_3(gtk_icon_view_set_tooltip_item,GtkIconView_val, GtkTooltip_val, GtkTreePath_val, Unit) ML_2(gtk_icon_view_set_tooltip_column,GtkIconView_val, Int_val, Unit) ML_4(gtk_icon_view_set_tooltip_cell,GtkIconView_val, GtkTooltip_val, GtkTreePath_val, Option_val(arg4,GtkCellRenderer_val,NULL) Ignore, Unit) ML_2(gtk_icon_view_set_text_column,GtkIconView_val, Int_val, Unit) ML_2(gtk_icon_view_set_spacing,GtkIconView_val, Int_val, Unit) ML_2(gtk_icon_view_set_row_spacing,GtkIconView_val, Int_val, Unit) ML_2(gtk_icon_view_set_reorderable,GtkIconView_val, Bool_val, Unit) ML_2(gtk_icon_view_set_pixbuf_column,GtkIconView_val, Int_val, Unit) ML_2(gtk_icon_view_set_markup_column,GtkIconView_val, Int_val, Unit) ML_2(gtk_icon_view_set_margin,GtkIconView_val, Int_val, Unit) ML_2(gtk_icon_view_set_item_width,GtkIconView_val, Int_val, Unit) ML_2(gtk_icon_view_set_item_padding,GtkIconView_val, Int_val, Unit) ML_4(gtk_icon_view_set_cursor,GtkIconView_val, GtkTreePath_val, Option_val(arg3,GtkCellRenderer_val,NULL) Ignore, Bool_val, Unit) ML_2(gtk_icon_view_set_columns,GtkIconView_val, Int_val, Unit) ML_2(gtk_icon_view_set_column_spacing,GtkIconView_val, Int_val, Unit) ML_2(gtk_icon_view_select_path,GtkIconView_val, GtkTreePath_val, Unit) ML_1(gtk_icon_view_select_all,GtkIconView_val, Unit) ML_2(gtk_icon_view_path_is_selected,GtkIconView_val, GtkTreePath_val, Val_bool) ML_2(gtk_icon_view_item_activated,GtkIconView_val, GtkTreePath_val, Unit) ML_1(gtk_icon_view_get_tooltip_column,GtkIconView_val, Val_int) ML_1(gtk_icon_view_get_text_column,GtkIconView_val, Val_int) ML_1(gtk_icon_view_get_spacing,GtkIconView_val, Val_int) ML_1(gtk_icon_view_get_selected_items,GtkIconView_val, Val_GList_new) ML_1(gtk_icon_view_get_row_spacing,GtkIconView_val, Val_int) ML_1(gtk_icon_view_get_reorderable,GtkIconView_val, Val_bool) ML_1(gtk_icon_view_get_pixbuf_column,GtkIconView_val, Val_int) ML_3(gtk_icon_view_get_path_at_pos,GtkIconView_val, Int_val, Int_val, Val_GtkTreePath_new) ML_1(gtk_icon_view_get_markup_column,GtkIconView_val, Val_int) ML_1(gtk_icon_view_get_margin,GtkIconView_val, Val_int) ML_1(gtk_icon_view_get_item_width,GtkIconView_val, Val_int) ML_2(gtk_icon_view_get_item_row,GtkIconView_val, GtkTreePath_val, Val_int) ML_1(gtk_icon_view_get_item_padding,GtkIconView_val, Val_int) ML_2(gtk_icon_view_get_item_column,GtkIconView_val, GtkTreePath_val, Val_int) ML_1(gtk_icon_view_get_columns,GtkIconView_val, Val_int) ML_1(gtk_icon_view_get_column_spacing,GtkIconView_val, Val_int) ML_2(gtk_icon_view_create_drag_icon,GtkIconView_val, GtkTreePath_val, Val_cairo_surface_t_new) /* end of IconView */ /* Module IconThemePrivate */ /* end of IconThemePrivate */ /* Module IconThemeClass */ /* end of IconThemeClass */ /* Module IconTheme */ ML_2(gtk_icon_theme_set_screen,GtkIconTheme_val, GdkScreen_val, Unit) ML_2(gtk_icon_theme_set_custom_theme,GtkIconTheme_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_1(gtk_icon_theme_rescan_if_needed,GtkIconTheme_val, Val_bool) ML_2(gtk_icon_theme_list_icons,GtkIconTheme_val, Option_val(arg2,String_val,NULL) Ignore, Val_GList_new) ML_1(gtk_icon_theme_list_contexts,GtkIconTheme_val, Val_GList_new) ML_2(gtk_icon_theme_has_icon,GtkIconTheme_val, String_val, Val_bool) ML_1(gtk_icon_theme_get_example_icon_name,GtkIconTheme_val, Val_string_new) ML_1(gtk_icon_theme_get_for_screen,GdkScreen_val, Val_GtkIconTheme) ML_0(gtk_icon_theme_get_default,Val_GtkIconTheme) ML_3(gtk_icon_theme_add_builtin_icon,String_val, Int_val, GdkPixbuf_val, Unit) /* end of IconTheme */ /* Module IconSource */ ML_2(gtk_icon_source_set_state_wildcarded,GtkIconSource_val, Bool_val, Unit) ML_2(gtk_icon_source_set_size_wildcarded,GtkIconSource_val, Bool_val, Unit) ML_2(gtk_icon_source_set_pixbuf,GtkIconSource_val, GdkPixbuf_val, Unit) ML_2(gtk_icon_source_set_icon_name,GtkIconSource_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_icon_source_set_direction_wildcarded,GtkIconSource_val, Bool_val, Unit) ML_1(gtk_icon_source_get_state_wildcarded,GtkIconSource_val, Val_bool) ML_1(gtk_icon_source_get_size_wildcarded,GtkIconSource_val, Val_bool) ML_1(gtk_icon_source_get_pixbuf,GtkIconSource_val, Val_GdkPixbuf) ML_1(gtk_icon_source_get_icon_name,GtkIconSource_val, Val_string) ML_1(gtk_icon_source_get_direction_wildcarded,GtkIconSource_val, Val_bool) ML_1(gtk_icon_source_free,GtkIconSource_val, Unit) ML_1(gtk_icon_source_copy,GtkIconSource_val, Val_GtkIconSource_new) /* end of IconSource */ /* Module IconSet */ ML_1(gtk_icon_set_unref,GtkIconSet_val, Unit) ML_1(gtk_icon_set_ref,GtkIconSet_val, Val_GtkIconSet_new) ML_1(gtk_icon_set_copy,GtkIconSet_val, Val_GtkIconSet_new) ML_2(gtk_icon_set_add_source,GtkIconSet_val, GtkIconSource_val, Unit) /* end of IconSet */ /* Module IconInfo */ ML_2(gtk_icon_info_set_raw_coordinates,GtkIconInfo_val, Bool_val, Unit) ML_1(gtk_icon_info_get_display_name,GtkIconInfo_val, Val_string) ML_1(gtk_icon_info_get_builtin_pixbuf,GtkIconInfo_val, Val_GdkPixbuf) ML_1(gtk_icon_info_get_base_size,GtkIconInfo_val, Val_int) ML_1(gtk_icon_info_free,GtkIconInfo_val, Unit) ML_1(gtk_icon_info_copy,GtkIconInfo_val, Val_GtkIconInfo_new) /* end of IconInfo */ /* Module IconFactoryPrivate */ /* end of IconFactoryPrivate */ /* Module IconFactoryClass */ /* end of IconFactoryClass */ /* Module IconFactory */ ML_1(gtk_icon_factory_remove_default,GtkIconFactory_val, Unit) ML_2(gtk_icon_factory_lookup,GtkIconFactory_val, String_val, Val_GtkIconSet) ML_1(gtk_icon_factory_add_default,GtkIconFactory_val, Unit) ML_3(gtk_icon_factory_add,GtkIconFactory_val, String_val, GtkIconSet_val, Unit) ML_1(gtk_icon_factory_lookup_default,String_val, Val_GtkIconSet) /* end of IconFactory */ /* Module IMMulticontextPrivate */ /* end of IMMulticontextPrivate */ /* Module IMMulticontextClass */ /* end of IMMulticontextClass */ /* Module IMMulticontext */ ML_2(gtk_im_multicontext_set_context_id,GtkIMMulticontext_val, String_val, Unit) ML_1(gtk_im_multicontext_get_context_id,GtkIMMulticontext_val, Val_string) ML_2(gtk_im_multicontext_append_menuitems,GtkIMMulticontext_val, GtkMenuShell_val, Unit) /* end of IMMulticontext */ /* Module IMContextSimplePrivate */ /* end of IMContextSimplePrivate */ /* Module IMContextSimpleClass */ /* end of IMContextSimpleClass */ /* Module IMContextSimple */ /* end of IMContextSimple */ /* Module IMContextInfo */ /* end of IMContextInfo */ /* Module IMContextClass */ /* end of IMContextClass */ /* Module IMContext */ ML_2(gtk_im_context_set_use_preedit,GtkIMContext_val, Bool_val, Unit) ML_4(gtk_im_context_set_surrounding,GtkIMContext_val, String_val, Int_val, Int_val, Unit) ML_2(gtk_im_context_set_client_window,GtkIMContext_val, Option_val(arg2,GdkWindow_val,NULL) Ignore, Unit) ML_1(gtk_im_context_reset,GtkIMContext_val, Unit) ML_1(gtk_im_context_focus_out,GtkIMContext_val, Unit) ML_1(gtk_im_context_focus_in,GtkIMContext_val, Unit) ML_2(gtk_im_context_filter_keypress,GtkIMContext_val, GdkEventKey_val, Val_bool) ML_3(gtk_im_context_delete_surrounding,GtkIMContext_val, Int_val, Int_val, Val_bool) /* end of IMContext */ /* Module HandleBoxPrivate */ /* end of HandleBoxPrivate */ /* Module HandleBoxClass */ /* end of HandleBoxClass */ /* Module HandleBox */ ML_1(gtk_handle_box_get_child_detached,GtkHandleBox_val, Val_bool) /* end of HandleBox */ /* Module HSeparatorClass */ /* end of HSeparatorClass */ /* Module HSeparator */ /* end of HSeparator */ /* Module HScrollbarClass */ /* end of HScrollbarClass */ /* Module HScrollbar */ /* end of HScrollbar */ /* Module HScaleClass */ /* end of HScaleClass */ /* Module HScale */ /* end of HScale */ /* Module HSVPrivate */ /* end of HSVPrivate */ /* Module HSVClass */ /* end of HSVClass */ /* Module HSV */ ML_3(gtk_hsv_set_metrics,GtkHSV_val, Int_val, Int_val, Unit) ML_4(gtk_hsv_set_color,GtkHSV_val, Double_val, Double_val, Double_val, Unit) ML_1(gtk_hsv_is_adjusting,GtkHSV_val, Val_bool) /* end of HSV */ /* Module HPanedClass */ /* end of HPanedClass */ /* Module HPaned */ /* end of HPaned */ /* Module HButtonBoxClass */ /* end of HButtonBoxClass */ /* Module HButtonBox */ /* end of HButtonBox */ /* Module HBoxClass */ /* end of HBoxClass */ /* Module HBox */ /* end of HBox */ /* Module GridPrivate */ /* end of GridPrivate */ /* Module GridClass */ /* end of GridClass */ /* Module Grid */ ML_2(gtk_grid_set_row_spacing,GtkGrid_val, Int_val, Unit) ML_2(gtk_grid_set_row_homogeneous,GtkGrid_val, Bool_val, Unit) ML_2(gtk_grid_set_column_spacing,GtkGrid_val, Int_val, Unit) ML_2(gtk_grid_set_column_homogeneous,GtkGrid_val, Bool_val, Unit) ML_1(gtk_grid_get_row_spacing,GtkGrid_val, Val_int) ML_1(gtk_grid_get_row_homogeneous,GtkGrid_val, Val_bool) ML_1(gtk_grid_get_column_spacing,GtkGrid_val, Val_int) ML_1(gtk_grid_get_column_homogeneous,GtkGrid_val, Val_bool) ML_6(gtk_grid_attach,GtkGrid_val, GtkWidget_val, Int_val, Int_val, Int_val, Int_val, Unit) ML_bc6(ml_gtk_grid_attach) /* end of Grid */ /* Module Gradient */ ML_1(gtk_gradient_unref,GtkGradient_val, Unit) ML_1(gtk_gradient_ref,GtkGradient_val, Val_GtkGradient_new) ML_3(gtk_gradient_add_color_stop,GtkGradient_val, Double_val, GtkSymbolicColor_val, Unit) /* end of Gradient */ /* Module FramePrivate */ /* end of FramePrivate */ /* Module FrameClass */ /* end of FrameClass */ /* Module Frame */ ML_2(gtk_frame_set_label_widget,GtkFrame_val, GtkWidget_val, Unit) ML_2(gtk_frame_set_label,GtkFrame_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_1(gtk_frame_get_label_widget,GtkFrame_val, Val_GtkWidget) ML_1(gtk_frame_get_label,GtkFrame_val, Val_string) /* end of Frame */ /* Module FontSelectionPrivate */ /* end of FontSelectionPrivate */ /* Module FontSelectionDialogPrivate */ /* end of FontSelectionDialogPrivate */ /* Module FontSelectionDialogClass */ /* end of FontSelectionDialogClass */ /* Module FontSelectionDialog */ ML_2(gtk_font_selection_dialog_set_preview_text,GtkFontSelectionDialog_val, String_val, Unit) ML_2(gtk_font_selection_dialog_set_font_name,GtkFontSelectionDialog_val, String_val, Val_bool) ML_1(gtk_font_selection_dialog_get_preview_text,GtkFontSelectionDialog_val, Val_string) ML_1(gtk_font_selection_dialog_get_ok_button,GtkFontSelectionDialog_val, Val_GtkWidget) ML_1(gtk_font_selection_dialog_get_font_selection,GtkFontSelectionDialog_val, Val_GtkWidget) ML_1(gtk_font_selection_dialog_get_font_name,GtkFontSelectionDialog_val, Val_string_new) ML_1(gtk_font_selection_dialog_get_cancel_button,GtkFontSelectionDialog_val, Val_GtkWidget) /* end of FontSelectionDialog */ /* Module FontSelectionClass */ /* end of FontSelectionClass */ /* Module FontSelection */ ML_2(gtk_font_selection_set_preview_text,GtkFontSelection_val, String_val, Unit) ML_2(gtk_font_selection_set_font_name,GtkFontSelection_val, String_val, Val_bool) ML_1(gtk_font_selection_get_size_list,GtkFontSelection_val, Val_GtkWidget) ML_1(gtk_font_selection_get_size_entry,GtkFontSelection_val, Val_GtkWidget) ML_1(gtk_font_selection_get_size,GtkFontSelection_val, Val_int) ML_1(gtk_font_selection_get_preview_text,GtkFontSelection_val, Val_string) ML_1(gtk_font_selection_get_preview_entry,GtkFontSelection_val, Val_GtkWidget) ML_1(gtk_font_selection_get_font_name,GtkFontSelection_val, Val_string_new) ML_1(gtk_font_selection_get_family_list,GtkFontSelection_val, Val_GtkWidget) ML_1(gtk_font_selection_get_family,GtkFontSelection_val, Val_PangoFontFamily) ML_1(gtk_font_selection_get_face_list,GtkFontSelection_val, Val_GtkWidget) ML_1(gtk_font_selection_get_face,GtkFontSelection_val, Val_PangoFontFace) /* end of FontSelection */ /* Module FontButtonPrivate */ /* end of FontButtonPrivate */ /* Module FontButtonClass */ /* end of FontButtonClass */ /* Module FontButton */ ML_2(gtk_font_button_set_use_size,GtkFontButton_val, Bool_val, Unit) ML_2(gtk_font_button_set_use_font,GtkFontButton_val, Bool_val, Unit) ML_2(gtk_font_button_set_title,GtkFontButton_val, String_val, Unit) ML_2(gtk_font_button_set_show_style,GtkFontButton_val, Bool_val, Unit) ML_2(gtk_font_button_set_show_size,GtkFontButton_val, Bool_val, Unit) ML_2(gtk_font_button_set_font_name,GtkFontButton_val, String_val, Val_bool) ML_1(gtk_font_button_get_use_size,GtkFontButton_val, Val_bool) ML_1(gtk_font_button_get_use_font,GtkFontButton_val, Val_bool) ML_1(gtk_font_button_get_title,GtkFontButton_val, Val_string) ML_1(gtk_font_button_get_show_style,GtkFontButton_val, Val_bool) ML_1(gtk_font_button_get_show_size,GtkFontButton_val, Val_bool) ML_1(gtk_font_button_get_font_name,GtkFontButton_val, Val_string) /* end of FontButton */ /* Module FixedPrivate */ /* end of FixedPrivate */ /* Module FixedClass */ /* end of FixedClass */ /* Module FixedChild */ /* end of FixedChild */ /* Module Fixed */ ML_4(gtk_fixed_put,GtkFixed_val, GtkWidget_val, Int_val, Int_val, Unit) ML_4(gtk_fixed_move,GtkFixed_val, GtkWidget_val, Int_val, Int_val, Unit) /* end of Fixed */ /* Module FileFilterInfo */ /* end of FileFilterInfo */ /* Module FileFilter */ ML_2(gtk_file_filter_set_name,GtkFileFilter_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_1(gtk_file_filter_get_name,GtkFileFilter_val, Val_string) ML_2(gtk_file_filter_filter,GtkFileFilter_val, GtkFileFilterInfo_val, Val_bool) ML_1(gtk_file_filter_add_pixbuf_formats,GtkFileFilter_val, Unit) ML_2(gtk_file_filter_add_pattern,GtkFileFilter_val, String_val, Unit) ML_2(gtk_file_filter_add_mime_type,GtkFileFilter_val, String_val, Unit) /* end of FileFilter */ /* Module FileChooserWidgetPrivate */ /* end of FileChooserWidgetPrivate */ /* Module FileChooserWidgetClass */ /* end of FileChooserWidgetClass */ /* Module FileChooserWidget */ /* end of FileChooserWidget */ /* Module FileChooserDialogPrivate */ /* end of FileChooserDialogPrivate */ /* Module FileChooserDialogClass */ /* end of FileChooserDialogClass */ /* Module FileChooserDialog */ /* end of FileChooserDialog */ /* Module FileChooserButtonPrivate */ /* end of FileChooserButtonPrivate */ /* Module FileChooserButtonClass */ /* end of FileChooserButtonClass */ /* Module FileChooserButton */ ML_2(gtk_file_chooser_button_set_width_chars,GtkFileChooserButton_val, Int_val, Unit) ML_2(gtk_file_chooser_button_set_title,GtkFileChooserButton_val, String_val, Unit) ML_2(gtk_file_chooser_button_set_focus_on_click,GtkFileChooserButton_val, Bool_val, Unit) ML_1(gtk_file_chooser_button_get_width_chars,GtkFileChooserButton_val, Val_int) ML_1(gtk_file_chooser_button_get_title,GtkFileChooserButton_val, Val_string) ML_1(gtk_file_chooser_button_get_focus_on_click,GtkFileChooserButton_val, Val_bool) /* end of FileChooserButton */ /* Module ExpanderPrivate */ /* end of ExpanderPrivate */ /* Module ExpanderClass */ /* end of ExpanderClass */ /* Module Expander */ ML_2(gtk_expander_set_use_underline,GtkExpander_val, Bool_val, Unit) ML_2(gtk_expander_set_use_markup,GtkExpander_val, Bool_val, Unit) ML_2(gtk_expander_set_spacing,GtkExpander_val, Int_val, Unit) ML_2(gtk_expander_set_label_widget,GtkExpander_val, Option_val(arg2,GtkWidget_val,NULL) Ignore, Unit) ML_2(gtk_expander_set_label_fill,GtkExpander_val, Bool_val, Unit) ML_2(gtk_expander_set_label,GtkExpander_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_expander_set_expanded,GtkExpander_val, Bool_val, Unit) ML_1(gtk_expander_get_use_underline,GtkExpander_val, Val_bool) ML_1(gtk_expander_get_use_markup,GtkExpander_val, Val_bool) ML_1(gtk_expander_get_spacing,GtkExpander_val, Val_int) ML_1(gtk_expander_get_label_widget,GtkExpander_val, Val_GtkWidget) ML_1(gtk_expander_get_label_fill,GtkExpander_val, Val_bool) ML_1(gtk_expander_get_label,GtkExpander_val, Val_string) ML_1(gtk_expander_get_expanded,GtkExpander_val, Val_bool) /* end of Expander */ /* Module EventBoxPrivate */ /* end of EventBoxPrivate */ /* Module EventBoxClass */ /* end of EventBoxClass */ /* Module EventBox */ ML_2(gtk_event_box_set_visible_window,GtkEventBox_val, Bool_val, Unit) ML_2(gtk_event_box_set_above_child,GtkEventBox_val, Bool_val, Unit) ML_1(gtk_event_box_get_visible_window,GtkEventBox_val, Val_bool) ML_1(gtk_event_box_get_above_child,GtkEventBox_val, Val_bool) /* end of EventBox */ /* Module EntryPrivate */ /* end of EntryPrivate */ /* Module EntryCompletionPrivate */ /* end of EntryCompletionPrivate */ /* Module EntryCompletionClass */ /* end of EntryCompletionClass */ /* Module EntryCompletion */ ML_2(gtk_entry_completion_set_text_column,GtkEntryCompletion_val, Int_val, Unit) ML_2(gtk_entry_completion_set_popup_single_match,GtkEntryCompletion_val, Bool_val, Unit) ML_2(gtk_entry_completion_set_popup_set_width,GtkEntryCompletion_val, Bool_val, Unit) ML_2(gtk_entry_completion_set_popup_completion,GtkEntryCompletion_val, Bool_val, Unit) ML_2(gtk_entry_completion_set_minimum_key_length,GtkEntryCompletion_val, Int_val, Unit) ML_2(gtk_entry_completion_set_inline_selection,GtkEntryCompletion_val, Bool_val, Unit) ML_2(gtk_entry_completion_set_inline_completion,GtkEntryCompletion_val, Bool_val, Unit) ML_1(gtk_entry_completion_insert_prefix,GtkEntryCompletion_val, Unit) ML_3(gtk_entry_completion_insert_action_text,GtkEntryCompletion_val, Int_val, String_val, Unit) ML_3(gtk_entry_completion_insert_action_markup,GtkEntryCompletion_val, Int_val, String_val, Unit) ML_1(gtk_entry_completion_get_text_column,GtkEntryCompletion_val, Val_int) ML_1(gtk_entry_completion_get_popup_single_match,GtkEntryCompletion_val, Val_bool) ML_1(gtk_entry_completion_get_popup_set_width,GtkEntryCompletion_val, Val_bool) ML_1(gtk_entry_completion_get_popup_completion,GtkEntryCompletion_val, Val_bool) ML_1(gtk_entry_completion_get_minimum_key_length,GtkEntryCompletion_val, Val_int) ML_1(gtk_entry_completion_get_inline_selection,GtkEntryCompletion_val, Val_bool) ML_1(gtk_entry_completion_get_inline_completion,GtkEntryCompletion_val, Val_bool) ML_1(gtk_entry_completion_get_entry,GtkEntryCompletion_val, Val_GtkWidget) ML_1(gtk_entry_completion_get_completion_prefix,GtkEntryCompletion_val, Val_string) ML_2(gtk_entry_completion_delete_action,GtkEntryCompletion_val, Int_val, Unit) ML_1(gtk_entry_completion_complete,GtkEntryCompletion_val, Unit) /* end of EntryCompletion */ /* Module EntryClass */ /* end of EntryClass */ /* Module EntryBufferPrivate */ /* end of EntryBufferPrivate */ /* Module EntryBufferClass */ /* end of EntryBufferClass */ /* Module EntryBuffer */ ML_3(gtk_entry_buffer_set_text,GtkEntryBuffer_val, String_val, Int_val, Unit) ML_2(gtk_entry_buffer_set_max_length,GtkEntryBuffer_val, Int_val, Unit) ML_4(gtk_entry_buffer_insert_text,GtkEntryBuffer_val, Int_val, String_val, Int_val, Val_int) ML_1(gtk_entry_buffer_get_text,GtkEntryBuffer_val, Val_string) ML_1(gtk_entry_buffer_get_max_length,GtkEntryBuffer_val, Val_int) ML_1(gtk_entry_buffer_get_length,GtkEntryBuffer_val, Val_int) ML_1(gtk_entry_buffer_get_bytes,GtkEntryBuffer_val, Val_int) ML_4(gtk_entry_buffer_emit_inserted_text,GtkEntryBuffer_val, Int_val, String_val, Int_val, Unit) ML_3(gtk_entry_buffer_emit_deleted_text,GtkEntryBuffer_val, Int_val, Int_val, Unit) ML_3(gtk_entry_buffer_delete_text,GtkEntryBuffer_val, Int_val, Int_val, Val_int) /* end of EntryBuffer */ /* Module Entry */ ML_1(gtk_entry_unset_invisible_char,GtkEntry_val, Unit) ML_2(gtk_entry_text_index_to_layout_index,GtkEntry_val, Int_val, Val_int) ML_2(gtk_entry_set_width_chars,GtkEntry_val, Int_val, Unit) ML_2(gtk_entry_set_visibility,GtkEntry_val, Bool_val, Unit) ML_2(gtk_entry_set_text,GtkEntry_val, String_val, Unit) ML_2(gtk_entry_set_progress_pulse_step,GtkEntry_val, Double_val, Unit) ML_2(gtk_entry_set_progress_fraction,GtkEntry_val, Double_val, Unit) ML_2(gtk_entry_set_overwrite_mode,GtkEntry_val, Bool_val, Unit) ML_2(gtk_entry_set_max_length,GtkEntry_val, Int_val, Unit) ML_2(gtk_entry_set_invisible_char,GtkEntry_val, Int32_val, Unit) ML_2(gtk_entry_set_inner_border,GtkEntry_val, Option_val(arg2,GtkBorder_val,NULL) Ignore, Unit) ML_2(gtk_entry_set_has_frame,GtkEntry_val, Bool_val, Unit) ML_2(gtk_entry_set_cursor_hadjustment,GtkEntry_val, GtkAdjustment_val, Unit) ML_2(gtk_entry_set_completion,GtkEntry_val, Option_val(arg2,GtkEntryCompletion_val,NULL) Ignore, Unit) ML_2(gtk_entry_set_buffer,GtkEntry_val, GtkEntryBuffer_val, Unit) ML_2(gtk_entry_set_activates_default,GtkEntry_val, Bool_val, Unit) ML_1(gtk_entry_reset_im_context,GtkEntry_val, Unit) ML_1(gtk_entry_progress_pulse,GtkEntry_val, Unit) ML_2(gtk_entry_layout_index_to_text_index,GtkEntry_val, Int_val, Val_int) ML_2(gtk_entry_im_context_filter_keypress,GtkEntry_val, GdkEventKey_val, Val_bool) ML_1(gtk_entry_get_width_chars,GtkEntry_val, Val_int) ML_1(gtk_entry_get_visibility,GtkEntry_val, Val_bool) ML_1(gtk_entry_get_text_length,GtkEntry_val, Val_int) ML_1(gtk_entry_get_text,GtkEntry_val, Val_string) ML_1(gtk_entry_get_progress_pulse_step,GtkEntry_val, Val_double) ML_1(gtk_entry_get_progress_fraction,GtkEntry_val, Val_double) ML_1(gtk_entry_get_overwrite_mode,GtkEntry_val, Val_bool) ML_1(gtk_entry_get_max_length,GtkEntry_val, Val_int) ML_1(gtk_entry_get_layout,GtkEntry_val, Val_PangoLayout) ML_1(gtk_entry_get_invisible_char,GtkEntry_val, Val_int32) ML_1(gtk_entry_get_inner_border,GtkEntry_val, Val_GtkBorder) ML_3(gtk_entry_get_icon_at_pos,GtkEntry_val, Int_val, Int_val, Val_int) ML_1(gtk_entry_get_has_frame,GtkEntry_val, Val_bool) ML_1(gtk_entry_get_cursor_hadjustment,GtkEntry_val, Val_GtkAdjustment) ML_1(gtk_entry_get_current_icon_drag_source,GtkEntry_val, Val_int) ML_1(gtk_entry_get_completion,GtkEntry_val, Val_GtkEntryCompletion) ML_1(gtk_entry_get_buffer,GtkEntry_val, Val_GtkEntryBuffer) ML_1(gtk_entry_get_activates_default,GtkEntry_val, Val_bool) /* end of Entry */ /* Module EditableInterface */ /* end of EditableInterface */ /* Module DrawingAreaClass */ /* end of DrawingAreaClass */ /* Module DrawingArea */ /* end of DrawingArea */ /* Module DialogPrivate */ /* end of DialogPrivate */ /* Module DialogClass */ /* end of DialogClass */ /* Module Dialog */ ML_3(gtk_dialog_set_response_sensitive,GtkDialog_val, Int_val, Bool_val, Unit) ML_2(gtk_dialog_set_default_response,GtkDialog_val, Int_val, Unit) ML_1(gtk_dialog_run,GtkDialog_val, Val_int) ML_2(gtk_dialog_response,GtkDialog_val, Int_val, Unit) ML_2(gtk_dialog_get_widget_for_response,GtkDialog_val, Int_val, Val_GtkWidget) ML_2(gtk_dialog_get_response_for_widget,GtkDialog_val, GtkWidget_val, Val_int) ML_1(gtk_dialog_get_content_area,GtkDialog_val, Val_GtkWidget) ML_1(gtk_dialog_get_action_area,GtkDialog_val, Val_GtkWidget) ML_3(gtk_dialog_add_button,GtkDialog_val, String_val, Int_val, Val_GtkWidget) ML_3(gtk_dialog_add_action_widget,GtkDialog_val, GtkWidget_val, Int_val, Unit) /* end of Dialog */ /* Module CssProviderClass */ /* end of CssProviderClass */ /* Module CssProvider */ ML_2(gtk_css_provider_get_named,String_val, Option_val(arg2,String_val,NULL) Ignore, Val_GtkCssProvider) ML_0(gtk_css_provider_get_default,Val_GtkCssProvider) /* end of CssProvider */ /* Module ContainerPrivate */ /* end of ContainerPrivate */ /* Module ContainerClass */ ML_3(gtk_container_class_install_child_property,GtkContainerClass_val, Int_val, GParamSpec_val, Unit) ML_1(gtk_container_class_handle_border_width,GtkContainerClass_val, Unit) ML_2(gtk_container_class_find_child_property,GtkContainerClass_val, String_val, Val_GParamSpec) /* end of ContainerClass */ /* Module Container */ ML_1(gtk_container_unset_focus_chain,GtkContainer_val, Unit) ML_2(gtk_container_set_reallocate_redraws,GtkContainer_val, Bool_val, Unit) ML_2(gtk_container_set_focus_vadjustment,GtkContainer_val, GtkAdjustment_val, Unit) ML_2(gtk_container_set_focus_hadjustment,GtkContainer_val, GtkAdjustment_val, Unit) ML_2(gtk_container_set_focus_child,GtkContainer_val, Option_val(arg2,GtkWidget_val,NULL) Ignore, Unit) ML_2(gtk_container_set_focus_chain,GtkContainer_val, GList_val, Unit) ML_2(gtk_container_set_border_width,GtkContainer_val, Int_val, Unit) ML_1(gtk_container_resize_children,GtkContainer_val, Unit) ML_2(gtk_container_remove,GtkContainer_val, GtkWidget_val, Unit) ML_3(gtk_container_propagate_draw,GtkContainer_val, GtkWidget_val, cairo_t_val, Unit) ML_2(gtk_container_get_path_for_child,GtkContainer_val, GtkWidget_val, Val_GtkWidgetPath_new) ML_1(gtk_container_get_focus_vadjustment,GtkContainer_val, Val_GtkAdjustment) ML_1(gtk_container_get_focus_hadjustment,GtkContainer_val, Val_GtkAdjustment) ML_1(gtk_container_get_focus_child,GtkContainer_val, Val_GtkWidget) ML_1(gtk_container_get_children,GtkContainer_val, Val_GList) ML_1(gtk_container_get_border_width,GtkContainer_val, Val_int) ML_1(gtk_container_child_type,GtkContainer_val, Val_int) ML_4(gtk_container_child_set_property,GtkContainer_val, GtkWidget_val, String_val, GValue_val, Unit) ML_4(gtk_container_child_get_property,GtkContainer_val, GtkWidget_val, String_val, GValue_val, Unit) ML_1(gtk_container_check_resize,GtkContainer_val, Unit) ML_2(gtk_container_add,GtkContainer_val, GtkWidget_val, Unit) /* end of Container */ /* Module ComboBoxTextPrivate */ /* end of ComboBoxTextPrivate */ /* Module ComboBoxTextClass */ /* end of ComboBoxTextClass */ /* Module ComboBoxText */ ML_1(gtk_combo_box_text_remove_all,GtkComboBoxText_val, Unit) ML_2(gtk_combo_box_text_remove,GtkComboBoxText_val, Int_val, Unit) ML_2(gtk_combo_box_text_prepend_text,GtkComboBoxText_val, String_val, Unit) ML_3(gtk_combo_box_text_prepend,GtkComboBoxText_val, Option_val(arg2,String_val,NULL) Ignore, String_val, Unit) ML_3(gtk_combo_box_text_insert_text,GtkComboBoxText_val, Int_val, String_val, Unit) ML_4(gtk_combo_box_text_insert,GtkComboBoxText_val, Int_val, Option_val(arg3,String_val,NULL) Ignore, String_val, Unit) ML_1(gtk_combo_box_text_get_active_text,GtkComboBoxText_val, Val_string_new) ML_2(gtk_combo_box_text_append_text,GtkComboBoxText_val, String_val, Unit) ML_3(gtk_combo_box_text_append,GtkComboBoxText_val, Option_val(arg2,String_val,NULL) Ignore, String_val, Unit) /* end of ComboBoxText */ /* Module ComboBoxPrivate */ /* end of ComboBoxPrivate */ /* Module ComboBoxClass */ /* end of ComboBoxClass */ /* Module ComboBox */ ML_2(gtk_combo_box_set_wrap_width,GtkComboBox_val, Int_val, Unit) ML_2(gtk_combo_box_set_title,GtkComboBox_val, String_val, Unit) ML_2(gtk_combo_box_set_row_span_column,GtkComboBox_val, Int_val, Unit) ML_2(gtk_combo_box_set_popup_fixed_width,GtkComboBox_val, Bool_val, Unit) ML_2(gtk_combo_box_set_id_column,GtkComboBox_val, Int_val, Unit) ML_2(gtk_combo_box_set_focus_on_click,GtkComboBox_val, Bool_val, Unit) ML_2(gtk_combo_box_set_entry_text_column,GtkComboBox_val, Int_val, Unit) ML_2(gtk_combo_box_set_column_span_column,GtkComboBox_val, Int_val, Unit) ML_2(gtk_combo_box_set_add_tearoffs,GtkComboBox_val, Bool_val, Unit) ML_2(gtk_combo_box_set_active_iter,GtkComboBox_val, Option_val(arg2,GtkTreeIter_val,NULL) Ignore, Unit) ML_2(gtk_combo_box_set_active_id,GtkComboBox_val, String_val, Unit) ML_2(gtk_combo_box_set_active,GtkComboBox_val, Int_val, Unit) ML_2(gtk_combo_box_popup_for_device,GtkComboBox_val, GdkDevice_val, Unit) ML_1(gtk_combo_box_popup,GtkComboBox_val, Unit) ML_1(gtk_combo_box_popdown,GtkComboBox_val, Unit) ML_1(gtk_combo_box_get_wrap_width,GtkComboBox_val, Val_int) ML_1(gtk_combo_box_get_title,GtkComboBox_val, Val_string) ML_1(gtk_combo_box_get_row_span_column,GtkComboBox_val, Val_int) ML_1(gtk_combo_box_get_popup_fixed_width,GtkComboBox_val, Val_bool) ML_1(gtk_combo_box_get_popup_accessible,GtkComboBox_val, Val_AtkObject) ML_1(gtk_combo_box_get_id_column,GtkComboBox_val, Val_int) ML_1(gtk_combo_box_get_has_entry,GtkComboBox_val, Val_bool) ML_1(gtk_combo_box_get_focus_on_click,GtkComboBox_val, Val_bool) ML_1(gtk_combo_box_get_entry_text_column,GtkComboBox_val, Val_int) ML_1(gtk_combo_box_get_column_span_column,GtkComboBox_val, Val_int) ML_1(gtk_combo_box_get_add_tearoffs,GtkComboBox_val, Val_bool) ML_1(gtk_combo_box_get_active_id,GtkComboBox_val, Val_string) ML_1(gtk_combo_box_get_active,GtkComboBox_val, Val_int) /* end of ComboBox */ /* Module ColorSelectionPrivate */ /* end of ColorSelectionPrivate */ /* Module ColorSelectionDialogPrivate */ /* end of ColorSelectionDialogPrivate */ /* Module ColorSelectionDialogClass */ /* end of ColorSelectionDialogClass */ /* Module ColorSelectionDialog */ ML_1(gtk_color_selection_dialog_get_color_selection,GtkColorSelectionDialog_val, Val_GtkWidget) /* end of ColorSelectionDialog */ /* Module ColorSelectionClass */ /* end of ColorSelectionClass */ /* Module ColorSelection */ ML_2(gtk_color_selection_set_previous_rgba,GtkColorSelection_val, GdkRGBA_val, Unit) ML_2(gtk_color_selection_set_previous_color,GtkColorSelection_val, GdkColor_val, Unit) ML_2(gtk_color_selection_set_previous_alpha,GtkColorSelection_val, Int_val, Unit) ML_2(gtk_color_selection_set_has_palette,GtkColorSelection_val, Bool_val, Unit) ML_2(gtk_color_selection_set_has_opacity_control,GtkColorSelection_val, Bool_val, Unit) ML_2(gtk_color_selection_set_current_rgba,GtkColorSelection_val, GdkRGBA_val, Unit) ML_2(gtk_color_selection_set_current_color,GtkColorSelection_val, GdkColor_val, Unit) ML_2(gtk_color_selection_set_current_alpha,GtkColorSelection_val, Int_val, Unit) ML_1(gtk_color_selection_is_adjusting,GtkColorSelection_val, Val_bool) ML_1(gtk_color_selection_get_previous_alpha,GtkColorSelection_val, Val_int) ML_1(gtk_color_selection_get_has_palette,GtkColorSelection_val, Val_bool) ML_1(gtk_color_selection_get_has_opacity_control,GtkColorSelection_val, Val_bool) ML_1(gtk_color_selection_get_current_alpha,GtkColorSelection_val, Val_int) /* end of ColorSelection */ /* Module ColorButtonPrivate */ /* end of ColorButtonPrivate */ /* Module ColorButtonClass */ /* end of ColorButtonClass */ /* Module ColorButton */ ML_2(gtk_color_button_set_use_alpha,GtkColorButton_val, Bool_val, Unit) ML_2(gtk_color_button_set_title,GtkColorButton_val, String_val, Unit) ML_2(gtk_color_button_set_rgba,GtkColorButton_val, GdkRGBA_val, Unit) ML_2(gtk_color_button_set_color,GtkColorButton_val, GdkColor_val, Unit) ML_2(gtk_color_button_set_alpha,GtkColorButton_val, Int_val, Unit) ML_1(gtk_color_button_get_use_alpha,GtkColorButton_val, Val_bool) ML_1(gtk_color_button_get_title,GtkColorButton_val, Val_string) ML_1(gtk_color_button_get_alpha,GtkColorButton_val, Val_int) /* end of ColorButton */ /* Module Clipboard */ ML_1(gtk_clipboard_wait_is_uris_available,GtkClipboard_val, Val_bool) ML_1(gtk_clipboard_wait_is_text_available,GtkClipboard_val, Val_bool) ML_2(gtk_clipboard_wait_is_rich_text_available,GtkClipboard_val, GtkTextBuffer_val, Val_bool) ML_1(gtk_clipboard_wait_is_image_available,GtkClipboard_val, Val_bool) ML_1(gtk_clipboard_wait_for_text,GtkClipboard_val, Val_string_new) ML_1(gtk_clipboard_wait_for_image,GtkClipboard_val, Val_GdkPixbuf_new) ML_1(gtk_clipboard_store,GtkClipboard_val, Unit) ML_3(gtk_clipboard_set_text,GtkClipboard_val, String_val, Int_val, Unit) ML_2(gtk_clipboard_set_image,GtkClipboard_val, GdkPixbuf_val, Unit) ML_1(gtk_clipboard_get_display,GtkClipboard_val, Val_GdkDisplay) ML_1(gtk_clipboard_clear,GtkClipboard_val, Unit) /* end of Clipboard */ /* Module CheckMenuItemPrivate */ /* end of CheckMenuItemPrivate */ /* Module CheckMenuItemClass */ /* end of CheckMenuItemClass */ /* Module CheckMenuItem */ ML_1(gtk_check_menu_item_toggled,GtkCheckMenuItem_val, Unit) ML_2(gtk_check_menu_item_set_inconsistent,GtkCheckMenuItem_val, Bool_val, Unit) ML_2(gtk_check_menu_item_set_draw_as_radio,GtkCheckMenuItem_val, Bool_val, Unit) ML_2(gtk_check_menu_item_set_active,GtkCheckMenuItem_val, Bool_val, Unit) ML_1(gtk_check_menu_item_get_inconsistent,GtkCheckMenuItem_val, Val_bool) ML_1(gtk_check_menu_item_get_draw_as_radio,GtkCheckMenuItem_val, Val_bool) ML_1(gtk_check_menu_item_get_active,GtkCheckMenuItem_val, Val_bool) /* end of CheckMenuItem */ /* Module CheckButtonClass */ /* end of CheckButtonClass */ /* Module CheckButton */ /* end of CheckButton */ /* Module CellViewPrivate */ /* end of CellViewPrivate */ /* Module CellViewClass */ /* end of CellViewClass */ /* Module CellView */ ML_2(gtk_cell_view_set_fit_model,GtkCellView_val, Bool_val, Unit) ML_2(gtk_cell_view_set_draw_sensitive,GtkCellView_val, Bool_val, Unit) ML_2(gtk_cell_view_set_displayed_row,GtkCellView_val, Option_val(arg2,GtkTreePath_val,NULL) Ignore, Unit) ML_2(gtk_cell_view_set_background_rgba,GtkCellView_val, GdkRGBA_val, Unit) ML_2(gtk_cell_view_set_background_color,GtkCellView_val, GdkColor_val, Unit) ML_1(gtk_cell_view_get_fit_model,GtkCellView_val, Val_bool) ML_1(gtk_cell_view_get_draw_sensitive,GtkCellView_val, Val_bool) ML_1(gtk_cell_view_get_displayed_row,GtkCellView_val, Val_GtkTreePath_new) /* end of CellView */ /* Module CellRendererTogglePrivate */ /* end of CellRendererTogglePrivate */ /* Module CellRendererToggleClass */ /* end of CellRendererToggleClass */ /* Module CellRendererToggle */ ML_2(gtk_cell_renderer_toggle_set_radio,GtkCellRendererToggle_val, Bool_val, Unit) ML_2(gtk_cell_renderer_toggle_set_active,GtkCellRendererToggle_val, Bool_val, Unit) ML_2(gtk_cell_renderer_toggle_set_activatable,GtkCellRendererToggle_val, Bool_val, Unit) ML_1(gtk_cell_renderer_toggle_get_radio,GtkCellRendererToggle_val, Val_bool) ML_1(gtk_cell_renderer_toggle_get_active,GtkCellRendererToggle_val, Val_bool) ML_1(gtk_cell_renderer_toggle_get_activatable,GtkCellRendererToggle_val, Val_bool) /* end of CellRendererToggle */ /* Module CellRendererTextPrivate */ /* end of CellRendererTextPrivate */ /* Module CellRendererTextClass */ /* end of CellRendererTextClass */ /* Module CellRendererText */ ML_2(gtk_cell_renderer_text_set_fixed_height_from_font,GtkCellRendererText_val, Int_val, Unit) /* end of CellRendererText */ /* Module CellRendererSpinnerPrivate */ /* end of CellRendererSpinnerPrivate */ /* Module CellRendererSpinnerClass */ /* end of CellRendererSpinnerClass */ /* Module CellRendererSpinner */ /* end of CellRendererSpinner */ /* Module CellRendererSpinPrivate */ /* end of CellRendererSpinPrivate */ /* Module CellRendererSpinClass */ /* end of CellRendererSpinClass */ /* Module CellRendererSpin */ /* end of CellRendererSpin */ /* Module CellRendererProgressPrivate */ /* end of CellRendererProgressPrivate */ /* Module CellRendererProgressClass */ /* end of CellRendererProgressClass */ /* Module CellRendererProgress */ /* end of CellRendererProgress */ /* Module CellRendererPrivate */ /* end of CellRendererPrivate */ /* Module CellRendererPixbufPrivate */ /* end of CellRendererPixbufPrivate */ /* Module CellRendererPixbufClass */ /* end of CellRendererPixbufClass */ /* Module CellRendererPixbuf */ /* end of CellRendererPixbuf */ /* Module CellRendererComboPrivate */ /* end of CellRendererComboPrivate */ /* Module CellRendererComboClass */ /* end of CellRendererComboClass */ /* Module CellRendererCombo */ /* end of CellRendererCombo */ /* Module CellRendererClass */ /* end of CellRendererClass */ /* Module CellRendererAccelPrivate */ /* end of CellRendererAccelPrivate */ /* Module CellRendererAccelClass */ /* end of CellRendererAccelClass */ /* Module CellRendererAccel */ /* end of CellRendererAccel */ /* Module CellRenderer */ ML_2(gtk_cell_renderer_stop_editing,GtkCellRenderer_val, Bool_val, Unit) ML_2(gtk_cell_renderer_set_visible,GtkCellRenderer_val, Bool_val, Unit) ML_2(gtk_cell_renderer_set_sensitive,GtkCellRenderer_val, Bool_val, Unit) ML_3(gtk_cell_renderer_set_padding,GtkCellRenderer_val, Int_val, Int_val, Unit) ML_3(gtk_cell_renderer_set_fixed_size,GtkCellRenderer_val, Int_val, Int_val, Unit) ML_1(gtk_cell_renderer_is_activatable,GtkCellRenderer_val, Val_bool) ML_1(gtk_cell_renderer_get_visible,GtkCellRenderer_val, Val_bool) ML_1(gtk_cell_renderer_get_sensitive,GtkCellRenderer_val, Val_bool) /* end of CellRenderer */ /* Module CellLayoutIface */ /* end of CellLayoutIface */ /* Module CellEditableIface */ /* end of CellEditableIface */ /* Module CellAreaPrivate */ /* end of CellAreaPrivate */ /* Module CellAreaContextPrivate */ /* end of CellAreaContextPrivate */ /* Module CellAreaContextClass */ /* end of CellAreaContextClass */ /* Module CellAreaContext */ ML_1(gtk_cell_area_context_reset,GtkCellAreaContext_val, Unit) ML_3(gtk_cell_area_context_push_preferred_width,GtkCellAreaContext_val, Int_val, Int_val, Unit) ML_3(gtk_cell_area_context_push_preferred_height,GtkCellAreaContext_val, Int_val, Int_val, Unit) ML_1(gtk_cell_area_context_get_area,GtkCellAreaContext_val, Val_GtkCellArea) ML_3(gtk_cell_area_context_allocate,GtkCellAreaContext_val, Int_val, Int_val, Unit) /* end of CellAreaContext */ /* Module CellAreaClass */ ML_3(gtk_cell_area_class_install_cell_property,GtkCellAreaClass_val, Int_val, GParamSpec_val, Unit) ML_2(gtk_cell_area_class_find_cell_property,GtkCellAreaClass_val, String_val, Val_GParamSpec) /* end of CellAreaClass */ /* Module CellAreaBoxPrivate */ /* end of CellAreaBoxPrivate */ /* Module CellAreaBoxClass */ /* end of CellAreaBoxClass */ /* Module CellAreaBox */ ML_2(gtk_cell_area_box_set_spacing,GtkCellAreaBox_val, Int_val, Unit) ML_5(gtk_cell_area_box_pack_start,GtkCellAreaBox_val, GtkCellRenderer_val, Bool_val, Bool_val, Bool_val, Unit) ML_5(gtk_cell_area_box_pack_end,GtkCellAreaBox_val, GtkCellRenderer_val, Bool_val, Bool_val, Bool_val, Unit) ML_1(gtk_cell_area_box_get_spacing,GtkCellAreaBox_val, Val_int) /* end of CellAreaBox */ /* Module CellArea */ ML_2(gtk_cell_area_stop_editing,GtkCellArea_val, Bool_val, Unit) ML_2(gtk_cell_area_set_focus_cell,GtkCellArea_val, GtkCellRenderer_val, Unit) ML_3(gtk_cell_area_remove_focus_sibling,GtkCellArea_val, GtkCellRenderer_val, GtkCellRenderer_val, Unit) ML_2(gtk_cell_area_remove,GtkCellArea_val, GtkCellRenderer_val, Unit) ML_3(gtk_cell_area_is_focus_sibling,GtkCellArea_val, GtkCellRenderer_val, GtkCellRenderer_val, Val_bool) ML_1(gtk_cell_area_is_activatable,GtkCellArea_val, Val_bool) ML_2(gtk_cell_area_has_renderer,GtkCellArea_val, GtkCellRenderer_val, Val_bool) ML_2(gtk_cell_area_get_focus_siblings,GtkCellArea_val, GtkCellRenderer_val, Val_GList) ML_2(gtk_cell_area_get_focus_from_sibling,GtkCellArea_val, GtkCellRenderer_val, Val_GtkCellRenderer) ML_1(gtk_cell_area_get_focus_cell,GtkCellArea_val, Val_GtkCellRenderer) ML_1(gtk_cell_area_get_edited_cell,GtkCellArea_val, Val_GtkCellRenderer) ML_1(gtk_cell_area_get_current_path_string,GtkCellArea_val, Val_string) ML_1(gtk_cell_area_create_context,GtkCellArea_val, Val_GtkCellAreaContext_new) ML_2(gtk_cell_area_copy_context,GtkCellArea_val, GtkCellAreaContext_val, Val_GtkCellAreaContext_new) ML_4(gtk_cell_area_cell_set_property,GtkCellArea_val, GtkCellRenderer_val, String_val, GValue_val, Unit) ML_4(gtk_cell_area_cell_get_property,GtkCellArea_val, GtkCellRenderer_val, String_val, GValue_val, Unit) ML_3(gtk_cell_area_attribute_disconnect,GtkCellArea_val, GtkCellRenderer_val, String_val, Unit) ML_4(gtk_cell_area_attribute_connect,GtkCellArea_val, GtkCellRenderer_val, String_val, Int_val, Unit) ML_3(gtk_cell_area_add_focus_sibling,GtkCellArea_val, GtkCellRenderer_val, GtkCellRenderer_val, Unit) ML_2(gtk_cell_area_add,GtkCellArea_val, GtkCellRenderer_val, Unit) /* end of CellArea */ /* Module CalendarPrivate */ /* end of CalendarPrivate */ /* Module CalendarClass */ /* end of CalendarClass */ /* Module Calendar */ ML_2(gtk_calendar_unmark_day,GtkCalendar_val, Int_val, Unit) ML_2(gtk_calendar_set_detail_width_chars,GtkCalendar_val, Int_val, Unit) ML_2(gtk_calendar_set_detail_height_rows,GtkCalendar_val, Int_val, Unit) ML_3(gtk_calendar_select_month,GtkCalendar_val, Int_val, Int_val, Unit) ML_2(gtk_calendar_select_day,GtkCalendar_val, Int_val, Unit) ML_2(gtk_calendar_mark_day,GtkCalendar_val, Int_val, Unit) ML_1(gtk_calendar_get_detail_width_chars,GtkCalendar_val, Val_int) ML_1(gtk_calendar_get_detail_height_rows,GtkCalendar_val, Val_int) ML_2(gtk_calendar_get_day_is_marked,GtkCalendar_val, Int_val, Val_bool) ML_1(gtk_calendar_clear_marks,GtkCalendar_val, Unit) /* end of Calendar */ /* Module ButtonPrivate */ /* end of ButtonPrivate */ /* Module ButtonClass */ /* end of ButtonClass */ /* Module ButtonBoxPrivate */ /* end of ButtonBoxPrivate */ /* Module ButtonBoxClass */ /* end of ButtonBoxClass */ /* Module ButtonBox */ ML_3(gtk_button_box_set_child_secondary,GtkButtonBox_val, GtkWidget_val, Bool_val, Unit) ML_2(gtk_button_box_get_child_secondary,GtkButtonBox_val, GtkWidget_val, Val_bool) /* end of ButtonBox */ /* Module Button */ ML_2(gtk_button_set_use_underline,GtkButton_val, Bool_val, Unit) ML_2(gtk_button_set_use_stock,GtkButton_val, Bool_val, Unit) ML_2(gtk_button_set_label,GtkButton_val, String_val, Unit) ML_2(gtk_button_set_image,GtkButton_val, GtkWidget_val, Unit) ML_2(gtk_button_set_focus_on_click,GtkButton_val, Bool_val, Unit) ML_1(gtk_button_released,GtkButton_val, Unit) ML_1(gtk_button_pressed,GtkButton_val, Unit) ML_1(gtk_button_leave,GtkButton_val, Unit) ML_1(gtk_button_get_use_underline,GtkButton_val, Val_bool) ML_1(gtk_button_get_use_stock,GtkButton_val, Val_bool) ML_1(gtk_button_get_label,GtkButton_val, Val_string) ML_1(gtk_button_get_image,GtkButton_val, Val_GtkWidget) ML_1(gtk_button_get_focus_on_click,GtkButton_val, Val_bool) ML_1(gtk_button_get_event_window,GtkButton_val, Val_GdkWindow) ML_1(gtk_button_enter,GtkButton_val, Unit) ML_1(gtk_button_clicked,GtkButton_val, Unit) /* end of Button */ /* Module BuilderPrivate */ /* end of BuilderPrivate */ /* Module BuilderClass */ /* end of BuilderClass */ /* Module Builder */ ML_2(gtk_builder_set_translation_domain,GtkBuilder_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_builder_get_type_from_name,GtkBuilder_val, String_val, Val_int) ML_1(gtk_builder_get_translation_domain,GtkBuilder_val, Val_string) ML_1(gtk_builder_get_objects,GtkBuilder_val, Val_GSList) /* end of Builder */ /* Module BuildableIface */ /* end of BuildableIface */ /* Module BoxPrivate */ /* end of BoxPrivate */ /* Module BoxClass */ /* end of BoxClass */ /* Module Box */ ML_2(gtk_box_set_spacing,GtkBox_val, Int_val, Unit) ML_2(gtk_box_set_homogeneous,GtkBox_val, Bool_val, Unit) ML_3(gtk_box_reorder_child,GtkBox_val, GtkWidget_val, Int_val, Unit) ML_5(gtk_box_pack_start,GtkBox_val, GtkWidget_val, Bool_val, Bool_val, Int_val, Unit) ML_5(gtk_box_pack_end,GtkBox_val, GtkWidget_val, Bool_val, Bool_val, Int_val, Unit) ML_1(gtk_box_get_spacing,GtkBox_val, Val_int) ML_1(gtk_box_get_homogeneous,GtkBox_val, Val_bool) /* end of Box */ /* Module Border */ ML_1(gtk_border_free,GtkBorder_val, Unit) ML_1(gtk_border_copy,GtkBorder_val, Val_GtkBorder_new) /* end of Border */ /* Module BindingSignal */ /* end of BindingSignal */ /* Module BindingSet */ /* end of BindingSet */ /* Module BindingEntry */ /* end of BindingEntry */ /* Module BindingArg */ /* end of BindingArg */ /* Module BinPrivate */ /* end of BinPrivate */ /* Module BinClass */ /* end of BinClass */ /* Module Bin */ ML_1(gtk_bin_get_child,GtkBin_val, Val_GtkWidget) /* end of Bin */ /* Module AssistantPrivate */ /* end of AssistantPrivate */ /* Module AssistantClass */ /* end of AssistantClass */ /* Module Assistant */ ML_1(gtk_assistant_update_buttons_state,GtkAssistant_val, Unit) ML_3(gtk_assistant_set_page_title,GtkAssistant_val, GtkWidget_val, String_val, Unit) ML_3(gtk_assistant_set_page_side_image,GtkAssistant_val, GtkWidget_val, Option_val(arg3,GdkPixbuf_val,NULL) Ignore, Unit) ML_3(gtk_assistant_set_page_header_image,GtkAssistant_val, GtkWidget_val, Option_val(arg3,GdkPixbuf_val,NULL) Ignore, Unit) ML_3(gtk_assistant_set_page_complete,GtkAssistant_val, GtkWidget_val, Bool_val, Unit) ML_2(gtk_assistant_set_current_page,GtkAssistant_val, Int_val, Unit) ML_2(gtk_assistant_remove_action_widget,GtkAssistant_val, GtkWidget_val, Unit) ML_1(gtk_assistant_previous_page,GtkAssistant_val, Unit) ML_2(gtk_assistant_prepend_page,GtkAssistant_val, GtkWidget_val, Val_int) ML_1(gtk_assistant_next_page,GtkAssistant_val, Unit) ML_3(gtk_assistant_insert_page,GtkAssistant_val, GtkWidget_val, Int_val, Val_int) ML_2(gtk_assistant_get_page_title,GtkAssistant_val, GtkWidget_val, Val_string) ML_2(gtk_assistant_get_page_side_image,GtkAssistant_val, GtkWidget_val, Val_GdkPixbuf) ML_2(gtk_assistant_get_page_header_image,GtkAssistant_val, GtkWidget_val, Val_GdkPixbuf) ML_2(gtk_assistant_get_page_complete,GtkAssistant_val, GtkWidget_val, Val_bool) ML_2(gtk_assistant_get_nth_page,GtkAssistant_val, Int_val, Val_GtkWidget) ML_1(gtk_assistant_get_n_pages,GtkAssistant_val, Val_int) ML_1(gtk_assistant_get_current_page,GtkAssistant_val, Val_int) ML_1(gtk_assistant_commit,GtkAssistant_val, Unit) ML_2(gtk_assistant_append_page,GtkAssistant_val, GtkWidget_val, Val_int) ML_2(gtk_assistant_add_action_widget,GtkAssistant_val, GtkWidget_val, Unit) /* end of Assistant */ /* Module AspectFramePrivate */ /* end of AspectFramePrivate */ /* Module AspectFrameClass */ /* end of AspectFrameClass */ /* Module AspectFrame */ /* end of AspectFrame */ /* Module ArrowPrivate */ /* end of ArrowPrivate */ /* Module ArrowClass */ /* end of ArrowClass */ /* Module Arrow */ /* end of Arrow */ /* Module ApplicationPrivate */ /* end of ApplicationPrivate */ /* Module ApplicationClass */ /* end of ApplicationClass */ /* Module Application */ ML_2(gtk_application_remove_window,GtkApplication_val, GtkWindow_val, Unit) ML_1(gtk_application_get_windows,GtkApplication_val, Val_GList) ML_2(gtk_application_add_window,GtkApplication_val, GtkWindow_val, Unit) /* end of Application */ /* Module AppChooserWidgetPrivate */ /* end of AppChooserWidgetPrivate */ /* Module AppChooserWidgetClass */ /* end of AppChooserWidgetClass */ /* Module AppChooserWidget */ ML_2(gtk_app_chooser_widget_set_show_recommended,GtkAppChooserWidget_val, Bool_val, Unit) ML_2(gtk_app_chooser_widget_set_show_other,GtkAppChooserWidget_val, Bool_val, Unit) ML_2(gtk_app_chooser_widget_set_show_fallback,GtkAppChooserWidget_val, Bool_val, Unit) ML_2(gtk_app_chooser_widget_set_show_default,GtkAppChooserWidget_val, Bool_val, Unit) ML_2(gtk_app_chooser_widget_set_show_all,GtkAppChooserWidget_val, Bool_val, Unit) ML_2(gtk_app_chooser_widget_set_default_text,GtkAppChooserWidget_val, String_val, Unit) ML_1(gtk_app_chooser_widget_get_show_recommended,GtkAppChooserWidget_val, Val_bool) ML_1(gtk_app_chooser_widget_get_show_other,GtkAppChooserWidget_val, Val_bool) ML_1(gtk_app_chooser_widget_get_show_fallback,GtkAppChooserWidget_val, Val_bool) ML_1(gtk_app_chooser_widget_get_show_default,GtkAppChooserWidget_val, Val_bool) ML_1(gtk_app_chooser_widget_get_show_all,GtkAppChooserWidget_val, Val_bool) ML_1(gtk_app_chooser_widget_get_default_text,GtkAppChooserWidget_val, Val_string) /* end of AppChooserWidget */ /* Module AppChooserDialogPrivate */ /* end of AppChooserDialogPrivate */ /* Module AppChooserDialogClass */ /* end of AppChooserDialogClass */ /* Module AppChooserDialog */ ML_2(gtk_app_chooser_dialog_set_heading,GtkAppChooserDialog_val, String_val, Unit) ML_1(gtk_app_chooser_dialog_get_widget,GtkAppChooserDialog_val, Val_GtkWidget) ML_1(gtk_app_chooser_dialog_get_heading,GtkAppChooserDialog_val, Val_string) /* end of AppChooserDialog */ /* Module AppChooserButtonPrivate */ /* end of AppChooserButtonPrivate */ /* Module AppChooserButtonClass */ /* end of AppChooserButtonClass */ /* Module AppChooserButton */ ML_2(gtk_app_chooser_button_set_show_dialog_item,GtkAppChooserButton_val, Bool_val, Unit) ML_2(gtk_app_chooser_button_set_heading,GtkAppChooserButton_val, String_val, Unit) ML_2(gtk_app_chooser_button_set_active_custom_item,GtkAppChooserButton_val, String_val, Unit) ML_1(gtk_app_chooser_button_get_show_dialog_item,GtkAppChooserButton_val, Val_bool) ML_1(gtk_app_chooser_button_get_heading,GtkAppChooserButton_val, Val_string) ML_1(gtk_app_chooser_button_append_separator,GtkAppChooserButton_val, Unit) /* end of AppChooserButton */ /* Module AlignmentPrivate */ /* end of AlignmentPrivate */ /* Module AlignmentClass */ /* end of AlignmentClass */ /* Module Alignment */ ML_5(gtk_alignment_set_padding,GtkAlignment_val, Int_val, Int_val, Int_val, Int_val, Unit) /* end of Alignment */ /* Module AdjustmentPrivate */ /* end of AdjustmentPrivate */ /* Module AdjustmentClass */ /* end of AdjustmentClass */ /* Module Adjustment */ ML_1(gtk_adjustment_value_changed,GtkAdjustment_val, Unit) ML_2(gtk_adjustment_set_value,GtkAdjustment_val, Double_val, Unit) ML_2(gtk_adjustment_set_upper,GtkAdjustment_val, Double_val, Unit) ML_2(gtk_adjustment_set_step_increment,GtkAdjustment_val, Double_val, Unit) ML_2(gtk_adjustment_set_page_size,GtkAdjustment_val, Double_val, Unit) ML_2(gtk_adjustment_set_page_increment,GtkAdjustment_val, Double_val, Unit) ML_2(gtk_adjustment_set_lower,GtkAdjustment_val, Double_val, Unit) ML_1(gtk_adjustment_get_value,GtkAdjustment_val, Val_double) ML_1(gtk_adjustment_get_upper,GtkAdjustment_val, Val_double) ML_1(gtk_adjustment_get_step_increment,GtkAdjustment_val, Val_double) ML_1(gtk_adjustment_get_page_size,GtkAdjustment_val, Val_double) ML_1(gtk_adjustment_get_page_increment,GtkAdjustment_val, Val_double) ML_1(gtk_adjustment_get_lower,GtkAdjustment_val, Val_double) ML_7(gtk_adjustment_configure,GtkAdjustment_val, Double_val, Double_val, Double_val, Double_val, Double_val, Double_val, Unit) ML_bc7(ml_gtk_adjustment_configure) ML_3(gtk_adjustment_clamp_page,GtkAdjustment_val, Double_val, Double_val, Unit) ML_1(gtk_adjustment_changed,GtkAdjustment_val, Unit) /* end of Adjustment */ /* Module ActivatableIface */ /* end of ActivatableIface */ /* Module ActionPrivate */ /* end of ActionPrivate */ /* Module ActionGroupPrivate */ /* end of ActionGroupPrivate */ /* Module ActionGroupClass */ /* end of ActionGroupClass */ /* Module ActionGroup */ ML_2(gtk_action_group_translate_string,GtkActionGroup_val, String_val, Val_string) ML_2(gtk_action_group_set_visible,GtkActionGroup_val, Bool_val, Unit) ML_2(gtk_action_group_set_translation_domain,GtkActionGroup_val, String_val, Unit) ML_2(gtk_action_group_set_sensitive,GtkActionGroup_val, Bool_val, Unit) ML_2(gtk_action_group_remove_action,GtkActionGroup_val, GtkAction_val, Unit) ML_1(gtk_action_group_list_actions,GtkActionGroup_val, Val_GList) ML_1(gtk_action_group_get_visible,GtkActionGroup_val, Val_bool) ML_1(gtk_action_group_get_sensitive,GtkActionGroup_val, Val_bool) ML_1(gtk_action_group_get_name,GtkActionGroup_val, Val_string) ML_2(gtk_action_group_get_action,GtkActionGroup_val, String_val, Val_GtkAction) ML_3(gtk_action_group_add_action_with_accel,GtkActionGroup_val, GtkAction_val, Option_val(arg3,String_val,NULL) Ignore, Unit) ML_2(gtk_action_group_add_action,GtkActionGroup_val, GtkAction_val, Unit) /* end of ActionGroup */ /* Module ActionEntry */ /* end of ActionEntry */ /* Module ActionClass */ /* end of ActionClass */ /* Module Action */ ML_1(gtk_action_unblock_activate,GtkAction_val, Unit) ML_2(gtk_action_set_visible_vertical,GtkAction_val, Bool_val, Unit) ML_2(gtk_action_set_visible_horizontal,GtkAction_val, Bool_val, Unit) ML_2(gtk_action_set_visible,GtkAction_val, Bool_val, Unit) ML_2(gtk_action_set_tooltip,GtkAction_val, String_val, Unit) ML_2(gtk_action_set_stock_id,GtkAction_val, String_val, Unit) ML_2(gtk_action_set_short_label,GtkAction_val, String_val, Unit) ML_2(gtk_action_set_sensitive,GtkAction_val, Bool_val, Unit) ML_2(gtk_action_set_label,GtkAction_val, String_val, Unit) ML_2(gtk_action_set_is_important,GtkAction_val, Bool_val, Unit) ML_2(gtk_action_set_icon_name,GtkAction_val, String_val, Unit) ML_2(gtk_action_set_always_show_image,GtkAction_val, Bool_val, Unit) ML_2(gtk_action_set_accel_path,GtkAction_val, String_val, Unit) ML_2(gtk_action_set_accel_group,GtkAction_val, Option_val(arg2,GtkAccelGroup_val,NULL) Ignore, Unit) ML_1(gtk_action_is_visible,GtkAction_val, Val_bool) ML_1(gtk_action_is_sensitive,GtkAction_val, Val_bool) ML_1(gtk_action_get_visible_vertical,GtkAction_val, Val_bool) ML_1(gtk_action_get_visible_horizontal,GtkAction_val, Val_bool) ML_1(gtk_action_get_visible,GtkAction_val, Val_bool) ML_1(gtk_action_get_tooltip,GtkAction_val, Val_string) ML_1(gtk_action_get_stock_id,GtkAction_val, Val_string) ML_1(gtk_action_get_short_label,GtkAction_val, Val_string) ML_1(gtk_action_get_sensitive,GtkAction_val, Val_bool) ML_1(gtk_action_get_proxies,GtkAction_val, Val_GSList) ML_1(gtk_action_get_name,GtkAction_val, Val_string) ML_1(gtk_action_get_label,GtkAction_val, Val_string) ML_1(gtk_action_get_is_important,GtkAction_val, Val_bool) ML_1(gtk_action_get_icon_name,GtkAction_val, Val_string) ML_1(gtk_action_get_always_show_image,GtkAction_val, Val_bool) ML_1(gtk_action_get_accel_path,GtkAction_val, Val_string) ML_1(gtk_action_get_accel_closure,GtkAction_val, Val_GClosure) ML_1(gtk_action_disconnect_accelerator,GtkAction_val, Unit) ML_1(gtk_action_create_tool_item,GtkAction_val, Val_GtkWidget) ML_1(gtk_action_create_menu_item,GtkAction_val, Val_GtkWidget) ML_1(gtk_action_create_menu,GtkAction_val, Val_GtkWidget) ML_1(gtk_action_connect_accelerator,GtkAction_val, Unit) ML_1(gtk_action_block_activate,GtkAction_val, Unit) ML_1(gtk_action_activate,GtkAction_val, Unit) /* end of Action */ /* Module AccessiblePrivate */ /* end of AccessiblePrivate */ /* Module AccessibleClass */ /* end of AccessibleClass */ /* Module Accessible */ ML_2(gtk_accessible_set_widget,GtkAccessible_val, GtkWidget_val, Unit) ML_1(gtk_accessible_get_widget,GtkAccessible_val, Val_GtkWidget) ML_1(gtk_accessible_connect_widget_destroyed,GtkAccessible_val, Unit) /* end of Accessible */ /* Module AccelMapClass */ /* end of AccelMapClass */ /* Module AccelMap */ ML_1(gtk_accel_map_unlock_path,String_val, Unit) ML_1(gtk_accel_map_save_fd,Int_val, Unit) ML_1(gtk_accel_map_lock_path,String_val, Unit) ML_1(gtk_accel_map_load_scanner,GScanner_val, Unit) ML_1(gtk_accel_map_load_fd,Int_val, Unit) ML_0(gtk_accel_map_get,Val_GtkAccelMap) ML_1(gtk_accel_map_add_filter,String_val, Unit) /* end of AccelMap */ /* Module AccelLabelPrivate */ /* end of AccelLabelPrivate */ /* Module AccelLabelClass */ /* end of AccelLabelClass */ /* Module AccelLabel */ ML_2(gtk_accel_label_set_accel_widget,GtkAccelLabel_val, GtkWidget_val, Unit) ML_2(gtk_accel_label_set_accel_closure,GtkAccelLabel_val, GClosure_val, Unit) ML_1(gtk_accel_label_refetch,GtkAccelLabel_val, Val_bool) ML_1(gtk_accel_label_get_accel_width,GtkAccelLabel_val, Val_int) ML_1(gtk_accel_label_get_accel_widget,GtkAccelLabel_val, Val_GtkWidget) /* end of AccelLabel */ /* Module AccelKey */ /* end of AccelKey */ /* Module AccelGroupPrivate */ /* end of AccelGroupPrivate */ /* Module AccelGroupEntry */ /* end of AccelGroupEntry */ /* Module AccelGroupClass */ /* end of AccelGroupClass */ /* Module AccelGroup */ ML_1(gtk_accel_group_unlock,GtkAccelGroup_val, Unit) ML_1(gtk_accel_group_lock,GtkAccelGroup_val, Unit) ML_1(gtk_accel_group_get_is_locked,GtkAccelGroup_val, Val_bool) ML_2(gtk_accel_group_disconnect,GtkAccelGroup_val, Option_val(arg2,GClosure_val,NULL) Ignore, Val_bool) ML_3(gtk_accel_group_connect_by_path,GtkAccelGroup_val, String_val, GClosure_val, Unit) ML_1(gtk_accel_group_from_accel_closure,GClosure_val, Val_GtkAccelGroup) /* end of AccelGroup */ /* Module AboutDialogPrivate */ /* end of AboutDialogPrivate */ /* Module AboutDialogClass */ /* end of AboutDialogClass */ /* Module AboutDialog */ ML_2(gtk_about_dialog_set_wrap_license,GtkAboutDialog_val, Bool_val, Unit) ML_2(gtk_about_dialog_set_website_label,GtkAboutDialog_val, String_val, Unit) ML_2(gtk_about_dialog_set_website,GtkAboutDialog_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_about_dialog_set_version,GtkAboutDialog_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_about_dialog_set_translator_credits,GtkAboutDialog_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_about_dialog_set_program_name,GtkAboutDialog_val, String_val, Unit) ML_2(gtk_about_dialog_set_logo_icon_name,GtkAboutDialog_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_about_dialog_set_logo,GtkAboutDialog_val, Option_val(arg2,GdkPixbuf_val,NULL) Ignore, Unit) ML_2(gtk_about_dialog_set_license,GtkAboutDialog_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_2(gtk_about_dialog_set_copyright,GtkAboutDialog_val, String_val, Unit) ML_2(gtk_about_dialog_set_comments,GtkAboutDialog_val, Option_val(arg2,String_val,NULL) Ignore, Unit) ML_1(gtk_about_dialog_get_wrap_license,GtkAboutDialog_val, Val_bool) ML_1(gtk_about_dialog_get_website_label,GtkAboutDialog_val, Val_string) ML_1(gtk_about_dialog_get_website,GtkAboutDialog_val, Val_string) ML_1(gtk_about_dialog_get_version,GtkAboutDialog_val, Val_string) ML_1(gtk_about_dialog_get_translator_credits,GtkAboutDialog_val, Val_string) ML_1(gtk_about_dialog_get_program_name,GtkAboutDialog_val, Val_string) ML_1(gtk_about_dialog_get_logo_icon_name,GtkAboutDialog_val, Val_string) ML_1(gtk_about_dialog_get_logo,GtkAboutDialog_val, Val_GdkPixbuf) ML_1(gtk_about_dialog_get_license,GtkAboutDialog_val, Val_string) ML_1(gtk_about_dialog_get_copyright,GtkAboutDialog_val, Val_string) ML_1(gtk_about_dialog_get_comments,GtkAboutDialog_val, Val_string) /* end of AboutDialog */ /* Global functions */ ML_0(gtk_true,Val_bool) ML_2(gtk_test_text_set,GtkWidget_val, String_val, Unit) ML_1(gtk_test_text_get,GtkWidget_val, Val_string_new) ML_3(gtk_test_spin_button_click,GtkSpinButton_val, Int_val, Bool_val, Val_bool) ML_2(gtk_test_slider_set_perc,GtkWidget_val, Double_val, Unit) ML_1(gtk_test_slider_get_value,GtkWidget_val, Val_double) ML_0(gtk_test_register_all_types,Unit) ML_3(gtk_test_find_widget,GtkWidget_val, String_val, Int_val, Val_GtkWidget) ML_2(gtk_test_find_sibling,GtkWidget_val, Int_val, Val_GtkWidget) ML_2(gtk_test_find_label,GtkWidget_val, String_val, Val_GtkWidget) ML_2(gtk_test_create_simple_window,String_val, String_val, Val_GtkWidget) ML_0(gtk_stock_list_ids,Val_GSList_new) ML_1(gtk_set_debug_flags,Int_val, Unit) ML_1(gtk_selection_remove_all,GtkWidget_val, Unit) ML_6(gtk_render_option,GtkStyleContext_val, cairo_t_val, Double_val, Double_val, Double_val, Double_val, Unit) ML_bc6(ml_gtk_render_option) ML_6(gtk_render_line,GtkStyleContext_val, cairo_t_val, Double_val, Double_val, Double_val, Double_val, Unit) ML_bc6(ml_gtk_render_line) ML_5(gtk_render_layout,GtkStyleContext_val, cairo_t_val, Double_val, Double_val, PangoLayout_val, Unit) ML_6(gtk_render_handle,GtkStyleContext_val, cairo_t_val, Double_val, Double_val, Double_val, Double_val, Unit) ML_bc6(ml_gtk_render_handle) ML_6(gtk_render_frame,GtkStyleContext_val, cairo_t_val, Double_val, Double_val, Double_val, Double_val, Unit) ML_bc6(ml_gtk_render_frame) ML_6(gtk_render_focus,GtkStyleContext_val, cairo_t_val, Double_val, Double_val, Double_val, Double_val, Unit) ML_bc6(ml_gtk_render_focus) ML_6(gtk_render_expander,GtkStyleContext_val, cairo_t_val, Double_val, Double_val, Double_val, Double_val, Unit) ML_bc6(ml_gtk_render_expander) ML_6(gtk_render_check,GtkStyleContext_val, cairo_t_val, Double_val, Double_val, Double_val, Double_val, Unit) ML_bc6(ml_gtk_render_check) ML_6(gtk_render_background,GtkStyleContext_val, cairo_t_val, Double_val, Double_val, Double_val, Double_val, Unit) ML_bc6(ml_gtk_render_background) ML_6(gtk_render_arrow,GtkStyleContext_val, cairo_t_val, Double_val, Double_val, Double_val, Double_val, Unit) ML_bc6(ml_gtk_render_arrow) ML_6(gtk_render_activity,GtkStyleContext_val, cairo_t_val, Double_val, Double_val, Double_val, Double_val, Unit) ML_bc6(ml_gtk_render_activity) ML_0(gtk_recent_manager_error_quark,Val_int32) ML_0(gtk_recent_chooser_error_quark,Val_int32) ML_0(gtk_rc_scanner_new,Val_GScanner) ML_1(gtk_rc_reset_styles,GtkSettings_val, Unit) ML_2(gtk_rc_reparse_all_for_settings,GtkSettings_val, Bool_val, Val_bool) ML_0(gtk_rc_reparse_all,Val_bool) ML_3(gtk_rc_property_parse_requisition,GParamSpec_val, GString_val, GValue_val, Val_bool) ML_3(gtk_rc_property_parse_flags,GParamSpec_val, GString_val, GValue_val, Val_bool) ML_3(gtk_rc_property_parse_enum,GParamSpec_val, GString_val, GValue_val, Val_bool) ML_3(gtk_rc_property_parse_color,GParamSpec_val, GString_val, GValue_val, Val_bool) ML_3(gtk_rc_property_parse_border,GParamSpec_val, GString_val, GValue_val, Val_bool) ML_1(gtk_rc_parse_string,String_val, Unit) ML_1(gtk_rc_parse,String_val, Unit) ML_0(gtk_rc_get_theme_dir,Val_string_new) ML_4(gtk_rc_get_style_by_paths,GtkSettings_val, Option_val(arg2,String_val,NULL) Ignore, Option_val(arg3,String_val,NULL) Ignore, Int_val, Val_GtkStyle) ML_1(gtk_rc_get_style,GtkWidget_val, Val_GtkStyle) ML_3(gtk_print_run_page_setup_dialog,Option_val(arg1,GtkWindow_val,NULL) Ignore, Option_val(arg2,GtkPageSetup_val,NULL) Ignore, GtkPrintSettings_val, Val_GtkPageSetup_new) ML_0(gtk_print_error_quark,Val_int32) ML_1(gtk_paper_size_get_paper_sizes,Bool_val, Val_GList_new) ML_0(gtk_paper_size_get_default,Val_string) ML_0(gtk_main_quit,Unit) ML_0(gtk_main_level,Val_int) ML_1(gtk_main_iteration_do,Bool_val, Val_bool) ML_0(gtk_main_iteration,Val_bool) ML_0(gtk_main,Unit) ML_1(gtk_key_snooper_remove,Int_val, Unit) ML_0(gtk_icon_theme_error_quark,Val_int32) ML_0(gtk_grab_get_current,Val_GtkWidget) ML_1(gtk_get_option_group,Bool_val, Val_GOptionGroup) ML_0(gtk_get_minor_version,Val_int) ML_0(gtk_get_micro_version,Val_int) ML_0(gtk_get_major_version,Val_int) ML_0(gtk_get_interface_age,Val_int) ML_0(gtk_get_default_language,Val_PangoLanguage_new) ML_0(gtk_get_debug_flags,Val_int) ML_0(gtk_get_current_event_time,Val_int32) ML_0(gtk_get_current_event_device,Val_GdkDevice) ML_0(gtk_get_binary_age,Val_int) ML_0(gtk_file_chooser_error_quark,Val_int32) ML_0(gtk_false,Val_bool) ML_0(gtk_events_pending,Val_bool) ML_4(gtk_drag_set_icon_widget,GdkDragContext_val, GtkWidget_val, Int_val, Int_val, Unit) ML_2(gtk_drag_set_icon_surface,GdkDragContext_val, cairo_surface_t_val, Unit) ML_4(gtk_drag_set_icon_stock,GdkDragContext_val, String_val, Int_val, Int_val, Unit) ML_4(gtk_drag_set_icon_pixbuf,GdkDragContext_val, GdkPixbuf_val, Int_val, Int_val, Unit) ML_4(gtk_drag_set_icon_name,GdkDragContext_val, String_val, Int_val, Int_val, Unit) ML_1(gtk_drag_set_icon_default,GdkDragContext_val, Unit) ML_1(gtk_drag_get_source_widget,GdkDragContext_val, Val_GtkWidget) ML_4(gtk_drag_finish,GdkDragContext_val, Bool_val, Bool_val, Int32_val, Unit) ML_3(gtk_distribute_natural_allocation,Int_val, Int_val, GtkRequestedSize_val, Val_int) ML_0(gtk_disable_setlocale,Unit) ML_2(gtk_device_grab_remove,GtkWidget_val, GdkDevice_val, Unit) ML_3(gtk_device_grab_add,GtkWidget_val, GdkDevice_val, Bool_val, Unit) ML_0(gtk_css_provider_error_quark,Val_int32) ML_3(gtk_check_version,Int_val, Int_val, Int_val, Val_string) ML_3(gtk_cairo_transform_to_window,cairo_t_val, GtkWidget_val, GdkWindow_val, Unit) ML_2(gtk_cairo_should_draw_window,cairo_t_val, GdkWindow_val, Val_bool) ML_0(gtk_builder_error_quark,Val_int32) ML_1(gtk_binding_set_new,String_val, Val_GtkBindingSet_new) ML_1(gtk_binding_set_find,String_val, Val_GtkBindingSet) ML_1(gtk_alternative_dialog_button_order,Option_val(arg1,GdkScreen_val,NULL) Ignore, Val_bool) /* End of global functions */ lablgtk-3.1.2/tools/introspection/stubs/ml_stubs_Pango.c0000644000650106067230000034106614161276610022332 0ustar glondused#include #include #define Val_double(val) caml_copy_double(val) #define Val_string_new(val) caml_copy_string(val) #define Val_int32(val) caml_copy_int32(val) #define Val_int32_new(val) caml_copy_int32(val) /*TODO: conversion for record 'GAllocator' */ /*TODO: conversion for record 'GArray' */ /*TODO: conversion for record 'GAsyncQueue' */ /*TODO: conversion for record 'GBookmarkFile' */ /*TODO: conversion for record 'GByteArray' */ /*TODO: conversion for record 'GCache' */ /*TODO: conversion for record 'GChecksum' */ /*TODO: conversion for record 'GCompletion' */ /*TODO: conversion for record 'GCond' */ /*TODO: conversion for record 'GData' */ /*TODO: conversion for record 'GDate' */ /*TODO: conversion for record 'GDateTime' */ /*TODO: conversion for record 'GDebugKey' */ /*TODO: conversion for record 'GDir' */ /*TODO: conversion for record 'GError' */ /*TODO: conversion for record 'GHashTable' */ /*TODO: conversion for record 'GHashTableIter' */ /*TODO: conversion for record 'GHook' */ /*TODO: conversion for record 'GHookList' */ /*TODO: conversion for record 'GIConv' */ /*TODO: conversion for record 'GIOChannel' */ /*TODO: conversion for record 'GIOFuncs' */ /*TODO: conversion for record 'GKeyFile' */ /*TODO: conversion for record 'GList' */ /*TODO: conversion for record 'GMainContext' */ /*TODO: conversion for record 'GMainLoop' */ /*TODO: conversion for record 'GMappedFile' */ /*TODO: conversion for record 'GMarkupParseContext' */ /*TODO: conversion for record 'GMarkupParser' */ /*TODO: conversion for record 'GMatchInfo' */ /*TODO: conversion for record 'GMemChunk' */ /*TODO: conversion for record 'GMemVTable' */ /*TODO: conversion for record 'GMutex' */ /*TODO: conversion for record 'GNode' */ /*TODO: conversion for record 'GOnce' */ /*TODO: conversion for record 'GOptionContext' */ /*TODO: conversion for record 'GOptionEntry' */ /*TODO: conversion for record 'GOptionGroup' */ /*TODO: conversion for record 'GPatternSpec' */ /*TODO: conversion for record 'GPollFD' */ /*TODO: conversion for record 'GPrivate' */ /*TODO: conversion for record 'GPtrArray' */ /*TODO: conversion for record 'GQueue' */ /*TODO: conversion for record 'GRand' */ /*TODO: conversion for record 'GRegex' */ /*TODO: conversion for record 'GRelation' */ /*TODO: conversion for record 'GSList' */ /*TODO: conversion for record 'GScanner' */ /*TODO: conversion for record 'GScannerConfig' */ /*TODO: conversion for record 'GSequence' */ /*TODO: conversion for record 'GSequenceIter' */ /*TODO: conversion for record 'GSource' */ /*TODO: conversion for record 'GSourceCallbackFuncs' */ /*TODO: conversion for record 'GSourceFuncs' */ /*TODO: conversion for record 'GSourcePrivate' */ /*TODO: conversion for record 'GStatBuf' */ /*TODO: conversion for record 'GStaticMutex' */ /*TODO: conversion for record 'GStaticPrivate' */ /*TODO: conversion for record 'GStaticRWLock' */ /*TODO: conversion for record 'GStaticRecMutex' */ /*TODO: conversion for record 'GString' */ /*TODO: conversion for record 'GStringChunk' */ /*TODO: conversion for record 'GTestCase' */ /*TODO: conversion for record 'GTestConfig' */ /*TODO: conversion for record 'GTestLogBuffer' */ /*TODO: conversion for record 'GTestLogMsg' */ /*TODO: conversion for record 'GTestSuite' */ /*TODO: conversion for record 'GThread' */ /*TODO: conversion for record 'GThreadFunctions' */ /*TODO: conversion for record 'GThreadPool' */ /*TODO: conversion for record 'GTimeVal' */ /*TODO: conversion for record 'GTimeZone' */ /*TODO: conversion for record 'GTimer' */ /*TODO: conversion for record 'GTrashStack' */ /*TODO: conversion for record 'GTree' */ /*TODO: conversion for record 'GTuples' */ /*TODO: conversion for record 'GVariant' */ /*TODO: conversion for record 'GVariantBuilder' */ /*TODO: conversion for record 'GVariantIter' */ /*TODO: conversion for record 'GVariantType' */ #define GBinding_val(val) check_cast(G_BINDING,val) #define Val_GBinding(val) Val_GObject((GObject*)val) #define Val_GBinding_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCClosure' */ /*TODO: conversion for record 'GClosure' */ /*TODO: conversion for record 'GClosureNotifyData' */ /*TODO: conversion for record 'GEnumClass' */ /*TODO: conversion for record 'GEnumValue' */ /*TODO: conversion for record 'GFlagsClass' */ /*TODO: conversion for record 'GFlagsValue' */ /*TODO: conversion for record 'GInitiallyUnownedClass' */ /*TODO: conversion for record 'GInterfaceInfo' */ /*TODO: conversion for record 'GObjectClass' */ /*TODO: conversion for record 'GObjectConstructParam' */ /*TODO: conversion for record 'GParamSpec' */ /*TODO: conversion for record 'GParamSpecBoolean' */ /*TODO: conversion for record 'GParamSpecBoxed' */ /*TODO: conversion for record 'GParamSpecChar' */ /*TODO: conversion for record 'GParamSpecClass' */ /*TODO: conversion for record 'GParamSpecDouble' */ /*TODO: conversion for record 'GParamSpecEnum' */ /*TODO: conversion for record 'GParamSpecFlags' */ /*TODO: conversion for record 'GParamSpecFloat' */ /*TODO: conversion for record 'GParamSpecGType' */ /*TODO: conversion for record 'GParamSpecInt' */ /*TODO: conversion for record 'GParamSpecInt64' */ /*TODO: conversion for record 'GParamSpecLong' */ /*TODO: conversion for record 'GParamSpecObject' */ /*TODO: conversion for record 'GParamSpecOverride' */ /*TODO: conversion for record 'GParamSpecParam' */ /*TODO: conversion for record 'GParamSpecPointer' */ /*TODO: conversion for record 'GParamSpecPool' */ /*TODO: conversion for record 'GParamSpecString' */ /*TODO: conversion for record 'GParamSpecTypeInfo' */ /*TODO: conversion for record 'GParamSpecUChar' */ /*TODO: conversion for record 'GParamSpecUInt' */ /*TODO: conversion for record 'GParamSpecUInt64' */ /*TODO: conversion for record 'GParamSpecULong' */ /*TODO: conversion for record 'GParamSpecUnichar' */ /*TODO: conversion for record 'GParamSpecValueArray' */ /*TODO: conversion for record 'GParamSpecVariant' */ /*TODO: conversion for record 'GParameter' */ /*TODO: conversion for record 'GSignalInvocationHint' */ /*TODO: conversion for record 'GSignalQuery' */ /*TODO: conversion for record 'GTypeClass' */ /*TODO: conversion for record 'GTypeFundamentalInfo' */ /*TODO: conversion for record 'GTypeInfo' */ /*TODO: conversion for record 'GTypeInstance' */ /*TODO: conversion for record 'GTypeInterface' */ #define GTypeModule_val(val) check_cast(G_TYPE_MODULE,val) #define Val_GTypeModule(val) Val_GObject((GObject*)val) #define Val_GTypeModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTypeModuleClass' */ /*TODO: conversion for record 'GTypePluginClass' */ /*TODO: conversion for record 'GTypeQuery' */ /*TODO: conversion for record 'GTypeValueTable' */ /*TODO: conversion for record 'GValue' */ /*TODO: conversion for record 'GValueArray' */ /*TODO: conversion for record 'AtkActionIface' */ /*TODO: conversion for record 'AtkAttribute' */ /*TODO: conversion for record 'AtkComponentIface' */ /*TODO: conversion for record 'AtkDocumentIface' */ /*TODO: conversion for record 'AtkEditableTextIface' */ #define AtkGObjectAccessible_val(val) check_cast(ATK_G_OBJECT_ACCESSIBLE,val) #define Val_AtkGObjectAccessible(val) Val_GObject((GObject*)val) #define Val_AtkGObjectAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkGObjectAccessibleClass' */ #define AtkHyperlink_val(val) check_cast(ATK_HYPERLINK,val) #define Val_AtkHyperlink(val) Val_GObject((GObject*)val) #define Val_AtkHyperlink_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkHyperlinkClass' */ /*TODO: conversion for record 'AtkHyperlinkImplIface' */ /*TODO: conversion for record 'AtkHypertextIface' */ /*TODO: conversion for record 'AtkImageIface' */ /*TODO: conversion for record 'AtkImplementor' */ /*TODO: conversion for record 'AtkKeyEventStruct' */ #define AtkMisc_val(val) check_cast(ATK_MISC,val) #define Val_AtkMisc(val) Val_GObject((GObject*)val) #define Val_AtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkMiscClass' */ #define AtkNoOpObject_val(val) check_cast(ATK_NO_OP_OBJECT,val) #define Val_AtkNoOpObject(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectClass' */ #define AtkNoOpObjectFactory_val(val) check_cast(ATK_NO_OP_OBJECT_FACTORY,val) #define Val_AtkNoOpObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectFactoryClass' */ #define AtkObject_val(val) check_cast(ATK_OBJECT,val) #define Val_AtkObject(val) Val_GObject((GObject*)val) #define Val_AtkObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectClass' */ #define AtkObjectFactory_val(val) check_cast(ATK_OBJECT_FACTORY,val) #define Val_AtkObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectFactoryClass' */ #define AtkPlug_val(val) check_cast(ATK_PLUG,val) #define Val_AtkPlug(val) Val_GObject((GObject*)val) #define Val_AtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkPlugClass' */ /*TODO: conversion for record 'AtkRectangle' */ #define AtkRelation_val(val) check_cast(ATK_RELATION,val) #define Val_AtkRelation(val) Val_GObject((GObject*)val) #define Val_AtkRelation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationClass' */ #define AtkRelationSet_val(val) check_cast(ATK_RELATION_SET,val) #define Val_AtkRelationSet(val) Val_GObject((GObject*)val) #define Val_AtkRelationSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationSetClass' */ /*TODO: conversion for record 'AtkSelectionIface' */ #define AtkSocket_val(val) check_cast(ATK_SOCKET,val) #define Val_AtkSocket(val) Val_GObject((GObject*)val) #define Val_AtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkSocketClass' */ #define AtkStateSet_val(val) check_cast(ATK_STATE_SET,val) #define Val_AtkStateSet(val) Val_GObject((GObject*)val) #define Val_AtkStateSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkStateSetClass' */ /*TODO: conversion for record 'AtkStreamableContentIface' */ /*TODO: conversion for record 'AtkTableIface' */ /*TODO: conversion for record 'AtkTextIface' */ /*TODO: conversion for record 'AtkTextRange' */ /*TODO: conversion for record 'AtkTextRectangle' */ #define AtkUtil_val(val) check_cast(ATK_UTIL,val) #define Val_AtkUtil(val) Val_GObject((GObject*)val) #define Val_AtkUtil_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkUtilClass' */ /*TODO: conversion for record 'AtkValueIface' */ /*TODO: conversion for record '_AtkPropertyValues' */ /*TODO: conversion for record '_AtkRegistry' */ /*TODO: conversion for record '_AtkRegistryClass' */ /*TODO: conversion for record 'GModule' */ /*TODO: conversion for record 'GActionGroupInterface' */ /*TODO: conversion for record 'GActionInterface' */ /*TODO: conversion for record 'GAppInfoIface' */ #define GAppLaunchContext_val(val) check_cast(G_APP_LAUNCH_CONTEXT,val) #define Val_GAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GAppLaunchContextClass' */ /*TODO: conversion for record 'GAppLaunchContextPrivate' */ #define GApplication_val(val) check_cast(G_APPLICATION,val) #define Val_GApplication(val) Val_GObject((GObject*)val) #define Val_GApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationClass' */ #define GApplicationCommandLine_val(val) check_cast(G_APPLICATION_COMMAND_LINE,val) #define Val_GApplicationCommandLine(val) Val_GObject((GObject*)val) #define Val_GApplicationCommandLine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationCommandLineClass' */ /*TODO: conversion for record 'GApplicationCommandLinePrivate' */ /*TODO: conversion for record 'GApplicationPrivate' */ /*TODO: conversion for record 'GAsyncInitableIface' */ /*TODO: conversion for record 'GAsyncResultIface' */ #define GBufferedInputStream_val(val) check_cast(G_BUFFERED_INPUT_STREAM,val) #define Val_GBufferedInputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedInputStreamClass' */ /*TODO: conversion for record 'GBufferedInputStreamPrivate' */ #define GBufferedOutputStream_val(val) check_cast(G_BUFFERED_OUTPUT_STREAM,val) #define Val_GBufferedOutputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedOutputStreamClass' */ /*TODO: conversion for record 'GBufferedOutputStreamPrivate' */ #define GCancellable_val(val) check_cast(G_CANCELLABLE,val) #define Val_GCancellable(val) Val_GObject((GObject*)val) #define Val_GCancellable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCancellableClass' */ /*TODO: conversion for record 'GCancellablePrivate' */ #define GCharsetConverter_val(val) check_cast(G_CHARSET_CONVERTER,val) #define Val_GCharsetConverter(val) Val_GObject((GObject*)val) #define Val_GCharsetConverter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCharsetConverterClass' */ /*TODO: conversion for record 'GConverterIface' */ #define GConverterInputStream_val(val) check_cast(G_CONVERTER_INPUT_STREAM,val) #define Val_GConverterInputStream(val) Val_GObject((GObject*)val) #define Val_GConverterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterInputStreamClass' */ /*TODO: conversion for record 'GConverterInputStreamPrivate' */ #define GConverterOutputStream_val(val) check_cast(G_CONVERTER_OUTPUT_STREAM,val) #define Val_GConverterOutputStream(val) Val_GObject((GObject*)val) #define Val_GConverterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterOutputStreamClass' */ /*TODO: conversion for record 'GConverterOutputStreamPrivate' */ #define GCredentials_val(val) check_cast(G_CREDENTIALS,val) #define Val_GCredentials(val) Val_GObject((GObject*)val) #define Val_GCredentials_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCredentialsClass' */ /*TODO: conversion for record 'GDBusAnnotationInfo' */ /*TODO: conversion for record 'GDBusArgInfo' */ #define GDBusAuthObserver_val(val) check_cast(G_D_BUS_AUTH_OBSERVER,val) #define Val_GDBusAuthObserver(val) Val_GObject((GObject*)val) #define Val_GDBusAuthObserver_new(val) Val_GObject_new((GObject*)val) #define GDBusConnection_val(val) check_cast(G_D_BUS_CONNECTION,val) #define Val_GDBusConnection(val) Val_GObject((GObject*)val) #define Val_GDBusConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusErrorEntry' */ /*TODO: conversion for record 'GDBusInterfaceInfo' */ /*TODO: conversion for record 'GDBusInterfaceVTable' */ #define GDBusMessage_val(val) check_cast(G_D_BUS_MESSAGE,val) #define Val_GDBusMessage(val) Val_GObject((GObject*)val) #define Val_GDBusMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusMethodInfo' */ #define GDBusMethodInvocation_val(val) check_cast(G_D_BUS_METHOD_INVOCATION,val) #define Val_GDBusMethodInvocation(val) Val_GObject((GObject*)val) #define Val_GDBusMethodInvocation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusNodeInfo' */ /*TODO: conversion for record 'GDBusPropertyInfo' */ #define GDBusProxy_val(val) check_cast(G_D_BUS_PROXY,val) #define Val_GDBusProxy(val) Val_GObject((GObject*)val) #define Val_GDBusProxy_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusProxyClass' */ /*TODO: conversion for record 'GDBusProxyPrivate' */ #define GDBusServer_val(val) check_cast(G_D_BUS_SERVER,val) #define Val_GDBusServer(val) Val_GObject((GObject*)val) #define Val_GDBusServer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusSignalInfo' */ /*TODO: conversion for record 'GDBusSubtreeVTable' */ #define GDataInputStream_val(val) check_cast(G_DATA_INPUT_STREAM,val) #define Val_GDataInputStream(val) Val_GObject((GObject*)val) #define Val_GDataInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataInputStreamClass' */ /*TODO: conversion for record 'GDataInputStreamPrivate' */ #define GDataOutputStream_val(val) check_cast(G_DATA_OUTPUT_STREAM,val) #define Val_GDataOutputStream(val) Val_GObject((GObject*)val) #define Val_GDataOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataOutputStreamClass' */ /*TODO: conversion for record 'GDataOutputStreamPrivate' */ #define GDesktopAppInfo_val(val) check_cast(G_DESKTOP_APP_INFO,val) #define Val_GDesktopAppInfo(val) Val_GObject((GObject*)val) #define Val_GDesktopAppInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDesktopAppInfoClass' */ /*TODO: conversion for record 'GDesktopAppInfoLaunchHandlerIface' */ /*TODO: conversion for record 'GDesktopAppInfoLookupIface' */ /*TODO: conversion for record 'GDriveIface' */ #define GEmblem_val(val) check_cast(G_EMBLEM,val) #define Val_GEmblem(val) Val_GObject((GObject*)val) #define Val_GEmblem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemClass' */ #define GEmblemedIcon_val(val) check_cast(G_EMBLEMED_ICON,val) #define Val_GEmblemedIcon(val) Val_GObject((GObject*)val) #define Val_GEmblemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemedIconClass' */ /*TODO: conversion for record 'GEmblemedIconPrivate' */ /*TODO: conversion for record 'GFileAttributeInfo' */ /*TODO: conversion for record 'GFileAttributeInfoList' */ /*TODO: conversion for record 'GFileAttributeMatcher' */ /*TODO: conversion for record 'GFileDescriptorBasedIface' */ #define GFileEnumerator_val(val) check_cast(G_FILE_ENUMERATOR,val) #define Val_GFileEnumerator(val) Val_GObject((GObject*)val) #define Val_GFileEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileEnumeratorClass' */ /*TODO: conversion for record 'GFileEnumeratorPrivate' */ #define GFileIOStream_val(val) check_cast(G_FILE_I_O_STREAM,val) #define Val_GFileIOStream(val) Val_GObject((GObject*)val) #define Val_GFileIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIOStreamClass' */ /*TODO: conversion for record 'GFileIOStreamPrivate' */ #define GFileIcon_val(val) check_cast(G_FILE_ICON,val) #define Val_GFileIcon(val) Val_GObject((GObject*)val) #define Val_GFileIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIconClass' */ /*TODO: conversion for record 'GFileIface' */ #define GFileInfo_val(val) check_cast(G_FILE_INFO,val) #define Val_GFileInfo(val) Val_GObject((GObject*)val) #define Val_GFileInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInfoClass' */ #define GFileInputStream_val(val) check_cast(G_FILE_INPUT_STREAM,val) #define Val_GFileInputStream(val) Val_GObject((GObject*)val) #define Val_GFileInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInputStreamClass' */ /*TODO: conversion for record 'GFileInputStreamPrivate' */ #define GFileMonitor_val(val) check_cast(G_FILE_MONITOR,val) #define Val_GFileMonitor(val) Val_GObject((GObject*)val) #define Val_GFileMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileMonitorClass' */ /*TODO: conversion for record 'GFileMonitorPrivate' */ #define GFileOutputStream_val(val) check_cast(G_FILE_OUTPUT_STREAM,val) #define Val_GFileOutputStream(val) Val_GObject((GObject*)val) #define Val_GFileOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileOutputStreamClass' */ /*TODO: conversion for record 'GFileOutputStreamPrivate' */ #define GFilenameCompleter_val(val) check_cast(G_FILENAME_COMPLETER,val) #define Val_GFilenameCompleter(val) Val_GObject((GObject*)val) #define Val_GFilenameCompleter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilenameCompleterClass' */ #define GFilterInputStream_val(val) check_cast(G_FILTER_INPUT_STREAM,val) #define Val_GFilterInputStream(val) Val_GObject((GObject*)val) #define Val_GFilterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterInputStreamClass' */ #define GFilterOutputStream_val(val) check_cast(G_FILTER_OUTPUT_STREAM,val) #define Val_GFilterOutputStream(val) Val_GObject((GObject*)val) #define Val_GFilterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterOutputStreamClass' */ /*TODO: conversion for record 'GIOExtension' */ /*TODO: conversion for record 'GIOExtensionPoint' */ #define GIOModule_val(val) check_cast(G_I_O_MODULE,val) #define Val_GIOModule(val) Val_GObject((GObject*)val) #define Val_GIOModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOModuleClass' */ /*TODO: conversion for record 'GIOSchedulerJob' */ #define GIOStream_val(val) check_cast(G_I_O_STREAM,val) #define Val_GIOStream(val) Val_GObject((GObject*)val) #define Val_GIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOStreamAdapter' */ /*TODO: conversion for record 'GIOStreamClass' */ /*TODO: conversion for record 'GIOStreamPrivate' */ /*TODO: conversion for record 'GIconIface' */ #define GInetAddress_val(val) check_cast(G_INET_ADDRESS,val) #define Val_GInetAddress(val) Val_GObject((GObject*)val) #define Val_GInetAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetAddressClass' */ /*TODO: conversion for record 'GInetAddressPrivate' */ #define GInetSocketAddress_val(val) check_cast(G_INET_SOCKET_ADDRESS,val) #define Val_GInetSocketAddress(val) Val_GObject((GObject*)val) #define Val_GInetSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetSocketAddressClass' */ /*TODO: conversion for record 'GInetSocketAddressPrivate' */ /*TODO: conversion for record 'GInitableIface' */ #define GInputStream_val(val) check_cast(G_INPUT_STREAM,val) #define Val_GInputStream(val) Val_GObject((GObject*)val) #define Val_GInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInputStreamClass' */ /*TODO: conversion for record 'GInputStreamPrivate' */ /*TODO: conversion for record 'GInputVector' */ /*TODO: conversion for record 'GLoadableIconIface' */ #define GMemoryInputStream_val(val) check_cast(G_MEMORY_INPUT_STREAM,val) #define Val_GMemoryInputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryInputStreamClass' */ /*TODO: conversion for record 'GMemoryInputStreamPrivate' */ #define GMemoryOutputStream_val(val) check_cast(G_MEMORY_OUTPUT_STREAM,val) #define Val_GMemoryOutputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryOutputStreamClass' */ /*TODO: conversion for record 'GMemoryOutputStreamPrivate' */ /*TODO: conversion for record 'GMountIface' */ #define GMountOperation_val(val) check_cast(G_MOUNT_OPERATION,val) #define Val_GMountOperation(val) Val_GObject((GObject*)val) #define Val_GMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMountOperationClass' */ /*TODO: conversion for record 'GMountOperationPrivate' */ #define GNativeVolumeMonitor_val(val) check_cast(G_NATIVE_VOLUME_MONITOR,val) #define Val_GNativeVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GNativeVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNativeVolumeMonitorClass' */ #define GNetworkAddress_val(val) check_cast(G_NETWORK_ADDRESS,val) #define Val_GNetworkAddress(val) Val_GObject((GObject*)val) #define Val_GNetworkAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkAddressClass' */ /*TODO: conversion for record 'GNetworkAddressPrivate' */ #define GNetworkService_val(val) check_cast(G_NETWORK_SERVICE,val) #define Val_GNetworkService(val) Val_GObject((GObject*)val) #define Val_GNetworkService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkServiceClass' */ /*TODO: conversion for record 'GNetworkServicePrivate' */ #define GOutputStream_val(val) check_cast(G_OUTPUT_STREAM,val) #define Val_GOutputStream(val) Val_GObject((GObject*)val) #define Val_GOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GOutputStreamClass' */ /*TODO: conversion for record 'GOutputStreamPrivate' */ /*TODO: conversion for record 'GOutputVector' */ #define GPermission_val(val) check_cast(G_PERMISSION,val) #define Val_GPermission(val) Val_GObject((GObject*)val) #define Val_GPermission_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GPermissionClass' */ /*TODO: conversion for record 'GPermissionPrivate' */ /*TODO: conversion for record 'GPollableInputStreamInterface' */ /*TODO: conversion for record 'GPollableOutputStreamInterface' */ #define GProxyAddress_val(val) check_cast(G_PROXY_ADDRESS,val) #define Val_GProxyAddress(val) Val_GObject((GObject*)val) #define Val_GProxyAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressClass' */ #define GProxyAddressEnumerator_val(val) check_cast(G_PROXY_ADDRESS_ENUMERATOR,val) #define Val_GProxyAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GProxyAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressEnumeratorClass' */ /*TODO: conversion for record 'GProxyAddressEnumeratorPrivate' */ /*TODO: conversion for record 'GProxyAddressPrivate' */ /*TODO: conversion for record 'GProxyInterface' */ /*TODO: conversion for record 'GProxyResolverInterface' */ #define GResolver_val(val) check_cast(G_RESOLVER,val) #define Val_GResolver(val) Val_GObject((GObject*)val) #define Val_GResolver_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GResolverClass' */ /*TODO: conversion for record 'GResolverPrivate' */ /*TODO: conversion for record 'GSeekableIface' */ #define GSettings_val(val) check_cast(G_SETTINGS,val) #define Val_GSettings(val) Val_GObject((GObject*)val) #define Val_GSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSettingsBackend' */ /*TODO: conversion for record 'GSettingsClass' */ /*TODO: conversion for record 'GSettingsPrivate' */ #define GSimpleAction_val(val) check_cast(G_SIMPLE_ACTION,val) #define Val_GSimpleAction(val) Val_GObject((GObject*)val) #define Val_GSimpleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionClass' */ #define GSimpleActionGroup_val(val) check_cast(G_SIMPLE_ACTION_GROUP,val) #define Val_GSimpleActionGroup(val) Val_GObject((GObject*)val) #define Val_GSimpleActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionGroupClass' */ /*TODO: conversion for record 'GSimpleActionGroupPrivate' */ /*TODO: conversion for record 'GSimpleActionPrivate' */ #define GSimpleAsyncResult_val(val) check_cast(G_SIMPLE_ASYNC_RESULT,val) #define Val_GSimpleAsyncResult(val) Val_GObject((GObject*)val) #define Val_GSimpleAsyncResult_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleAsyncResultClass' */ #define GSimplePermission_val(val) check_cast(G_SIMPLE_PERMISSION,val) #define Val_GSimplePermission(val) Val_GObject((GObject*)val) #define Val_GSimplePermission_new(val) Val_GObject_new((GObject*)val) #define GSocket_val(val) check_cast(G_SOCKET,val) #define Val_GSocket(val) Val_GObject((GObject*)val) #define Val_GSocket_new(val) Val_GObject_new((GObject*)val) #define GSocketAddress_val(val) check_cast(G_SOCKET_ADDRESS,val) #define Val_GSocketAddress(val) Val_GObject((GObject*)val) #define Val_GSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressClass' */ #define GSocketAddressEnumerator_val(val) check_cast(G_SOCKET_ADDRESS_ENUMERATOR,val) #define Val_GSocketAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GSocketAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressEnumeratorClass' */ /*TODO: conversion for record 'GSocketClass' */ #define GSocketClient_val(val) check_cast(G_SOCKET_CLIENT,val) #define Val_GSocketClient(val) Val_GObject((GObject*)val) #define Val_GSocketClient_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketClientClass' */ /*TODO: conversion for record 'GSocketClientPrivate' */ /*TODO: conversion for record 'GSocketConnectableIface' */ #define GSocketConnection_val(val) check_cast(G_SOCKET_CONNECTION,val) #define Val_GSocketConnection(val) Val_GObject((GObject*)val) #define Val_GSocketConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketConnectionClass' */ /*TODO: conversion for record 'GSocketConnectionPrivate' */ #define GSocketControlMessage_val(val) check_cast(G_SOCKET_CONTROL_MESSAGE,val) #define Val_GSocketControlMessage(val) Val_GObject((GObject*)val) #define Val_GSocketControlMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketControlMessageClass' */ /*TODO: conversion for record 'GSocketControlMessagePrivate' */ #define GSocketListener_val(val) check_cast(G_SOCKET_LISTENER,val) #define Val_GSocketListener(val) Val_GObject((GObject*)val) #define Val_GSocketListener_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketListenerClass' */ /*TODO: conversion for record 'GSocketListenerPrivate' */ /*TODO: conversion for record 'GSocketPrivate' */ #define GSocketService_val(val) check_cast(G_SOCKET_SERVICE,val) #define Val_GSocketService(val) Val_GObject((GObject*)val) #define Val_GSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketServiceClass' */ /*TODO: conversion for record 'GSocketServicePrivate' */ /*TODO: conversion for record 'GSrvTarget' */ #define GTcpConnection_val(val) check_cast(G_TCP_CONNECTION,val) #define Val_GTcpConnection(val) Val_GObject((GObject*)val) #define Val_GTcpConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpConnectionClass' */ /*TODO: conversion for record 'GTcpConnectionPrivate' */ #define GTcpWrapperConnection_val(val) check_cast(G_TCP_WRAPPER_CONNECTION,val) #define Val_GTcpWrapperConnection(val) Val_GObject((GObject*)val) #define Val_GTcpWrapperConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpWrapperConnectionClass' */ /*TODO: conversion for record 'GTcpWrapperConnectionPrivate' */ #define GThemedIcon_val(val) check_cast(G_THEMED_ICON,val) #define Val_GThemedIcon(val) Val_GObject((GObject*)val) #define Val_GThemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThemedIconClass' */ #define GThreadedSocketService_val(val) check_cast(G_THREADED_SOCKET_SERVICE,val) #define Val_GThreadedSocketService(val) Val_GObject((GObject*)val) #define Val_GThreadedSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThreadedSocketServiceClass' */ /*TODO: conversion for record 'GThreadedSocketServicePrivate' */ /*TODO: conversion for record 'GTlsBackendInterface' */ #define GTlsCertificate_val(val) check_cast(G_TLS_CERTIFICATE,val) #define Val_GTlsCertificate(val) Val_GObject((GObject*)val) #define Val_GTlsCertificate_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsCertificateClass' */ /*TODO: conversion for record 'GTlsCertificatePrivate' */ /*TODO: conversion for record 'GTlsClientConnectionInterface' */ /*TODO: conversion for record 'GTlsClientContext' */ #define GTlsConnection_val(val) check_cast(G_TLS_CONNECTION,val) #define Val_GTlsConnection(val) Val_GObject((GObject*)val) #define Val_GTlsConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsConnectionClass' */ /*TODO: conversion for record 'GTlsConnectionPrivate' */ /*TODO: conversion for record 'GTlsContext' */ /*TODO: conversion for record 'GTlsServerConnectionInterface' */ /*TODO: conversion for record 'GTlsServerContext' */ #define GUnixConnection_val(val) check_cast(G_UNIX_CONNECTION,val) #define Val_GUnixConnection(val) Val_GObject((GObject*)val) #define Val_GUnixConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixConnectionClass' */ /*TODO: conversion for record 'GUnixConnectionPrivate' */ #define GUnixCredentialsMessage_val(val) check_cast(G_UNIX_CREDENTIALS_MESSAGE,val) #define Val_GUnixCredentialsMessage(val) Val_GObject((GObject*)val) #define Val_GUnixCredentialsMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixCredentialsMessageClass' */ /*TODO: conversion for record 'GUnixCredentialsMessagePrivate' */ #define GUnixFDList_val(val) check_cast(G_UNIX_F_D_LIST,val) #define Val_GUnixFDList(val) Val_GObject((GObject*)val) #define Val_GUnixFDList_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDListClass' */ /*TODO: conversion for record 'GUnixFDListPrivate' */ #define GUnixFDMessage_val(val) check_cast(G_UNIX_F_D_MESSAGE,val) #define Val_GUnixFDMessage(val) Val_GObject((GObject*)val) #define Val_GUnixFDMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDMessageClass' */ /*TODO: conversion for record 'GUnixFDMessagePrivate' */ #define GUnixInputStream_val(val) check_cast(G_UNIX_INPUT_STREAM,val) #define Val_GUnixInputStream(val) Val_GObject((GObject*)val) #define Val_GUnixInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixInputStreamClass' */ /*TODO: conversion for record 'GUnixInputStreamPrivate' */ /*TODO: conversion for record 'GUnixMountEntry' */ #define GUnixMountMonitor_val(val) check_cast(G_UNIX_MOUNT_MONITOR,val) #define Val_GUnixMountMonitor(val) Val_GObject((GObject*)val) #define Val_GUnixMountMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixMountMonitorClass' */ /*TODO: conversion for record 'GUnixMountPoint' */ #define GUnixOutputStream_val(val) check_cast(G_UNIX_OUTPUT_STREAM,val) #define Val_GUnixOutputStream(val) Val_GObject((GObject*)val) #define Val_GUnixOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixOutputStreamClass' */ /*TODO: conversion for record 'GUnixOutputStreamPrivate' */ #define GUnixSocketAddress_val(val) check_cast(G_UNIX_SOCKET_ADDRESS,val) #define Val_GUnixSocketAddress(val) Val_GObject((GObject*)val) #define Val_GUnixSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixSocketAddressClass' */ /*TODO: conversion for record 'GUnixSocketAddressPrivate' */ #define GVfs_val(val) check_cast(G_VFS,val) #define Val_GVfs(val) Val_GObject((GObject*)val) #define Val_GVfs_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVfsClass' */ /*TODO: conversion for record 'GVolumeIface' */ #define GVolumeMonitor_val(val) check_cast(G_VOLUME_MONITOR,val) #define Val_GVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVolumeMonitorClass' */ #define GZlibCompressor_val(val) check_cast(G_ZLIB_COMPRESSOR,val) #define Val_GZlibCompressor(val) Val_GObject((GObject*)val) #define Val_GZlibCompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibCompressorClass' */ #define GZlibDecompressor_val(val) check_cast(G_ZLIB_DECOMPRESSOR,val) #define Val_GZlibDecompressor(val) Val_GObject((GObject*)val) #define Val_GZlibDecompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibDecompressorClass' */ #define GdkPixbuf_val(val) check_cast(GDK_PIXBUF,val) #define Val_GdkPixbuf(val) Val_GObject((GObject*)val) #define Val_GdkPixbuf_new(val) Val_GObject_new((GObject*)val) #define GdkPixbufAnimation_val(val) check_cast(GDK_PIXBUF_ANIMATION,val) #define Val_GdkPixbufAnimation(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationClass' */ #define GdkPixbufAnimationIter_val(val) check_cast(GDK_PIXBUF_ANIMATION_ITER,val) #define Val_GdkPixbufAnimationIter(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimationIter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationIterClass' */ /*TODO: conversion for record 'GdkPixbufFormat' */ #define GdkPixbufLoader_val(val) check_cast(GDK_PIXBUF_LOADER,val) #define Val_GdkPixbufLoader(val) Val_GObject((GObject*)val) #define Val_GdkPixbufLoader_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufLoaderClass' */ /*TODO: conversion for record 'GdkPixbufModule' */ /*TODO: conversion for record 'GdkPixbufModulePattern' */ #define GdkPixbufSimpleAnim_val(val) check_cast(GDK_PIXBUF_SIMPLE_ANIM,val) #define Val_GdkPixbufSimpleAnim(val) Val_GObject((GObject*)val) #define Val_GdkPixbufSimpleAnim_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufSimpleAnimClass' */ /*TODO: conversion for record 'GdkPixdata' */ /*TODO: conversion for record 'cairo_t' */ /*TODO: conversion for record 'cairo_surface_t' */ /*TODO: conversion for record 'cairo_matrix_t' */ /*TODO: conversion for record 'cairo_pattern_t' */ /*TODO: conversion for record 'cairo_region_t' */ /*TODO: conversion for record 'cairo_font_options_t' */ /*TODO: conversion for record 'cairo_font_type_t' */ /*TODO: conversion for record 'cairo_font_face_t' */ /*TODO: conversion for record 'cairo_scaled_font_t' */ /*TODO: conversion for record 'cairo_path_t' */ /*TODO: conversion for record 'cairo_rectangle_int_t' */ /*TODO: conversion for record 'PangoAnalysis' */ /*TODO: conversion for record 'PangoAttrClass' */ /*TODO: conversion for record 'PangoAttrColor' */ /*TODO: conversion for record 'PangoAttrFloat' */ /*TODO: conversion for record 'PangoAttrFontDesc' */ /*TODO: conversion for record 'PangoAttrInt' */ /*TODO: conversion for record 'PangoAttrIterator' */ /*TODO: conversion for record 'PangoAttrLanguage' */ /*TODO: conversion for record 'PangoAttrList' */ /*TODO: conversion for record 'PangoAttrShape' */ /*TODO: conversion for record 'PangoAttrSize' */ /*TODO: conversion for record 'PangoAttrString' */ /*TODO: conversion for record 'PangoAttribute' */ /*TODO: conversion for record 'PangoColor' */ #define PangoContext_val(val) check_cast(PANGO_CONTEXT,val) #define Val_PangoContext(val) Val_GObject((GObject*)val) #define Val_PangoContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoContextClass' */ /*TODO: conversion for record 'PangoCoverage' */ /*TODO: conversion for record 'PangoEngineLang' */ /*TODO: conversion for record 'PangoEngineShape' */ #define PangoFont_val(val) check_cast(PANGO_FONT,val) #define Val_PangoFont(val) Val_GObject((GObject*)val) #define Val_PangoFont_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontDescription' */ #define PangoFontFace_val(val) check_cast(PANGO_FONT_FACE,val) #define Val_PangoFontFace(val) Val_GObject((GObject*)val) #define Val_PangoFontFace_new(val) Val_GObject_new((GObject*)val) #define PangoFontFamily_val(val) check_cast(PANGO_FONT_FAMILY,val) #define Val_PangoFontFamily(val) Val_GObject((GObject*)val) #define Val_PangoFontFamily_new(val) Val_GObject_new((GObject*)val) #define PangoFontMap_val(val) check_cast(PANGO_FONT_MAP,val) #define Val_PangoFontMap(val) Val_GObject((GObject*)val) #define Val_PangoFontMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontMetrics' */ #define PangoFontset_val(val) check_cast(PANGO_FONTSET,val) #define Val_PangoFontset(val) Val_GObject((GObject*)val) #define Val_PangoFontset_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoGlyphGeometry' */ /*TODO: conversion for record 'PangoGlyphInfo' */ /*TODO: conversion for record 'PangoGlyphItem' */ /*TODO: conversion for record 'PangoGlyphItemIter' */ /*TODO: conversion for record 'PangoGlyphString' */ /*TODO: conversion for record 'PangoGlyphVisAttr' */ /*TODO: conversion for record 'PangoItem' */ /*TODO: conversion for record 'PangoLanguage' */ #define PangoLayout_val(val) check_cast(PANGO_LAYOUT,val) #define Val_PangoLayout(val) Val_GObject((GObject*)val) #define Val_PangoLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoLayoutClass' */ /*TODO: conversion for record 'PangoLayoutIter' */ /*TODO: conversion for record 'PangoLayoutLine' */ /*TODO: conversion for record 'PangoLogAttr' */ /*TODO: conversion for record 'PangoMatrix' */ /*TODO: conversion for record 'PangoRectangle' */ #define PangoRenderer_val(val) check_cast(PANGO_RENDERER,val) #define Val_PangoRenderer(val) Val_GObject((GObject*)val) #define Val_PangoRenderer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoRendererClass' */ /*TODO: conversion for record 'PangoRendererPrivate' */ /*TODO: conversion for record 'PangoScriptIter' */ /*TODO: conversion for record 'PangoTabArray' */ /*TODO: conversion for record '_PangoScriptForLang' */ #define GdkAppLaunchContext_val(val) check_cast(GDK_APP_LAUNCH_CONTEXT,val) #define Val_GdkAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GdkAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkAtom' */ /*TODO: conversion for record 'GdkColor' */ #define GdkCursor_val(val) check_cast(GDK_CURSOR,val) #define Val_GdkCursor(val) Val_GObject((GObject*)val) #define Val_GdkCursor_new(val) Val_GObject_new((GObject*)val) #define GdkDevice_val(val) check_cast(GDK_DEVICE,val) #define Val_GdkDevice(val) Val_GObject((GObject*)val) #define Val_GdkDevice_new(val) Val_GObject_new((GObject*)val) #define GdkDeviceManager_val(val) check_cast(GDK_DEVICE_MANAGER,val) #define Val_GdkDeviceManager(val) Val_GObject((GObject*)val) #define Val_GdkDeviceManager_new(val) Val_GObject_new((GObject*)val) #define GdkDisplay_val(val) check_cast(GDK_DISPLAY_OBJECT,val) #define Val_GdkDisplay(val) Val_GObject((GObject*)val) #define Val_GdkDisplay_new(val) Val_GObject_new((GObject*)val) #define GdkDisplayManager_val(val) check_cast(GDK_DISPLAY_MANAGER,val) #define Val_GdkDisplayManager(val) Val_GObject((GObject*)val) #define Val_GdkDisplayManager_new(val) Val_GObject_new((GObject*)val) #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val) #define Val_GdkDragContext(val) Val_GObject((GObject*)val) #define Val_GdkDragContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkEventAny' */ /*TODO: conversion for record 'GdkEventButton' */ /*TODO: conversion for record 'GdkEventConfigure' */ /*TODO: conversion for record 'GdkEventCrossing' */ /*TODO: conversion for record 'GdkEventDND' */ /*TODO: conversion for record 'GdkEventExpose' */ /*TODO: conversion for record 'GdkEventFocus' */ /*TODO: conversion for record 'GdkEventGrabBroken' */ /*TODO: conversion for record 'GdkEventKey' */ /*TODO: conversion for record 'GdkEventMotion' */ /*TODO: conversion for record 'GdkEventOwnerChange' */ /*TODO: conversion for record 'GdkEventProperty' */ /*TODO: conversion for record 'GdkEventProximity' */ /*TODO: conversion for record 'GdkEventScroll' */ /*TODO: conversion for record 'GdkEventSelection' */ /*TODO: conversion for record 'GdkEventSetting' */ /*TODO: conversion for record 'GdkEventVisibility' */ /*TODO: conversion for record 'GdkEventWindowState' */ /*TODO: conversion for record 'GdkGeometry' */ #define GdkKeymap_val(val) check_cast(GDK_KEYMAP,val) #define Val_GdkKeymap(val) Val_GObject((GObject*)val) #define Val_GdkKeymap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkKeymapKey' */ /*TODO: conversion for record 'GdkPoint' */ /*TODO: conversion for record 'GdkRGBA' */ #define GdkScreen_val(val) check_cast(GDK_SCREEN,val) #define Val_GdkScreen(val) Val_GObject((GObject*)val) #define Val_GdkScreen_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkTimeCoord' */ #define GdkVisual_val(val) check_cast(GDK_VISUAL,val) #define Val_GdkVisual(val) Val_GObject((GObject*)val) #define Val_GdkVisual_new(val) Val_GObject_new((GObject*)val) #define GdkWindow_val(val) check_cast(GDK_WINDOW,val) #define Val_GdkWindow(val) Val_GObject((GObject*)val) #define Val_GdkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkWindowAttr' */ /*TODO: conversion for record 'GdkWindowClass' */ /*TODO: conversion for record 'GdkWindowRedirect' */ #define GtkAboutDialog_val(val) check_cast(GTK_ABOUT_DIALOG,val) #define Val_GtkAboutDialog(val) Val_GObject((GObject*)val) #define Val_GtkAboutDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAboutDialogClass' */ /*TODO: conversion for record 'GtkAboutDialogPrivate' */ #define GtkAccelGroup_val(val) check_cast(GTK_ACCEL_GROUP,val) #define Val_GtkAccelGroup(val) Val_GObject((GObject*)val) #define Val_GtkAccelGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelGroupClass' */ /*TODO: conversion for record 'GtkAccelGroupEntry' */ /*TODO: conversion for record 'GtkAccelGroupPrivate' */ /*TODO: conversion for record 'GtkAccelKey' */ #define GtkAccelLabel_val(val) check_cast(GTK_ACCEL_LABEL,val) #define Val_GtkAccelLabel(val) Val_GObject((GObject*)val) #define Val_GtkAccelLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelLabelClass' */ /*TODO: conversion for record 'GtkAccelLabelPrivate' */ #define GtkAccelMap_val(val) check_cast(GTK_ACCEL_MAP,val) #define Val_GtkAccelMap(val) Val_GObject((GObject*)val) #define Val_GtkAccelMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelMapClass' */ #define GtkAccessible_val(val) check_cast(GTK_ACCESSIBLE,val) #define Val_GtkAccessible(val) Val_GObject((GObject*)val) #define Val_GtkAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccessibleClass' */ /*TODO: conversion for record 'GtkAccessiblePrivate' */ #define GtkAction_val(val) check_cast(GTK_ACTION,val) #define Val_GtkAction(val) Val_GObject((GObject*)val) #define Val_GtkAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionClass' */ /*TODO: conversion for record 'GtkActionEntry' */ #define GtkActionGroup_val(val) check_cast(GTK_ACTION_GROUP,val) #define Val_GtkActionGroup(val) Val_GObject((GObject*)val) #define Val_GtkActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionGroupClass' */ /*TODO: conversion for record 'GtkActionGroupPrivate' */ /*TODO: conversion for record 'GtkActionPrivate' */ /*TODO: conversion for record 'GtkActivatableIface' */ #define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val) #define Val_GtkAdjustment(val) Val_GObject((GObject*)val) #define Val_GtkAdjustment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAdjustmentClass' */ /*TODO: conversion for record 'GtkAdjustmentPrivate' */ #define GtkAlignment_val(val) check_cast(GTK_ALIGNMENT,val) #define Val_GtkAlignment(val) Val_GObject((GObject*)val) #define Val_GtkAlignment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAlignmentClass' */ /*TODO: conversion for record 'GtkAlignmentPrivate' */ #define GtkAppChooserButton_val(val) check_cast(GTK_APP_CHOOSER_BUTTON,val) #define Val_GtkAppChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserButtonClass' */ /*TODO: conversion for record 'GtkAppChooserButtonPrivate' */ #define GtkAppChooserDialog_val(val) check_cast(GTK_APP_CHOOSER_DIALOG,val) #define Val_GtkAppChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserDialogClass' */ /*TODO: conversion for record 'GtkAppChooserDialogPrivate' */ #define GtkAppChooserWidget_val(val) check_cast(GTK_APP_CHOOSER_WIDGET,val) #define Val_GtkAppChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserWidgetClass' */ /*TODO: conversion for record 'GtkAppChooserWidgetPrivate' */ #define GtkApplication_val(val) check_cast(GTK_APPLICATION,val) #define Val_GtkApplication(val) Val_GObject((GObject*)val) #define Val_GtkApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkApplicationClass' */ /*TODO: conversion for record 'GtkApplicationPrivate' */ #define GtkArrow_val(val) check_cast(GTK_ARROW,val) #define Val_GtkArrow(val) Val_GObject((GObject*)val) #define Val_GtkArrow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkArrowClass' */ /*TODO: conversion for record 'GtkArrowPrivate' */ #define GtkAspectFrame_val(val) check_cast(GTK_ASPECT_FRAME,val) #define Val_GtkAspectFrame(val) Val_GObject((GObject*)val) #define Val_GtkAspectFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAspectFrameClass' */ /*TODO: conversion for record 'GtkAspectFramePrivate' */ #define GtkAssistant_val(val) check_cast(GTK_ASSISTANT,val) #define Val_GtkAssistant(val) Val_GObject((GObject*)val) #define Val_GtkAssistant_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAssistantClass' */ /*TODO: conversion for record 'GtkAssistantPrivate' */ #define GtkBin_val(val) check_cast(GTK_BIN,val) #define Val_GtkBin(val) Val_GObject((GObject*)val) #define Val_GtkBin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBinClass' */ /*TODO: conversion for record 'GtkBinPrivate' */ /*TODO: conversion for record 'GtkBindingArg' */ /*TODO: conversion for record 'GtkBindingEntry' */ /*TODO: conversion for record 'GtkBindingSet' */ /*TODO: conversion for record 'GtkBindingSignal' */ /*TODO: conversion for record 'GtkBorder' */ #define GtkBox_val(val) check_cast(GTK_BOX,val) #define Val_GtkBox(val) Val_GObject((GObject*)val) #define Val_GtkBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBoxClass' */ /*TODO: conversion for record 'GtkBoxPrivate' */ /*TODO: conversion for record 'GtkBuildableIface' */ #define GtkBuilder_val(val) check_cast(GTK_BUILDER,val) #define Val_GtkBuilder(val) Val_GObject((GObject*)val) #define Val_GtkBuilder_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBuilderClass' */ /*TODO: conversion for record 'GtkBuilderPrivate' */ #define GtkButton_val(val) check_cast(GTK_BUTTON,val) #define Val_GtkButton(val) Val_GObject((GObject*)val) #define Val_GtkButton_new(val) Val_GObject_new((GObject*)val) #define GtkButtonBox_val(val) check_cast(GTK_BUTTON_BOX,val) #define Val_GtkButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkButtonBoxClass' */ /*TODO: conversion for record 'GtkButtonBoxPrivate' */ /*TODO: conversion for record 'GtkButtonClass' */ /*TODO: conversion for record 'GtkButtonPrivate' */ #define GtkCalendar_val(val) check_cast(GTK_CALENDAR,val) #define Val_GtkCalendar(val) Val_GObject((GObject*)val) #define Val_GtkCalendar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCalendarClass' */ /*TODO: conversion for record 'GtkCalendarPrivate' */ #define GtkCellArea_val(val) check_cast(GTK_CELL_AREA,val) #define Val_GtkCellArea(val) Val_GObject((GObject*)val) #define Val_GtkCellArea_new(val) Val_GObject_new((GObject*)val) #define GtkCellAreaBox_val(val) check_cast(GTK_CELL_AREA_BOX,val) #define Val_GtkCellAreaBox(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaBoxClass' */ /*TODO: conversion for record 'GtkCellAreaBoxPrivate' */ /*TODO: conversion for record 'GtkCellAreaClass' */ #define GtkCellAreaContext_val(val) check_cast(GTK_CELL_AREA_CONTEXT,val) #define Val_GtkCellAreaContext(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaContextClass' */ /*TODO: conversion for record 'GtkCellAreaContextPrivate' */ /*TODO: conversion for record 'GtkCellAreaPrivate' */ /*TODO: conversion for record 'GtkCellEditableIface' */ /*TODO: conversion for record 'GtkCellLayoutIface' */ #define GtkCellRenderer_val(val) check_cast(GTK_CELL_RENDERER,val) #define Val_GtkCellRenderer(val) Val_GObject((GObject*)val) #define Val_GtkCellRenderer_new(val) Val_GObject_new((GObject*)val) #define GtkCellRendererAccel_val(val) check_cast(GTK_CELL_RENDERER_ACCEL,val) #define Val_GtkCellRendererAccel(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererAccel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererAccelClass' */ /*TODO: conversion for record 'GtkCellRendererAccelPrivate' */ /*TODO: conversion for record 'GtkCellRendererClass' */ #define GtkCellRendererCombo_val(val) check_cast(GTK_CELL_RENDERER_COMBO,val) #define Val_GtkCellRendererCombo(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererCombo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererComboClass' */ /*TODO: conversion for record 'GtkCellRendererComboPrivate' */ #define GtkCellRendererPixbuf_val(val) check_cast(GTK_CELL_RENDERER_PIXBUF,val) #define Val_GtkCellRendererPixbuf(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererPixbuf_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererPixbufClass' */ /*TODO: conversion for record 'GtkCellRendererPixbufPrivate' */ /*TODO: conversion for record 'GtkCellRendererPrivate' */ #define GtkCellRendererProgress_val(val) check_cast(GTK_CELL_RENDERER_PROGRESS,val) #define Val_GtkCellRendererProgress(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererProgress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererProgressClass' */ /*TODO: conversion for record 'GtkCellRendererProgressPrivate' */ #define GtkCellRendererSpin_val(val) check_cast(GTK_CELL_RENDERER_SPIN,val) #define Val_GtkCellRendererSpin(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinClass' */ /*TODO: conversion for record 'GtkCellRendererSpinPrivate' */ #define GtkCellRendererSpinner_val(val) check_cast(GTK_CELL_RENDERER_SPINNER,val) #define Val_GtkCellRendererSpinner(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinnerClass' */ /*TODO: conversion for record 'GtkCellRendererSpinnerPrivate' */ #define GtkCellRendererText_val(val) check_cast(GTK_CELL_RENDERER_TEXT,val) #define Val_GtkCellRendererText(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererTextClass' */ /*TODO: conversion for record 'GtkCellRendererTextPrivate' */ #define GtkCellRendererToggle_val(val) check_cast(GTK_CELL_RENDERER_TOGGLE,val) #define Val_GtkCellRendererToggle(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererToggle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererToggleClass' */ /*TODO: conversion for record 'GtkCellRendererTogglePrivate' */ #define GtkCellView_val(val) check_cast(GTK_CELL_VIEW,val) #define Val_GtkCellView(val) Val_GObject((GObject*)val) #define Val_GtkCellView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellViewClass' */ /*TODO: conversion for record 'GtkCellViewPrivate' */ #define GtkCheckButton_val(val) check_cast(GTK_CHECK_BUTTON,val) #define Val_GtkCheckButton(val) Val_GObject((GObject*)val) #define Val_GtkCheckButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckButtonClass' */ #define GtkCheckMenuItem_val(val) check_cast(GTK_CHECK_MENU_ITEM,val) #define Val_GtkCheckMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkCheckMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckMenuItemClass' */ /*TODO: conversion for record 'GtkCheckMenuItemPrivate' */ #define GtkClipboard_val(val) check_cast(GTK_CLIPBOARD,val) #define Val_GtkClipboard(val) Val_GObject((GObject*)val) #define Val_GtkClipboard_new(val) Val_GObject_new((GObject*)val) #define GtkColorButton_val(val) check_cast(GTK_COLOR_BUTTON,val) #define Val_GtkColorButton(val) Val_GObject((GObject*)val) #define Val_GtkColorButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorButtonClass' */ /*TODO: conversion for record 'GtkColorButtonPrivate' */ #define GtkColorSelection_val(val) check_cast(GTK_COLOR_SELECTION,val) #define Val_GtkColorSelection(val) Val_GObject((GObject*)val) #define Val_GtkColorSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionClass' */ #define GtkColorSelectionDialog_val(val) check_cast(GTK_COLOR_SELECTION_DIALOG,val) #define Val_GtkColorSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkColorSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionDialogClass' */ /*TODO: conversion for record 'GtkColorSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkColorSelectionPrivate' */ #define GtkComboBox_val(val) check_cast(GTK_COMBO_BOX,val) #define Val_GtkComboBox(val) Val_GObject((GObject*)val) #define Val_GtkComboBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxClass' */ /*TODO: conversion for record 'GtkComboBoxPrivate' */ #define GtkComboBoxText_val(val) check_cast(GTK_COMBO_BOX_TEXT,val) #define Val_GtkComboBoxText(val) Val_GObject((GObject*)val) #define Val_GtkComboBoxText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxTextClass' */ /*TODO: conversion for record 'GtkComboBoxTextPrivate' */ #define GtkContainer_val(val) check_cast(GTK_CONTAINER,val) #define Val_GtkContainer(val) Val_GObject((GObject*)val) #define Val_GtkContainer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkContainerClass' */ /*TODO: conversion for record 'GtkContainerPrivate' */ #define GtkCssProvider_val(val) check_cast(GTK_CSS_PROVIDER,val) #define Val_GtkCssProvider(val) Val_GObject((GObject*)val) #define Val_GtkCssProvider_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCssProviderClass' */ #define GtkDialog_val(val) check_cast(GTK_DIALOG,val) #define Val_GtkDialog(val) Val_GObject((GObject*)val) #define Val_GtkDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDialogClass' */ /*TODO: conversion for record 'GtkDialogPrivate' */ #define GtkDrawingArea_val(val) check_cast(GTK_DRAWING_AREA,val) #define Val_GtkDrawingArea(val) Val_GObject((GObject*)val) #define Val_GtkDrawingArea_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDrawingAreaClass' */ /*TODO: conversion for record 'GtkEditableInterface' */ #define GtkEntry_val(val) check_cast(GTK_ENTRY,val) #define Val_GtkEntry(val) Val_GObject((GObject*)val) #define Val_GtkEntry_new(val) Val_GObject_new((GObject*)val) #define GtkEntryBuffer_val(val) check_cast(GTK_ENTRY_BUFFER,val) #define Val_GtkEntryBuffer(val) Val_GObject((GObject*)val) #define Val_GtkEntryBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryBufferClass' */ /*TODO: conversion for record 'GtkEntryBufferPrivate' */ /*TODO: conversion for record 'GtkEntryClass' */ #define GtkEntryCompletion_val(val) check_cast(GTK_ENTRY_COMPLETION,val) #define Val_GtkEntryCompletion(val) Val_GObject((GObject*)val) #define Val_GtkEntryCompletion_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryCompletionClass' */ /*TODO: conversion for record 'GtkEntryCompletionPrivate' */ /*TODO: conversion for record 'GtkEntryPrivate' */ #define GtkEventBox_val(val) check_cast(GTK_EVENT_BOX,val) #define Val_GtkEventBox(val) Val_GObject((GObject*)val) #define Val_GtkEventBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEventBoxClass' */ /*TODO: conversion for record 'GtkEventBoxPrivate' */ #define GtkExpander_val(val) check_cast(GTK_EXPANDER,val) #define Val_GtkExpander(val) Val_GObject((GObject*)val) #define Val_GtkExpander_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkExpanderClass' */ /*TODO: conversion for record 'GtkExpanderPrivate' */ #define GtkFileChooserButton_val(val) check_cast(GTK_FILE_CHOOSER_BUTTON,val) #define Val_GtkFileChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserButtonClass' */ /*TODO: conversion for record 'GtkFileChooserButtonPrivate' */ #define GtkFileChooserDialog_val(val) check_cast(GTK_FILE_CHOOSER_DIALOG,val) #define Val_GtkFileChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserDialogClass' */ /*TODO: conversion for record 'GtkFileChooserDialogPrivate' */ #define GtkFileChooserWidget_val(val) check_cast(GTK_FILE_CHOOSER_WIDGET,val) #define Val_GtkFileChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserWidgetClass' */ /*TODO: conversion for record 'GtkFileChooserWidgetPrivate' */ #define GtkFileFilter_val(val) check_cast(GTK_FILE_FILTER,val) #define Val_GtkFileFilter(val) Val_GObject((GObject*)val) #define Val_GtkFileFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileFilterInfo' */ #define GtkFixed_val(val) check_cast(GTK_FIXED,val) #define Val_GtkFixed(val) Val_GObject((GObject*)val) #define Val_GtkFixed_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFixedChild' */ /*TODO: conversion for record 'GtkFixedClass' */ /*TODO: conversion for record 'GtkFixedPrivate' */ #define GtkFontButton_val(val) check_cast(GTK_FONT_BUTTON,val) #define Val_GtkFontButton(val) Val_GObject((GObject*)val) #define Val_GtkFontButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontButtonClass' */ /*TODO: conversion for record 'GtkFontButtonPrivate' */ #define GtkFontSelection_val(val) check_cast(GTK_FONT_SELECTION,val) #define Val_GtkFontSelection(val) Val_GObject((GObject*)val) #define Val_GtkFontSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionClass' */ #define GtkFontSelectionDialog_val(val) check_cast(GTK_FONT_SELECTION_DIALOG,val) #define Val_GtkFontSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkFontSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionDialogClass' */ /*TODO: conversion for record 'GtkFontSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkFontSelectionPrivate' */ #define GtkFrame_val(val) check_cast(GTK_FRAME,val) #define Val_GtkFrame(val) Val_GObject((GObject*)val) #define Val_GtkFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFrameClass' */ /*TODO: conversion for record 'GtkFramePrivate' */ /*TODO: conversion for record 'GtkGradient' */ #define GtkGrid_val(val) check_cast(GTK_GRID,val) #define Val_GtkGrid(val) Val_GObject((GObject*)val) #define Val_GtkGrid_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkGridClass' */ /*TODO: conversion for record 'GtkGridPrivate' */ #define GtkHBox_val(val) check_cast(GTK_H_BOX,val) #define Val_GtkHBox(val) Val_GObject((GObject*)val) #define Val_GtkHBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHBoxClass' */ #define GtkHButtonBox_val(val) check_cast(GTK_H_BUTTON_BOX,val) #define Val_GtkHButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkHButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHButtonBoxClass' */ #define GtkHPaned_val(val) check_cast(GTK_H_PANED,val) #define Val_GtkHPaned(val) Val_GObject((GObject*)val) #define Val_GtkHPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHPanedClass' */ #define GtkHSV_val(val) check_cast(GTK_HSV,val) #define Val_GtkHSV(val) Val_GObject((GObject*)val) #define Val_GtkHSV_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSVClass' */ /*TODO: conversion for record 'GtkHSVPrivate' */ #define GtkHScale_val(val) check_cast(GTK_H_SCALE,val) #define Val_GtkHScale(val) Val_GObject((GObject*)val) #define Val_GtkHScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScaleClass' */ #define GtkHScrollbar_val(val) check_cast(GTK_H_SCROLLBAR,val) #define Val_GtkHScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkHScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScrollbarClass' */ #define GtkHSeparator_val(val) check_cast(GTK_H_SEPARATOR,val) #define Val_GtkHSeparator(val) Val_GObject((GObject*)val) #define Val_GtkHSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSeparatorClass' */ #define GtkHandleBox_val(val) check_cast(GTK_HANDLE_BOX,val) #define Val_GtkHandleBox(val) Val_GObject((GObject*)val) #define Val_GtkHandleBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHandleBoxClass' */ /*TODO: conversion for record 'GtkHandleBoxPrivate' */ #define GtkIMContext_val(val) check_cast(GTK_IM_CONTEXT,val) #define Val_GtkIMContext(val) Val_GObject((GObject*)val) #define Val_GtkIMContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextClass' */ /*TODO: conversion for record 'GtkIMContextInfo' */ #define GtkIMContextSimple_val(val) check_cast(GTK_I_M_CONTEXT_SIMPLE,val) #define Val_GtkIMContextSimple(val) Val_GObject((GObject*)val) #define Val_GtkIMContextSimple_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextSimpleClass' */ /*TODO: conversion for record 'GtkIMContextSimplePrivate' */ #define GtkIMMulticontext_val(val) check_cast(GTK_IM_MULTICONTEXT,val) #define Val_GtkIMMulticontext(val) Val_GObject((GObject*)val) #define Val_GtkIMMulticontext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMMulticontextClass' */ /*TODO: conversion for record 'GtkIMMulticontextPrivate' */ #define GtkIconFactory_val(val) check_cast(GTK_ICON_FACTORY,val) #define Val_GtkIconFactory(val) Val_GObject((GObject*)val) #define Val_GtkIconFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconFactoryClass' */ /*TODO: conversion for record 'GtkIconFactoryPrivate' */ /*TODO: conversion for record 'GtkIconInfo' */ /*TODO: conversion for record 'GtkIconSet' */ /*TODO: conversion for record 'GtkIconSource' */ #define GtkIconTheme_val(val) check_cast(GTK_ICON_THEME,val) #define Val_GtkIconTheme(val) Val_GObject((GObject*)val) #define Val_GtkIconTheme_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconThemeClass' */ /*TODO: conversion for record 'GtkIconThemePrivate' */ #define GtkIconView_val(val) check_cast(GTK_ICON_VIEW,val) #define Val_GtkIconView(val) Val_GObject((GObject*)val) #define Val_GtkIconView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconViewClass' */ /*TODO: conversion for record 'GtkIconViewPrivate' */ #define GtkImage_val(val) check_cast(GTK_IMAGE,val) #define Val_GtkImage(val) Val_GObject((GObject*)val) #define Val_GtkImage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageClass' */ #define GtkImageMenuItem_val(val) check_cast(GTK_IMAGE_MENU_ITEM,val) #define Val_GtkImageMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkImageMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageMenuItemClass' */ /*TODO: conversion for record 'GtkImageMenuItemPrivate' */ /*TODO: conversion for record 'GtkImagePrivate' */ #define GtkInfoBar_val(val) check_cast(GTK_INFO_BAR,val) #define Val_GtkInfoBar(val) Val_GObject((GObject*)val) #define Val_GtkInfoBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInfoBarClass' */ /*TODO: conversion for record 'GtkInfoBarPrivate' */ #define GtkInvisible_val(val) check_cast(GTK_INVISIBLE,val) #define Val_GtkInvisible(val) Val_GObject((GObject*)val) #define Val_GtkInvisible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInvisibleClass' */ /*TODO: conversion for record 'GtkInvisiblePrivate' */ #define GtkLabel_val(val) check_cast(GTK_LABEL,val) #define Val_GtkLabel(val) Val_GObject((GObject*)val) #define Val_GtkLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLabelClass' */ /*TODO: conversion for record 'GtkLabelPrivate' */ /*TODO: conversion for record 'GtkLabelSelectionInfo' */ #define GtkLayout_val(val) check_cast(GTK_LAYOUT,val) #define Val_GtkLayout(val) Val_GObject((GObject*)val) #define Val_GtkLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLayoutClass' */ /*TODO: conversion for record 'GtkLayoutPrivate' */ #define GtkLinkButton_val(val) check_cast(GTK_LINK_BUTTON,val) #define Val_GtkLinkButton(val) Val_GObject((GObject*)val) #define Val_GtkLinkButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLinkButtonClass' */ /*TODO: conversion for record 'GtkLinkButtonPrivate' */ #define GtkListStore_val(val) check_cast(GTK_LIST_STORE,val) #define Val_GtkListStore(val) Val_GObject((GObject*)val) #define Val_GtkListStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkListStoreClass' */ /*TODO: conversion for record 'GtkListStorePrivate' */ #define GtkMenu_val(val) check_cast(GTK_MENU,val) #define Val_GtkMenu(val) Val_GObject((GObject*)val) #define Val_GtkMenu_new(val) Val_GObject_new((GObject*)val) #define GtkMenuBar_val(val) check_cast(GTK_MENU_BAR,val) #define Val_GtkMenuBar(val) Val_GObject((GObject*)val) #define Val_GtkMenuBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuBarClass' */ /*TODO: conversion for record 'GtkMenuBarPrivate' */ /*TODO: conversion for record 'GtkMenuClass' */ #define GtkMenuItem_val(val) check_cast(GTK_MENU_ITEM,val) #define Val_GtkMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuItemClass' */ /*TODO: conversion for record 'GtkMenuItemPrivate' */ /*TODO: conversion for record 'GtkMenuPrivate' */ #define GtkMenuShell_val(val) check_cast(GTK_MENU_SHELL,val) #define Val_GtkMenuShell(val) Val_GObject((GObject*)val) #define Val_GtkMenuShell_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuShellClass' */ /*TODO: conversion for record 'GtkMenuShellPrivate' */ #define GtkMenuToolButton_val(val) check_cast(GTK_MENU_TOOL_BUTTON,val) #define Val_GtkMenuToolButton(val) Val_GObject((GObject*)val) #define Val_GtkMenuToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuToolButtonClass' */ /*TODO: conversion for record 'GtkMenuToolButtonPrivate' */ #define GtkMessageDialog_val(val) check_cast(GTK_MESSAGE_DIALOG,val) #define Val_GtkMessageDialog(val) Val_GObject((GObject*)val) #define Val_GtkMessageDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMessageDialogClass' */ /*TODO: conversion for record 'GtkMessageDialogPrivate' */ #define GtkMisc_val(val) check_cast(GTK_MISC,val) #define Val_GtkMisc(val) Val_GObject((GObject*)val) #define Val_GtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMiscClass' */ /*TODO: conversion for record 'GtkMiscPrivate' */ #define GtkMountOperation_val(val) check_cast(GTK_MOUNT_OPERATION,val) #define Val_GtkMountOperation(val) Val_GObject((GObject*)val) #define Val_GtkMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMountOperationClass' */ /*TODO: conversion for record 'GtkMountOperationPrivate' */ #define GtkNotebook_val(val) check_cast(GTK_NOTEBOOK,val) #define Val_GtkNotebook(val) Val_GObject((GObject*)val) #define Val_GtkNotebook_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNotebookClass' */ /*TODO: conversion for record 'GtkNotebookPrivate' */ #define GtkNumerableIcon_val(val) check_cast(GTK_NUMERABLE_ICON,val) #define Val_GtkNumerableIcon(val) Val_GObject((GObject*)val) #define Val_GtkNumerableIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNumerableIconClass' */ /*TODO: conversion for record 'GtkNumerableIconPrivate' */ #define GtkOffscreenWindow_val(val) check_cast(GTK_OFFSCREEN_WINDOW,val) #define Val_GtkOffscreenWindow(val) Val_GObject((GObject*)val) #define Val_GtkOffscreenWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkOffscreenWindowClass' */ /*TODO: conversion for record 'GtkOrientableIface' */ /*TODO: conversion for record 'GtkPageRange' */ #define GtkPageSetup_val(val) check_cast(GTK_PAGE_SETUP,val) #define Val_GtkPageSetup(val) Val_GObject((GObject*)val) #define Val_GtkPageSetup_new(val) Val_GObject_new((GObject*)val) #define GtkPaned_val(val) check_cast(GTK_PANED,val) #define Val_GtkPaned(val) Val_GObject((GObject*)val) #define Val_GtkPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPanedClass' */ /*TODO: conversion for record 'GtkPanedPrivate' */ /*TODO: conversion for record 'GtkPaperSize' */ #define GtkPlug_val(val) check_cast(GTK_PLUG,val) #define Val_GtkPlug(val) Val_GObject((GObject*)val) #define Val_GtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPlugClass' */ /*TODO: conversion for record 'GtkPlugPrivate' */ #define GtkPrintContext_val(val) check_cast(GTK_PRINT_CONTEXT,val) #define Val_GtkPrintContext(val) Val_GObject((GObject*)val) #define Val_GtkPrintContext_new(val) Val_GObject_new((GObject*)val) #define GtkPrintOperation_val(val) check_cast(GTK_PRINT_OPERATION,val) #define Val_GtkPrintOperation(val) Val_GObject((GObject*)val) #define Val_GtkPrintOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPrintOperationClass' */ /*TODO: conversion for record 'GtkPrintOperationPreviewIface' */ /*TODO: conversion for record 'GtkPrintOperationPrivate' */ #define GtkPrintSettings_val(val) check_cast(GTK_PRINT_SETTINGS,val) #define Val_GtkPrintSettings(val) Val_GObject((GObject*)val) #define Val_GtkPrintSettings_new(val) Val_GObject_new((GObject*)val) #define GtkProgressBar_val(val) check_cast(GTK_PROGRESS_BAR,val) #define Val_GtkProgressBar(val) Val_GObject((GObject*)val) #define Val_GtkProgressBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkProgressBarClass' */ /*TODO: conversion for record 'GtkProgressBarPrivate' */ #define GtkRadioAction_val(val) check_cast(GTK_RADIO_ACTION,val) #define Val_GtkRadioAction(val) Val_GObject((GObject*)val) #define Val_GtkRadioAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioActionClass' */ /*TODO: conversion for record 'GtkRadioActionEntry' */ /*TODO: conversion for record 'GtkRadioActionPrivate' */ #define GtkRadioButton_val(val) check_cast(GTK_RADIO_BUTTON,val) #define Val_GtkRadioButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioButtonClass' */ /*TODO: conversion for record 'GtkRadioButtonPrivate' */ #define GtkRadioMenuItem_val(val) check_cast(GTK_RADIO_MENU_ITEM,val) #define Val_GtkRadioMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkRadioMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioMenuItemClass' */ /*TODO: conversion for record 'GtkRadioMenuItemPrivate' */ #define GtkRadioToolButton_val(val) check_cast(GTK_RADIO_TOOL_BUTTON,val) #define Val_GtkRadioToolButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioToolButtonClass' */ #define GtkRange_val(val) check_cast(GTK_RANGE,val) #define Val_GtkRange(val) Val_GObject((GObject*)val) #define Val_GtkRange_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRangeClass' */ /*TODO: conversion for record 'GtkRangePrivate' */ /*TODO: conversion for record 'GtkRcContext' */ /*TODO: conversion for record 'GtkRcProperty' */ #define GtkRcStyle_val(val) check_cast(GTK_RC_STYLE,val) #define Val_GtkRcStyle(val) Val_GObject((GObject*)val) #define Val_GtkRcStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRcStyleClass' */ #define GtkRecentAction_val(val) check_cast(GTK_RECENT_ACTION,val) #define Val_GtkRecentAction(val) Val_GObject((GObject*)val) #define Val_GtkRecentAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentActionClass' */ /*TODO: conversion for record 'GtkRecentActionPrivate' */ #define GtkRecentChooserDialog_val(val) check_cast(GTK_RECENT_CHOOSER_DIALOG,val) #define Val_GtkRecentChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserDialogClass' */ /*TODO: conversion for record 'GtkRecentChooserDialogPrivate' */ /*TODO: conversion for record 'GtkRecentChooserIface' */ #define GtkRecentChooserMenu_val(val) check_cast(GTK_RECENT_CHOOSER_MENU,val) #define Val_GtkRecentChooserMenu(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserMenu_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserMenuClass' */ /*TODO: conversion for record 'GtkRecentChooserMenuPrivate' */ #define GtkRecentChooserWidget_val(val) check_cast(GTK_RECENT_CHOOSER_WIDGET,val) #define Val_GtkRecentChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserWidgetClass' */ /*TODO: conversion for record 'GtkRecentChooserWidgetPrivate' */ /*TODO: conversion for record 'GtkRecentData' */ #define GtkRecentFilter_val(val) check_cast(GTK_RECENT_FILTER,val) #define Val_GtkRecentFilter(val) Val_GObject((GObject*)val) #define Val_GtkRecentFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentFilterInfo' */ /*TODO: conversion for record 'GtkRecentInfo' */ #define GtkRecentManager_val(val) check_cast(GTK_RECENT_MANAGER,val) #define Val_GtkRecentManager(val) Val_GObject((GObject*)val) #define Val_GtkRecentManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentManagerClass' */ /*TODO: conversion for record 'GtkRecentManagerPrivate' */ /*TODO: conversion for record 'GtkRequestedSize' */ /*TODO: conversion for record 'GtkRequisition' */ #define GtkScale_val(val) check_cast(GTK_SCALE,val) #define Val_GtkScale(val) Val_GObject((GObject*)val) #define Val_GtkScale_new(val) Val_GObject_new((GObject*)val) #define GtkScaleButton_val(val) check_cast(GTK_SCALE_BUTTON,val) #define Val_GtkScaleButton(val) Val_GObject((GObject*)val) #define Val_GtkScaleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScaleButtonClass' */ /*TODO: conversion for record 'GtkScaleButtonPrivate' */ /*TODO: conversion for record 'GtkScaleClass' */ /*TODO: conversion for record 'GtkScalePrivate' */ /*TODO: conversion for record 'GtkScrollableInterface' */ #define GtkScrollbar_val(val) check_cast(GTK_SCROLLBAR,val) #define Val_GtkScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrollbarClass' */ #define GtkScrolledWindow_val(val) check_cast(GTK_SCROLLED_WINDOW,val) #define Val_GtkScrolledWindow(val) Val_GObject((GObject*)val) #define Val_GtkScrolledWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrolledWindowClass' */ /*TODO: conversion for record 'GtkScrolledWindowPrivate' */ /*TODO: conversion for record 'GtkSelectionData' */ #define GtkSeparator_val(val) check_cast(GTK_SEPARATOR,val) #define Val_GtkSeparator(val) Val_GObject((GObject*)val) #define Val_GtkSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorClass' */ #define GtkSeparatorMenuItem_val(val) check_cast(GTK_SEPARATOR_MENU_ITEM,val) #define Val_GtkSeparatorMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorMenuItemClass' */ /*TODO: conversion for record 'GtkSeparatorPrivate' */ #define GtkSeparatorToolItem_val(val) check_cast(GTK_SEPARATOR_TOOL_ITEM,val) #define Val_GtkSeparatorToolItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorToolItemClass' */ /*TODO: conversion for record 'GtkSeparatorToolItemPrivate' */ #define GtkSettings_val(val) check_cast(GTK_SETTINGS,val) #define Val_GtkSettings(val) Val_GObject((GObject*)val) #define Val_GtkSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSettingsClass' */ /*TODO: conversion for record 'GtkSettingsPrivate' */ /*TODO: conversion for record 'GtkSettingsValue' */ #define GtkSizeGroup_val(val) check_cast(GTK_SIZE_GROUP,val) #define Val_GtkSizeGroup(val) Val_GObject((GObject*)val) #define Val_GtkSizeGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSizeGroupClass' */ /*TODO: conversion for record 'GtkSizeGroupPrivate' */ #define GtkSocket_val(val) check_cast(GTK_SOCKET,val) #define Val_GtkSocket(val) Val_GObject((GObject*)val) #define Val_GtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSocketClass' */ /*TODO: conversion for record 'GtkSocketPrivate' */ #define GtkSpinButton_val(val) check_cast(GTK_SPIN_BUTTON,val) #define Val_GtkSpinButton(val) Val_GObject((GObject*)val) #define Val_GtkSpinButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinButtonClass' */ /*TODO: conversion for record 'GtkSpinButtonPrivate' */ #define GtkSpinner_val(val) check_cast(GTK_SPINNER,val) #define Val_GtkSpinner(val) Val_GObject((GObject*)val) #define Val_GtkSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinnerClass' */ /*TODO: conversion for record 'GtkSpinnerPrivate' */ #define GtkStatusIcon_val(val) check_cast(GTK_STATUS_ICON,val) #define Val_GtkStatusIcon(val) Val_GObject((GObject*)val) #define Val_GtkStatusIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusIconClass' */ /*TODO: conversion for record 'GtkStatusIconPrivate' */ #define GtkStatusbar_val(val) check_cast(GTK_STATUSBAR,val) #define Val_GtkStatusbar(val) Val_GObject((GObject*)val) #define Val_GtkStatusbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusbarClass' */ /*TODO: conversion for record 'GtkStatusbarPrivate' */ /*TODO: conversion for record 'GtkStockItem' */ #define GtkStyle_val(val) check_cast(GTK_STYLE,val) #define Val_GtkStyle(val) Val_GObject((GObject*)val) #define Val_GtkStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleClass' */ #define GtkStyleContext_val(val) check_cast(GTK_STYLE_CONTEXT,val) #define Val_GtkStyleContext(val) Val_GObject((GObject*)val) #define Val_GtkStyleContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleContextClass' */ #define GtkStyleProperties_val(val) check_cast(GTK_STYLE_PROPERTIES,val) #define Val_GtkStyleProperties(val) Val_GObject((GObject*)val) #define Val_GtkStyleProperties_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStylePropertiesClass' */ /*TODO: conversion for record 'GtkStyleProviderIface' */ #define GtkSwitch_val(val) check_cast(GTK_SWITCH,val) #define Val_GtkSwitch(val) Val_GObject((GObject*)val) #define Val_GtkSwitch_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSwitchClass' */ /*TODO: conversion for record 'GtkSwitchPrivate' */ /*TODO: conversion for record 'GtkSymbolicColor' */ #define GtkTable_val(val) check_cast(GTK_TABLE,val) #define Val_GtkTable(val) Val_GObject((GObject*)val) #define Val_GtkTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTableChild' */ /*TODO: conversion for record 'GtkTableClass' */ /*TODO: conversion for record 'GtkTablePrivate' */ /*TODO: conversion for record 'GtkTableRowCol' */ /*TODO: conversion for record 'GtkTargetEntry' */ /*TODO: conversion for record 'GtkTargetList' */ #define GtkTearoffMenuItem_val(val) check_cast(GTK_TEAROFF_MENU_ITEM,val) #define Val_GtkTearoffMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkTearoffMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTearoffMenuItemClass' */ /*TODO: conversion for record 'GtkTearoffMenuItemPrivate' */ /*TODO: conversion for record 'GtkTextAppearance' */ /*TODO: conversion for record 'GtkTextAttributes' */ /*TODO: conversion for record 'GtkTextBTree' */ #define GtkTextBuffer_val(val) check_cast(GTK_TEXT_BUFFER,val) #define Val_GtkTextBuffer(val) Val_GObject((GObject*)val) #define Val_GtkTextBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextBufferClass' */ /*TODO: conversion for record 'GtkTextBufferPrivate' */ #define GtkTextChildAnchor_val(val) check_cast(GTK_TEXT_CHILD_ANCHOR,val) #define Val_GtkTextChildAnchor(val) Val_GObject((GObject*)val) #define Val_GtkTextChildAnchor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextChildAnchorClass' */ /*TODO: conversion for record 'GtkTextIter' */ #define GtkTextMark_val(val) check_cast(GTK_TEXT_MARK,val) #define Val_GtkTextMark(val) Val_GObject((GObject*)val) #define Val_GtkTextMark_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextMarkClass' */ #define GtkTextTag_val(val) check_cast(GTK_TEXT_TAG,val) #define Val_GtkTextTag(val) Val_GObject((GObject*)val) #define Val_GtkTextTag_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagClass' */ /*TODO: conversion for record 'GtkTextTagPrivate' */ #define GtkTextTagTable_val(val) check_cast(GTK_TEXT_TAG_TABLE,val) #define Val_GtkTextTagTable(val) Val_GObject((GObject*)val) #define Val_GtkTextTagTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagTableClass' */ /*TODO: conversion for record 'GtkTextTagTablePrivate' */ #define GtkTextView_val(val) check_cast(GTK_TEXT_VIEW,val) #define Val_GtkTextView(val) Val_GObject((GObject*)val) #define Val_GtkTextView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextViewClass' */ /*TODO: conversion for record 'GtkTextViewPrivate' */ /*TODO: conversion for record 'GtkThemeEngine' */ #define GtkThemingEngine_val(val) check_cast(GTK_THEMING_ENGINE,val) #define Val_GtkThemingEngine(val) Val_GObject((GObject*)val) #define Val_GtkThemingEngine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkThemingEngineClass' */ #define GtkToggleAction_val(val) check_cast(GTK_TOGGLE_ACTION,val) #define Val_GtkToggleAction(val) Val_GObject((GObject*)val) #define Val_GtkToggleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleActionClass' */ /*TODO: conversion for record 'GtkToggleActionEntry' */ /*TODO: conversion for record 'GtkToggleActionPrivate' */ #define GtkToggleButton_val(val) check_cast(GTK_TOGGLE_BUTTON,val) #define Val_GtkToggleButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleButtonClass' */ /*TODO: conversion for record 'GtkToggleButtonPrivate' */ #define GtkToggleToolButton_val(val) check_cast(GTK_TOGGLE_TOOL_BUTTON,val) #define Val_GtkToggleToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleToolButtonClass' */ /*TODO: conversion for record 'GtkToggleToolButtonPrivate' */ #define GtkToolButton_val(val) check_cast(GTK_TOOL_BUTTON,val) #define Val_GtkToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolButtonClass' */ /*TODO: conversion for record 'GtkToolButtonPrivate' */ #define GtkToolItem_val(val) check_cast(GTK_TOOL_ITEM,val) #define Val_GtkToolItem(val) Val_GObject((GObject*)val) #define Val_GtkToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemClass' */ #define GtkToolItemGroup_val(val) check_cast(GTK_TOOL_ITEM_GROUP,val) #define Val_GtkToolItemGroup(val) Val_GObject((GObject*)val) #define Val_GtkToolItemGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemGroupClass' */ /*TODO: conversion for record 'GtkToolItemGroupPrivate' */ /*TODO: conversion for record 'GtkToolItemPrivate' */ #define GtkToolPalette_val(val) check_cast(GTK_TOOL_PALETTE,val) #define Val_GtkToolPalette(val) Val_GObject((GObject*)val) #define Val_GtkToolPalette_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolPaletteClass' */ /*TODO: conversion for record 'GtkToolPalettePrivate' */ /*TODO: conversion for record 'GtkToolShellIface' */ #define GtkToolbar_val(val) check_cast(GTK_TOOLBAR,val) #define Val_GtkToolbar(val) Val_GObject((GObject*)val) #define Val_GtkToolbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolbarClass' */ /*TODO: conversion for record 'GtkToolbarPrivate' */ #define GtkTooltip_val(val) check_cast(GTK_TOOLTIP,val) #define Val_GtkTooltip(val) Val_GObject((GObject*)val) #define Val_GtkTooltip_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeDragDestIface' */ /*TODO: conversion for record 'GtkTreeDragSourceIface' */ /*TODO: conversion for record 'GtkTreeIter' */ #define GtkTreeModelFilter_val(val) check_cast(GTK_TREE_MODEL_FILTER,val) #define Val_GtkTreeModelFilter(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelFilterClass' */ /*TODO: conversion for record 'GtkTreeModelFilterPrivate' */ /*TODO: conversion for record 'GtkTreeModelIface' */ #define GtkTreeModelSort_val(val) check_cast(GTK_TREE_MODEL_SORT,val) #define Val_GtkTreeModelSort(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelSort_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelSortClass' */ /*TODO: conversion for record 'GtkTreeModelSortPrivate' */ /*TODO: conversion for record 'GtkTreePath' */ /*TODO: conversion for record 'GtkTreeRowReference' */ #define GtkTreeSelection_val(val) check_cast(GTK_TREE_SELECTION,val) #define Val_GtkTreeSelection(val) Val_GObject((GObject*)val) #define Val_GtkTreeSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeSelectionClass' */ /*TODO: conversion for record 'GtkTreeSelectionPrivate' */ /*TODO: conversion for record 'GtkTreeSortableIface' */ #define GtkTreeStore_val(val) check_cast(GTK_TREE_STORE,val) #define Val_GtkTreeStore(val) Val_GObject((GObject*)val) #define Val_GtkTreeStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeStoreClass' */ /*TODO: conversion for record 'GtkTreeStorePrivate' */ #define GtkTreeView_val(val) check_cast(GTK_TREE_VIEW,val) #define Val_GtkTreeView(val) Val_GObject((GObject*)val) #define Val_GtkTreeView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewClass' */ #define GtkTreeViewColumn_val(val) check_cast(GTK_TREE_VIEW_COLUMN,val) #define Val_GtkTreeViewColumn(val) Val_GObject((GObject*)val) #define Val_GtkTreeViewColumn_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewColumnClass' */ /*TODO: conversion for record 'GtkTreeViewColumnPrivate' */ /*TODO: conversion for record 'GtkTreeViewPrivate' */ #define GtkUIManager_val(val) check_cast(GTK_UI_MANAGER,val) #define Val_GtkUIManager(val) Val_GObject((GObject*)val) #define Val_GtkUIManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkUIManagerClass' */ /*TODO: conversion for record 'GtkUIManagerPrivate' */ #define GtkVBox_val(val) check_cast(GTK_V_BOX,val) #define Val_GtkVBox(val) Val_GObject((GObject*)val) #define Val_GtkVBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVBoxClass' */ #define GtkVButtonBox_val(val) check_cast(GTK_V_BUTTON_BOX,val) #define Val_GtkVButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkVButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVButtonBoxClass' */ #define GtkVPaned_val(val) check_cast(GTK_V_PANED,val) #define Val_GtkVPaned(val) Val_GObject((GObject*)val) #define Val_GtkVPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVPanedClass' */ #define GtkVScale_val(val) check_cast(GTK_V_SCALE,val) #define Val_GtkVScale(val) Val_GObject((GObject*)val) #define Val_GtkVScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScaleClass' */ #define GtkVScrollbar_val(val) check_cast(GTK_V_SCROLLBAR,val) #define Val_GtkVScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkVScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScrollbarClass' */ #define GtkVSeparator_val(val) check_cast(GTK_V_SEPARATOR,val) #define Val_GtkVSeparator(val) Val_GObject((GObject*)val) #define Val_GtkVSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVSeparatorClass' */ #define GtkViewport_val(val) check_cast(GTK_VIEWPORT,val) #define Val_GtkViewport(val) Val_GObject((GObject*)val) #define Val_GtkViewport_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkViewportClass' */ /*TODO: conversion for record 'GtkViewportPrivate' */ #define GtkVolumeButton_val(val) check_cast(GTK_VOLUME_BUTTON,val) #define Val_GtkVolumeButton(val) Val_GObject((GObject*)val) #define Val_GtkVolumeButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVolumeButtonClass' */ #define GtkWidget_val(val) check_cast(GTK_WIDGET,val) #define Val_GtkWidget(val) Val_GObject((GObject*)val) #define Val_GtkWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWidgetAuxInfo' */ /*TODO: conversion for record 'GtkWidgetClass' */ /*TODO: conversion for record 'GtkWidgetPath' */ /*TODO: conversion for record 'GtkWidgetPrivate' */ #define GtkWindow_val(val) check_cast(GTK_WINDOW,val) #define Val_GtkWindow(val) Val_GObject((GObject*)val) #define Val_GtkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowClass' */ /*TODO: conversion for record 'GtkWindowGeometryInfo' */ #define GtkWindowGroup_val(val) check_cast(GTK_WINDOW_GROUP,val) #define Val_GtkWindowGroup(val) Val_GObject((GObject*)val) #define Val_GtkWindowGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowGroupClass' */ /*TODO: conversion for record 'GtkWindowGroupPrivate' */ /*TODO: conversion for record 'GtkWindowPrivate' */ #include <> #include "../wrappers.h" #include "../ml_gobject.h" /* Module _ScriptForLang */ /* end of _ScriptForLang */ /* Module TabArray */ ML_2(pango_tab_array_resize,PangoTabArray_val, Int_val, Unit) ML_1(pango_tab_array_get_size,PangoTabArray_val, Val_int) ML_1(pango_tab_array_get_positions_in_pixels,PangoTabArray_val, Val_bool) ML_1(pango_tab_array_free,PangoTabArray_val, Unit) ML_1(pango_tab_array_copy,PangoTabArray_val, Val_PangoTabArray_new) /* end of TabArray */ /* Module ScriptIter */ ML_1(pango_script_iter_next,PangoScriptIter_val, Val_bool) ML_1(pango_script_iter_free,PangoScriptIter_val, Unit) /* end of ScriptIter */ /* Module RendererPrivate */ /* end of RendererPrivate */ /* Module RendererClass */ /* end of RendererClass */ /* Module Renderer */ ML_2(pango_renderer_set_matrix,PangoRenderer_val, PangoMatrix_val, Unit) ML_1(pango_renderer_get_matrix,PangoRenderer_val, Val_PangoMatrix) ML_1(pango_renderer_get_layout_line,PangoRenderer_val, Val_PangoLayoutLine_new) ML_1(pango_renderer_get_layout,PangoRenderer_val, Val_PangoLayout) ML_4(pango_renderer_draw_layout_line,PangoRenderer_val, PangoLayoutLine_val, Int_val, Int_val, Unit) ML_4(pango_renderer_draw_layout,PangoRenderer_val, PangoLayout_val, Int_val, Int_val, Unit) ML_5(pango_renderer_draw_glyphs,PangoRenderer_val, PangoFont_val, PangoGlyphString_val, Int_val, Int_val, Unit) ML_5(pango_renderer_draw_glyph_item,PangoRenderer_val, String_val, PangoGlyphItem_val, Int_val, Int_val, Unit) ML_5(pango_renderer_draw_glyph,PangoRenderer_val, PangoFont_val, Int32_val, Double_val, Double_val, Unit) ML_5(pango_renderer_draw_error_underline,PangoRenderer_val, Int_val, Int_val, Int_val, Int_val, Unit) ML_1(pango_renderer_deactivate,PangoRenderer_val, Unit) ML_1(pango_renderer_activate,PangoRenderer_val, Unit) /* end of Renderer */ /* Module Rectangle */ /* end of Rectangle */ /* Module Matrix */ ML_3(pango_matrix_translate,PangoMatrix_val, Double_val, Double_val, Unit) ML_2(pango_matrix_transform_rectangle,PangoMatrix_val, PangoRectangle_val, Unit) ML_2(pango_matrix_transform_pixel_rectangle,PangoMatrix_val, PangoRectangle_val, Unit) ML_3(pango_matrix_scale,PangoMatrix_val, Double_val, Double_val, Unit) ML_2(pango_matrix_rotate,PangoMatrix_val, Double_val, Unit) ML_1(pango_matrix_get_font_scale_factor,PangoMatrix_val, Val_double) ML_1(pango_matrix_free,PangoMatrix_val, Unit) ML_1(pango_matrix_copy,PangoMatrix_val, Val_PangoMatrix_new) ML_2(pango_matrix_concat,PangoMatrix_val, PangoMatrix_val, Unit) /* end of Matrix */ /* Module LogAttr */ /* end of LogAttr */ /* Module LayoutLine */ ML_1(pango_layout_line_unref,PangoLayoutLine_val, Unit) ML_1(pango_layout_line_ref,PangoLayoutLine_val, Val_PangoLayoutLine_new) ML_3(pango_layout_line_get_pixel_extents,PangoLayoutLine_val, PangoRectangle_val, PangoRectangle_val, Unit) ML_3(pango_layout_line_get_extents,PangoLayoutLine_val, PangoRectangle_val, PangoRectangle_val, Unit) /* end of LayoutLine */ /* Module LayoutIter */ ML_1(pango_layout_iter_next_run,PangoLayoutIter_val, Val_bool) ML_1(pango_layout_iter_next_line,PangoLayoutIter_val, Val_bool) ML_1(pango_layout_iter_next_cluster,PangoLayoutIter_val, Val_bool) ML_1(pango_layout_iter_next_char,PangoLayoutIter_val, Val_bool) ML_3(pango_layout_iter_get_run_extents,PangoLayoutIter_val, PangoRectangle_val, PangoRectangle_val, Unit) ML_1(pango_layout_iter_get_line_readonly,PangoLayoutIter_val, Val_PangoLayoutLine_new) ML_3(pango_layout_iter_get_line_extents,PangoLayoutIter_val, PangoRectangle_val, PangoRectangle_val, Unit) ML_1(pango_layout_iter_get_line,PangoLayoutIter_val, Val_PangoLayoutLine_new) ML_3(pango_layout_iter_get_layout_extents,PangoLayoutIter_val, PangoRectangle_val, PangoRectangle_val, Unit) ML_1(pango_layout_iter_get_layout,PangoLayoutIter_val, Val_PangoLayout) ML_1(pango_layout_iter_get_index,PangoLayoutIter_val, Val_int) ML_3(pango_layout_iter_get_cluster_extents,PangoLayoutIter_val, PangoRectangle_val, PangoRectangle_val, Unit) ML_2(pango_layout_iter_get_char_extents,PangoLayoutIter_val, PangoRectangle_val, Unit) ML_1(pango_layout_iter_get_baseline,PangoLayoutIter_val, Val_int) ML_1(pango_layout_iter_free,PangoLayoutIter_val, Unit) ML_1(pango_layout_iter_copy,PangoLayoutIter_val, Val_PangoLayoutIter_new) ML_1(pango_layout_iter_at_last_line,PangoLayoutIter_val, Val_bool) /* end of LayoutIter */ /* Module LayoutClass */ /* end of LayoutClass */ /* Module Layout */ ML_2(pango_layout_set_width,PangoLayout_val, Int_val, Unit) ML_3(pango_layout_set_text,PangoLayout_val, String_val, Int_val, Unit) ML_2(pango_layout_set_tabs,PangoLayout_val, PangoTabArray_val, Unit) ML_2(pango_layout_set_spacing,PangoLayout_val, Int_val, Unit) ML_2(pango_layout_set_single_paragraph_mode,PangoLayout_val, Bool_val, Unit) ML_3(pango_layout_set_markup,PangoLayout_val, String_val, Int_val, Unit) ML_2(pango_layout_set_justify,PangoLayout_val, Bool_val, Unit) ML_2(pango_layout_set_indent,PangoLayout_val, Int_val, Unit) ML_2(pango_layout_set_height,PangoLayout_val, Int_val, Unit) ML_2(pango_layout_set_font_description,PangoLayout_val, PangoFontDescription_val, Unit) ML_2(pango_layout_set_auto_dir,PangoLayout_val, Bool_val, Unit) ML_2(pango_layout_set_attributes,PangoLayout_val, PangoAttrList_val, Unit) ML_1(pango_layout_is_wrapped,PangoLayout_val, Val_bool) ML_1(pango_layout_is_ellipsized,PangoLayout_val, Val_bool) ML_3(pango_layout_index_to_pos,PangoLayout_val, Int_val, PangoRectangle_val, Unit) ML_1(pango_layout_get_width,PangoLayout_val, Val_int) ML_1(pango_layout_get_unknown_glyphs_count,PangoLayout_val, Val_int) ML_1(pango_layout_get_text,PangoLayout_val, Val_string) ML_1(pango_layout_get_tabs,PangoLayout_val, Val_PangoTabArray_new) ML_1(pango_layout_get_spacing,PangoLayout_val, Val_int) ML_1(pango_layout_get_single_paragraph_mode,PangoLayout_val, Val_bool) ML_3(pango_layout_get_pixel_extents,PangoLayout_val, PangoRectangle_val, PangoRectangle_val, Unit) ML_1(pango_layout_get_lines_readonly,PangoLayout_val, Val_GSList) ML_1(pango_layout_get_lines,PangoLayout_val, Val_GSList) ML_2(pango_layout_get_line_readonly,PangoLayout_val, Int_val, Val_PangoLayoutLine_new) ML_1(pango_layout_get_line_count,PangoLayout_val, Val_int) ML_2(pango_layout_get_line,PangoLayout_val, Int_val, Val_PangoLayoutLine_new) ML_1(pango_layout_get_justify,PangoLayout_val, Val_bool) ML_1(pango_layout_get_iter,PangoLayout_val, Val_PangoLayoutIter_new) ML_1(pango_layout_get_indent,PangoLayout_val, Val_int) ML_1(pango_layout_get_height,PangoLayout_val, Val_int) ML_1(pango_layout_get_font_description,PangoLayout_val, Val_PangoFontDescription) ML_3(pango_layout_get_extents,PangoLayout_val, PangoRectangle_val, PangoRectangle_val, Unit) ML_4(pango_layout_get_cursor_pos,PangoLayout_val, Int_val, PangoRectangle_val, PangoRectangle_val, Unit) ML_1(pango_layout_get_context,PangoLayout_val, Val_PangoContext) ML_1(pango_layout_get_baseline,PangoLayout_val, Val_int) ML_1(pango_layout_get_auto_dir,PangoLayout_val, Val_bool) ML_1(pango_layout_get_attributes,PangoLayout_val, Val_PangoAttrList_new) ML_1(pango_layout_copy,PangoLayout_val, Val_PangoLayout) ML_1(pango_layout_context_changed,PangoLayout_val, Unit) /* end of Layout */ /* Module Language */ ML_1(pango_language_to_string,PangoLanguage_val, Val_string) ML_2(pango_language_matches,PangoLanguage_val, String_val, Val_bool) ML_1(pango_language_get_sample_string,PangoLanguage_val, Val_string) /* end of Language */ /* Module Item */ ML_3(pango_item_split,PangoItem_val, Int_val, Int_val, Val_PangoItem_new) ML_1(pango_item_free,PangoItem_val, Unit) ML_1(pango_item_copy,PangoItem_val, Val_PangoItem_new) /* end of Item */ /* Module GlyphVisAttr */ /* end of GlyphVisAttr */ /* Module GlyphString */ ML_2(pango_glyph_string_set_size,PangoGlyphString_val, Int_val, Unit) ML_1(pango_glyph_string_get_width,PangoGlyphString_val, Val_int) ML_1(pango_glyph_string_free,PangoGlyphString_val, Unit) ML_6(pango_glyph_string_extents_range,PangoGlyphString_val, Int_val, Int_val, PangoFont_val, PangoRectangle_val, PangoRectangle_val, Unit) ML_bc6(ml_pango_glyph_string_extents_range) ML_4(pango_glyph_string_extents,PangoGlyphString_val, PangoFont_val, PangoRectangle_val, PangoRectangle_val, Unit) ML_1(pango_glyph_string_copy,PangoGlyphString_val, Val_PangoGlyphString_new) /* end of GlyphString */ /* Module GlyphItemIter */ ML_1(pango_glyph_item_iter_prev_cluster,PangoGlyphItemIter_val, Val_bool) ML_1(pango_glyph_item_iter_next_cluster,PangoGlyphItemIter_val, Val_bool) ML_3(pango_glyph_item_iter_init_start,PangoGlyphItemIter_val, PangoGlyphItem_val, String_val, Val_bool) ML_3(pango_glyph_item_iter_init_end,PangoGlyphItemIter_val, PangoGlyphItem_val, String_val, Val_bool) ML_1(pango_glyph_item_iter_free,PangoGlyphItemIter_val, Unit) ML_1(pango_glyph_item_iter_copy,PangoGlyphItemIter_val, Val_PangoGlyphItemIter_new) /* end of GlyphItemIter */ /* Module GlyphItem */ ML_3(pango_glyph_item_split,PangoGlyphItem_val, String_val, Int_val, Val_PangoGlyphItem_new) ML_4(pango_glyph_item_letter_space,PangoGlyphItem_val, String_val, PangoLogAttr_val, Int_val, Unit) ML_1(pango_glyph_item_free,PangoGlyphItem_val, Unit) ML_1(pango_glyph_item_copy,PangoGlyphItem_val, Val_PangoGlyphItem_new) ML_3(pango_glyph_item_apply_attrs,PangoGlyphItem_val, String_val, PangoAttrList_val, Val_GSList) /* end of GlyphItem */ /* Module GlyphInfo */ /* end of GlyphInfo */ /* Module GlyphGeometry */ /* end of GlyphGeometry */ /* Module Fontset */ ML_1(pango_fontset_get_metrics,PangoFontset_val, Val_PangoFontMetrics_new) ML_2(pango_fontset_get_font,PangoFontset_val, Int_val, Val_PangoFont) /* end of Fontset */ /* Module FontMetrics */ ML_1(pango_font_metrics_unref,PangoFontMetrics_val, Unit) ML_1(pango_font_metrics_ref,PangoFontMetrics_val, Val_PangoFontMetrics_new) ML_1(pango_font_metrics_get_underline_thickness,PangoFontMetrics_val, Val_int) ML_1(pango_font_metrics_get_underline_position,PangoFontMetrics_val, Val_int) ML_1(pango_font_metrics_get_strikethrough_thickness,PangoFontMetrics_val, Val_int) ML_1(pango_font_metrics_get_strikethrough_position,PangoFontMetrics_val, Val_int) ML_1(pango_font_metrics_get_descent,PangoFontMetrics_val, Val_int) ML_1(pango_font_metrics_get_ascent,PangoFontMetrics_val, Val_int) ML_1(pango_font_metrics_get_approximate_digit_width,PangoFontMetrics_val, Val_int) ML_1(pango_font_metrics_get_approximate_char_width,PangoFontMetrics_val, Val_int) /* end of FontMetrics */ /* Module FontMap */ ML_4(pango_font_map_load_fontset,PangoFontMap_val, PangoContext_val, PangoFontDescription_val, PangoLanguage_val, Val_PangoFontset) ML_3(pango_font_map_load_font,PangoFontMap_val, PangoContext_val, PangoFontDescription_val, Val_PangoFont) ML_1(pango_font_map_create_context,PangoFontMap_val, Val_PangoContext) /* end of FontMap */ /* Module FontFamily */ ML_1(pango_font_family_is_monospace,PangoFontFamily_val, Val_bool) ML_1(pango_font_family_get_name,PangoFontFamily_val, Val_string) /* end of FontFamily */ /* Module FontFace */ ML_1(pango_font_face_is_synthesized,PangoFontFace_val, Val_bool) ML_1(pango_font_face_get_face_name,PangoFontFace_val, Val_string) ML_1(pango_font_face_describe,PangoFontFace_val, Val_PangoFontDescription_new) /* end of FontFace */ /* Module FontDescription */ ML_1(pango_font_description_to_string,PangoFontDescription_val, Val_string_new) ML_1(pango_font_description_to_filename,PangoFontDescription_val, Val_string_new) ML_2(pango_font_description_set_size,PangoFontDescription_val, Int_val, Unit) ML_2(pango_font_description_set_family_static,PangoFontDescription_val, String_val, Unit) ML_2(pango_font_description_set_family,PangoFontDescription_val, String_val, Unit) ML_2(pango_font_description_set_absolute_size,PangoFontDescription_val, Double_val, Unit) ML_3(pango_font_description_merge_static,PangoFontDescription_val, PangoFontDescription_val, Bool_val, Unit) ML_3(pango_font_description_merge,PangoFontDescription_val, PangoFontDescription_val, Bool_val, Unit) ML_1(pango_font_description_hash,PangoFontDescription_val, Val_int) ML_1(pango_font_description_get_size_is_absolute,PangoFontDescription_val, Val_bool) ML_1(pango_font_description_get_size,PangoFontDescription_val, Val_int) ML_1(pango_font_description_get_family,PangoFontDescription_val, Val_string) ML_1(pango_font_description_free,PangoFontDescription_val, Unit) ML_2(pango_font_description_equal,PangoFontDescription_val, PangoFontDescription_val, Val_bool) ML_1(pango_font_description_copy_static,PangoFontDescription_val, Val_PangoFontDescription_new) ML_1(pango_font_description_copy,PangoFontDescription_val, Val_PangoFontDescription_new) ML_3(pango_font_description_better_match,PangoFontDescription_val, PangoFontDescription_val, PangoFontDescription_val, Val_bool) /* end of FontDescription */ /* Module Font */ ML_2(pango_font_get_metrics,PangoFont_val, PangoLanguage_val, Val_PangoFontMetrics_new) ML_4(pango_font_get_glyph_extents,PangoFont_val, Int32_val, PangoRectangle_val, PangoRectangle_val, Unit) ML_1(pango_font_get_font_map,PangoFont_val, Val_PangoFontMap) ML_2(pango_font_get_coverage,PangoFont_val, PangoLanguage_val, Val_PangoCoverage) ML_3(pango_font_find_shaper,PangoFont_val, PangoLanguage_val, Int32_val, Val_PangoEngineShape) ML_1(pango_font_describe_with_absolute_size,PangoFont_val, Val_PangoFontDescription_new) ML_1(pango_font_describe,PangoFont_val, Val_PangoFontDescription_new) /* end of Font */ /* Module EngineShape */ /* end of EngineShape */ /* Module EngineLang */ /* end of EngineLang */ /* Module Coverage */ ML_1(pango_coverage_unref,PangoCoverage_val, Unit) ML_1(pango_coverage_ref,PangoCoverage_val, Val_PangoCoverage) ML_2(pango_coverage_max,PangoCoverage_val, PangoCoverage_val, Unit) ML_1(pango_coverage_copy,PangoCoverage_val, Val_PangoCoverage) /* end of Coverage */ /* Module ContextClass */ /* end of ContextClass */ /* Module Context */ ML_2(pango_context_set_matrix,PangoContext_val, PangoMatrix_val, Unit) ML_2(pango_context_set_language,PangoContext_val, PangoLanguage_val, Unit) ML_2(pango_context_set_font_map,PangoContext_val, PangoFontMap_val, Unit) ML_2(pango_context_set_font_description,PangoContext_val, PangoFontDescription_val, Unit) ML_3(pango_context_load_fontset,PangoContext_val, PangoFontDescription_val, PangoLanguage_val, Val_PangoFontset) ML_2(pango_context_load_font,PangoContext_val, PangoFontDescription_val, Val_PangoFont) ML_3(pango_context_get_metrics,PangoContext_val, PangoFontDescription_val, PangoLanguage_val, Val_PangoFontMetrics_new) ML_1(pango_context_get_matrix,PangoContext_val, Val_PangoMatrix) ML_1(pango_context_get_language,PangoContext_val, Val_PangoLanguage_new) ML_1(pango_context_get_font_map,PangoContext_val, Val_PangoFontMap) ML_1(pango_context_get_font_description,PangoContext_val, Val_PangoFontDescription_new) /* end of Context */ /* Module Color */ ML_1(pango_color_to_string,PangoColor_val, Val_string_new) ML_2(pango_color_parse,PangoColor_val, String_val, Val_bool) ML_1(pango_color_free,PangoColor_val, Unit) ML_1(pango_color_copy,PangoColor_val, Val_PangoColor_new) /* end of Color */ /* Module Attribute */ ML_2(pango_attribute_init,PangoAttribute_val, PangoAttrClass_val, Unit) ML_2(pango_attribute_equal,PangoAttribute_val, PangoAttribute_val, Val_bool) ML_1(pango_attribute_destroy,PangoAttribute_val, Unit) ML_1(pango_attribute_copy,PangoAttribute_val, Val_PangoAttribute) /* end of Attribute */ /* Module AttrString */ /* end of AttrString */ /* Module AttrSize */ /* end of AttrSize */ /* Module AttrShape */ /* end of AttrShape */ /* Module AttrList */ ML_1(pango_attr_list_unref,PangoAttrList_val, Unit) ML_4(pango_attr_list_splice,PangoAttrList_val, PangoAttrList_val, Int_val, Int_val, Unit) ML_1(pango_attr_list_ref,PangoAttrList_val, Val_PangoAttrList_new) ML_2(pango_attr_list_insert_before,PangoAttrList_val, PangoAttribute_val, Unit) ML_2(pango_attr_list_insert,PangoAttrList_val, PangoAttribute_val, Unit) ML_1(pango_attr_list_get_iterator,PangoAttrList_val, Val_PangoAttrIterator) ML_1(pango_attr_list_copy,PangoAttrList_val, Val_PangoAttrList_new) ML_2(pango_attr_list_change,PangoAttrList_val, PangoAttribute_val, Unit) /* end of AttrList */ /* Module AttrLanguage */ /* end of AttrLanguage */ /* Module AttrIterator */ ML_1(pango_attr_iterator_next,PangoAttrIterator_val, Val_bool) ML_1(pango_attr_iterator_get_attrs,PangoAttrIterator_val, Val_GSList) ML_1(pango_attr_iterator_destroy,PangoAttrIterator_val, Unit) ML_1(pango_attr_iterator_copy,PangoAttrIterator_val, Val_PangoAttrIterator) /* end of AttrIterator */ /* Module AttrInt */ /* end of AttrInt */ /* Module AttrFontDesc */ /* end of AttrFontDesc */ /* Module AttrFloat */ /* end of AttrFloat */ /* Module AttrColor */ /* end of AttrColor */ /* Module AttrClass */ /* end of AttrClass */ /* Module Analysis */ /* end of Analysis */ /* Global functions */ ML_0(pango_version_string,Val_string) ML_3(pango_version_check,Int_val, Int_val, Int_val, Val_string) ML_0(pango_version,Val_int) ML_1(pango_units_to_double,Int_val, Val_double) ML_1(pango_units_from_double,Double_val, Val_int) ML_1(pango_trim_string,String_val, Val_string_new) ML_4(pango_shape,String_val, Int_val, PangoAnalysis_val, PangoGlyphString_val, Unit) ML_2(pango_script_iter_new,String_val, Int_val, Val_PangoScriptIter) ML_1(pango_reorder_items,GList_val, Val_GList) ML_0(pango_language_get_default,Val_PangoLanguage_new) ML_1(pango_language_from_string,String_val, Val_PangoLanguage_new) ML_6(pango_itemize,PangoContext_val, String_val, Int_val, Int_val, PangoAttrList_val, PangoAttrIterator_val, Val_GList) ML_bc6(ml_pango_itemize) ML_1(pango_is_zero_width,Int32_val, Val_bool) ML_6(pango_get_log_attrs,String_val, Int_val, Int_val, PangoLanguage_val, PangoLogAttr_val, Int_val, Unit) ML_bc6(ml_pango_get_log_attrs) ML_1(pango_font_description_from_string,String_val, Val_PangoFontDescription_new) ML_2(pango_extents_to_pixels,PangoRectangle_val, PangoRectangle_val, Unit) ML_0(pango_coverage_new,Val_PangoCoverage) ML_2(pango_coverage_from_bytes,String_val, Int_val, Val_PangoCoverage) ML_5(pango_break,String_val, Int_val, PangoAnalysis_val, PangoLogAttr_val, Int_val, Unit) ML_3(pango_attr_underline_color_new,Int_val, Int_val, Int_val, Val_PangoAttribute) ML_1(pango_attr_strikethrough_new,Bool_val, Val_PangoAttribute) ML_3(pango_attr_strikethrough_color_new,Int_val, Int_val, Int_val, Val_PangoAttribute) ML_1(pango_attr_size_new_absolute,Int_val, Val_PangoAttribute) ML_1(pango_attr_size_new,Int_val, Val_PangoAttribute) ML_2(pango_attr_shape_new,PangoRectangle_val, PangoRectangle_val, Val_PangoAttribute) ML_1(pango_attr_scale_new,Double_val, Val_PangoAttribute) ML_1(pango_attr_rise_new,Int_val, Val_PangoAttribute) ML_1(pango_attr_letter_spacing_new,Int_val, Val_PangoAttribute) ML_1(pango_attr_language_new,PangoLanguage_val, Val_PangoAttribute) ML_3(pango_attr_foreground_new,Int_val, Int_val, Int_val, Val_PangoAttribute) ML_1(pango_attr_font_desc_new,PangoFontDescription_val, Val_PangoAttribute) ML_1(pango_attr_family_new,String_val, Val_PangoAttribute) ML_1(pango_attr_fallback_new,Bool_val, Val_PangoAttribute) ML_3(pango_attr_background_new,Int_val, Int_val, Int_val, Val_PangoAttribute) /* End of global functions */ lablgtk-3.1.2/tools/introspection/stubs/ml_stubs_cairo.c0000644000650106067230000027502214161276610022361 0ustar glondused#include #include #define Val_double(val) caml_copy_double(val) #define Val_string_new(val) caml_copy_string(val) #define Val_int32(val) caml_copy_int32(val) #define Val_int32_new(val) caml_copy_int32(val) /*TODO: conversion for record 'GAllocator' */ /*TODO: conversion for record 'GArray' */ /*TODO: conversion for record 'GAsyncQueue' */ /*TODO: conversion for record 'GBookmarkFile' */ /*TODO: conversion for record 'GByteArray' */ /*TODO: conversion for record 'GCache' */ /*TODO: conversion for record 'GChecksum' */ /*TODO: conversion for record 'GCompletion' */ /*TODO: conversion for record 'GCond' */ /*TODO: conversion for record 'GData' */ /*TODO: conversion for record 'GDate' */ /*TODO: conversion for record 'GDateTime' */ /*TODO: conversion for record 'GDebugKey' */ /*TODO: conversion for record 'GDir' */ /*TODO: conversion for record 'GError' */ /*TODO: conversion for record 'GHashTable' */ /*TODO: conversion for record 'GHashTableIter' */ /*TODO: conversion for record 'GHook' */ /*TODO: conversion for record 'GHookList' */ /*TODO: conversion for record 'GIConv' */ /*TODO: conversion for record 'GIOChannel' */ /*TODO: conversion for record 'GIOFuncs' */ /*TODO: conversion for record 'GKeyFile' */ /*TODO: conversion for record 'GList' */ /*TODO: conversion for record 'GMainContext' */ /*TODO: conversion for record 'GMainLoop' */ /*TODO: conversion for record 'GMappedFile' */ /*TODO: conversion for record 'GMarkupParseContext' */ /*TODO: conversion for record 'GMarkupParser' */ /*TODO: conversion for record 'GMatchInfo' */ /*TODO: conversion for record 'GMemChunk' */ /*TODO: conversion for record 'GMemVTable' */ /*TODO: conversion for record 'GMutex' */ /*TODO: conversion for record 'GNode' */ /*TODO: conversion for record 'GOnce' */ /*TODO: conversion for record 'GOptionContext' */ /*TODO: conversion for record 'GOptionEntry' */ /*TODO: conversion for record 'GOptionGroup' */ /*TODO: conversion for record 'GPatternSpec' */ /*TODO: conversion for record 'GPollFD' */ /*TODO: conversion for record 'GPrivate' */ /*TODO: conversion for record 'GPtrArray' */ /*TODO: conversion for record 'GQueue' */ /*TODO: conversion for record 'GRand' */ /*TODO: conversion for record 'GRegex' */ /*TODO: conversion for record 'GRelation' */ /*TODO: conversion for record 'GSList' */ /*TODO: conversion for record 'GScanner' */ /*TODO: conversion for record 'GScannerConfig' */ /*TODO: conversion for record 'GSequence' */ /*TODO: conversion for record 'GSequenceIter' */ /*TODO: conversion for record 'GSource' */ /*TODO: conversion for record 'GSourceCallbackFuncs' */ /*TODO: conversion for record 'GSourceFuncs' */ /*TODO: conversion for record 'GSourcePrivate' */ /*TODO: conversion for record 'GStatBuf' */ /*TODO: conversion for record 'GStaticMutex' */ /*TODO: conversion for record 'GStaticPrivate' */ /*TODO: conversion for record 'GStaticRWLock' */ /*TODO: conversion for record 'GStaticRecMutex' */ /*TODO: conversion for record 'GString' */ /*TODO: conversion for record 'GStringChunk' */ /*TODO: conversion for record 'GTestCase' */ /*TODO: conversion for record 'GTestConfig' */ /*TODO: conversion for record 'GTestLogBuffer' */ /*TODO: conversion for record 'GTestLogMsg' */ /*TODO: conversion for record 'GTestSuite' */ /*TODO: conversion for record 'GThread' */ /*TODO: conversion for record 'GThreadFunctions' */ /*TODO: conversion for record 'GThreadPool' */ /*TODO: conversion for record 'GTimeVal' */ /*TODO: conversion for record 'GTimeZone' */ /*TODO: conversion for record 'GTimer' */ /*TODO: conversion for record 'GTrashStack' */ /*TODO: conversion for record 'GTree' */ /*TODO: conversion for record 'GTuples' */ /*TODO: conversion for record 'GVariant' */ /*TODO: conversion for record 'GVariantBuilder' */ /*TODO: conversion for record 'GVariantIter' */ /*TODO: conversion for record 'GVariantType' */ #define GBinding_val(val) check_cast(G_BINDING,val) #define Val_GBinding(val) Val_GObject((GObject*)val) #define Val_GBinding_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCClosure' */ /*TODO: conversion for record 'GClosure' */ /*TODO: conversion for record 'GClosureNotifyData' */ /*TODO: conversion for record 'GEnumClass' */ /*TODO: conversion for record 'GEnumValue' */ /*TODO: conversion for record 'GFlagsClass' */ /*TODO: conversion for record 'GFlagsValue' */ /*TODO: conversion for record 'GInitiallyUnownedClass' */ /*TODO: conversion for record 'GInterfaceInfo' */ /*TODO: conversion for record 'GObjectClass' */ /*TODO: conversion for record 'GObjectConstructParam' */ /*TODO: conversion for record 'GParamSpec' */ /*TODO: conversion for record 'GParamSpecBoolean' */ /*TODO: conversion for record 'GParamSpecBoxed' */ /*TODO: conversion for record 'GParamSpecChar' */ /*TODO: conversion for record 'GParamSpecClass' */ /*TODO: conversion for record 'GParamSpecDouble' */ /*TODO: conversion for record 'GParamSpecEnum' */ /*TODO: conversion for record 'GParamSpecFlags' */ /*TODO: conversion for record 'GParamSpecFloat' */ /*TODO: conversion for record 'GParamSpecGType' */ /*TODO: conversion for record 'GParamSpecInt' */ /*TODO: conversion for record 'GParamSpecInt64' */ /*TODO: conversion for record 'GParamSpecLong' */ /*TODO: conversion for record 'GParamSpecObject' */ /*TODO: conversion for record 'GParamSpecOverride' */ /*TODO: conversion for record 'GParamSpecParam' */ /*TODO: conversion for record 'GParamSpecPointer' */ /*TODO: conversion for record 'GParamSpecPool' */ /*TODO: conversion for record 'GParamSpecString' */ /*TODO: conversion for record 'GParamSpecTypeInfo' */ /*TODO: conversion for record 'GParamSpecUChar' */ /*TODO: conversion for record 'GParamSpecUInt' */ /*TODO: conversion for record 'GParamSpecUInt64' */ /*TODO: conversion for record 'GParamSpecULong' */ /*TODO: conversion for record 'GParamSpecUnichar' */ /*TODO: conversion for record 'GParamSpecValueArray' */ /*TODO: conversion for record 'GParamSpecVariant' */ /*TODO: conversion for record 'GParameter' */ /*TODO: conversion for record 'GSignalInvocationHint' */ /*TODO: conversion for record 'GSignalQuery' */ /*TODO: conversion for record 'GTypeClass' */ /*TODO: conversion for record 'GTypeFundamentalInfo' */ /*TODO: conversion for record 'GTypeInfo' */ /*TODO: conversion for record 'GTypeInstance' */ /*TODO: conversion for record 'GTypeInterface' */ #define GTypeModule_val(val) check_cast(G_TYPE_MODULE,val) #define Val_GTypeModule(val) Val_GObject((GObject*)val) #define Val_GTypeModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTypeModuleClass' */ /*TODO: conversion for record 'GTypePluginClass' */ /*TODO: conversion for record 'GTypeQuery' */ /*TODO: conversion for record 'GTypeValueTable' */ /*TODO: conversion for record 'GValue' */ /*TODO: conversion for record 'GValueArray' */ /*TODO: conversion for record 'AtkActionIface' */ /*TODO: conversion for record 'AtkAttribute' */ /*TODO: conversion for record 'AtkComponentIface' */ /*TODO: conversion for record 'AtkDocumentIface' */ /*TODO: conversion for record 'AtkEditableTextIface' */ #define AtkGObjectAccessible_val(val) check_cast(ATK_G_OBJECT_ACCESSIBLE,val) #define Val_AtkGObjectAccessible(val) Val_GObject((GObject*)val) #define Val_AtkGObjectAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkGObjectAccessibleClass' */ #define AtkHyperlink_val(val) check_cast(ATK_HYPERLINK,val) #define Val_AtkHyperlink(val) Val_GObject((GObject*)val) #define Val_AtkHyperlink_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkHyperlinkClass' */ /*TODO: conversion for record 'AtkHyperlinkImplIface' */ /*TODO: conversion for record 'AtkHypertextIface' */ /*TODO: conversion for record 'AtkImageIface' */ /*TODO: conversion for record 'AtkImplementor' */ /*TODO: conversion for record 'AtkKeyEventStruct' */ #define AtkMisc_val(val) check_cast(ATK_MISC,val) #define Val_AtkMisc(val) Val_GObject((GObject*)val) #define Val_AtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkMiscClass' */ #define AtkNoOpObject_val(val) check_cast(ATK_NO_OP_OBJECT,val) #define Val_AtkNoOpObject(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectClass' */ #define AtkNoOpObjectFactory_val(val) check_cast(ATK_NO_OP_OBJECT_FACTORY,val) #define Val_AtkNoOpObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkNoOpObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkNoOpObjectFactoryClass' */ #define AtkObject_val(val) check_cast(ATK_OBJECT,val) #define Val_AtkObject(val) Val_GObject((GObject*)val) #define Val_AtkObject_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectClass' */ #define AtkObjectFactory_val(val) check_cast(ATK_OBJECT_FACTORY,val) #define Val_AtkObjectFactory(val) Val_GObject((GObject*)val) #define Val_AtkObjectFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkObjectFactoryClass' */ #define AtkPlug_val(val) check_cast(ATK_PLUG,val) #define Val_AtkPlug(val) Val_GObject((GObject*)val) #define Val_AtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkPlugClass' */ /*TODO: conversion for record 'AtkRectangle' */ #define AtkRelation_val(val) check_cast(ATK_RELATION,val) #define Val_AtkRelation(val) Val_GObject((GObject*)val) #define Val_AtkRelation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationClass' */ #define AtkRelationSet_val(val) check_cast(ATK_RELATION_SET,val) #define Val_AtkRelationSet(val) Val_GObject((GObject*)val) #define Val_AtkRelationSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkRelationSetClass' */ /*TODO: conversion for record 'AtkSelectionIface' */ #define AtkSocket_val(val) check_cast(ATK_SOCKET,val) #define Val_AtkSocket(val) Val_GObject((GObject*)val) #define Val_AtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkSocketClass' */ #define AtkStateSet_val(val) check_cast(ATK_STATE_SET,val) #define Val_AtkStateSet(val) Val_GObject((GObject*)val) #define Val_AtkStateSet_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkStateSetClass' */ /*TODO: conversion for record 'AtkStreamableContentIface' */ /*TODO: conversion for record 'AtkTableIface' */ /*TODO: conversion for record 'AtkTextIface' */ /*TODO: conversion for record 'AtkTextRange' */ /*TODO: conversion for record 'AtkTextRectangle' */ #define AtkUtil_val(val) check_cast(ATK_UTIL,val) #define Val_AtkUtil(val) Val_GObject((GObject*)val) #define Val_AtkUtil_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'AtkUtilClass' */ /*TODO: conversion for record 'AtkValueIface' */ /*TODO: conversion for record '_AtkPropertyValues' */ /*TODO: conversion for record '_AtkRegistry' */ /*TODO: conversion for record '_AtkRegistryClass' */ /*TODO: conversion for record 'GModule' */ /*TODO: conversion for record 'GActionGroupInterface' */ /*TODO: conversion for record 'GActionInterface' */ /*TODO: conversion for record 'GAppInfoIface' */ #define GAppLaunchContext_val(val) check_cast(G_APP_LAUNCH_CONTEXT,val) #define Val_GAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GAppLaunchContextClass' */ /*TODO: conversion for record 'GAppLaunchContextPrivate' */ #define GApplication_val(val) check_cast(G_APPLICATION,val) #define Val_GApplication(val) Val_GObject((GObject*)val) #define Val_GApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationClass' */ #define GApplicationCommandLine_val(val) check_cast(G_APPLICATION_COMMAND_LINE,val) #define Val_GApplicationCommandLine(val) Val_GObject((GObject*)val) #define Val_GApplicationCommandLine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GApplicationCommandLineClass' */ /*TODO: conversion for record 'GApplicationCommandLinePrivate' */ /*TODO: conversion for record 'GApplicationPrivate' */ /*TODO: conversion for record 'GAsyncInitableIface' */ /*TODO: conversion for record 'GAsyncResultIface' */ #define GBufferedInputStream_val(val) check_cast(G_BUFFERED_INPUT_STREAM,val) #define Val_GBufferedInputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedInputStreamClass' */ /*TODO: conversion for record 'GBufferedInputStreamPrivate' */ #define GBufferedOutputStream_val(val) check_cast(G_BUFFERED_OUTPUT_STREAM,val) #define Val_GBufferedOutputStream(val) Val_GObject((GObject*)val) #define Val_GBufferedOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GBufferedOutputStreamClass' */ /*TODO: conversion for record 'GBufferedOutputStreamPrivate' */ #define GCancellable_val(val) check_cast(G_CANCELLABLE,val) #define Val_GCancellable(val) Val_GObject((GObject*)val) #define Val_GCancellable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCancellableClass' */ /*TODO: conversion for record 'GCancellablePrivate' */ #define GCharsetConverter_val(val) check_cast(G_CHARSET_CONVERTER,val) #define Val_GCharsetConverter(val) Val_GObject((GObject*)val) #define Val_GCharsetConverter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCharsetConverterClass' */ /*TODO: conversion for record 'GConverterIface' */ #define GConverterInputStream_val(val) check_cast(G_CONVERTER_INPUT_STREAM,val) #define Val_GConverterInputStream(val) Val_GObject((GObject*)val) #define Val_GConverterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterInputStreamClass' */ /*TODO: conversion for record 'GConverterInputStreamPrivate' */ #define GConverterOutputStream_val(val) check_cast(G_CONVERTER_OUTPUT_STREAM,val) #define Val_GConverterOutputStream(val) Val_GObject((GObject*)val) #define Val_GConverterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GConverterOutputStreamClass' */ /*TODO: conversion for record 'GConverterOutputStreamPrivate' */ #define GCredentials_val(val) check_cast(G_CREDENTIALS,val) #define Val_GCredentials(val) Val_GObject((GObject*)val) #define Val_GCredentials_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GCredentialsClass' */ /*TODO: conversion for record 'GDBusAnnotationInfo' */ /*TODO: conversion for record 'GDBusArgInfo' */ #define GDBusAuthObserver_val(val) check_cast(G_D_BUS_AUTH_OBSERVER,val) #define Val_GDBusAuthObserver(val) Val_GObject((GObject*)val) #define Val_GDBusAuthObserver_new(val) Val_GObject_new((GObject*)val) #define GDBusConnection_val(val) check_cast(G_D_BUS_CONNECTION,val) #define Val_GDBusConnection(val) Val_GObject((GObject*)val) #define Val_GDBusConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusErrorEntry' */ /*TODO: conversion for record 'GDBusInterfaceInfo' */ /*TODO: conversion for record 'GDBusInterfaceVTable' */ #define GDBusMessage_val(val) check_cast(G_D_BUS_MESSAGE,val) #define Val_GDBusMessage(val) Val_GObject((GObject*)val) #define Val_GDBusMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusMethodInfo' */ #define GDBusMethodInvocation_val(val) check_cast(G_D_BUS_METHOD_INVOCATION,val) #define Val_GDBusMethodInvocation(val) Val_GObject((GObject*)val) #define Val_GDBusMethodInvocation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusNodeInfo' */ /*TODO: conversion for record 'GDBusPropertyInfo' */ #define GDBusProxy_val(val) check_cast(G_D_BUS_PROXY,val) #define Val_GDBusProxy(val) Val_GObject((GObject*)val) #define Val_GDBusProxy_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusProxyClass' */ /*TODO: conversion for record 'GDBusProxyPrivate' */ #define GDBusServer_val(val) check_cast(G_D_BUS_SERVER,val) #define Val_GDBusServer(val) Val_GObject((GObject*)val) #define Val_GDBusServer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDBusSignalInfo' */ /*TODO: conversion for record 'GDBusSubtreeVTable' */ #define GDataInputStream_val(val) check_cast(G_DATA_INPUT_STREAM,val) #define Val_GDataInputStream(val) Val_GObject((GObject*)val) #define Val_GDataInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataInputStreamClass' */ /*TODO: conversion for record 'GDataInputStreamPrivate' */ #define GDataOutputStream_val(val) check_cast(G_DATA_OUTPUT_STREAM,val) #define Val_GDataOutputStream(val) Val_GObject((GObject*)val) #define Val_GDataOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDataOutputStreamClass' */ /*TODO: conversion for record 'GDataOutputStreamPrivate' */ #define GDesktopAppInfo_val(val) check_cast(G_DESKTOP_APP_INFO,val) #define Val_GDesktopAppInfo(val) Val_GObject((GObject*)val) #define Val_GDesktopAppInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GDesktopAppInfoClass' */ /*TODO: conversion for record 'GDesktopAppInfoLaunchHandlerIface' */ /*TODO: conversion for record 'GDesktopAppInfoLookupIface' */ /*TODO: conversion for record 'GDriveIface' */ #define GEmblem_val(val) check_cast(G_EMBLEM,val) #define Val_GEmblem(val) Val_GObject((GObject*)val) #define Val_GEmblem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemClass' */ #define GEmblemedIcon_val(val) check_cast(G_EMBLEMED_ICON,val) #define Val_GEmblemedIcon(val) Val_GObject((GObject*)val) #define Val_GEmblemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GEmblemedIconClass' */ /*TODO: conversion for record 'GEmblemedIconPrivate' */ /*TODO: conversion for record 'GFileAttributeInfo' */ /*TODO: conversion for record 'GFileAttributeInfoList' */ /*TODO: conversion for record 'GFileAttributeMatcher' */ /*TODO: conversion for record 'GFileDescriptorBasedIface' */ #define GFileEnumerator_val(val) check_cast(G_FILE_ENUMERATOR,val) #define Val_GFileEnumerator(val) Val_GObject((GObject*)val) #define Val_GFileEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileEnumeratorClass' */ /*TODO: conversion for record 'GFileEnumeratorPrivate' */ #define GFileIOStream_val(val) check_cast(G_FILE_I_O_STREAM,val) #define Val_GFileIOStream(val) Val_GObject((GObject*)val) #define Val_GFileIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIOStreamClass' */ /*TODO: conversion for record 'GFileIOStreamPrivate' */ #define GFileIcon_val(val) check_cast(G_FILE_ICON,val) #define Val_GFileIcon(val) Val_GObject((GObject*)val) #define Val_GFileIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileIconClass' */ /*TODO: conversion for record 'GFileIface' */ #define GFileInfo_val(val) check_cast(G_FILE_INFO,val) #define Val_GFileInfo(val) Val_GObject((GObject*)val) #define Val_GFileInfo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInfoClass' */ #define GFileInputStream_val(val) check_cast(G_FILE_INPUT_STREAM,val) #define Val_GFileInputStream(val) Val_GObject((GObject*)val) #define Val_GFileInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileInputStreamClass' */ /*TODO: conversion for record 'GFileInputStreamPrivate' */ #define GFileMonitor_val(val) check_cast(G_FILE_MONITOR,val) #define Val_GFileMonitor(val) Val_GObject((GObject*)val) #define Val_GFileMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileMonitorClass' */ /*TODO: conversion for record 'GFileMonitorPrivate' */ #define GFileOutputStream_val(val) check_cast(G_FILE_OUTPUT_STREAM,val) #define Val_GFileOutputStream(val) Val_GObject((GObject*)val) #define Val_GFileOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFileOutputStreamClass' */ /*TODO: conversion for record 'GFileOutputStreamPrivate' */ #define GFilenameCompleter_val(val) check_cast(G_FILENAME_COMPLETER,val) #define Val_GFilenameCompleter(val) Val_GObject((GObject*)val) #define Val_GFilenameCompleter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilenameCompleterClass' */ #define GFilterInputStream_val(val) check_cast(G_FILTER_INPUT_STREAM,val) #define Val_GFilterInputStream(val) Val_GObject((GObject*)val) #define Val_GFilterInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterInputStreamClass' */ #define GFilterOutputStream_val(val) check_cast(G_FILTER_OUTPUT_STREAM,val) #define Val_GFilterOutputStream(val) Val_GObject((GObject*)val) #define Val_GFilterOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GFilterOutputStreamClass' */ /*TODO: conversion for record 'GIOExtension' */ /*TODO: conversion for record 'GIOExtensionPoint' */ #define GIOModule_val(val) check_cast(G_I_O_MODULE,val) #define Val_GIOModule(val) Val_GObject((GObject*)val) #define Val_GIOModule_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOModuleClass' */ /*TODO: conversion for record 'GIOSchedulerJob' */ #define GIOStream_val(val) check_cast(G_I_O_STREAM,val) #define Val_GIOStream(val) Val_GObject((GObject*)val) #define Val_GIOStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GIOStreamAdapter' */ /*TODO: conversion for record 'GIOStreamClass' */ /*TODO: conversion for record 'GIOStreamPrivate' */ /*TODO: conversion for record 'GIconIface' */ #define GInetAddress_val(val) check_cast(G_INET_ADDRESS,val) #define Val_GInetAddress(val) Val_GObject((GObject*)val) #define Val_GInetAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetAddressClass' */ /*TODO: conversion for record 'GInetAddressPrivate' */ #define GInetSocketAddress_val(val) check_cast(G_INET_SOCKET_ADDRESS,val) #define Val_GInetSocketAddress(val) Val_GObject((GObject*)val) #define Val_GInetSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInetSocketAddressClass' */ /*TODO: conversion for record 'GInetSocketAddressPrivate' */ /*TODO: conversion for record 'GInitableIface' */ #define GInputStream_val(val) check_cast(G_INPUT_STREAM,val) #define Val_GInputStream(val) Val_GObject((GObject*)val) #define Val_GInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GInputStreamClass' */ /*TODO: conversion for record 'GInputStreamPrivate' */ /*TODO: conversion for record 'GInputVector' */ /*TODO: conversion for record 'GLoadableIconIface' */ #define GMemoryInputStream_val(val) check_cast(G_MEMORY_INPUT_STREAM,val) #define Val_GMemoryInputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryInputStreamClass' */ /*TODO: conversion for record 'GMemoryInputStreamPrivate' */ #define GMemoryOutputStream_val(val) check_cast(G_MEMORY_OUTPUT_STREAM,val) #define Val_GMemoryOutputStream(val) Val_GObject((GObject*)val) #define Val_GMemoryOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMemoryOutputStreamClass' */ /*TODO: conversion for record 'GMemoryOutputStreamPrivate' */ /*TODO: conversion for record 'GMountIface' */ #define GMountOperation_val(val) check_cast(G_MOUNT_OPERATION,val) #define Val_GMountOperation(val) Val_GObject((GObject*)val) #define Val_GMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GMountOperationClass' */ /*TODO: conversion for record 'GMountOperationPrivate' */ #define GNativeVolumeMonitor_val(val) check_cast(G_NATIVE_VOLUME_MONITOR,val) #define Val_GNativeVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GNativeVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNativeVolumeMonitorClass' */ #define GNetworkAddress_val(val) check_cast(G_NETWORK_ADDRESS,val) #define Val_GNetworkAddress(val) Val_GObject((GObject*)val) #define Val_GNetworkAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkAddressClass' */ /*TODO: conversion for record 'GNetworkAddressPrivate' */ #define GNetworkService_val(val) check_cast(G_NETWORK_SERVICE,val) #define Val_GNetworkService(val) Val_GObject((GObject*)val) #define Val_GNetworkService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GNetworkServiceClass' */ /*TODO: conversion for record 'GNetworkServicePrivate' */ #define GOutputStream_val(val) check_cast(G_OUTPUT_STREAM,val) #define Val_GOutputStream(val) Val_GObject((GObject*)val) #define Val_GOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GOutputStreamClass' */ /*TODO: conversion for record 'GOutputStreamPrivate' */ /*TODO: conversion for record 'GOutputVector' */ #define GPermission_val(val) check_cast(G_PERMISSION,val) #define Val_GPermission(val) Val_GObject((GObject*)val) #define Val_GPermission_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GPermissionClass' */ /*TODO: conversion for record 'GPermissionPrivate' */ /*TODO: conversion for record 'GPollableInputStreamInterface' */ /*TODO: conversion for record 'GPollableOutputStreamInterface' */ #define GProxyAddress_val(val) check_cast(G_PROXY_ADDRESS,val) #define Val_GProxyAddress(val) Val_GObject((GObject*)val) #define Val_GProxyAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressClass' */ #define GProxyAddressEnumerator_val(val) check_cast(G_PROXY_ADDRESS_ENUMERATOR,val) #define Val_GProxyAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GProxyAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GProxyAddressEnumeratorClass' */ /*TODO: conversion for record 'GProxyAddressEnumeratorPrivate' */ /*TODO: conversion for record 'GProxyAddressPrivate' */ /*TODO: conversion for record 'GProxyInterface' */ /*TODO: conversion for record 'GProxyResolverInterface' */ #define GResolver_val(val) check_cast(G_RESOLVER,val) #define Val_GResolver(val) Val_GObject((GObject*)val) #define Val_GResolver_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GResolverClass' */ /*TODO: conversion for record 'GResolverPrivate' */ /*TODO: conversion for record 'GSeekableIface' */ #define GSettings_val(val) check_cast(G_SETTINGS,val) #define Val_GSettings(val) Val_GObject((GObject*)val) #define Val_GSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSettingsBackend' */ /*TODO: conversion for record 'GSettingsClass' */ /*TODO: conversion for record 'GSettingsPrivate' */ #define GSimpleAction_val(val) check_cast(G_SIMPLE_ACTION,val) #define Val_GSimpleAction(val) Val_GObject((GObject*)val) #define Val_GSimpleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionClass' */ #define GSimpleActionGroup_val(val) check_cast(G_SIMPLE_ACTION_GROUP,val) #define Val_GSimpleActionGroup(val) Val_GObject((GObject*)val) #define Val_GSimpleActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleActionGroupClass' */ /*TODO: conversion for record 'GSimpleActionGroupPrivate' */ /*TODO: conversion for record 'GSimpleActionPrivate' */ #define GSimpleAsyncResult_val(val) check_cast(G_SIMPLE_ASYNC_RESULT,val) #define Val_GSimpleAsyncResult(val) Val_GObject((GObject*)val) #define Val_GSimpleAsyncResult_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSimpleAsyncResultClass' */ #define GSimplePermission_val(val) check_cast(G_SIMPLE_PERMISSION,val) #define Val_GSimplePermission(val) Val_GObject((GObject*)val) #define Val_GSimplePermission_new(val) Val_GObject_new((GObject*)val) #define GSocket_val(val) check_cast(G_SOCKET,val) #define Val_GSocket(val) Val_GObject((GObject*)val) #define Val_GSocket_new(val) Val_GObject_new((GObject*)val) #define GSocketAddress_val(val) check_cast(G_SOCKET_ADDRESS,val) #define Val_GSocketAddress(val) Val_GObject((GObject*)val) #define Val_GSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressClass' */ #define GSocketAddressEnumerator_val(val) check_cast(G_SOCKET_ADDRESS_ENUMERATOR,val) #define Val_GSocketAddressEnumerator(val) Val_GObject((GObject*)val) #define Val_GSocketAddressEnumerator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketAddressEnumeratorClass' */ /*TODO: conversion for record 'GSocketClass' */ #define GSocketClient_val(val) check_cast(G_SOCKET_CLIENT,val) #define Val_GSocketClient(val) Val_GObject((GObject*)val) #define Val_GSocketClient_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketClientClass' */ /*TODO: conversion for record 'GSocketClientPrivate' */ /*TODO: conversion for record 'GSocketConnectableIface' */ #define GSocketConnection_val(val) check_cast(G_SOCKET_CONNECTION,val) #define Val_GSocketConnection(val) Val_GObject((GObject*)val) #define Val_GSocketConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketConnectionClass' */ /*TODO: conversion for record 'GSocketConnectionPrivate' */ #define GSocketControlMessage_val(val) check_cast(G_SOCKET_CONTROL_MESSAGE,val) #define Val_GSocketControlMessage(val) Val_GObject((GObject*)val) #define Val_GSocketControlMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketControlMessageClass' */ /*TODO: conversion for record 'GSocketControlMessagePrivate' */ #define GSocketListener_val(val) check_cast(G_SOCKET_LISTENER,val) #define Val_GSocketListener(val) Val_GObject((GObject*)val) #define Val_GSocketListener_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketListenerClass' */ /*TODO: conversion for record 'GSocketListenerPrivate' */ /*TODO: conversion for record 'GSocketPrivate' */ #define GSocketService_val(val) check_cast(G_SOCKET_SERVICE,val) #define Val_GSocketService(val) Val_GObject((GObject*)val) #define Val_GSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GSocketServiceClass' */ /*TODO: conversion for record 'GSocketServicePrivate' */ /*TODO: conversion for record 'GSrvTarget' */ #define GTcpConnection_val(val) check_cast(G_TCP_CONNECTION,val) #define Val_GTcpConnection(val) Val_GObject((GObject*)val) #define Val_GTcpConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpConnectionClass' */ /*TODO: conversion for record 'GTcpConnectionPrivate' */ #define GTcpWrapperConnection_val(val) check_cast(G_TCP_WRAPPER_CONNECTION,val) #define Val_GTcpWrapperConnection(val) Val_GObject((GObject*)val) #define Val_GTcpWrapperConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTcpWrapperConnectionClass' */ /*TODO: conversion for record 'GTcpWrapperConnectionPrivate' */ #define GThemedIcon_val(val) check_cast(G_THEMED_ICON,val) #define Val_GThemedIcon(val) Val_GObject((GObject*)val) #define Val_GThemedIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThemedIconClass' */ #define GThreadedSocketService_val(val) check_cast(G_THREADED_SOCKET_SERVICE,val) #define Val_GThreadedSocketService(val) Val_GObject((GObject*)val) #define Val_GThreadedSocketService_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GThreadedSocketServiceClass' */ /*TODO: conversion for record 'GThreadedSocketServicePrivate' */ /*TODO: conversion for record 'GTlsBackendInterface' */ #define GTlsCertificate_val(val) check_cast(G_TLS_CERTIFICATE,val) #define Val_GTlsCertificate(val) Val_GObject((GObject*)val) #define Val_GTlsCertificate_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsCertificateClass' */ /*TODO: conversion for record 'GTlsCertificatePrivate' */ /*TODO: conversion for record 'GTlsClientConnectionInterface' */ /*TODO: conversion for record 'GTlsClientContext' */ #define GTlsConnection_val(val) check_cast(G_TLS_CONNECTION,val) #define Val_GTlsConnection(val) Val_GObject((GObject*)val) #define Val_GTlsConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GTlsConnectionClass' */ /*TODO: conversion for record 'GTlsConnectionPrivate' */ /*TODO: conversion for record 'GTlsContext' */ /*TODO: conversion for record 'GTlsServerConnectionInterface' */ /*TODO: conversion for record 'GTlsServerContext' */ #define GUnixConnection_val(val) check_cast(G_UNIX_CONNECTION,val) #define Val_GUnixConnection(val) Val_GObject((GObject*)val) #define Val_GUnixConnection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixConnectionClass' */ /*TODO: conversion for record 'GUnixConnectionPrivate' */ #define GUnixCredentialsMessage_val(val) check_cast(G_UNIX_CREDENTIALS_MESSAGE,val) #define Val_GUnixCredentialsMessage(val) Val_GObject((GObject*)val) #define Val_GUnixCredentialsMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixCredentialsMessageClass' */ /*TODO: conversion for record 'GUnixCredentialsMessagePrivate' */ #define GUnixFDList_val(val) check_cast(G_UNIX_F_D_LIST,val) #define Val_GUnixFDList(val) Val_GObject((GObject*)val) #define Val_GUnixFDList_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDListClass' */ /*TODO: conversion for record 'GUnixFDListPrivate' */ #define GUnixFDMessage_val(val) check_cast(G_UNIX_F_D_MESSAGE,val) #define Val_GUnixFDMessage(val) Val_GObject((GObject*)val) #define Val_GUnixFDMessage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixFDMessageClass' */ /*TODO: conversion for record 'GUnixFDMessagePrivate' */ #define GUnixInputStream_val(val) check_cast(G_UNIX_INPUT_STREAM,val) #define Val_GUnixInputStream(val) Val_GObject((GObject*)val) #define Val_GUnixInputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixInputStreamClass' */ /*TODO: conversion for record 'GUnixInputStreamPrivate' */ /*TODO: conversion for record 'GUnixMountEntry' */ #define GUnixMountMonitor_val(val) check_cast(G_UNIX_MOUNT_MONITOR,val) #define Val_GUnixMountMonitor(val) Val_GObject((GObject*)val) #define Val_GUnixMountMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixMountMonitorClass' */ /*TODO: conversion for record 'GUnixMountPoint' */ #define GUnixOutputStream_val(val) check_cast(G_UNIX_OUTPUT_STREAM,val) #define Val_GUnixOutputStream(val) Val_GObject((GObject*)val) #define Val_GUnixOutputStream_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixOutputStreamClass' */ /*TODO: conversion for record 'GUnixOutputStreamPrivate' */ #define GUnixSocketAddress_val(val) check_cast(G_UNIX_SOCKET_ADDRESS,val) #define Val_GUnixSocketAddress(val) Val_GObject((GObject*)val) #define Val_GUnixSocketAddress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GUnixSocketAddressClass' */ /*TODO: conversion for record 'GUnixSocketAddressPrivate' */ #define GVfs_val(val) check_cast(G_VFS,val) #define Val_GVfs(val) Val_GObject((GObject*)val) #define Val_GVfs_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVfsClass' */ /*TODO: conversion for record 'GVolumeIface' */ #define GVolumeMonitor_val(val) check_cast(G_VOLUME_MONITOR,val) #define Val_GVolumeMonitor(val) Val_GObject((GObject*)val) #define Val_GVolumeMonitor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GVolumeMonitorClass' */ #define GZlibCompressor_val(val) check_cast(G_ZLIB_COMPRESSOR,val) #define Val_GZlibCompressor(val) Val_GObject((GObject*)val) #define Val_GZlibCompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibCompressorClass' */ #define GZlibDecompressor_val(val) check_cast(G_ZLIB_DECOMPRESSOR,val) #define Val_GZlibDecompressor(val) Val_GObject((GObject*)val) #define Val_GZlibDecompressor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GZlibDecompressorClass' */ #define GdkPixbuf_val(val) check_cast(GDK_PIXBUF,val) #define Val_GdkPixbuf(val) Val_GObject((GObject*)val) #define Val_GdkPixbuf_new(val) Val_GObject_new((GObject*)val) #define GdkPixbufAnimation_val(val) check_cast(GDK_PIXBUF_ANIMATION,val) #define Val_GdkPixbufAnimation(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationClass' */ #define GdkPixbufAnimationIter_val(val) check_cast(GDK_PIXBUF_ANIMATION_ITER,val) #define Val_GdkPixbufAnimationIter(val) Val_GObject((GObject*)val) #define Val_GdkPixbufAnimationIter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufAnimationIterClass' */ /*TODO: conversion for record 'GdkPixbufFormat' */ #define GdkPixbufLoader_val(val) check_cast(GDK_PIXBUF_LOADER,val) #define Val_GdkPixbufLoader(val) Val_GObject((GObject*)val) #define Val_GdkPixbufLoader_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufLoaderClass' */ /*TODO: conversion for record 'GdkPixbufModule' */ /*TODO: conversion for record 'GdkPixbufModulePattern' */ #define GdkPixbufSimpleAnim_val(val) check_cast(GDK_PIXBUF_SIMPLE_ANIM,val) #define Val_GdkPixbufSimpleAnim(val) Val_GObject((GObject*)val) #define Val_GdkPixbufSimpleAnim_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkPixbufSimpleAnimClass' */ /*TODO: conversion for record 'GdkPixdata' */ /*TODO: conversion for record 'cairo_t' */ /*TODO: conversion for record 'cairo_surface_t' */ /*TODO: conversion for record 'cairo_matrix_t' */ /*TODO: conversion for record 'cairo_pattern_t' */ /*TODO: conversion for record 'cairo_region_t' */ /*TODO: conversion for record 'cairo_font_options_t' */ /*TODO: conversion for record 'cairo_font_type_t' */ /*TODO: conversion for record 'cairo_font_face_t' */ /*TODO: conversion for record 'cairo_scaled_font_t' */ /*TODO: conversion for record 'cairo_path_t' */ /*TODO: conversion for record 'cairo_rectangle_int_t' */ /*TODO: conversion for record 'PangoAnalysis' */ /*TODO: conversion for record 'PangoAttrClass' */ /*TODO: conversion for record 'PangoAttrColor' */ /*TODO: conversion for record 'PangoAttrFloat' */ /*TODO: conversion for record 'PangoAttrFontDesc' */ /*TODO: conversion for record 'PangoAttrInt' */ /*TODO: conversion for record 'PangoAttrIterator' */ /*TODO: conversion for record 'PangoAttrLanguage' */ /*TODO: conversion for record 'PangoAttrList' */ /*TODO: conversion for record 'PangoAttrShape' */ /*TODO: conversion for record 'PangoAttrSize' */ /*TODO: conversion for record 'PangoAttrString' */ /*TODO: conversion for record 'PangoAttribute' */ /*TODO: conversion for record 'PangoColor' */ #define PangoContext_val(val) check_cast(PANGO_CONTEXT,val) #define Val_PangoContext(val) Val_GObject((GObject*)val) #define Val_PangoContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoContextClass' */ /*TODO: conversion for record 'PangoCoverage' */ /*TODO: conversion for record 'PangoEngineLang' */ /*TODO: conversion for record 'PangoEngineShape' */ #define PangoFont_val(val) check_cast(PANGO_FONT,val) #define Val_PangoFont(val) Val_GObject((GObject*)val) #define Val_PangoFont_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontDescription' */ #define PangoFontFace_val(val) check_cast(PANGO_FONT_FACE,val) #define Val_PangoFontFace(val) Val_GObject((GObject*)val) #define Val_PangoFontFace_new(val) Val_GObject_new((GObject*)val) #define PangoFontFamily_val(val) check_cast(PANGO_FONT_FAMILY,val) #define Val_PangoFontFamily(val) Val_GObject((GObject*)val) #define Val_PangoFontFamily_new(val) Val_GObject_new((GObject*)val) #define PangoFontMap_val(val) check_cast(PANGO_FONT_MAP,val) #define Val_PangoFontMap(val) Val_GObject((GObject*)val) #define Val_PangoFontMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoFontMetrics' */ #define PangoFontset_val(val) check_cast(PANGO_FONTSET,val) #define Val_PangoFontset(val) Val_GObject((GObject*)val) #define Val_PangoFontset_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoGlyphGeometry' */ /*TODO: conversion for record 'PangoGlyphInfo' */ /*TODO: conversion for record 'PangoGlyphItem' */ /*TODO: conversion for record 'PangoGlyphItemIter' */ /*TODO: conversion for record 'PangoGlyphString' */ /*TODO: conversion for record 'PangoGlyphVisAttr' */ /*TODO: conversion for record 'PangoItem' */ /*TODO: conversion for record 'PangoLanguage' */ #define PangoLayout_val(val) check_cast(PANGO_LAYOUT,val) #define Val_PangoLayout(val) Val_GObject((GObject*)val) #define Val_PangoLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoLayoutClass' */ /*TODO: conversion for record 'PangoLayoutIter' */ /*TODO: conversion for record 'PangoLayoutLine' */ /*TODO: conversion for record 'PangoLogAttr' */ /*TODO: conversion for record 'PangoMatrix' */ /*TODO: conversion for record 'PangoRectangle' */ #define PangoRenderer_val(val) check_cast(PANGO_RENDERER,val) #define Val_PangoRenderer(val) Val_GObject((GObject*)val) #define Val_PangoRenderer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'PangoRendererClass' */ /*TODO: conversion for record 'PangoRendererPrivate' */ /*TODO: conversion for record 'PangoScriptIter' */ /*TODO: conversion for record 'PangoTabArray' */ /*TODO: conversion for record '_PangoScriptForLang' */ #define GdkAppLaunchContext_val(val) check_cast(GDK_APP_LAUNCH_CONTEXT,val) #define Val_GdkAppLaunchContext(val) Val_GObject((GObject*)val) #define Val_GdkAppLaunchContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkAtom' */ /*TODO: conversion for record 'GdkColor' */ #define GdkCursor_val(val) check_cast(GDK_CURSOR,val) #define Val_GdkCursor(val) Val_GObject((GObject*)val) #define Val_GdkCursor_new(val) Val_GObject_new((GObject*)val) #define GdkDevice_val(val) check_cast(GDK_DEVICE,val) #define Val_GdkDevice(val) Val_GObject((GObject*)val) #define Val_GdkDevice_new(val) Val_GObject_new((GObject*)val) #define GdkDeviceManager_val(val) check_cast(GDK_DEVICE_MANAGER,val) #define Val_GdkDeviceManager(val) Val_GObject((GObject*)val) #define Val_GdkDeviceManager_new(val) Val_GObject_new((GObject*)val) #define GdkDisplay_val(val) check_cast(GDK_DISPLAY_OBJECT,val) #define Val_GdkDisplay(val) Val_GObject((GObject*)val) #define Val_GdkDisplay_new(val) Val_GObject_new((GObject*)val) #define GdkDisplayManager_val(val) check_cast(GDK_DISPLAY_MANAGER,val) #define Val_GdkDisplayManager(val) Val_GObject((GObject*)val) #define Val_GdkDisplayManager_new(val) Val_GObject_new((GObject*)val) #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val) #define Val_GdkDragContext(val) Val_GObject((GObject*)val) #define Val_GdkDragContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkEventAny' */ /*TODO: conversion for record 'GdkEventButton' */ /*TODO: conversion for record 'GdkEventConfigure' */ /*TODO: conversion for record 'GdkEventCrossing' */ /*TODO: conversion for record 'GdkEventDND' */ /*TODO: conversion for record 'GdkEventExpose' */ /*TODO: conversion for record 'GdkEventFocus' */ /*TODO: conversion for record 'GdkEventGrabBroken' */ /*TODO: conversion for record 'GdkEventKey' */ /*TODO: conversion for record 'GdkEventMotion' */ /*TODO: conversion for record 'GdkEventOwnerChange' */ /*TODO: conversion for record 'GdkEventProperty' */ /*TODO: conversion for record 'GdkEventProximity' */ /*TODO: conversion for record 'GdkEventScroll' */ /*TODO: conversion for record 'GdkEventSelection' */ /*TODO: conversion for record 'GdkEventSetting' */ /*TODO: conversion for record 'GdkEventVisibility' */ /*TODO: conversion for record 'GdkEventWindowState' */ /*TODO: conversion for record 'GdkGeometry' */ #define GdkKeymap_val(val) check_cast(GDK_KEYMAP,val) #define Val_GdkKeymap(val) Val_GObject((GObject*)val) #define Val_GdkKeymap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkKeymapKey' */ /*TODO: conversion for record 'GdkPoint' */ /*TODO: conversion for record 'GdkRGBA' */ #define GdkScreen_val(val) check_cast(GDK_SCREEN,val) #define Val_GdkScreen(val) Val_GObject((GObject*)val) #define Val_GdkScreen_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkTimeCoord' */ #define GdkVisual_val(val) check_cast(GDK_VISUAL,val) #define Val_GdkVisual(val) Val_GObject((GObject*)val) #define Val_GdkVisual_new(val) Val_GObject_new((GObject*)val) #define GdkWindow_val(val) check_cast(GDK_WINDOW,val) #define Val_GdkWindow(val) Val_GObject((GObject*)val) #define Val_GdkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GdkWindowAttr' */ /*TODO: conversion for record 'GdkWindowClass' */ /*TODO: conversion for record 'GdkWindowRedirect' */ #define GtkAboutDialog_val(val) check_cast(GTK_ABOUT_DIALOG,val) #define Val_GtkAboutDialog(val) Val_GObject((GObject*)val) #define Val_GtkAboutDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAboutDialogClass' */ /*TODO: conversion for record 'GtkAboutDialogPrivate' */ #define GtkAccelGroup_val(val) check_cast(GTK_ACCEL_GROUP,val) #define Val_GtkAccelGroup(val) Val_GObject((GObject*)val) #define Val_GtkAccelGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelGroupClass' */ /*TODO: conversion for record 'GtkAccelGroupEntry' */ /*TODO: conversion for record 'GtkAccelGroupPrivate' */ /*TODO: conversion for record 'GtkAccelKey' */ #define GtkAccelLabel_val(val) check_cast(GTK_ACCEL_LABEL,val) #define Val_GtkAccelLabel(val) Val_GObject((GObject*)val) #define Val_GtkAccelLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelLabelClass' */ /*TODO: conversion for record 'GtkAccelLabelPrivate' */ #define GtkAccelMap_val(val) check_cast(GTK_ACCEL_MAP,val) #define Val_GtkAccelMap(val) Val_GObject((GObject*)val) #define Val_GtkAccelMap_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccelMapClass' */ #define GtkAccessible_val(val) check_cast(GTK_ACCESSIBLE,val) #define Val_GtkAccessible(val) Val_GObject((GObject*)val) #define Val_GtkAccessible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAccessibleClass' */ /*TODO: conversion for record 'GtkAccessiblePrivate' */ #define GtkAction_val(val) check_cast(GTK_ACTION,val) #define Val_GtkAction(val) Val_GObject((GObject*)val) #define Val_GtkAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionClass' */ /*TODO: conversion for record 'GtkActionEntry' */ #define GtkActionGroup_val(val) check_cast(GTK_ACTION_GROUP,val) #define Val_GtkActionGroup(val) Val_GObject((GObject*)val) #define Val_GtkActionGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkActionGroupClass' */ /*TODO: conversion for record 'GtkActionGroupPrivate' */ /*TODO: conversion for record 'GtkActionPrivate' */ /*TODO: conversion for record 'GtkActivatableIface' */ #define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val) #define Val_GtkAdjustment(val) Val_GObject((GObject*)val) #define Val_GtkAdjustment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAdjustmentClass' */ /*TODO: conversion for record 'GtkAdjustmentPrivate' */ #define GtkAlignment_val(val) check_cast(GTK_ALIGNMENT,val) #define Val_GtkAlignment(val) Val_GObject((GObject*)val) #define Val_GtkAlignment_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAlignmentClass' */ /*TODO: conversion for record 'GtkAlignmentPrivate' */ #define GtkAppChooserButton_val(val) check_cast(GTK_APP_CHOOSER_BUTTON,val) #define Val_GtkAppChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserButtonClass' */ /*TODO: conversion for record 'GtkAppChooserButtonPrivate' */ #define GtkAppChooserDialog_val(val) check_cast(GTK_APP_CHOOSER_DIALOG,val) #define Val_GtkAppChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserDialogClass' */ /*TODO: conversion for record 'GtkAppChooserDialogPrivate' */ #define GtkAppChooserWidget_val(val) check_cast(GTK_APP_CHOOSER_WIDGET,val) #define Val_GtkAppChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkAppChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAppChooserWidgetClass' */ /*TODO: conversion for record 'GtkAppChooserWidgetPrivate' */ #define GtkApplication_val(val) check_cast(GTK_APPLICATION,val) #define Val_GtkApplication(val) Val_GObject((GObject*)val) #define Val_GtkApplication_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkApplicationClass' */ /*TODO: conversion for record 'GtkApplicationPrivate' */ #define GtkArrow_val(val) check_cast(GTK_ARROW,val) #define Val_GtkArrow(val) Val_GObject((GObject*)val) #define Val_GtkArrow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkArrowClass' */ /*TODO: conversion for record 'GtkArrowPrivate' */ #define GtkAspectFrame_val(val) check_cast(GTK_ASPECT_FRAME,val) #define Val_GtkAspectFrame(val) Val_GObject((GObject*)val) #define Val_GtkAspectFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAspectFrameClass' */ /*TODO: conversion for record 'GtkAspectFramePrivate' */ #define GtkAssistant_val(val) check_cast(GTK_ASSISTANT,val) #define Val_GtkAssistant(val) Val_GObject((GObject*)val) #define Val_GtkAssistant_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkAssistantClass' */ /*TODO: conversion for record 'GtkAssistantPrivate' */ #define GtkBin_val(val) check_cast(GTK_BIN,val) #define Val_GtkBin(val) Val_GObject((GObject*)val) #define Val_GtkBin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBinClass' */ /*TODO: conversion for record 'GtkBinPrivate' */ /*TODO: conversion for record 'GtkBindingArg' */ /*TODO: conversion for record 'GtkBindingEntry' */ /*TODO: conversion for record 'GtkBindingSet' */ /*TODO: conversion for record 'GtkBindingSignal' */ /*TODO: conversion for record 'GtkBorder' */ #define GtkBox_val(val) check_cast(GTK_BOX,val) #define Val_GtkBox(val) Val_GObject((GObject*)val) #define Val_GtkBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBoxClass' */ /*TODO: conversion for record 'GtkBoxPrivate' */ /*TODO: conversion for record 'GtkBuildableIface' */ #define GtkBuilder_val(val) check_cast(GTK_BUILDER,val) #define Val_GtkBuilder(val) Val_GObject((GObject*)val) #define Val_GtkBuilder_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkBuilderClass' */ /*TODO: conversion for record 'GtkBuilderPrivate' */ #define GtkButton_val(val) check_cast(GTK_BUTTON,val) #define Val_GtkButton(val) Val_GObject((GObject*)val) #define Val_GtkButton_new(val) Val_GObject_new((GObject*)val) #define GtkButtonBox_val(val) check_cast(GTK_BUTTON_BOX,val) #define Val_GtkButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkButtonBoxClass' */ /*TODO: conversion for record 'GtkButtonBoxPrivate' */ /*TODO: conversion for record 'GtkButtonClass' */ /*TODO: conversion for record 'GtkButtonPrivate' */ #define GtkCalendar_val(val) check_cast(GTK_CALENDAR,val) #define Val_GtkCalendar(val) Val_GObject((GObject*)val) #define Val_GtkCalendar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCalendarClass' */ /*TODO: conversion for record 'GtkCalendarPrivate' */ #define GtkCellArea_val(val) check_cast(GTK_CELL_AREA,val) #define Val_GtkCellArea(val) Val_GObject((GObject*)val) #define Val_GtkCellArea_new(val) Val_GObject_new((GObject*)val) #define GtkCellAreaBox_val(val) check_cast(GTK_CELL_AREA_BOX,val) #define Val_GtkCellAreaBox(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaBoxClass' */ /*TODO: conversion for record 'GtkCellAreaBoxPrivate' */ /*TODO: conversion for record 'GtkCellAreaClass' */ #define GtkCellAreaContext_val(val) check_cast(GTK_CELL_AREA_CONTEXT,val) #define Val_GtkCellAreaContext(val) Val_GObject((GObject*)val) #define Val_GtkCellAreaContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellAreaContextClass' */ /*TODO: conversion for record 'GtkCellAreaContextPrivate' */ /*TODO: conversion for record 'GtkCellAreaPrivate' */ /*TODO: conversion for record 'GtkCellEditableIface' */ /*TODO: conversion for record 'GtkCellLayoutIface' */ #define GtkCellRenderer_val(val) check_cast(GTK_CELL_RENDERER,val) #define Val_GtkCellRenderer(val) Val_GObject((GObject*)val) #define Val_GtkCellRenderer_new(val) Val_GObject_new((GObject*)val) #define GtkCellRendererAccel_val(val) check_cast(GTK_CELL_RENDERER_ACCEL,val) #define Val_GtkCellRendererAccel(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererAccel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererAccelClass' */ /*TODO: conversion for record 'GtkCellRendererAccelPrivate' */ /*TODO: conversion for record 'GtkCellRendererClass' */ #define GtkCellRendererCombo_val(val) check_cast(GTK_CELL_RENDERER_COMBO,val) #define Val_GtkCellRendererCombo(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererCombo_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererComboClass' */ /*TODO: conversion for record 'GtkCellRendererComboPrivate' */ #define GtkCellRendererPixbuf_val(val) check_cast(GTK_CELL_RENDERER_PIXBUF,val) #define Val_GtkCellRendererPixbuf(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererPixbuf_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererPixbufClass' */ /*TODO: conversion for record 'GtkCellRendererPixbufPrivate' */ /*TODO: conversion for record 'GtkCellRendererPrivate' */ #define GtkCellRendererProgress_val(val) check_cast(GTK_CELL_RENDERER_PROGRESS,val) #define Val_GtkCellRendererProgress(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererProgress_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererProgressClass' */ /*TODO: conversion for record 'GtkCellRendererProgressPrivate' */ #define GtkCellRendererSpin_val(val) check_cast(GTK_CELL_RENDERER_SPIN,val) #define Val_GtkCellRendererSpin(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpin_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinClass' */ /*TODO: conversion for record 'GtkCellRendererSpinPrivate' */ #define GtkCellRendererSpinner_val(val) check_cast(GTK_CELL_RENDERER_SPINNER,val) #define Val_GtkCellRendererSpinner(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererSpinnerClass' */ /*TODO: conversion for record 'GtkCellRendererSpinnerPrivate' */ #define GtkCellRendererText_val(val) check_cast(GTK_CELL_RENDERER_TEXT,val) #define Val_GtkCellRendererText(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererTextClass' */ /*TODO: conversion for record 'GtkCellRendererTextPrivate' */ #define GtkCellRendererToggle_val(val) check_cast(GTK_CELL_RENDERER_TOGGLE,val) #define Val_GtkCellRendererToggle(val) Val_GObject((GObject*)val) #define Val_GtkCellRendererToggle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellRendererToggleClass' */ /*TODO: conversion for record 'GtkCellRendererTogglePrivate' */ #define GtkCellView_val(val) check_cast(GTK_CELL_VIEW,val) #define Val_GtkCellView(val) Val_GObject((GObject*)val) #define Val_GtkCellView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCellViewClass' */ /*TODO: conversion for record 'GtkCellViewPrivate' */ #define GtkCheckButton_val(val) check_cast(GTK_CHECK_BUTTON,val) #define Val_GtkCheckButton(val) Val_GObject((GObject*)val) #define Val_GtkCheckButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckButtonClass' */ #define GtkCheckMenuItem_val(val) check_cast(GTK_CHECK_MENU_ITEM,val) #define Val_GtkCheckMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkCheckMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCheckMenuItemClass' */ /*TODO: conversion for record 'GtkCheckMenuItemPrivate' */ #define GtkClipboard_val(val) check_cast(GTK_CLIPBOARD,val) #define Val_GtkClipboard(val) Val_GObject((GObject*)val) #define Val_GtkClipboard_new(val) Val_GObject_new((GObject*)val) #define GtkColorButton_val(val) check_cast(GTK_COLOR_BUTTON,val) #define Val_GtkColorButton(val) Val_GObject((GObject*)val) #define Val_GtkColorButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorButtonClass' */ /*TODO: conversion for record 'GtkColorButtonPrivate' */ #define GtkColorSelection_val(val) check_cast(GTK_COLOR_SELECTION,val) #define Val_GtkColorSelection(val) Val_GObject((GObject*)val) #define Val_GtkColorSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionClass' */ #define GtkColorSelectionDialog_val(val) check_cast(GTK_COLOR_SELECTION_DIALOG,val) #define Val_GtkColorSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkColorSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkColorSelectionDialogClass' */ /*TODO: conversion for record 'GtkColorSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkColorSelectionPrivate' */ #define GtkComboBox_val(val) check_cast(GTK_COMBO_BOX,val) #define Val_GtkComboBox(val) Val_GObject((GObject*)val) #define Val_GtkComboBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxClass' */ /*TODO: conversion for record 'GtkComboBoxPrivate' */ #define GtkComboBoxText_val(val) check_cast(GTK_COMBO_BOX_TEXT,val) #define Val_GtkComboBoxText(val) Val_GObject((GObject*)val) #define Val_GtkComboBoxText_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkComboBoxTextClass' */ /*TODO: conversion for record 'GtkComboBoxTextPrivate' */ #define GtkContainer_val(val) check_cast(GTK_CONTAINER,val) #define Val_GtkContainer(val) Val_GObject((GObject*)val) #define Val_GtkContainer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkContainerClass' */ /*TODO: conversion for record 'GtkContainerPrivate' */ #define GtkCssProvider_val(val) check_cast(GTK_CSS_PROVIDER,val) #define Val_GtkCssProvider(val) Val_GObject((GObject*)val) #define Val_GtkCssProvider_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkCssProviderClass' */ #define GtkDialog_val(val) check_cast(GTK_DIALOG,val) #define Val_GtkDialog(val) Val_GObject((GObject*)val) #define Val_GtkDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDialogClass' */ /*TODO: conversion for record 'GtkDialogPrivate' */ #define GtkDrawingArea_val(val) check_cast(GTK_DRAWING_AREA,val) #define Val_GtkDrawingArea(val) Val_GObject((GObject*)val) #define Val_GtkDrawingArea_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkDrawingAreaClass' */ /*TODO: conversion for record 'GtkEditableInterface' */ #define GtkEntry_val(val) check_cast(GTK_ENTRY,val) #define Val_GtkEntry(val) Val_GObject((GObject*)val) #define Val_GtkEntry_new(val) Val_GObject_new((GObject*)val) #define GtkEntryBuffer_val(val) check_cast(GTK_ENTRY_BUFFER,val) #define Val_GtkEntryBuffer(val) Val_GObject((GObject*)val) #define Val_GtkEntryBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryBufferClass' */ /*TODO: conversion for record 'GtkEntryBufferPrivate' */ /*TODO: conversion for record 'GtkEntryClass' */ #define GtkEntryCompletion_val(val) check_cast(GTK_ENTRY_COMPLETION,val) #define Val_GtkEntryCompletion(val) Val_GObject((GObject*)val) #define Val_GtkEntryCompletion_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEntryCompletionClass' */ /*TODO: conversion for record 'GtkEntryCompletionPrivate' */ /*TODO: conversion for record 'GtkEntryPrivate' */ #define GtkEventBox_val(val) check_cast(GTK_EVENT_BOX,val) #define Val_GtkEventBox(val) Val_GObject((GObject*)val) #define Val_GtkEventBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkEventBoxClass' */ /*TODO: conversion for record 'GtkEventBoxPrivate' */ #define GtkExpander_val(val) check_cast(GTK_EXPANDER,val) #define Val_GtkExpander(val) Val_GObject((GObject*)val) #define Val_GtkExpander_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkExpanderClass' */ /*TODO: conversion for record 'GtkExpanderPrivate' */ #define GtkFileChooserButton_val(val) check_cast(GTK_FILE_CHOOSER_BUTTON,val) #define Val_GtkFileChooserButton(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserButtonClass' */ /*TODO: conversion for record 'GtkFileChooserButtonPrivate' */ #define GtkFileChooserDialog_val(val) check_cast(GTK_FILE_CHOOSER_DIALOG,val) #define Val_GtkFileChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserDialogClass' */ /*TODO: conversion for record 'GtkFileChooserDialogPrivate' */ #define GtkFileChooserWidget_val(val) check_cast(GTK_FILE_CHOOSER_WIDGET,val) #define Val_GtkFileChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkFileChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileChooserWidgetClass' */ /*TODO: conversion for record 'GtkFileChooserWidgetPrivate' */ #define GtkFileFilter_val(val) check_cast(GTK_FILE_FILTER,val) #define Val_GtkFileFilter(val) Val_GObject((GObject*)val) #define Val_GtkFileFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFileFilterInfo' */ #define GtkFixed_val(val) check_cast(GTK_FIXED,val) #define Val_GtkFixed(val) Val_GObject((GObject*)val) #define Val_GtkFixed_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFixedChild' */ /*TODO: conversion for record 'GtkFixedClass' */ /*TODO: conversion for record 'GtkFixedPrivate' */ #define GtkFontButton_val(val) check_cast(GTK_FONT_BUTTON,val) #define Val_GtkFontButton(val) Val_GObject((GObject*)val) #define Val_GtkFontButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontButtonClass' */ /*TODO: conversion for record 'GtkFontButtonPrivate' */ #define GtkFontSelection_val(val) check_cast(GTK_FONT_SELECTION,val) #define Val_GtkFontSelection(val) Val_GObject((GObject*)val) #define Val_GtkFontSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionClass' */ #define GtkFontSelectionDialog_val(val) check_cast(GTK_FONT_SELECTION_DIALOG,val) #define Val_GtkFontSelectionDialog(val) Val_GObject((GObject*)val) #define Val_GtkFontSelectionDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFontSelectionDialogClass' */ /*TODO: conversion for record 'GtkFontSelectionDialogPrivate' */ /*TODO: conversion for record 'GtkFontSelectionPrivate' */ #define GtkFrame_val(val) check_cast(GTK_FRAME,val) #define Val_GtkFrame(val) Val_GObject((GObject*)val) #define Val_GtkFrame_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkFrameClass' */ /*TODO: conversion for record 'GtkFramePrivate' */ /*TODO: conversion for record 'GtkGradient' */ #define GtkGrid_val(val) check_cast(GTK_GRID,val) #define Val_GtkGrid(val) Val_GObject((GObject*)val) #define Val_GtkGrid_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkGridClass' */ /*TODO: conversion for record 'GtkGridPrivate' */ #define GtkHBox_val(val) check_cast(GTK_H_BOX,val) #define Val_GtkHBox(val) Val_GObject((GObject*)val) #define Val_GtkHBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHBoxClass' */ #define GtkHButtonBox_val(val) check_cast(GTK_H_BUTTON_BOX,val) #define Val_GtkHButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkHButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHButtonBoxClass' */ #define GtkHPaned_val(val) check_cast(GTK_H_PANED,val) #define Val_GtkHPaned(val) Val_GObject((GObject*)val) #define Val_GtkHPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHPanedClass' */ #define GtkHSV_val(val) check_cast(GTK_HSV,val) #define Val_GtkHSV(val) Val_GObject((GObject*)val) #define Val_GtkHSV_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSVClass' */ /*TODO: conversion for record 'GtkHSVPrivate' */ #define GtkHScale_val(val) check_cast(GTK_H_SCALE,val) #define Val_GtkHScale(val) Val_GObject((GObject*)val) #define Val_GtkHScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScaleClass' */ #define GtkHScrollbar_val(val) check_cast(GTK_H_SCROLLBAR,val) #define Val_GtkHScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkHScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHScrollbarClass' */ #define GtkHSeparator_val(val) check_cast(GTK_H_SEPARATOR,val) #define Val_GtkHSeparator(val) Val_GObject((GObject*)val) #define Val_GtkHSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHSeparatorClass' */ #define GtkHandleBox_val(val) check_cast(GTK_HANDLE_BOX,val) #define Val_GtkHandleBox(val) Val_GObject((GObject*)val) #define Val_GtkHandleBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkHandleBoxClass' */ /*TODO: conversion for record 'GtkHandleBoxPrivate' */ #define GtkIMContext_val(val) check_cast(GTK_IM_CONTEXT,val) #define Val_GtkIMContext(val) Val_GObject((GObject*)val) #define Val_GtkIMContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextClass' */ /*TODO: conversion for record 'GtkIMContextInfo' */ #define GtkIMContextSimple_val(val) check_cast(GTK_I_M_CONTEXT_SIMPLE,val) #define Val_GtkIMContextSimple(val) Val_GObject((GObject*)val) #define Val_GtkIMContextSimple_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMContextSimpleClass' */ /*TODO: conversion for record 'GtkIMContextSimplePrivate' */ #define GtkIMMulticontext_val(val) check_cast(GTK_IM_MULTICONTEXT,val) #define Val_GtkIMMulticontext(val) Val_GObject((GObject*)val) #define Val_GtkIMMulticontext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIMMulticontextClass' */ /*TODO: conversion for record 'GtkIMMulticontextPrivate' */ #define GtkIconFactory_val(val) check_cast(GTK_ICON_FACTORY,val) #define Val_GtkIconFactory(val) Val_GObject((GObject*)val) #define Val_GtkIconFactory_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconFactoryClass' */ /*TODO: conversion for record 'GtkIconFactoryPrivate' */ /*TODO: conversion for record 'GtkIconInfo' */ /*TODO: conversion for record 'GtkIconSet' */ /*TODO: conversion for record 'GtkIconSource' */ #define GtkIconTheme_val(val) check_cast(GTK_ICON_THEME,val) #define Val_GtkIconTheme(val) Val_GObject((GObject*)val) #define Val_GtkIconTheme_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconThemeClass' */ /*TODO: conversion for record 'GtkIconThemePrivate' */ #define GtkIconView_val(val) check_cast(GTK_ICON_VIEW,val) #define Val_GtkIconView(val) Val_GObject((GObject*)val) #define Val_GtkIconView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkIconViewClass' */ /*TODO: conversion for record 'GtkIconViewPrivate' */ #define GtkImage_val(val) check_cast(GTK_IMAGE,val) #define Val_GtkImage(val) Val_GObject((GObject*)val) #define Val_GtkImage_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageClass' */ #define GtkImageMenuItem_val(val) check_cast(GTK_IMAGE_MENU_ITEM,val) #define Val_GtkImageMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkImageMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkImageMenuItemClass' */ /*TODO: conversion for record 'GtkImageMenuItemPrivate' */ /*TODO: conversion for record 'GtkImagePrivate' */ #define GtkInfoBar_val(val) check_cast(GTK_INFO_BAR,val) #define Val_GtkInfoBar(val) Val_GObject((GObject*)val) #define Val_GtkInfoBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInfoBarClass' */ /*TODO: conversion for record 'GtkInfoBarPrivate' */ #define GtkInvisible_val(val) check_cast(GTK_INVISIBLE,val) #define Val_GtkInvisible(val) Val_GObject((GObject*)val) #define Val_GtkInvisible_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkInvisibleClass' */ /*TODO: conversion for record 'GtkInvisiblePrivate' */ #define GtkLabel_val(val) check_cast(GTK_LABEL,val) #define Val_GtkLabel(val) Val_GObject((GObject*)val) #define Val_GtkLabel_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLabelClass' */ /*TODO: conversion for record 'GtkLabelPrivate' */ /*TODO: conversion for record 'GtkLabelSelectionInfo' */ #define GtkLayout_val(val) check_cast(GTK_LAYOUT,val) #define Val_GtkLayout(val) Val_GObject((GObject*)val) #define Val_GtkLayout_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLayoutClass' */ /*TODO: conversion for record 'GtkLayoutPrivate' */ #define GtkLinkButton_val(val) check_cast(GTK_LINK_BUTTON,val) #define Val_GtkLinkButton(val) Val_GObject((GObject*)val) #define Val_GtkLinkButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkLinkButtonClass' */ /*TODO: conversion for record 'GtkLinkButtonPrivate' */ #define GtkListStore_val(val) check_cast(GTK_LIST_STORE,val) #define Val_GtkListStore(val) Val_GObject((GObject*)val) #define Val_GtkListStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkListStoreClass' */ /*TODO: conversion for record 'GtkListStorePrivate' */ #define GtkMenu_val(val) check_cast(GTK_MENU,val) #define Val_GtkMenu(val) Val_GObject((GObject*)val) #define Val_GtkMenu_new(val) Val_GObject_new((GObject*)val) #define GtkMenuBar_val(val) check_cast(GTK_MENU_BAR,val) #define Val_GtkMenuBar(val) Val_GObject((GObject*)val) #define Val_GtkMenuBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuBarClass' */ /*TODO: conversion for record 'GtkMenuBarPrivate' */ /*TODO: conversion for record 'GtkMenuClass' */ #define GtkMenuItem_val(val) check_cast(GTK_MENU_ITEM,val) #define Val_GtkMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuItemClass' */ /*TODO: conversion for record 'GtkMenuItemPrivate' */ /*TODO: conversion for record 'GtkMenuPrivate' */ #define GtkMenuShell_val(val) check_cast(GTK_MENU_SHELL,val) #define Val_GtkMenuShell(val) Val_GObject((GObject*)val) #define Val_GtkMenuShell_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuShellClass' */ /*TODO: conversion for record 'GtkMenuShellPrivate' */ #define GtkMenuToolButton_val(val) check_cast(GTK_MENU_TOOL_BUTTON,val) #define Val_GtkMenuToolButton(val) Val_GObject((GObject*)val) #define Val_GtkMenuToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMenuToolButtonClass' */ /*TODO: conversion for record 'GtkMenuToolButtonPrivate' */ #define GtkMessageDialog_val(val) check_cast(GTK_MESSAGE_DIALOG,val) #define Val_GtkMessageDialog(val) Val_GObject((GObject*)val) #define Val_GtkMessageDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMessageDialogClass' */ /*TODO: conversion for record 'GtkMessageDialogPrivate' */ #define GtkMisc_val(val) check_cast(GTK_MISC,val) #define Val_GtkMisc(val) Val_GObject((GObject*)val) #define Val_GtkMisc_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMiscClass' */ /*TODO: conversion for record 'GtkMiscPrivate' */ #define GtkMountOperation_val(val) check_cast(GTK_MOUNT_OPERATION,val) #define Val_GtkMountOperation(val) Val_GObject((GObject*)val) #define Val_GtkMountOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkMountOperationClass' */ /*TODO: conversion for record 'GtkMountOperationPrivate' */ #define GtkNotebook_val(val) check_cast(GTK_NOTEBOOK,val) #define Val_GtkNotebook(val) Val_GObject((GObject*)val) #define Val_GtkNotebook_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNotebookClass' */ /*TODO: conversion for record 'GtkNotebookPrivate' */ #define GtkNumerableIcon_val(val) check_cast(GTK_NUMERABLE_ICON,val) #define Val_GtkNumerableIcon(val) Val_GObject((GObject*)val) #define Val_GtkNumerableIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkNumerableIconClass' */ /*TODO: conversion for record 'GtkNumerableIconPrivate' */ #define GtkOffscreenWindow_val(val) check_cast(GTK_OFFSCREEN_WINDOW,val) #define Val_GtkOffscreenWindow(val) Val_GObject((GObject*)val) #define Val_GtkOffscreenWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkOffscreenWindowClass' */ /*TODO: conversion for record 'GtkOrientableIface' */ /*TODO: conversion for record 'GtkPageRange' */ #define GtkPageSetup_val(val) check_cast(GTK_PAGE_SETUP,val) #define Val_GtkPageSetup(val) Val_GObject((GObject*)val) #define Val_GtkPageSetup_new(val) Val_GObject_new((GObject*)val) #define GtkPaned_val(val) check_cast(GTK_PANED,val) #define Val_GtkPaned(val) Val_GObject((GObject*)val) #define Val_GtkPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPanedClass' */ /*TODO: conversion for record 'GtkPanedPrivate' */ /*TODO: conversion for record 'GtkPaperSize' */ #define GtkPlug_val(val) check_cast(GTK_PLUG,val) #define Val_GtkPlug(val) Val_GObject((GObject*)val) #define Val_GtkPlug_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPlugClass' */ /*TODO: conversion for record 'GtkPlugPrivate' */ #define GtkPrintContext_val(val) check_cast(GTK_PRINT_CONTEXT,val) #define Val_GtkPrintContext(val) Val_GObject((GObject*)val) #define Val_GtkPrintContext_new(val) Val_GObject_new((GObject*)val) #define GtkPrintOperation_val(val) check_cast(GTK_PRINT_OPERATION,val) #define Val_GtkPrintOperation(val) Val_GObject((GObject*)val) #define Val_GtkPrintOperation_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkPrintOperationClass' */ /*TODO: conversion for record 'GtkPrintOperationPreviewIface' */ /*TODO: conversion for record 'GtkPrintOperationPrivate' */ #define GtkPrintSettings_val(val) check_cast(GTK_PRINT_SETTINGS,val) #define Val_GtkPrintSettings(val) Val_GObject((GObject*)val) #define Val_GtkPrintSettings_new(val) Val_GObject_new((GObject*)val) #define GtkProgressBar_val(val) check_cast(GTK_PROGRESS_BAR,val) #define Val_GtkProgressBar(val) Val_GObject((GObject*)val) #define Val_GtkProgressBar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkProgressBarClass' */ /*TODO: conversion for record 'GtkProgressBarPrivate' */ #define GtkRadioAction_val(val) check_cast(GTK_RADIO_ACTION,val) #define Val_GtkRadioAction(val) Val_GObject((GObject*)val) #define Val_GtkRadioAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioActionClass' */ /*TODO: conversion for record 'GtkRadioActionEntry' */ /*TODO: conversion for record 'GtkRadioActionPrivate' */ #define GtkRadioButton_val(val) check_cast(GTK_RADIO_BUTTON,val) #define Val_GtkRadioButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioButtonClass' */ /*TODO: conversion for record 'GtkRadioButtonPrivate' */ #define GtkRadioMenuItem_val(val) check_cast(GTK_RADIO_MENU_ITEM,val) #define Val_GtkRadioMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkRadioMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioMenuItemClass' */ /*TODO: conversion for record 'GtkRadioMenuItemPrivate' */ #define GtkRadioToolButton_val(val) check_cast(GTK_RADIO_TOOL_BUTTON,val) #define Val_GtkRadioToolButton(val) Val_GObject((GObject*)val) #define Val_GtkRadioToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRadioToolButtonClass' */ #define GtkRange_val(val) check_cast(GTK_RANGE,val) #define Val_GtkRange(val) Val_GObject((GObject*)val) #define Val_GtkRange_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRangeClass' */ /*TODO: conversion for record 'GtkRangePrivate' */ /*TODO: conversion for record 'GtkRcContext' */ /*TODO: conversion for record 'GtkRcProperty' */ #define GtkRcStyle_val(val) check_cast(GTK_RC_STYLE,val) #define Val_GtkRcStyle(val) Val_GObject((GObject*)val) #define Val_GtkRcStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRcStyleClass' */ #define GtkRecentAction_val(val) check_cast(GTK_RECENT_ACTION,val) #define Val_GtkRecentAction(val) Val_GObject((GObject*)val) #define Val_GtkRecentAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentActionClass' */ /*TODO: conversion for record 'GtkRecentActionPrivate' */ #define GtkRecentChooserDialog_val(val) check_cast(GTK_RECENT_CHOOSER_DIALOG,val) #define Val_GtkRecentChooserDialog(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserDialog_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserDialogClass' */ /*TODO: conversion for record 'GtkRecentChooserDialogPrivate' */ /*TODO: conversion for record 'GtkRecentChooserIface' */ #define GtkRecentChooserMenu_val(val) check_cast(GTK_RECENT_CHOOSER_MENU,val) #define Val_GtkRecentChooserMenu(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserMenu_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserMenuClass' */ /*TODO: conversion for record 'GtkRecentChooserMenuPrivate' */ #define GtkRecentChooserWidget_val(val) check_cast(GTK_RECENT_CHOOSER_WIDGET,val) #define Val_GtkRecentChooserWidget(val) Val_GObject((GObject*)val) #define Val_GtkRecentChooserWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentChooserWidgetClass' */ /*TODO: conversion for record 'GtkRecentChooserWidgetPrivate' */ /*TODO: conversion for record 'GtkRecentData' */ #define GtkRecentFilter_val(val) check_cast(GTK_RECENT_FILTER,val) #define Val_GtkRecentFilter(val) Val_GObject((GObject*)val) #define Val_GtkRecentFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentFilterInfo' */ /*TODO: conversion for record 'GtkRecentInfo' */ #define GtkRecentManager_val(val) check_cast(GTK_RECENT_MANAGER,val) #define Val_GtkRecentManager(val) Val_GObject((GObject*)val) #define Val_GtkRecentManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkRecentManagerClass' */ /*TODO: conversion for record 'GtkRecentManagerPrivate' */ /*TODO: conversion for record 'GtkRequestedSize' */ /*TODO: conversion for record 'GtkRequisition' */ #define GtkScale_val(val) check_cast(GTK_SCALE,val) #define Val_GtkScale(val) Val_GObject((GObject*)val) #define Val_GtkScale_new(val) Val_GObject_new((GObject*)val) #define GtkScaleButton_val(val) check_cast(GTK_SCALE_BUTTON,val) #define Val_GtkScaleButton(val) Val_GObject((GObject*)val) #define Val_GtkScaleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScaleButtonClass' */ /*TODO: conversion for record 'GtkScaleButtonPrivate' */ /*TODO: conversion for record 'GtkScaleClass' */ /*TODO: conversion for record 'GtkScalePrivate' */ /*TODO: conversion for record 'GtkScrollableInterface' */ #define GtkScrollbar_val(val) check_cast(GTK_SCROLLBAR,val) #define Val_GtkScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrollbarClass' */ #define GtkScrolledWindow_val(val) check_cast(GTK_SCROLLED_WINDOW,val) #define Val_GtkScrolledWindow(val) Val_GObject((GObject*)val) #define Val_GtkScrolledWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkScrolledWindowClass' */ /*TODO: conversion for record 'GtkScrolledWindowPrivate' */ /*TODO: conversion for record 'GtkSelectionData' */ #define GtkSeparator_val(val) check_cast(GTK_SEPARATOR,val) #define Val_GtkSeparator(val) Val_GObject((GObject*)val) #define Val_GtkSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorClass' */ #define GtkSeparatorMenuItem_val(val) check_cast(GTK_SEPARATOR_MENU_ITEM,val) #define Val_GtkSeparatorMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorMenuItemClass' */ /*TODO: conversion for record 'GtkSeparatorPrivate' */ #define GtkSeparatorToolItem_val(val) check_cast(GTK_SEPARATOR_TOOL_ITEM,val) #define Val_GtkSeparatorToolItem(val) Val_GObject((GObject*)val) #define Val_GtkSeparatorToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSeparatorToolItemClass' */ /*TODO: conversion for record 'GtkSeparatorToolItemPrivate' */ #define GtkSettings_val(val) check_cast(GTK_SETTINGS,val) #define Val_GtkSettings(val) Val_GObject((GObject*)val) #define Val_GtkSettings_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSettingsClass' */ /*TODO: conversion for record 'GtkSettingsPrivate' */ /*TODO: conversion for record 'GtkSettingsValue' */ #define GtkSizeGroup_val(val) check_cast(GTK_SIZE_GROUP,val) #define Val_GtkSizeGroup(val) Val_GObject((GObject*)val) #define Val_GtkSizeGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSizeGroupClass' */ /*TODO: conversion for record 'GtkSizeGroupPrivate' */ #define GtkSocket_val(val) check_cast(GTK_SOCKET,val) #define Val_GtkSocket(val) Val_GObject((GObject*)val) #define Val_GtkSocket_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSocketClass' */ /*TODO: conversion for record 'GtkSocketPrivate' */ #define GtkSpinButton_val(val) check_cast(GTK_SPIN_BUTTON,val) #define Val_GtkSpinButton(val) Val_GObject((GObject*)val) #define Val_GtkSpinButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinButtonClass' */ /*TODO: conversion for record 'GtkSpinButtonPrivate' */ #define GtkSpinner_val(val) check_cast(GTK_SPINNER,val) #define Val_GtkSpinner(val) Val_GObject((GObject*)val) #define Val_GtkSpinner_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSpinnerClass' */ /*TODO: conversion for record 'GtkSpinnerPrivate' */ #define GtkStatusIcon_val(val) check_cast(GTK_STATUS_ICON,val) #define Val_GtkStatusIcon(val) Val_GObject((GObject*)val) #define Val_GtkStatusIcon_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusIconClass' */ /*TODO: conversion for record 'GtkStatusIconPrivate' */ #define GtkStatusbar_val(val) check_cast(GTK_STATUSBAR,val) #define Val_GtkStatusbar(val) Val_GObject((GObject*)val) #define Val_GtkStatusbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStatusbarClass' */ /*TODO: conversion for record 'GtkStatusbarPrivate' */ /*TODO: conversion for record 'GtkStockItem' */ #define GtkStyle_val(val) check_cast(GTK_STYLE,val) #define Val_GtkStyle(val) Val_GObject((GObject*)val) #define Val_GtkStyle_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleClass' */ #define GtkStyleContext_val(val) check_cast(GTK_STYLE_CONTEXT,val) #define Val_GtkStyleContext(val) Val_GObject((GObject*)val) #define Val_GtkStyleContext_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStyleContextClass' */ #define GtkStyleProperties_val(val) check_cast(GTK_STYLE_PROPERTIES,val) #define Val_GtkStyleProperties(val) Val_GObject((GObject*)val) #define Val_GtkStyleProperties_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkStylePropertiesClass' */ /*TODO: conversion for record 'GtkStyleProviderIface' */ #define GtkSwitch_val(val) check_cast(GTK_SWITCH,val) #define Val_GtkSwitch(val) Val_GObject((GObject*)val) #define Val_GtkSwitch_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkSwitchClass' */ /*TODO: conversion for record 'GtkSwitchPrivate' */ /*TODO: conversion for record 'GtkSymbolicColor' */ #define GtkTable_val(val) check_cast(GTK_TABLE,val) #define Val_GtkTable(val) Val_GObject((GObject*)val) #define Val_GtkTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTableChild' */ /*TODO: conversion for record 'GtkTableClass' */ /*TODO: conversion for record 'GtkTablePrivate' */ /*TODO: conversion for record 'GtkTableRowCol' */ /*TODO: conversion for record 'GtkTargetEntry' */ /*TODO: conversion for record 'GtkTargetList' */ #define GtkTearoffMenuItem_val(val) check_cast(GTK_TEAROFF_MENU_ITEM,val) #define Val_GtkTearoffMenuItem(val) Val_GObject((GObject*)val) #define Val_GtkTearoffMenuItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTearoffMenuItemClass' */ /*TODO: conversion for record 'GtkTearoffMenuItemPrivate' */ /*TODO: conversion for record 'GtkTextAppearance' */ /*TODO: conversion for record 'GtkTextAttributes' */ /*TODO: conversion for record 'GtkTextBTree' */ #define GtkTextBuffer_val(val) check_cast(GTK_TEXT_BUFFER,val) #define Val_GtkTextBuffer(val) Val_GObject((GObject*)val) #define Val_GtkTextBuffer_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextBufferClass' */ /*TODO: conversion for record 'GtkTextBufferPrivate' */ #define GtkTextChildAnchor_val(val) check_cast(GTK_TEXT_CHILD_ANCHOR,val) #define Val_GtkTextChildAnchor(val) Val_GObject((GObject*)val) #define Val_GtkTextChildAnchor_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextChildAnchorClass' */ /*TODO: conversion for record 'GtkTextIter' */ #define GtkTextMark_val(val) check_cast(GTK_TEXT_MARK,val) #define Val_GtkTextMark(val) Val_GObject((GObject*)val) #define Val_GtkTextMark_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextMarkClass' */ #define GtkTextTag_val(val) check_cast(GTK_TEXT_TAG,val) #define Val_GtkTextTag(val) Val_GObject((GObject*)val) #define Val_GtkTextTag_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagClass' */ /*TODO: conversion for record 'GtkTextTagPrivate' */ #define GtkTextTagTable_val(val) check_cast(GTK_TEXT_TAG_TABLE,val) #define Val_GtkTextTagTable(val) Val_GObject((GObject*)val) #define Val_GtkTextTagTable_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextTagTableClass' */ /*TODO: conversion for record 'GtkTextTagTablePrivate' */ #define GtkTextView_val(val) check_cast(GTK_TEXT_VIEW,val) #define Val_GtkTextView(val) Val_GObject((GObject*)val) #define Val_GtkTextView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTextViewClass' */ /*TODO: conversion for record 'GtkTextViewPrivate' */ /*TODO: conversion for record 'GtkThemeEngine' */ #define GtkThemingEngine_val(val) check_cast(GTK_THEMING_ENGINE,val) #define Val_GtkThemingEngine(val) Val_GObject((GObject*)val) #define Val_GtkThemingEngine_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkThemingEngineClass' */ #define GtkToggleAction_val(val) check_cast(GTK_TOGGLE_ACTION,val) #define Val_GtkToggleAction(val) Val_GObject((GObject*)val) #define Val_GtkToggleAction_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleActionClass' */ /*TODO: conversion for record 'GtkToggleActionEntry' */ /*TODO: conversion for record 'GtkToggleActionPrivate' */ #define GtkToggleButton_val(val) check_cast(GTK_TOGGLE_BUTTON,val) #define Val_GtkToggleButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleButtonClass' */ /*TODO: conversion for record 'GtkToggleButtonPrivate' */ #define GtkToggleToolButton_val(val) check_cast(GTK_TOGGLE_TOOL_BUTTON,val) #define Val_GtkToggleToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToggleToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToggleToolButtonClass' */ /*TODO: conversion for record 'GtkToggleToolButtonPrivate' */ #define GtkToolButton_val(val) check_cast(GTK_TOOL_BUTTON,val) #define Val_GtkToolButton(val) Val_GObject((GObject*)val) #define Val_GtkToolButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolButtonClass' */ /*TODO: conversion for record 'GtkToolButtonPrivate' */ #define GtkToolItem_val(val) check_cast(GTK_TOOL_ITEM,val) #define Val_GtkToolItem(val) Val_GObject((GObject*)val) #define Val_GtkToolItem_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemClass' */ #define GtkToolItemGroup_val(val) check_cast(GTK_TOOL_ITEM_GROUP,val) #define Val_GtkToolItemGroup(val) Val_GObject((GObject*)val) #define Val_GtkToolItemGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolItemGroupClass' */ /*TODO: conversion for record 'GtkToolItemGroupPrivate' */ /*TODO: conversion for record 'GtkToolItemPrivate' */ #define GtkToolPalette_val(val) check_cast(GTK_TOOL_PALETTE,val) #define Val_GtkToolPalette(val) Val_GObject((GObject*)val) #define Val_GtkToolPalette_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolPaletteClass' */ /*TODO: conversion for record 'GtkToolPalettePrivate' */ /*TODO: conversion for record 'GtkToolShellIface' */ #define GtkToolbar_val(val) check_cast(GTK_TOOLBAR,val) #define Val_GtkToolbar(val) Val_GObject((GObject*)val) #define Val_GtkToolbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkToolbarClass' */ /*TODO: conversion for record 'GtkToolbarPrivate' */ #define GtkTooltip_val(val) check_cast(GTK_TOOLTIP,val) #define Val_GtkTooltip(val) Val_GObject((GObject*)val) #define Val_GtkTooltip_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeDragDestIface' */ /*TODO: conversion for record 'GtkTreeDragSourceIface' */ /*TODO: conversion for record 'GtkTreeIter' */ #define GtkTreeModelFilter_val(val) check_cast(GTK_TREE_MODEL_FILTER,val) #define Val_GtkTreeModelFilter(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelFilter_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelFilterClass' */ /*TODO: conversion for record 'GtkTreeModelFilterPrivate' */ /*TODO: conversion for record 'GtkTreeModelIface' */ #define GtkTreeModelSort_val(val) check_cast(GTK_TREE_MODEL_SORT,val) #define Val_GtkTreeModelSort(val) Val_GObject((GObject*)val) #define Val_GtkTreeModelSort_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeModelSortClass' */ /*TODO: conversion for record 'GtkTreeModelSortPrivate' */ /*TODO: conversion for record 'GtkTreePath' */ /*TODO: conversion for record 'GtkTreeRowReference' */ #define GtkTreeSelection_val(val) check_cast(GTK_TREE_SELECTION,val) #define Val_GtkTreeSelection(val) Val_GObject((GObject*)val) #define Val_GtkTreeSelection_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeSelectionClass' */ /*TODO: conversion for record 'GtkTreeSelectionPrivate' */ /*TODO: conversion for record 'GtkTreeSortableIface' */ #define GtkTreeStore_val(val) check_cast(GTK_TREE_STORE,val) #define Val_GtkTreeStore(val) Val_GObject((GObject*)val) #define Val_GtkTreeStore_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeStoreClass' */ /*TODO: conversion for record 'GtkTreeStorePrivate' */ #define GtkTreeView_val(val) check_cast(GTK_TREE_VIEW,val) #define Val_GtkTreeView(val) Val_GObject((GObject*)val) #define Val_GtkTreeView_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewClass' */ #define GtkTreeViewColumn_val(val) check_cast(GTK_TREE_VIEW_COLUMN,val) #define Val_GtkTreeViewColumn(val) Val_GObject((GObject*)val) #define Val_GtkTreeViewColumn_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkTreeViewColumnClass' */ /*TODO: conversion for record 'GtkTreeViewColumnPrivate' */ /*TODO: conversion for record 'GtkTreeViewPrivate' */ #define GtkUIManager_val(val) check_cast(GTK_UI_MANAGER,val) #define Val_GtkUIManager(val) Val_GObject((GObject*)val) #define Val_GtkUIManager_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkUIManagerClass' */ /*TODO: conversion for record 'GtkUIManagerPrivate' */ #define GtkVBox_val(val) check_cast(GTK_V_BOX,val) #define Val_GtkVBox(val) Val_GObject((GObject*)val) #define Val_GtkVBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVBoxClass' */ #define GtkVButtonBox_val(val) check_cast(GTK_V_BUTTON_BOX,val) #define Val_GtkVButtonBox(val) Val_GObject((GObject*)val) #define Val_GtkVButtonBox_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVButtonBoxClass' */ #define GtkVPaned_val(val) check_cast(GTK_V_PANED,val) #define Val_GtkVPaned(val) Val_GObject((GObject*)val) #define Val_GtkVPaned_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVPanedClass' */ #define GtkVScale_val(val) check_cast(GTK_V_SCALE,val) #define Val_GtkVScale(val) Val_GObject((GObject*)val) #define Val_GtkVScale_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScaleClass' */ #define GtkVScrollbar_val(val) check_cast(GTK_V_SCROLLBAR,val) #define Val_GtkVScrollbar(val) Val_GObject((GObject*)val) #define Val_GtkVScrollbar_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVScrollbarClass' */ #define GtkVSeparator_val(val) check_cast(GTK_V_SEPARATOR,val) #define Val_GtkVSeparator(val) Val_GObject((GObject*)val) #define Val_GtkVSeparator_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVSeparatorClass' */ #define GtkViewport_val(val) check_cast(GTK_VIEWPORT,val) #define Val_GtkViewport(val) Val_GObject((GObject*)val) #define Val_GtkViewport_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkViewportClass' */ /*TODO: conversion for record 'GtkViewportPrivate' */ #define GtkVolumeButton_val(val) check_cast(GTK_VOLUME_BUTTON,val) #define Val_GtkVolumeButton(val) Val_GObject((GObject*)val) #define Val_GtkVolumeButton_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkVolumeButtonClass' */ #define GtkWidget_val(val) check_cast(GTK_WIDGET,val) #define Val_GtkWidget(val) Val_GObject((GObject*)val) #define Val_GtkWidget_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWidgetAuxInfo' */ /*TODO: conversion for record 'GtkWidgetClass' */ /*TODO: conversion for record 'GtkWidgetPath' */ /*TODO: conversion for record 'GtkWidgetPrivate' */ #define GtkWindow_val(val) check_cast(GTK_WINDOW,val) #define Val_GtkWindow(val) Val_GObject((GObject*)val) #define Val_GtkWindow_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowClass' */ /*TODO: conversion for record 'GtkWindowGeometryInfo' */ #define GtkWindowGroup_val(val) check_cast(GTK_WINDOW_GROUP,val) #define Val_GtkWindowGroup(val) Val_GObject((GObject*)val) #define Val_GtkWindowGroup_new(val) Val_GObject_new((GObject*)val) /*TODO: conversion for record 'GtkWindowGroupClass' */ /*TODO: conversion for record 'GtkWindowGroupPrivate' */ /*TODO: conversion for record 'GtkWindowPrivate' */ #include <> #include "../wrappers.h" #include "../ml_gobject.h" /* Module RectangleInt */ /* end of RectangleInt */ /* Module Path */ /* end of Path */ /* Module ScaledFont */ /* end of ScaledFont */ /* Module FontFace */ /* end of FontFace */ /* Module FontType */ /* end of FontType */ /* Module FontOptions */ /* end of FontOptions */ /* Module Region */ /* end of Region */ /* Module Pattern */ /* end of Pattern */ /* Module Matrix */ /* end of Matrix */ /* Module Surface */ /* end of Surface */ /* Module Context */ /* end of Context */ /* Global functions */ ML_0(cairo_image_surface_create,Unit) /* End of global functions */ lablgtk-3.1.2/tools/introspection/stubs/stubs_Atk.ml0000644000650106067230000001421114161276610021470 0ustar glondusedtype -'a obj module _RegistryClass = struct end module _Registry = struct end module _PropertyValues = struct end module ValueIface = struct end module UtilClass = struct end module Util = struct end module TextRectangle = struct end module TextRange = struct end module TextIface = struct end module TableIface = struct end module StreamableContentIface = struct end module StateSetClass = struct end module StateSet = struct external xor_sets: [>`atkstateset] obj -> [>`atkstateset] obj -> [<`atkstateset] obj = "ml_atk_state_set_xor_sets" external or_sets: [>`atkstateset] obj -> [>`atkstateset] obj -> [<`atkstateset] obj = "ml_atk_state_set_or_sets" external is_empty: [>`atkstateset] obj -> bool = "ml_atk_state_set_is_empty" external clear_states: [>`atkstateset] obj -> unit = "ml_atk_state_set_clear_states" external and_sets: [>`atkstateset] obj -> [>`atkstateset] obj -> [<`atkstateset] obj = "ml_atk_state_set_and_sets" end module SocketClass = struct end module Socket = struct external is_occupied: [>`atksocket] obj -> bool = "ml_atk_socket_is_occupied" external embed: [>`atksocket] obj -> string -> unit = "ml_atk_socket_embed" end module SelectionIface = struct end module RelationSetClass = struct end module RelationSet = struct external remove: [>`atkrelationset] obj -> [>`atkrelation] obj -> unit = "ml_atk_relation_set_remove" external get_relation: [>`atkrelationset] obj -> int -> [<`atkrelation] obj = "ml_atk_relation_set_get_relation" external get_n_relations: [>`atkrelationset] obj -> int = "ml_atk_relation_set_get_n_relations" external add: [>`atkrelationset] obj -> [>`atkrelation] obj -> unit = "ml_atk_relation_set_add" end module RelationClass = struct end module Relation = struct external remove_target: [>`atkrelation] obj -> [>`atkobject] obj -> bool = "ml_atk_relation_remove_target" external add_target: [>`atkrelation] obj -> [>`atkobject] obj -> unit = "ml_atk_relation_add_target" end module Registry = struct end module Rectangle = struct end module PlugClass = struct end module Plug = struct external get_id: [>`atkplug] obj -> string = "ml_atk_plug_get_id" end module ObjectFactoryClass = struct end module ObjectFactory = struct external invalidate: [>`atkobjectfactory] obj -> unit = "ml_atk_object_factory_invalidate" external get_accessible_type: [>`atkobjectfactory] obj -> int = "ml_atk_object_factory_get_accessible_type" end module ObjectClass = struct end module Object = struct external set_parent: [>`atkobject] obj -> [>`atkobject] obj -> unit = "ml_atk_object_set_parent" external set_name: [>`atkobject] obj -> string -> unit = "ml_atk_object_set_name" external set_description: [>`atkobject] obj -> string -> unit = "ml_atk_object_set_description" external remove_property_change_handler: [>`atkobject] obj -> int -> unit = "ml_atk_object_remove_property_change_handler" external ref_state_set: [>`atkobject] obj -> [<`atkstateset] obj = "ml_atk_object_ref_state_set" external ref_relation_set: [>`atkobject] obj -> [<`atkrelationset] obj = "ml_atk_object_ref_relation_set" external ref_accessible_child: [>`atkobject] obj -> int -> [<`atkobject] obj = "ml_atk_object_ref_accessible_child" external notify_state_change: [>`atkobject] obj -> int64 -> bool -> unit = "ml_atk_object_notify_state_change" external get_parent: [>`atkobject] obj -> [<`atkobject] obj = "ml_atk_object_get_parent" external get_name: [>`atkobject] obj -> string = "ml_atk_object_get_name" external get_n_accessible_children: [>`atkobject] obj -> int = "ml_atk_object_get_n_accessible_children" external get_index_in_parent: [>`atkobject] obj -> int = "ml_atk_object_get_index_in_parent" external get_description: [>`atkobject] obj -> string = "ml_atk_object_get_description" end module NoOpObjectFactoryClass = struct end module NoOpObjectFactory = struct end module NoOpObjectClass = struct end module NoOpObject = struct end module MiscClass = struct end module Misc = struct external threads_leave: [>`atkmisc] obj -> unit = "ml_atk_misc_threads_leave" external threads_enter: [>`atkmisc] obj -> unit = "ml_atk_misc_threads_enter" external get_instance: unit -> [<`atkmisc] obj = "ml_atk_misc_get_instance" end module KeyEventStruct = struct end module Implementor = struct external ref_accessible: [>`atkimplementor] obj -> [<`atkobject] obj = "ml_atk_implementor_ref_accessible" end module ImageIface = struct end module HypertextIface = struct end module HyperlinkImplIface = struct end module HyperlinkClass = struct end module Hyperlink = struct external is_valid: [>`atkhyperlink] obj -> bool = "ml_atk_hyperlink_is_valid" external is_inline: [>`atkhyperlink] obj -> bool = "ml_atk_hyperlink_is_inline" external get_uri: [>`atkhyperlink] obj -> int -> string = "ml_atk_hyperlink_get_uri" external get_start_index: [>`atkhyperlink] obj -> int = "ml_atk_hyperlink_get_start_index" external get_object: [>`atkhyperlink] obj -> int -> [<`atkobject] obj = "ml_atk_hyperlink_get_object" external get_n_anchors: [>`atkhyperlink] obj -> int = "ml_atk_hyperlink_get_n_anchors" external get_end_index: [>`atkhyperlink] obj -> int = "ml_atk_hyperlink_get_end_index" end module GObjectAccessibleClass = struct end module GObjectAccessible = struct end module EditableTextIface = struct end module DocumentIface = struct end module ComponentIface = struct end module Attribute = struct end module ActionIface = struct end (* Global functions *) external remove_key_event_listener: int -> unit = "ml_atk_remove_key_event_listener" external remove_global_event_listener: int -> unit = "ml_atk_remove_global_event_listener" external remove_focus_tracker: int -> unit = "ml_atk_remove_focus_tracker" external get_version: unit -> string = "ml_atk_get_version" external get_toolkit_version: unit -> string = "ml_atk_get_toolkit_version" external get_toolkit_name: unit -> string = "ml_atk_get_toolkit_name" external get_root: unit -> [<`atkobject] obj = "ml_atk_get_root" external get_focus_object: unit -> [<`atkobject] obj = "ml_atk_get_focus_object" external focus_tracker_notify: [>`atkobject] obj -> unit = "ml_atk_focus_tracker_notify" (* End of global functions *) lablgtk-3.1.2/tools/introspection/stubs/stubs_GLib.ml0000644000650106067230000020040114161276610021564 0ustar glondusedtype -'a obj module VariantType = struct external value: [>`gvarianttype] obj -> [<`gvarianttype] obj = "ml_g_variant_type_value" external peek_string: [>`gvarianttype] obj -> string = "ml_g_variant_type_peek_string" external next: [>`gvarianttype] obj -> [<`gvarianttype] obj = "ml_g_variant_type_next" external new_maybe: [>`gvarianttype] obj -> [<`gvarianttype] obj = "ml_g_variant_type_new_maybe" external new_dict_entry: [>`gvarianttype] obj -> [>`gvarianttype] obj -> [<`gvarianttype] obj = "ml_g_variant_type_new_dict_entry" external new_array: [>`gvarianttype] obj -> [<`gvarianttype] obj = "ml_g_variant_type_new_array" external n_items: [>`gvarianttype] obj -> int = "ml_g_variant_type_n_items" external key: [>`gvarianttype] obj -> [<`gvarianttype] obj = "ml_g_variant_type_key" external is_variant: [>`gvarianttype] obj -> bool = "ml_g_variant_type_is_variant" external is_tuple: [>`gvarianttype] obj -> bool = "ml_g_variant_type_is_tuple" external is_subtype_of: [>`gvarianttype] obj -> [>`gvarianttype] obj -> bool = "ml_g_variant_type_is_subtype_of" external is_maybe: [>`gvarianttype] obj -> bool = "ml_g_variant_type_is_maybe" external is_dict_entry: [>`gvarianttype] obj -> bool = "ml_g_variant_type_is_dict_entry" external is_definite: [>`gvarianttype] obj -> bool = "ml_g_variant_type_is_definite" external is_container: [>`gvarianttype] obj -> bool = "ml_g_variant_type_is_container" external is_basic: [>`gvarianttype] obj -> bool = "ml_g_variant_type_is_basic" external is_array: [>`gvarianttype] obj -> bool = "ml_g_variant_type_is_array" external get_string_length: [>`gvarianttype] obj -> int = "ml_g_variant_type_get_string_length" external free: [>`gvarianttype] obj -> unit = "ml_g_variant_type_free" external first: [>`gvarianttype] obj -> [<`gvarianttype] obj = "ml_g_variant_type_first" external element: [>`gvarianttype] obj -> [<`gvarianttype] obj = "ml_g_variant_type_element" external dup_string: [>`gvarianttype] obj -> string = "ml_g_variant_type_dup_string" external copy: [>`gvarianttype] obj -> [<`gvarianttype] obj = "ml_g_variant_type_copy" end module VariantIter = struct external next_value: [>`gvariantiter] obj -> [<`gvariant] obj = "ml_g_variant_iter_next_value" external n_children: [>`gvariantiter] obj -> int = "ml_g_variant_iter_n_children" external init: [>`gvariantiter] obj -> [>`gvariant] obj -> int = "ml_g_variant_iter_init" external free: [>`gvariantiter] obj -> unit = "ml_g_variant_iter_free" external copy: [>`gvariantiter] obj -> [<`gvariantiter] obj = "ml_g_variant_iter_copy" end module VariantBuilder = struct external unref: [>`gvariantbuilder] obj -> unit = "ml_g_variant_builder_unref" external ref: [>`gvariantbuilder] obj -> [<`gvariantbuilder] obj = "ml_g_variant_builder_ref" external g_variant_builder_open: [>`gvariantbuilder] obj -> [>`gvarianttype] obj -> unit = "ml_g_variant_builder_open" external init: [>`gvariantbuilder] obj -> [>`gvarianttype] obj -> unit = "ml_g_variant_builder_init" external end: [>`gvariantbuilder] obj -> [<`gvariant] obj = "ml_g_variant_builder_end" external close: [>`gvariantbuilder] obj -> unit = "ml_g_variant_builder_close" external clear: [>`gvariantbuilder] obj -> unit = "ml_g_variant_builder_clear" external add_value: [>`gvariantbuilder] obj -> [>`gvariant] obj -> unit = "ml_g_variant_builder_add_value" end module Variant = struct external unref: [>`gvariant] obj -> unit = "ml_g_variant_unref" external ref_sink: [>`gvariant] obj -> [<`gvariant] obj = "ml_g_variant_ref_sink" external ref: [>`gvariant] obj -> [<`gvariant] obj = "ml_g_variant_ref" external print_string: [>`gvariant] obj -> [>`gstring] obj -> bool -> [<`gstring] obj = "ml_g_variant_print_string" external print: [>`gvariant] obj -> bool -> string = "ml_g_variant_print" external new_variant: [>`gvariant] obj -> [<`gvariant] obj = "ml_g_variant_new_variant" external new_dict_entry: [>`gvariant] obj -> [>`gvariant] obj -> [<`gvariant] obj = "ml_g_variant_new_dict_entry" external n_children: [>`gvariant] obj -> int = "ml_g_variant_n_children" external lookup_value: [>`gvariant] obj -> string -> [>`gvarianttype] obj -> [<`gvariant] obj = "ml_g_variant_lookup_value" external iter_new: [>`gvariant] obj -> [<`gvariantiter] obj = "ml_g_variant_iter_new" external is_of_type: [>`gvariant] obj -> [>`gvarianttype] obj -> bool = "ml_g_variant_is_of_type" external is_normal_form: [>`gvariant] obj -> bool = "ml_g_variant_is_normal_form" external is_floating: [>`gvariant] obj -> bool = "ml_g_variant_is_floating" external is_container: [>`gvariant] obj -> bool = "ml_g_variant_is_container" external get_variant: [>`gvariant] obj -> [<`gvariant] obj = "ml_g_variant_get_variant" external get_uint64: [>`gvariant] obj -> int64 = "ml_g_variant_get_uint64" external get_uint32: [>`gvariant] obj -> int32 = "ml_g_variant_get_uint32" external get_uint16: [>`gvariant] obj -> int = "ml_g_variant_get_uint16" external get_type_string: [>`gvariant] obj -> string = "ml_g_variant_get_type_string" external get_size: [>`gvariant] obj -> int = "ml_g_variant_get_size" external get_normal_form: [>`gvariant] obj -> [<`gvariant] obj = "ml_g_variant_get_normal_form" external get_maybe: [>`gvariant] obj -> [<`gvariant] obj = "ml_g_variant_get_maybe" external get_int64: [>`gvariant] obj -> int64 = "ml_g_variant_get_int64" external get_int32: [>`gvariant] obj -> int32 = "ml_g_variant_get_int32" external get_int16: [>`gvariant] obj -> int = "ml_g_variant_get_int16" external get_handle: [>`gvariant] obj -> int32 = "ml_g_variant_get_handle" external get_double: [>`gvariant] obj -> float = "ml_g_variant_get_double" external get_child_value: [>`gvariant] obj -> int -> [<`gvariant] obj = "ml_g_variant_get_child_value" external get_bytestring: [>`gvariant] obj -> string = "ml_g_variant_get_bytestring" external get_byte: [>`gvariant] obj -> int = "ml_g_variant_get_byte" external get_boolean: [>`gvariant] obj -> bool = "ml_g_variant_get_boolean" external byteswap: [>`gvariant] obj -> [<`gvariant] obj = "ml_g_variant_byteswap" end module Tuples = struct external destroy: [>`gtuples] obj -> unit = "ml_g_tuples_destroy" end module Tree = struct external unref: [>`gtree] obj -> unit = "ml_g_tree_unref" external ref: [>`gtree] obj -> [<`gtree] obj = "ml_g_tree_ref" external nnodes: [>`gtree] obj -> int = "ml_g_tree_nnodes" external height: [>`gtree] obj -> int = "ml_g_tree_height" external destroy: [>`gtree] obj -> unit = "ml_g_tree_destroy" end module TrashStack = struct end module Timer = struct external stop: [>`gtimer] obj -> unit = "ml_g_timer_stop" external start: [>`gtimer] obj -> unit = "ml_g_timer_start" external reset: [>`gtimer] obj -> unit = "ml_g_timer_reset" external destroy: [>`gtimer] obj -> unit = "ml_g_timer_destroy" external continue: [>`gtimer] obj -> unit = "ml_g_timer_continue" end module TimeZone = struct external unref: [>`gtimezone] obj -> unit = "ml_g_time_zone_unref" external ref: [>`gtimezone] obj -> [<`gtimezone] obj = "ml_g_time_zone_ref" external is_dst: [>`gtimezone] obj -> int -> bool = "ml_g_time_zone_is_dst" external get_offset: [>`gtimezone] obj -> int -> int32 = "ml_g_time_zone_get_offset" external get_abbreviation: [>`gtimezone] obj -> int -> string = "ml_g_time_zone_get_abbreviation" end module TimeVal = struct external to_iso8601: [>`gtimeval] obj -> string = "ml_g_time_val_to_iso8601" external add: [>`gtimeval] obj -> float -> unit = "ml_g_time_val_add" end module ThreadPool = struct external unprocessed: [>`gthreadpool] obj -> int = "ml_g_thread_pool_unprocessed" external get_num_threads: [>`gthreadpool] obj -> int = "ml_g_thread_pool_get_num_threads" external get_max_threads: [>`gthreadpool] obj -> int = "ml_g_thread_pool_get_max_threads" external free: [>`gthreadpool] obj -> bool -> bool -> unit = "ml_g_thread_pool_free" end module ThreadFunctions = struct end module Thread = struct end module TestSuite = struct external add_suite: [>`gtestsuite] obj -> [>`gtestsuite] obj -> unit = "ml_g_test_suite_add_suite" external add: [>`gtestsuite] obj -> [>`gtestcase] obj -> unit = "ml_g_test_suite_add" end module TestLogMsg = struct external free: [>`gtestlogmsg] obj -> unit = "ml_g_test_log_msg_free" end module TestLogBuffer = struct external pop: [>`gtestlogbuffer] obj -> [<`gtestlogmsg] obj = "ml_g_test_log_buffer_pop" external free: [>`gtestlogbuffer] obj -> unit = "ml_g_test_log_buffer_free" end module TestConfig = struct end module TestCase = struct end module StringChunk = struct external insert_len: [>`gstringchunk] obj -> string -> int -> string = "ml_g_string_chunk_insert_len" external insert_const: [>`gstringchunk] obj -> string -> string = "ml_g_string_chunk_insert_const" external insert: [>`gstringchunk] obj -> string -> string = "ml_g_string_chunk_insert" external free: [>`gstringchunk] obj -> unit = "ml_g_string_chunk_free" external clear: [>`gstringchunk] obj -> unit = "ml_g_string_chunk_clear" end module String = struct external up: [>`gstring] obj -> [<`gstring] obj = "ml_g_string_up" external truncate: [>`gstring] obj -> int -> [<`gstring] obj = "ml_g_string_truncate" external set_size: [>`gstring] obj -> int -> [<`gstring] obj = "ml_g_string_set_size" external prepend_unichar: [>`gstring] obj -> int32 -> [<`gstring] obj = "ml_g_string_prepend_unichar" external prepend_len: [>`gstring] obj -> string -> int -> [<`gstring] obj = "ml_g_string_prepend_len" external prepend_c: [>`gstring] obj -> int -> [<`gstring] obj = "ml_g_string_prepend_c" external prepend: [>`gstring] obj -> string -> [<`gstring] obj = "ml_g_string_prepend" external overwrite_len: [>`gstring] obj -> int -> string -> int -> [<`gstring] obj = "ml_g_string_overwrite_len" external overwrite: [>`gstring] obj -> int -> string -> [<`gstring] obj = "ml_g_string_overwrite" external insert_unichar: [>`gstring] obj -> int -> int32 -> [<`gstring] obj = "ml_g_string_insert_unichar" external insert_len: [>`gstring] obj -> int -> string -> int -> [<`gstring] obj = "ml_g_string_insert_len" external insert_c: [>`gstring] obj -> int -> int -> [<`gstring] obj = "ml_g_string_insert_c" external insert: [>`gstring] obj -> int -> string -> [<`gstring] obj = "ml_g_string_insert" external hash: [>`gstring] obj -> int = "ml_g_string_hash" external free: [>`gstring] obj -> bool -> string = "ml_g_string_free" external erase: [>`gstring] obj -> int -> int -> [<`gstring] obj = "ml_g_string_erase" external equal: [>`gstring] obj -> [>`gstring] obj -> bool = "ml_g_string_equal" external down: [>`gstring] obj -> [<`gstring] obj = "ml_g_string_down" external assign: [>`gstring] obj -> string -> [<`gstring] obj = "ml_g_string_assign" external ascii_up: [>`gstring] obj -> [<`gstring] obj = "ml_g_string_ascii_up" external ascii_down: [>`gstring] obj -> [<`gstring] obj = "ml_g_string_ascii_down" external append_uri_escaped: [>`gstring] obj -> string -> string -> bool -> [<`gstring] obj = "ml_g_string_append_uri_escaped" external append_unichar: [>`gstring] obj -> int32 -> [<`gstring] obj = "ml_g_string_append_unichar" external append_len: [>`gstring] obj -> string -> int -> [<`gstring] obj = "ml_g_string_append_len" external append_c: [>`gstring] obj -> int -> [<`gstring] obj = "ml_g_string_append_c" external append: [>`gstring] obj -> string -> [<`gstring] obj = "ml_g_string_append" end module StaticRecMutex = struct external unlock_full: [>`gstaticrecmutex] obj -> int = "ml_g_static_rec_mutex_unlock_full" external unlock: [>`gstaticrecmutex] obj -> unit = "ml_g_static_rec_mutex_unlock" external trylock: [>`gstaticrecmutex] obj -> bool = "ml_g_static_rec_mutex_trylock" external lock_full: [>`gstaticrecmutex] obj -> int -> unit = "ml_g_static_rec_mutex_lock_full" external lock: [>`gstaticrecmutex] obj -> unit = "ml_g_static_rec_mutex_lock" external init: [>`gstaticrecmutex] obj -> unit = "ml_g_static_rec_mutex_init" external free: [>`gstaticrecmutex] obj -> unit = "ml_g_static_rec_mutex_free" end module StaticRWLock = struct external writer_unlock: [>`gstaticrwlock] obj -> unit = "ml_g_static_rw_lock_writer_unlock" external writer_trylock: [>`gstaticrwlock] obj -> bool = "ml_g_static_rw_lock_writer_trylock" external writer_lock: [>`gstaticrwlock] obj -> unit = "ml_g_static_rw_lock_writer_lock" external reader_unlock: [>`gstaticrwlock] obj -> unit = "ml_g_static_rw_lock_reader_unlock" external reader_trylock: [>`gstaticrwlock] obj -> bool = "ml_g_static_rw_lock_reader_trylock" external reader_lock: [>`gstaticrwlock] obj -> unit = "ml_g_static_rw_lock_reader_lock" external init: [>`gstaticrwlock] obj -> unit = "ml_g_static_rw_lock_init" external free: [>`gstaticrwlock] obj -> unit = "ml_g_static_rw_lock_free" end module StaticPrivate = struct external init: [>`gstaticprivate] obj -> unit = "ml_g_static_private_init" external free: [>`gstaticprivate] obj -> unit = "ml_g_static_private_free" end module StaticMutex = struct external init: [>`gstaticmutex] obj -> unit = "ml_g_static_mutex_init" external free: [>`gstaticmutex] obj -> unit = "ml_g_static_mutex_free" end module StatBuf = struct end module SourcePrivate = struct end module SourceFuncs = struct end module SourceCallbackFuncs = struct end module Source = struct external unref: [>`gsource] obj -> unit = "ml_g_source_unref" external set_priority: [>`gsource] obj -> int -> unit = "ml_g_source_set_priority" external set_name: [>`gsource] obj -> string -> unit = "ml_g_source_set_name" external set_funcs: [>`gsource] obj -> [>`gsourcefuncs] obj -> unit = "ml_g_source_set_funcs" external set_can_recurse: [>`gsource] obj -> bool -> unit = "ml_g_source_set_can_recurse" external remove_poll: [>`gsource] obj -> [>`gpollfd] obj -> unit = "ml_g_source_remove_poll" external remove_child_source: [>`gsource] obj -> [>`gsource] obj -> unit = "ml_g_source_remove_child_source" external ref: [>`gsource] obj -> [<`gsource] obj = "ml_g_source_ref" external is_destroyed: [>`gsource] obj -> bool = "ml_g_source_is_destroyed" external get_time: [>`gsource] obj -> int64 = "ml_g_source_get_time" external get_priority: [>`gsource] obj -> int = "ml_g_source_get_priority" external get_name: [>`gsource] obj -> string = "ml_g_source_get_name" external get_id: [>`gsource] obj -> int = "ml_g_source_get_id" external get_current_time: [>`gsource] obj -> [>`gtimeval] obj -> unit = "ml_g_source_get_current_time" external get_context: [>`gsource] obj -> [<`gmaincontext] obj = "ml_g_source_get_context" external get_can_recurse: [>`gsource] obj -> bool = "ml_g_source_get_can_recurse" external destroy: [>`gsource] obj -> unit = "ml_g_source_destroy" external attach: [>`gsource] obj -> [>`gmaincontext] obj -> int = "ml_g_source_attach" external add_poll: [>`gsource] obj -> [>`gpollfd] obj -> unit = "ml_g_source_add_poll" external add_child_source: [>`gsource] obj -> [>`gsource] obj -> unit = "ml_g_source_add_child_source" end module SequenceIter = struct external prev: [>`gsequenceiter] obj -> [<`gsequenceiter] obj = "ml_g_sequence_iter_prev" external next: [>`gsequenceiter] obj -> [<`gsequenceiter] obj = "ml_g_sequence_iter_next" external move: [>`gsequenceiter] obj -> int -> [<`gsequenceiter] obj = "ml_g_sequence_iter_move" external is_end: [>`gsequenceiter] obj -> bool = "ml_g_sequence_iter_is_end" external is_begin: [>`gsequenceiter] obj -> bool = "ml_g_sequence_iter_is_begin" external get_sequence: [>`gsequenceiter] obj -> [<`gsequence] obj = "ml_g_sequence_iter_get_sequence" external get_position: [>`gsequenceiter] obj -> int = "ml_g_sequence_iter_get_position" external compare: [>`gsequenceiter] obj -> [>`gsequenceiter] obj -> int = "ml_g_sequence_iter_compare" end module Sequence = struct external get_length: [>`gsequence] obj -> int = "ml_g_sequence_get_length" external get_iter_at_pos: [>`gsequence] obj -> int -> [<`gsequenceiter] obj = "ml_g_sequence_get_iter_at_pos" external get_end_iter: [>`gsequence] obj -> [<`gsequenceiter] obj = "ml_g_sequence_get_end_iter" external get_begin_iter: [>`gsequence] obj -> [<`gsequenceiter] obj = "ml_g_sequence_get_begin_iter" external free: [>`gsequence] obj -> unit = "ml_g_sequence_free" end module ScannerConfig = struct end module Scanner = struct external sync_file_offset: [>`gscanner] obj -> unit = "ml_g_scanner_sync_file_offset" external set_scope: [>`gscanner] obj -> int -> int = "ml_g_scanner_set_scope" external scope_remove_symbol: [>`gscanner] obj -> int -> string -> unit = "ml_g_scanner_scope_remove_symbol" external input_text: [>`gscanner] obj -> string -> int -> unit = "ml_g_scanner_input_text" external input_file: [>`gscanner] obj -> int -> unit = "ml_g_scanner_input_file" external eof: [>`gscanner] obj -> bool = "ml_g_scanner_eof" external destroy: [>`gscanner] obj -> unit = "ml_g_scanner_destroy" external cur_position: [>`gscanner] obj -> int = "ml_g_scanner_cur_position" external cur_line: [>`gscanner] obj -> int = "ml_g_scanner_cur_line" end module SList = struct end module Relation = struct external print: [>`grelation] obj -> unit = "ml_g_relation_print" external destroy: [>`grelation] obj -> unit = "ml_g_relation_destroy" end module Regex = struct external unref: [>`gregex] obj -> unit = "ml_g_regex_unref" external ref: [>`gregex] obj -> [<`gregex] obj = "ml_g_regex_ref" external get_string_number: [>`gregex] obj -> string -> int = "ml_g_regex_get_string_number" external get_pattern: [>`gregex] obj -> string = "ml_g_regex_get_pattern" external get_max_backref: [>`gregex] obj -> int = "ml_g_regex_get_max_backref" external get_capture_count: [>`gregex] obj -> int = "ml_g_regex_get_capture_count" end module Rand = struct external set_seed: [>`grand] obj -> int32 -> unit = "ml_g_rand_set_seed" external int_range: [>`grand] obj -> int32 -> int32 -> int32 = "ml_g_rand_int_range" external int: [>`grand] obj -> int32 = "ml_g_rand_int" external free: [>`grand] obj -> unit = "ml_g_rand_free" external double_range: [>`grand] obj -> float -> float -> float = "ml_g_rand_double_range" external double: [>`grand] obj -> float = "ml_g_rand_double" external copy: [>`grand] obj -> [<`grand] obj = "ml_g_rand_copy" end module Queue = struct external unlink: [>`gqueue] obj -> [>`glist] obj -> unit = "ml_g_queue_unlink" external reverse: [>`gqueue] obj -> unit = "ml_g_queue_reverse" external push_tail_link: [>`gqueue] obj -> [>`glist] obj -> unit = "ml_g_queue_push_tail_link" external push_nth_link: [>`gqueue] obj -> int -> [>`glist] obj -> unit = "ml_g_queue_push_nth_link" external push_head_link: [>`gqueue] obj -> [>`glist] obj -> unit = "ml_g_queue_push_head_link" external pop_tail_link: [>`gqueue] obj -> [<`glist] obj = "ml_g_queue_pop_tail_link" external pop_nth_link: [>`gqueue] obj -> int -> [<`glist] obj = "ml_g_queue_pop_nth_link" external pop_head_link: [>`gqueue] obj -> [<`glist] obj = "ml_g_queue_pop_head_link" external peek_tail_link: [>`gqueue] obj -> [<`glist] obj = "ml_g_queue_peek_tail_link" external peek_nth_link: [>`gqueue] obj -> int -> [<`glist] obj = "ml_g_queue_peek_nth_link" external peek_head_link: [>`gqueue] obj -> [<`glist] obj = "ml_g_queue_peek_head_link" external link_index: [>`gqueue] obj -> [>`glist] obj -> int = "ml_g_queue_link_index" external is_empty: [>`gqueue] obj -> bool = "ml_g_queue_is_empty" external init: [>`gqueue] obj -> unit = "ml_g_queue_init" external get_length: [>`gqueue] obj -> int = "ml_g_queue_get_length" external free: [>`gqueue] obj -> unit = "ml_g_queue_free" external delete_link: [>`gqueue] obj -> [>`glist] obj -> unit = "ml_g_queue_delete_link" external copy: [>`gqueue] obj -> [<`gqueue] obj = "ml_g_queue_copy" external clear: [>`gqueue] obj -> unit = "ml_g_queue_clear" end module PtrArray = struct end module Private = struct end module PollFD = struct end module PatternSpec = struct external free: [>`gpatternspec] obj -> unit = "ml_g_pattern_spec_free" external equal: [>`gpatternspec] obj -> [>`gpatternspec] obj -> bool = "ml_g_pattern_spec_equal" end module OptionGroup = struct external set_translation_domain: [>`goptiongroup] obj -> string -> unit = "ml_g_option_group_set_translation_domain" external free: [>`goptiongroup] obj -> unit = "ml_g_option_group_free" external add_entries: [>`goptiongroup] obj -> [>`goptionentry] obj -> unit = "ml_g_option_group_add_entries" end module OptionEntry = struct end module OptionContext = struct external set_translation_domain: [>`goptioncontext] obj -> string -> unit = "ml_g_option_context_set_translation_domain" external set_summary: [>`goptioncontext] obj -> string -> unit = "ml_g_option_context_set_summary" external set_main_group: [>`goptioncontext] obj -> [>`goptiongroup] obj -> unit = "ml_g_option_context_set_main_group" external set_ignore_unknown_options: [>`goptioncontext] obj -> bool -> unit = "ml_g_option_context_set_ignore_unknown_options" external set_help_enabled: [>`goptioncontext] obj -> bool -> unit = "ml_g_option_context_set_help_enabled" external set_description: [>`goptioncontext] obj -> string -> unit = "ml_g_option_context_set_description" external get_summary: [>`goptioncontext] obj -> string = "ml_g_option_context_get_summary" external get_main_group: [>`goptioncontext] obj -> [<`goptiongroup] obj = "ml_g_option_context_get_main_group" external get_ignore_unknown_options: [>`goptioncontext] obj -> bool = "ml_g_option_context_get_ignore_unknown_options" external get_help_enabled: [>`goptioncontext] obj -> bool = "ml_g_option_context_get_help_enabled" external get_help: [>`goptioncontext] obj -> bool -> [>`goptiongroup] obj -> string = "ml_g_option_context_get_help" external get_description: [>`goptioncontext] obj -> string = "ml_g_option_context_get_description" external free: [>`goptioncontext] obj -> unit = "ml_g_option_context_free" external add_main_entries: [>`goptioncontext] obj -> [>`goptionentry] obj -> string -> unit = "ml_g_option_context_add_main_entries" external add_group: [>`goptioncontext] obj -> [>`goptiongroup] obj -> unit = "ml_g_option_context_add_group" end module Once = struct end module Node = struct external unlink: [>`gnode] obj -> unit = "ml_g_node_unlink" external reverse_children: [>`gnode] obj -> unit = "ml_g_node_reverse_children" external prepend: [>`gnode] obj -> [>`gnode] obj -> [<`gnode] obj = "ml_g_node_prepend" external nth_child: [>`gnode] obj -> int -> [<`gnode] obj = "ml_g_node_nth_child" external n_children: [>`gnode] obj -> int = "ml_g_node_n_children" external max_height: [>`gnode] obj -> int = "ml_g_node_max_height" external last_sibling: [>`gnode] obj -> [<`gnode] obj = "ml_g_node_last_sibling" external last_child: [>`gnode] obj -> [<`gnode] obj = "ml_g_node_last_child" external is_ancestor: [>`gnode] obj -> [>`gnode] obj -> bool = "ml_g_node_is_ancestor" external insert_before: [>`gnode] obj -> [>`gnode] obj -> [>`gnode] obj -> [<`gnode] obj = "ml_g_node_insert_before" external insert_after: [>`gnode] obj -> [>`gnode] obj -> [>`gnode] obj -> [<`gnode] obj = "ml_g_node_insert_after" external insert: [>`gnode] obj -> int -> [>`gnode] obj -> [<`gnode] obj = "ml_g_node_insert" external get_root: [>`gnode] obj -> [<`gnode] obj = "ml_g_node_get_root" external first_sibling: [>`gnode] obj -> [<`gnode] obj = "ml_g_node_first_sibling" external destroy: [>`gnode] obj -> unit = "ml_g_node_destroy" external depth: [>`gnode] obj -> int = "ml_g_node_depth" external copy: [>`gnode] obj -> [<`gnode] obj = "ml_g_node_copy" external child_position: [>`gnode] obj -> [>`gnode] obj -> int = "ml_g_node_child_position" end module Mutex = struct end module MemVTable = struct end module MemChunk = struct external reset: [>`gmemchunk] obj -> unit = "ml_g_mem_chunk_reset" external print: [>`gmemchunk] obj -> unit = "ml_g_mem_chunk_print" external destroy: [>`gmemchunk] obj -> unit = "ml_g_mem_chunk_destroy" external clean: [>`gmemchunk] obj -> unit = "ml_g_mem_chunk_clean" end module MatchInfo = struct external matches: [>`gmatchinfo] obj -> bool = "ml_g_match_info_matches" external is_partial_match: [>`gmatchinfo] obj -> bool = "ml_g_match_info_is_partial_match" external get_string: [>`gmatchinfo] obj -> string = "ml_g_match_info_get_string" external get_regex: [>`gmatchinfo] obj -> [<`gregex] obj = "ml_g_match_info_get_regex" external get_match_count: [>`gmatchinfo] obj -> int = "ml_g_match_info_get_match_count" external free: [>`gmatchinfo] obj -> unit = "ml_g_match_info_free" external fetch_named: [>`gmatchinfo] obj -> string -> string = "ml_g_match_info_fetch_named" external fetch: [>`gmatchinfo] obj -> int -> string = "ml_g_match_info_fetch" end module MarkupParser = struct end module MarkupParseContext = struct external get_element_stack: [>`gmarkupparsecontext] obj -> [<`gslist] obj = "ml_g_markup_parse_context_get_element_stack" external get_element: [>`gmarkupparsecontext] obj -> string = "ml_g_markup_parse_context_get_element" external free: [>`gmarkupparsecontext] obj -> unit = "ml_g_markup_parse_context_free" end module MappedFile = struct external unref: [>`gmappedfile] obj -> unit = "ml_g_mapped_file_unref" external ref: [>`gmappedfile] obj -> [<`gmappedfile] obj = "ml_g_mapped_file_ref" external get_length: [>`gmappedfile] obj -> int = "ml_g_mapped_file_get_length" external get_contents: [>`gmappedfile] obj -> string = "ml_g_mapped_file_get_contents" external free: [>`gmappedfile] obj -> unit = "ml_g_mapped_file_free" end module MainLoop = struct external unref: [>`gmainloop] obj -> unit = "ml_g_main_loop_unref" external run: [>`gmainloop] obj -> unit = "ml_g_main_loop_run" external ref: [>`gmainloop] obj -> [<`gmainloop] obj = "ml_g_main_loop_ref" external quit: [>`gmainloop] obj -> unit = "ml_g_main_loop_quit" external is_running: [>`gmainloop] obj -> bool = "ml_g_main_loop_is_running" external get_context: [>`gmainloop] obj -> [<`gmaincontext] obj = "ml_g_main_loop_get_context" end module MainContext = struct external wakeup: [>`gmaincontext] obj -> unit = "ml_g_main_context_wakeup" external wait: [>`gmaincontext] obj -> [>`gcond] obj -> [>`gmutex] obj -> bool = "ml_g_main_context_wait" external unref: [>`gmaincontext] obj -> unit = "ml_g_main_context_unref" external remove_poll: [>`gmaincontext] obj -> [>`gpollfd] obj -> unit = "ml_g_main_context_remove_poll" external release: [>`gmaincontext] obj -> unit = "ml_g_main_context_release" external ref: [>`gmaincontext] obj -> [<`gmaincontext] obj = "ml_g_main_context_ref" external push_thread_default: [>`gmaincontext] obj -> unit = "ml_g_main_context_push_thread_default" external pop_thread_default: [>`gmaincontext] obj -> unit = "ml_g_main_context_pop_thread_default" external pending: [>`gmaincontext] obj -> bool = "ml_g_main_context_pending" external iteration: [>`gmaincontext] obj -> bool -> bool = "ml_g_main_context_iteration" external is_owner: [>`gmaincontext] obj -> bool = "ml_g_main_context_is_owner" external find_source_by_id: [>`gmaincontext] obj -> int -> [<`gsource] obj = "ml_g_main_context_find_source_by_id" external dispatch: [>`gmaincontext] obj -> unit = "ml_g_main_context_dispatch" external check: [>`gmaincontext] obj -> int -> [>`gpollfd] obj -> int -> int = "ml_g_main_context_check" external add_poll: [>`gmaincontext] obj -> [>`gpollfd] obj -> int -> unit = "ml_g_main_context_add_poll" external acquire: [>`gmaincontext] obj -> bool = "ml_g_main_context_acquire" end module List = struct end module KeyFile = struct external set_value: [>`gkeyfile] obj -> string -> string -> string -> unit = "ml_g_key_file_set_value" external set_uint64: [>`gkeyfile] obj -> string -> string -> int64 -> unit = "ml_g_key_file_set_uint64" external set_string: [>`gkeyfile] obj -> string -> string -> string -> unit = "ml_g_key_file_set_string" external set_locale_string: [>`gkeyfile] obj -> string -> string -> string -> string -> unit = "ml_g_key_file_set_locale_string" external set_list_separator: [>`gkeyfile] obj -> int -> unit = "ml_g_key_file_set_list_separator" external set_integer_list: [>`gkeyfile] obj -> string -> string -> int -> int -> unit = "ml_g_key_file_set_integer_list" external set_integer: [>`gkeyfile] obj -> string -> string -> int -> unit = "ml_g_key_file_set_integer" external set_int64: [>`gkeyfile] obj -> string -> string -> int64 -> unit = "ml_g_key_file_set_int64" external set_double_list: [>`gkeyfile] obj -> string -> string -> float -> int -> unit = "ml_g_key_file_set_double_list" external set_double: [>`gkeyfile] obj -> string -> string -> float -> unit = "ml_g_key_file_set_double" external set_boolean_list: [>`gkeyfile] obj -> string -> string -> bool -> int -> unit = "ml_g_key_file_set_boolean_list" external set_boolean: [>`gkeyfile] obj -> string -> string -> bool -> unit = "ml_g_key_file_set_boolean" external has_group: [>`gkeyfile] obj -> string -> bool = "ml_g_key_file_has_group" external get_start_group: [>`gkeyfile] obj -> string = "ml_g_key_file_get_start_group" external free: [>`gkeyfile] obj -> unit = "ml_g_key_file_free" end module IOFuncs = struct end module IOChannel = struct external unref: [>`giochannel] obj -> unit = "ml_g_io_channel_unref" external unix_get_fd: [>`giochannel] obj -> int = "ml_g_io_channel_unix_get_fd" external set_line_term: [>`giochannel] obj -> string -> int -> unit = "ml_g_io_channel_set_line_term" external set_close_on_unref: [>`giochannel] obj -> bool -> unit = "ml_g_io_channel_set_close_on_unref" external set_buffered: [>`giochannel] obj -> bool -> unit = "ml_g_io_channel_set_buffered" external set_buffer_size: [>`giochannel] obj -> int -> unit = "ml_g_io_channel_set_buffer_size" external ref: [>`giochannel] obj -> [<`giochannel] obj = "ml_g_io_channel_ref" external init: [>`giochannel] obj -> unit = "ml_g_io_channel_init" external get_encoding: [>`giochannel] obj -> string = "ml_g_io_channel_get_encoding" external get_close_on_unref: [>`giochannel] obj -> bool = "ml_g_io_channel_get_close_on_unref" external get_buffered: [>`giochannel] obj -> bool = "ml_g_io_channel_get_buffered" external get_buffer_size: [>`giochannel] obj -> int = "ml_g_io_channel_get_buffer_size" external close: [>`giochannel] obj -> unit = "ml_g_io_channel_close" end module IConv = struct end module HookList = struct external invoke_check: [>`ghooklist] obj -> bool -> unit = "ml_g_hook_list_invoke_check" external invoke: [>`ghooklist] obj -> bool -> unit = "ml_g_hook_list_invoke" external init: [>`ghooklist] obj -> int -> unit = "ml_g_hook_list_init" external clear: [>`ghooklist] obj -> unit = "ml_g_hook_list_clear" end module Hook = struct external compare_ids: [>`ghook] obj -> [>`ghook] obj -> int = "ml_g_hook_compare_ids" end module HashTableIter = struct external steal: [>`ghashtableiter] obj -> unit = "ml_g_hash_table_iter_steal" external remove: [>`ghashtableiter] obj -> unit = "ml_g_hash_table_iter_remove" external init: [>`ghashtableiter] obj -> [>`ghashtable] obj -> unit = "ml_g_hash_table_iter_init" external get_hash_table: [>`ghashtableiter] obj -> [<`ghashtable] obj = "ml_g_hash_table_iter_get_hash_table" end module HashTable = struct end module Error = struct external matches: [>`gerror] obj -> int32 -> int -> bool = "ml_g_error_matches" external free: [>`gerror] obj -> unit = "ml_g_error_free" external copy: [>`gerror] obj -> [<`gerror] obj = "ml_g_error_copy" end module Dir = struct external rewind: [>`gdir] obj -> unit = "ml_g_dir_rewind" external read_name: [>`gdir] obj -> string = "ml_g_dir_read_name" external close: [>`gdir] obj -> unit = "ml_g_dir_close" end module DebugKey = struct end module DateTime = struct external unref: [>`gdatetime] obj -> unit = "ml_g_date_time_unref" external to_utc: [>`gdatetime] obj -> [<`gdatetime] obj = "ml_g_date_time_to_utc" external to_unix: [>`gdatetime] obj -> int64 = "ml_g_date_time_to_unix" external to_timezone: [>`gdatetime] obj -> [>`gtimezone] obj -> [<`gdatetime] obj = "ml_g_date_time_to_timezone" external to_timeval: [>`gdatetime] obj -> [>`gtimeval] obj -> bool = "ml_g_date_time_to_timeval" external to_local: [>`gdatetime] obj -> [<`gdatetime] obj = "ml_g_date_time_to_local" external ref: [>`gdatetime] obj -> [<`gdatetime] obj = "ml_g_date_time_ref" external is_daylight_savings: [>`gdatetime] obj -> bool = "ml_g_date_time_is_daylight_savings" external get_year: [>`gdatetime] obj -> int = "ml_g_date_time_get_year" external get_week_of_year: [>`gdatetime] obj -> int = "ml_g_date_time_get_week_of_year" external get_week_numbering_year: [>`gdatetime] obj -> int = "ml_g_date_time_get_week_numbering_year" external get_utc_offset: [>`gdatetime] obj -> int64 = "ml_g_date_time_get_utc_offset" external get_timezone_abbreviation: [>`gdatetime] obj -> string = "ml_g_date_time_get_timezone_abbreviation" external get_seconds: [>`gdatetime] obj -> float = "ml_g_date_time_get_seconds" external get_second: [>`gdatetime] obj -> int = "ml_g_date_time_get_second" external get_month: [>`gdatetime] obj -> int = "ml_g_date_time_get_month" external get_minute: [>`gdatetime] obj -> int = "ml_g_date_time_get_minute" external get_microsecond: [>`gdatetime] obj -> int = "ml_g_date_time_get_microsecond" external get_hour: [>`gdatetime] obj -> int = "ml_g_date_time_get_hour" external get_day_of_year: [>`gdatetime] obj -> int = "ml_g_date_time_get_day_of_year" external get_day_of_week: [>`gdatetime] obj -> int = "ml_g_date_time_get_day_of_week" external get_day_of_month: [>`gdatetime] obj -> int = "ml_g_date_time_get_day_of_month" external format: [>`gdatetime] obj -> string -> string = "ml_g_date_time_format" external difference: [>`gdatetime] obj -> [>`gdatetime] obj -> int64 = "ml_g_date_time_difference" external add_years: [>`gdatetime] obj -> int -> [<`gdatetime] obj = "ml_g_date_time_add_years" external add_weeks: [>`gdatetime] obj -> int -> [<`gdatetime] obj = "ml_g_date_time_add_weeks" external add_seconds: [>`gdatetime] obj -> float -> [<`gdatetime] obj = "ml_g_date_time_add_seconds" external add_months: [>`gdatetime] obj -> int -> [<`gdatetime] obj = "ml_g_date_time_add_months" external add_minutes: [>`gdatetime] obj -> int -> [<`gdatetime] obj = "ml_g_date_time_add_minutes" external add_hours: [>`gdatetime] obj -> int -> [<`gdatetime] obj = "ml_g_date_time_add_hours" external add_full: [>`gdatetime] obj -> int -> int -> int -> int -> int -> float -> [<`gdatetime] obj = "ml_g_date_time_add_full" external add_days: [>`gdatetime] obj -> int -> [<`gdatetime] obj = "ml_g_date_time_add_days" external add: [>`gdatetime] obj -> int64 -> [<`gdatetime] obj = "ml_g_date_time_add" end module Date = struct external valid: [>`gdate] obj -> bool = "ml_g_date_valid" external subtract_years: [>`gdate] obj -> int -> unit = "ml_g_date_subtract_years" external subtract_months: [>`gdate] obj -> int -> unit = "ml_g_date_subtract_months" external subtract_days: [>`gdate] obj -> int -> unit = "ml_g_date_subtract_days" external set_year: [>`gdate] obj -> int -> unit = "ml_g_date_set_year" external set_time_val: [>`gdate] obj -> [>`gtimeval] obj -> unit = "ml_g_date_set_time_val" external set_time: [>`gdate] obj -> int32 -> unit = "ml_g_date_set_time" external set_parse: [>`gdate] obj -> string -> unit = "ml_g_date_set_parse" external set_julian: [>`gdate] obj -> int32 -> unit = "ml_g_date_set_julian" external set_day: [>`gdate] obj -> int -> unit = "ml_g_date_set_day" external order: [>`gdate] obj -> [>`gdate] obj -> unit = "ml_g_date_order" external is_last_of_month: [>`gdate] obj -> bool = "ml_g_date_is_last_of_month" external is_first_of_month: [>`gdate] obj -> bool = "ml_g_date_is_first_of_month" external get_year: [>`gdate] obj -> int = "ml_g_date_get_year" external get_sunday_week_of_year: [>`gdate] obj -> int = "ml_g_date_get_sunday_week_of_year" external get_monday_week_of_year: [>`gdate] obj -> int = "ml_g_date_get_monday_week_of_year" external get_julian: [>`gdate] obj -> int32 = "ml_g_date_get_julian" external get_iso8601_week_of_year: [>`gdate] obj -> int = "ml_g_date_get_iso8601_week_of_year" external get_day_of_year: [>`gdate] obj -> int = "ml_g_date_get_day_of_year" external get_day: [>`gdate] obj -> int = "ml_g_date_get_day" external free: [>`gdate] obj -> unit = "ml_g_date_free" external days_between: [>`gdate] obj -> [>`gdate] obj -> int = "ml_g_date_days_between" external compare: [>`gdate] obj -> [>`gdate] obj -> int = "ml_g_date_compare" external clear: [>`gdate] obj -> int -> unit = "ml_g_date_clear" external clamp: [>`gdate] obj -> [>`gdate] obj -> [>`gdate] obj -> unit = "ml_g_date_clamp" external add_years: [>`gdate] obj -> int -> unit = "ml_g_date_add_years" external add_months: [>`gdate] obj -> int -> unit = "ml_g_date_add_months" external add_days: [>`gdate] obj -> int -> unit = "ml_g_date_add_days" end module Data = struct end module Cond = struct end module Completion = struct external remove_items: [>`gcompletion] obj -> [>`glist] obj -> unit = "ml_g_completion_remove_items" external free: [>`gcompletion] obj -> unit = "ml_g_completion_free" external clear_items: [>`gcompletion] obj -> unit = "ml_g_completion_clear_items" external add_items: [>`gcompletion] obj -> [>`glist] obj -> unit = "ml_g_completion_add_items" end module Checksum = struct external update: [>`gchecksum] obj -> string -> int -> unit = "ml_g_checksum_update" external reset: [>`gchecksum] obj -> unit = "ml_g_checksum_reset" external get_string: [>`gchecksum] obj -> string = "ml_g_checksum_get_string" external free: [>`gchecksum] obj -> unit = "ml_g_checksum_free" external copy: [>`gchecksum] obj -> [<`gchecksum] obj = "ml_g_checksum_copy" end module Cache = struct external destroy: [>`gcache] obj -> unit = "ml_g_cache_destroy" end module ByteArray = struct end module BookmarkFile = struct external set_title: [>`gbookmarkfile] obj -> string -> string -> unit = "ml_g_bookmark_file_set_title" external set_mime_type: [>`gbookmarkfile] obj -> string -> string -> unit = "ml_g_bookmark_file_set_mime_type" external set_is_private: [>`gbookmarkfile] obj -> string -> bool -> unit = "ml_g_bookmark_file_set_is_private" external set_icon: [>`gbookmarkfile] obj -> string -> string -> string -> unit = "ml_g_bookmark_file_set_icon" external set_description: [>`gbookmarkfile] obj -> string -> string -> unit = "ml_g_bookmark_file_set_description" external has_item: [>`gbookmarkfile] obj -> string -> bool = "ml_g_bookmark_file_has_item" external get_size: [>`gbookmarkfile] obj -> int = "ml_g_bookmark_file_get_size" external free: [>`gbookmarkfile] obj -> unit = "ml_g_bookmark_file_free" external add_group: [>`gbookmarkfile] obj -> string -> string -> unit = "ml_g_bookmark_file_add_group" external add_application: [>`gbookmarkfile] obj -> string -> string -> string -> unit = "ml_g_bookmark_file_add_application" end module AsyncQueue = struct external unref_and_unlock: [>`gasyncqueue] obj -> unit = "ml_g_async_queue_unref_and_unlock" external unref: [>`gasyncqueue] obj -> unit = "ml_g_async_queue_unref" external unlock: [>`gasyncqueue] obj -> unit = "ml_g_async_queue_unlock" external ref_unlocked: [>`gasyncqueue] obj -> unit = "ml_g_async_queue_ref_unlocked" external ref: [>`gasyncqueue] obj -> [<`gasyncqueue] obj = "ml_g_async_queue_ref" external lock: [>`gasyncqueue] obj -> unit = "ml_g_async_queue_lock" external length_unlocked: [>`gasyncqueue] obj -> int = "ml_g_async_queue_length_unlocked" external length: [>`gasyncqueue] obj -> int = "ml_g_async_queue_length" end module Array = struct end module Allocator = struct external free: [>`gallocator] obj -> unit = "ml_g_allocator_free" end (* Global functions *) external warn_message: string -> string -> int -> string -> string -> unit = "ml_g_warn_message" external variant_type_string_is_valid: string -> bool = "ml_g_variant_type_string_is_valid" external variant_type_new: string -> [<`gvarianttype] obj = "ml_g_variant_type_new" external variant_type_checked_: string -> [<`gvarianttype] obj = "ml_g_variant_type_checked_" external variant_parser_get_error_quark: unit -> int32 = "ml_g_variant_parser_get_error_quark" external variant_is_signature: string -> bool = "ml_g_variant_is_signature" external variant_is_object_path: string -> bool = "ml_g_variant_is_object_path" external variant_get_type: [>`gvariant] obj -> [<`gvarianttype] obj = "ml_g_variant_get_type" external variant_builder_new: [>`gvarianttype] obj -> [<`gvariantbuilder] obj = "ml_g_variant_builder_new" external utf8_strup: string -> int -> string = "ml_g_utf8_strup" external utf8_strreverse: string -> int -> string = "ml_g_utf8_strreverse" external utf8_strrchr: string -> int -> int32 -> string = "ml_g_utf8_strrchr" external utf8_strncpy: string -> string -> int -> string = "ml_g_utf8_strncpy" external utf8_strlen: string -> int -> float = "ml_g_utf8_strlen" external utf8_strdown: string -> int -> string = "ml_g_utf8_strdown" external utf8_strchr: string -> int -> int32 -> string = "ml_g_utf8_strchr" external utf8_prev_char: string -> string = "ml_g_utf8_prev_char" external utf8_pointer_to_offset: string -> string -> float = "ml_g_utf8_pointer_to_offset" external utf8_offset_to_pointer: string -> float -> string = "ml_g_utf8_offset_to_pointer" external utf8_get_char_validated: string -> int -> int32 = "ml_g_utf8_get_char_validated" external utf8_get_char: string -> int32 = "ml_g_utf8_get_char" external utf8_find_prev_char: string -> string -> string = "ml_g_utf8_find_prev_char" external utf8_find_next_char: string -> string -> string = "ml_g_utf8_find_next_char" external utf8_collate_key_for_filename: string -> int -> string = "ml_g_utf8_collate_key_for_filename" external utf8_collate_key: string -> int -> string = "ml_g_utf8_collate_key" external utf8_collate: string -> string -> int = "ml_g_utf8_collate" external utf8_casefold: string -> int -> string = "ml_g_utf8_casefold" external usleep: float -> unit = "ml_g_usleep" external uri_unescape_string: string -> string -> string = "ml_g_uri_unescape_string" external uri_unescape_segment: string -> string -> string -> string = "ml_g_uri_unescape_segment" external uri_parse_scheme: string -> string = "ml_g_uri_parse_scheme" external uri_escape_string: string -> string -> bool -> string = "ml_g_uri_escape_string" external unsetenv: string -> unit = "ml_g_unsetenv" external unlink: string -> int = "ml_g_unlink" external unichar_xdigit_value: int32 -> int = "ml_g_unichar_xdigit_value" external unichar_validate: int32 -> bool = "ml_g_unichar_validate" external unichar_toupper: int32 -> int32 = "ml_g_unichar_toupper" external unichar_totitle: int32 -> int32 = "ml_g_unichar_totitle" external unichar_tolower: int32 -> int32 = "ml_g_unichar_tolower" external unichar_to_utf8: int32 -> string -> int = "ml_g_unichar_to_utf8" external unichar_iszerowidth: int32 -> bool = "ml_g_unichar_iszerowidth" external unichar_isxdigit: int32 -> bool = "ml_g_unichar_isxdigit" external unichar_iswide_cjk: int32 -> bool = "ml_g_unichar_iswide_cjk" external unichar_iswide: int32 -> bool = "ml_g_unichar_iswide" external unichar_isupper: int32 -> bool = "ml_g_unichar_isupper" external unichar_istitle: int32 -> bool = "ml_g_unichar_istitle" external unichar_isspace: int32 -> bool = "ml_g_unichar_isspace" external unichar_ispunct: int32 -> bool = "ml_g_unichar_ispunct" external unichar_isprint: int32 -> bool = "ml_g_unichar_isprint" external unichar_ismark: int32 -> bool = "ml_g_unichar_ismark" external unichar_islower: int32 -> bool = "ml_g_unichar_islower" external unichar_isgraph: int32 -> bool = "ml_g_unichar_isgraph" external unichar_isdigit: int32 -> bool = "ml_g_unichar_isdigit" external unichar_isdefined: int32 -> bool = "ml_g_unichar_isdefined" external unichar_iscntrl: int32 -> bool = "ml_g_unichar_iscntrl" external unichar_isalpha: int32 -> bool = "ml_g_unichar_isalpha" external unichar_isalnum: int32 -> bool = "ml_g_unichar_isalnum" external unichar_digit_value: int32 -> int = "ml_g_unichar_digit_value" external unichar_combining_class: int32 -> int = "ml_g_unichar_combining_class" external timer_new: unit -> [<`gtimer] obj = "ml_g_timer_new" external timeout_source_new_seconds: int -> [<`gsource] obj = "ml_g_timeout_source_new_seconds" external timeout_source_new: int -> [<`gsource] obj = "ml_g_timeout_source_new" external time_zone_new_utc: unit -> [<`gtimezone] obj = "ml_g_time_zone_new_utc" external time_zone_new_local: unit -> [<`gtimezone] obj = "ml_g_time_zone_new_local" external time_zone_new: string -> [<`gtimezone] obj = "ml_g_time_zone_new" external time_val_from_iso8601: string -> [>`gtimeval] obj -> bool = "ml_g_time_val_from_iso8601" external thread_self: unit -> [<`gthread] obj = "ml_g_thread_self" external thread_pool_stop_unused_threads: unit -> unit = "ml_g_thread_pool_stop_unused_threads" external thread_pool_set_max_unused_threads: int -> unit = "ml_g_thread_pool_set_max_unused_threads" external thread_pool_set_max_idle_time: int -> unit = "ml_g_thread_pool_set_max_idle_time" external thread_pool_get_num_unused_threads: unit -> int = "ml_g_thread_pool_get_num_unused_threads" external thread_pool_get_max_unused_threads: unit -> int = "ml_g_thread_pool_get_max_unused_threads" external thread_pool_get_max_idle_time: unit -> int = "ml_g_thread_pool_get_max_idle_time" external thread_init_with_errorcheck_mutexes: [>`gthreadfunctions] obj -> unit = "ml_g_thread_init_with_errorcheck_mutexes" external thread_init: [>`gthreadfunctions] obj option -> unit = "ml_g_thread_init" external thread_get_initialized: unit -> bool = "ml_g_thread_get_initialized" external thread_error_quark: unit -> int32 = "ml_g_thread_error_quark" external test_trap_reached_timeout: unit -> bool = "ml_g_test_trap_reached_timeout" external test_trap_has_passed: unit -> bool = "ml_g_test_trap_has_passed" external test_trap_assertions: string -> string -> int -> string -> int64 -> string -> unit = "ml_g_test_trap_assertions" external test_timer_start: unit -> unit = "ml_g_test_timer_start" external test_timer_last: unit -> float = "ml_g_test_timer_last" external test_timer_elapsed: unit -> float = "ml_g_test_timer_elapsed" external test_run_suite: [>`gtestsuite] obj -> int = "ml_g_test_run_suite" external test_run: unit -> int = "ml_g_test_run" external test_rand_int_range: int32 -> int32 -> int32 = "ml_g_test_rand_int_range" external test_rand_int: unit -> int32 = "ml_g_test_rand_int" external test_rand_double_range: float -> float -> float = "ml_g_test_rand_double_range" external test_rand_double: unit -> float = "ml_g_test_rand_double" external test_log_buffer_new: unit -> [<`gtestlogbuffer] obj = "ml_g_test_log_buffer_new" external test_get_root: unit -> [<`gtestsuite] obj = "ml_g_test_get_root" external test_create_suite: string -> [<`gtestsuite] obj = "ml_g_test_create_suite" external test_bug_base: string -> unit = "ml_g_test_bug_base" external test_bug: string -> unit = "ml_g_test_bug" external strup: string -> string = "ml_g_strup" external strstr_len: string -> int -> string -> string = "ml_g_strstr_len" external strsignal: int -> string = "ml_g_strsignal" external strrstr_len: string -> int -> string -> string = "ml_g_strrstr_len" external strrstr: string -> string -> string = "ml_g_strrstr" external strreverse: string -> string = "ml_g_strreverse" external strnfill: int -> int -> string = "ml_g_strnfill" external strndup: string -> int -> string = "ml_g_strndup" external strncasecmp: string -> string -> int -> int = "ml_g_strncasecmp" external strlcpy: string -> string -> int -> int = "ml_g_strlcpy" external strlcat: string -> string -> int -> int = "ml_g_strlcat" external strip_context: string -> string -> string = "ml_g_strip_context" external string_sized_new: int -> [<`gstring] obj = "ml_g_string_sized_new" external string_new_len: string -> int -> [<`gstring] obj = "ml_g_string_new_len" external string_new: string -> [<`gstring] obj = "ml_g_string_new" external string_chunk_new: int -> [<`gstringchunk] obj = "ml_g_string_chunk_new" external strescape: string -> string -> string = "ml_g_strescape" external strerror: int -> string = "ml_g_strerror" external strdup: string -> string = "ml_g_strdup" external strdown: string -> string = "ml_g_strdown" external strdelimit: string -> string -> int -> string = "ml_g_strdelimit" external strcompress: string -> string = "ml_g_strcompress" external strcmp0: string -> string -> int = "ml_g_strcmp0" external strchug: string -> string = "ml_g_strchug" external strchomp: string -> string = "ml_g_strchomp" external strcasecmp: string -> string -> int = "ml_g_strcasecmp" external strcanon: string -> string -> int -> string = "ml_g_strcanon" external str_has_suffix: string -> string -> bool = "ml_g_str_has_suffix" external str_has_prefix: string -> string -> bool = "ml_g_str_has_prefix" external stpcpy: string -> string -> string = "ml_g_stpcpy" external spawn_error_quark: unit -> int32 = "ml_g_spawn_error_quark" external spawn_close_pid: int -> unit = "ml_g_spawn_close_pid" external spaced_primes_closest: int -> int = "ml_g_spaced_primes_closest" external source_set_name_by_id: int -> string -> unit = "ml_g_source_set_name_by_id" external source_remove: int -> bool = "ml_g_source_remove" external source_new: [>`gsourcefuncs] obj -> int -> [<`gsource] obj = "ml_g_source_new" external slist_reverse: [>`gslist] obj -> [<`gslist] obj = "ml_g_slist_reverse" external slist_remove_link: [>`gslist] obj -> [>`gslist] obj -> [<`gslist] obj = "ml_g_slist_remove_link" external slist_position: [>`gslist] obj -> [>`gslist] obj -> int = "ml_g_slist_position" external slist_pop_allocator: unit -> unit = "ml_g_slist_pop_allocator" external slist_nth: [>`gslist] obj -> int -> [<`gslist] obj = "ml_g_slist_nth" external slist_length: [>`gslist] obj -> int = "ml_g_slist_length" external slist_last: [>`gslist] obj -> [<`gslist] obj = "ml_g_slist_last" external slist_free_1: [>`gslist] obj -> unit = "ml_g_slist_free_1" external slist_free: [>`gslist] obj -> unit = "ml_g_slist_free" external slist_delete_link: [>`gslist] obj -> [>`gslist] obj -> [<`gslist] obj = "ml_g_slist_delete_link" external slist_copy: [>`gslist] obj -> [<`gslist] obj = "ml_g_slist_copy" external slist_concat: [>`gslist] obj -> [>`gslist] obj -> [<`gslist] obj = "ml_g_slist_concat" external slist_alloc: unit -> [<`gslist] obj = "ml_g_slist_alloc" external shell_quote: string -> string = "ml_g_shell_quote" external shell_error_quark: unit -> int32 = "ml_g_shell_error_quark" external setenv: string -> string -> bool -> bool = "ml_g_setenv" external set_prgname: string -> unit = "ml_g_set_prgname" external set_application_name: string -> unit = "ml_g_set_application_name" external sequence_swap: [>`gsequenceiter] obj -> [>`gsequenceiter] obj -> unit = "ml_g_sequence_swap" external sequence_remove_range: [>`gsequenceiter] obj -> [>`gsequenceiter] obj -> unit = "ml_g_sequence_remove_range" external sequence_remove: [>`gsequenceiter] obj -> unit = "ml_g_sequence_remove" external sequence_range_get_midpoint: [>`gsequenceiter] obj -> [>`gsequenceiter] obj -> [<`gsequenceiter] obj = "ml_g_sequence_range_get_midpoint" external sequence_move_range: [>`gsequenceiter] obj -> [>`gsequenceiter] obj -> [>`gsequenceiter] obj -> unit = "ml_g_sequence_move_range" external sequence_move: [>`gsequenceiter] obj -> [>`gsequenceiter] obj -> unit = "ml_g_sequence_move" external scanner_new: [>`gscannerconfig] obj -> [<`gscanner] obj = "ml_g_scanner_new" external rmdir: string -> int = "ml_g_rmdir" external return_if_fail_warning: string -> string -> string -> unit = "ml_g_return_if_fail_warning" external reload_user_special_dirs_cache: unit -> unit = "ml_g_reload_user_special_dirs_cache" external relation_new: int -> [<`grelation] obj = "ml_g_relation_new" external regex_escape_string: string -> int -> string = "ml_g_regex_escape_string" external regex_error_quark: unit -> int32 = "ml_g_regex_error_quark" external random_set_seed: int32 -> unit = "ml_g_random_set_seed" external random_int_range: int32 -> int32 -> int32 = "ml_g_random_int_range" external random_int: unit -> int32 = "ml_g_random_int" external random_double_range: float -> float -> float = "ml_g_random_double_range" external random_double: unit -> float = "ml_g_random_double" external rand_new_with_seed: int32 -> [<`grand] obj = "ml_g_rand_new_with_seed" external rand_new: unit -> [<`grand] obj = "ml_g_rand_new" external queue_new: unit -> [<`gqueue] obj = "ml_g_queue_new" external quark_try_string: string -> int32 = "ml_g_quark_try_string" external quark_to_string: int32 -> string = "ml_g_quark_to_string" external quark_from_string: string -> int32 = "ml_g_quark_from_string" external quark_from_static_string: string -> int32 = "ml_g_quark_from_static_string" external poll: [>`gpollfd] obj -> int -> int -> int = "ml_g_poll" external pattern_spec_new: string -> [<`gpatternspec] obj = "ml_g_pattern_spec_new" external pattern_match_string: [>`gpatternspec] obj -> string -> bool = "ml_g_pattern_match_string" external pattern_match_simple: string -> string -> bool = "ml_g_pattern_match_simple" external pattern_match: [>`gpatternspec] obj -> int -> string -> string -> bool = "ml_g_pattern_match" external path_skip_root: string -> string = "ml_g_path_skip_root" external path_is_absolute: string -> bool = "ml_g_path_is_absolute" external path_get_dirname: string -> string = "ml_g_path_get_dirname" external path_get_basename: string -> string = "ml_g_path_get_basename" external parse_debug_string: string -> [>`gdebugkey] obj -> int -> int = "ml_g_parse_debug_string" external option_error_quark: unit -> int32 = "ml_g_option_error_quark" external option_context_new: string -> [<`goptioncontext] obj = "ml_g_option_context_new" external on_error_stack_trace: string -> unit = "ml_g_on_error_stack_trace" external on_error_query: string -> unit = "ml_g_on_error_query" external node_pop_allocator: unit -> unit = "ml_g_node_pop_allocator" external mkstemp_full: string -> int -> int -> int = "ml_g_mkstemp_full" external mkstemp: string -> int = "ml_g_mkstemp" external mkdir_with_parents: string -> int -> int = "ml_g_mkdir_with_parents" external mem_set_vtable: [>`gmemvtable] obj -> unit = "ml_g_mem_set_vtable" external mem_profile: unit -> unit = "ml_g_mem_profile" external mem_is_system_malloc: unit -> bool = "ml_g_mem_is_system_malloc" external mem_chunk_new: string -> int -> int -> int -> [<`gmemchunk] obj = "ml_g_mem_chunk_new" external mem_chunk_info: unit -> unit = "ml_g_mem_chunk_info" external markup_escape_text: string -> int -> string = "ml_g_markup_escape_text" external markup_error_quark: unit -> int32 = "ml_g_markup_error_quark" external main_loop_new: [>`gmaincontext] obj option -> bool -> [<`gmainloop] obj = "ml_g_main_loop_new" external main_depth: unit -> int = "ml_g_main_depth" external main_current_source: unit -> [<`gsource] obj = "ml_g_main_current_source" external main_context_new: unit -> [<`gmaincontext] obj = "ml_g_main_context_new" external main_context_get_thread_default: unit -> [<`gmaincontext] obj = "ml_g_main_context_get_thread_default" external main_context_default: unit -> [<`gmaincontext] obj = "ml_g_main_context_default" external log_remove_handler: string -> int -> unit = "ml_g_log_remove_handler" external list_reverse: [>`glist] obj -> [<`glist] obj = "ml_g_list_reverse" external list_remove_link: [>`glist] obj -> [>`glist] obj -> [<`glist] obj = "ml_g_list_remove_link" external list_position: [>`glist] obj -> [>`glist] obj -> int = "ml_g_list_position" external list_pop_allocator: unit -> unit = "ml_g_list_pop_allocator" external list_nth_prev: [>`glist] obj -> int -> [<`glist] obj = "ml_g_list_nth_prev" external list_nth: [>`glist] obj -> int -> [<`glist] obj = "ml_g_list_nth" external list_length: [>`glist] obj -> int = "ml_g_list_length" external list_last: [>`glist] obj -> [<`glist] obj = "ml_g_list_last" external list_free_1: [>`glist] obj -> unit = "ml_g_list_free_1" external list_free: [>`glist] obj -> unit = "ml_g_list_free" external list_first: [>`glist] obj -> [<`glist] obj = "ml_g_list_first" external list_delete_link: [>`glist] obj -> [>`glist] obj -> [<`glist] obj = "ml_g_list_delete_link" external list_copy: [>`glist] obj -> [<`glist] obj = "ml_g_list_copy" external list_concat: [>`glist] obj -> [>`glist] obj -> [<`glist] obj = "ml_g_list_concat" external list_alloc: unit -> [<`glist] obj = "ml_g_list_alloc" external key_file_new: unit -> [<`gkeyfile] obj = "ml_g_key_file_new" external key_file_error_quark: unit -> int32 = "ml_g_key_file_error_quark" external io_channel_unix_new: int -> [<`giochannel] obj = "ml_g_io_channel_unix_new" external io_channel_error_quark: unit -> int32 = "ml_g_io_channel_error_quark" external intern_string: string -> string = "ml_g_intern_string" external intern_static_string: string -> string = "ml_g_intern_static_string" external idle_source_new: unit -> [<`gsource] obj = "ml_g_idle_source_new" external hostname_to_unicode: string -> string = "ml_g_hostname_to_unicode" external hostname_to_ascii: string -> string = "ml_g_hostname_to_ascii" external hostname_is_non_ascii: string -> bool = "ml_g_hostname_is_non_ascii" external hostname_is_ip_address: string -> bool = "ml_g_hostname_is_ip_address" external hostname_is_ascii_encoded: string -> bool = "ml_g_hostname_is_ascii_encoded" external hook_unref: [>`ghooklist] obj -> [>`ghook] obj -> unit = "ml_g_hook_unref" external hook_ref: [>`ghooklist] obj -> [>`ghook] obj -> [<`ghook] obj = "ml_g_hook_ref" external hook_prepend: [>`ghooklist] obj -> [>`ghook] obj -> unit = "ml_g_hook_prepend" external hook_next_valid: [>`ghooklist] obj -> [>`ghook] obj -> bool -> [<`ghook] obj = "ml_g_hook_next_valid" external hook_insert_before: [>`ghooklist] obj -> [>`ghook] obj -> [>`ghook] obj -> unit = "ml_g_hook_insert_before" external hook_get: [>`ghooklist] obj -> float -> [<`ghook] obj = "ml_g_hook_get" external hook_free: [>`ghooklist] obj -> [>`ghook] obj -> unit = "ml_g_hook_free" external hook_first_valid: [>`ghooklist] obj -> bool -> [<`ghook] obj = "ml_g_hook_first_valid" external hook_destroy_link: [>`ghooklist] obj -> [>`ghook] obj -> unit = "ml_g_hook_destroy_link" external hook_destroy: [>`ghooklist] obj -> float -> bool = "ml_g_hook_destroy" external hook_alloc: [>`ghooklist] obj -> [<`ghook] obj = "ml_g_hook_alloc" external hash_table_unref: [>`ghashtable] obj -> unit = "ml_g_hash_table_unref" external hash_table_steal_all: [>`ghashtable] obj -> unit = "ml_g_hash_table_steal_all" external hash_table_size: [>`ghashtable] obj -> int = "ml_g_hash_table_size" external hash_table_remove_all: [>`ghashtable] obj -> unit = "ml_g_hash_table_remove_all" external hash_table_ref: [>`ghashtable] obj -> [<`ghashtable] obj = "ml_g_hash_table_ref" external hash_table_get_values: [>`ghashtable] obj -> [<`glist] obj = "ml_g_hash_table_get_values" external hash_table_get_keys: [>`ghashtable] obj -> [<`glist] obj = "ml_g_hash_table_get_keys" external hash_table_destroy: [>`ghashtable] obj -> unit = "ml_g_hash_table_destroy" external getenv: string -> string = "ml_g_getenv" external get_user_runtime_dir: unit -> string = "ml_g_get_user_runtime_dir" external get_user_name: unit -> string = "ml_g_get_user_name" external get_user_data_dir: unit -> string = "ml_g_get_user_data_dir" external get_user_config_dir: unit -> string = "ml_g_get_user_config_dir" external get_user_cache_dir: unit -> string = "ml_g_get_user_cache_dir" external get_tmp_dir: unit -> string = "ml_g_get_tmp_dir" external get_real_time: unit -> int64 = "ml_g_get_real_time" external get_real_name: unit -> string = "ml_g_get_real_name" external get_prgname: unit -> string = "ml_g_get_prgname" external get_monotonic_time: unit -> int64 = "ml_g_get_monotonic_time" external get_host_name: unit -> string = "ml_g_get_host_name" external get_home_dir: unit -> string = "ml_g_get_home_dir" external get_current_time: [>`gtimeval] obj -> unit = "ml_g_get_current_time" external get_current_dir: unit -> string = "ml_g_get_current_dir" external get_application_name: unit -> string = "ml_g_get_application_name" external find_program_in_path: string -> string = "ml_g_find_program_in_path" external filename_display_name: string -> string = "ml_g_filename_display_name" external filename_display_basename: string -> string = "ml_g_filename_display_basename" external file_error_quark: unit -> int32 = "ml_g_file_error_quark" external error_new_literal: int32 -> int -> string -> [<`gerror] obj = "ml_g_error_new_literal" external dummy_decl: unit -> unit = "ml_glib_dummy_decl" external dpgettext2: string -> string -> string -> string = "ml_g_dpgettext2" external dpgettext: string -> string -> int -> string = "ml_g_dpgettext" external dngettext: string -> string -> string -> float -> string = "ml_g_dngettext" external dgettext: string -> string -> string = "ml_g_dgettext" external dcgettext: string -> string -> int -> string = "ml_g_dcgettext" external date_valid_year: int -> bool = "ml_g_date_valid_year" external date_valid_julian: int32 -> bool = "ml_g_date_valid_julian" external date_valid_day: int -> bool = "ml_g_date_valid_day" external date_time_new_utc: int -> int -> int -> int -> int -> float -> [<`gdatetime] obj = "ml_g_date_time_new_utc" external date_time_new_now_utc: unit -> [<`gdatetime] obj = "ml_g_date_time_new_now_utc" external date_time_new_now_local: unit -> [<`gdatetime] obj = "ml_g_date_time_new_now_local" external date_time_new_now: [>`gtimezone] obj -> [<`gdatetime] obj = "ml_g_date_time_new_now" external date_time_new_local: int -> int -> int -> int -> int -> float -> [<`gdatetime] obj = "ml_g_date_time_new_local" external date_time_new_from_unix_utc: int64 -> [<`gdatetime] obj = "ml_g_date_time_new_from_unix_utc" external date_time_new_from_unix_local: int64 -> [<`gdatetime] obj = "ml_g_date_time_new_from_unix_local" external date_time_new_from_timeval_utc: [>`gtimeval] obj -> [<`gdatetime] obj = "ml_g_date_time_new_from_timeval_utc" external date_time_new_from_timeval_local: [>`gtimeval] obj -> [<`gdatetime] obj = "ml_g_date_time_new_from_timeval_local" external date_time_new: [>`gtimezone] obj -> int -> int -> int -> int -> int -> float -> [<`gdatetime] obj = "ml_g_date_time_new" external date_strftime: string -> int -> string -> [>`gdate] obj -> int = "ml_g_date_strftime" external date_new_julian: int32 -> [<`gdate] obj = "ml_g_date_new_julian" external date_new: unit -> [<`gdate] obj = "ml_g_date_new" external date_is_leap_year: int -> bool = "ml_g_date_is_leap_year" external date_get_sunday_weeks_in_year: int -> int = "ml_g_date_get_sunday_weeks_in_year" external date_get_monday_weeks_in_year: int -> int = "ml_g_date_get_monday_weeks_in_year" external convert_error_quark: unit -> int32 = "ml_g_convert_error_quark" external child_watch_source_new: int -> [<`gsource] obj = "ml_g_child_watch_source_new" external check_version: int -> int -> int -> string = "ml_glib_check_version" external chdir: string -> int = "ml_g_chdir" external bookmark_file_new: unit -> [<`gbookmarkfile] obj = "ml_g_bookmark_file_new" external bookmark_file_error_quark: unit -> int32 = "ml_g_bookmark_file_error_quark" external blow_chunks: unit -> unit = "ml_g_blow_chunks" external bit_storage: float -> int = "ml_g_bit_storage" external bit_nth_msf: float -> int -> int = "ml_g_bit_nth_msf" external bit_nth_lsf: float -> int -> int = "ml_g_bit_nth_lsf" external basename: string -> string = "ml_g_basename" external base64_encode: string -> int -> string = "ml_g_base64_encode" external async_queue_new: unit -> [<`gasyncqueue] obj = "ml_g_async_queue_new" external assertion_message_expr: string -> string -> int -> string -> string -> unit = "ml_g_assertion_message_expr" external assertion_message_error: string -> string -> int -> string -> string -> [>`gerror] obj -> int32 -> int -> unit = "ml_g_assertion_message_error" external assertion_message_cmpstr: string -> string -> int -> string -> string -> string -> string -> string -> unit = "ml_g_assertion_message_cmpstr" external assertion_message_cmpnum: string -> string -> int -> string -> string -> float -> string -> float -> int -> unit = "ml_g_assertion_message_cmpnum" external assertion_message: string -> string -> int -> string -> string -> unit = "ml_g_assertion_message" external assert_warning: string -> string -> int -> string -> string -> unit = "ml_g_assert_warning" external ascii_xdigit_value: int -> int = "ml_g_ascii_xdigit_value" external ascii_toupper: int -> int = "ml_g_ascii_toupper" external ascii_tolower: int -> int = "ml_g_ascii_tolower" external ascii_strup: string -> int -> string = "ml_g_ascii_strup" external ascii_strncasecmp: string -> string -> int -> int = "ml_g_ascii_strncasecmp" external ascii_strdown: string -> int -> string = "ml_g_ascii_strdown" external ascii_strcasecmp: string -> string -> int = "ml_g_ascii_strcasecmp" external ascii_formatd: string -> int -> string -> float -> string = "ml_g_ascii_formatd" external ascii_dtostr: string -> int -> float -> string = "ml_g_ascii_dtostr" external ascii_digit_value: int -> int = "ml_g_ascii_digit_value" external allocator_new: string -> int -> [<`gallocator] obj = "ml_g_allocator_new" external access: string -> int -> int = "ml_g_access" (* End of global functions *) lablgtk-3.1.2/tools/introspection/stubs/stubs_GModule.ml0000644000650106067230000000100114161276610022276 0ustar glondusedtype -'a obj module Module = struct external name: [>`gmodule] obj -> string = "ml_g_module_name" external make_resident: [>`gmodule] obj -> unit = "ml_g_module_make_resident" external close: [>`gmodule] obj -> bool = "ml_g_module_close" end (* Global functions *) external module_supported: unit -> bool = "ml_g_module_supported" external module_error: unit -> string = "ml_g_module_error" external module_build_path: string -> string -> string = "ml_g_module_build_path" (* End of global functions *) lablgtk-3.1.2/tools/introspection/stubs/stubs_GObject.ml0000644000650106067230000003641014161276610022273 0ustar glondusedtype -'a obj module ValueArray = struct external remove: [>`gvaluearray] obj -> int -> [<`gvaluearray] obj = "ml_g_value_array_remove" external prepend: [>`gvaluearray] obj -> [>`gvalue] obj option -> [<`gvaluearray] obj = "ml_g_value_array_prepend" external insert: [>`gvaluearray] obj -> int -> [>`gvalue] obj option -> [<`gvaluearray] obj = "ml_g_value_array_insert" external get_nth: [>`gvaluearray] obj -> int -> [<`gvalue] obj = "ml_g_value_array_get_nth" external free: [>`gvaluearray] obj -> unit = "ml_g_value_array_free" external copy: [>`gvaluearray] obj -> [<`gvaluearray] obj = "ml_g_value_array_copy" external append: [>`gvaluearray] obj -> [>`gvalue] obj option -> [<`gvaluearray] obj = "ml_g_value_array_append" end module Value = struct external unset: [>`gvalue] obj -> unit = "ml_g_value_unset" external transform: [>`gvalue] obj -> [>`gvalue] obj -> bool = "ml_g_value_transform" external take_variant: [>`gvalue] obj -> [>`gvariant] obj -> unit = "ml_g_value_take_variant" external take_string: [>`gvalue] obj -> string -> unit = "ml_g_value_take_string" external take_param: [>`gvalue] obj -> [>`gparamspec] obj -> unit = "ml_g_value_take_param" external set_variant: [>`gvalue] obj -> [>`gvariant] obj -> unit = "ml_g_value_set_variant" external set_ulong: [>`gvalue] obj -> float -> unit = "ml_g_value_set_ulong" external set_uint64: [>`gvalue] obj -> int64 -> unit = "ml_g_value_set_uint64" external set_uint: [>`gvalue] obj -> int -> unit = "ml_g_value_set_uint" external set_uchar: [>`gvalue] obj -> int -> unit = "ml_g_value_set_uchar" external set_string_take_ownership: [>`gvalue] obj -> string -> unit = "ml_g_value_set_string_take_ownership" external set_string: [>`gvalue] obj -> string -> unit = "ml_g_value_set_string" external set_static_string: [>`gvalue] obj -> string -> unit = "ml_g_value_set_static_string" external set_param_take_ownership: [>`gvalue] obj -> [>`gparamspec] obj -> unit = "ml_g_value_set_param_take_ownership" external set_param: [>`gvalue] obj -> [>`gparamspec] obj -> unit = "ml_g_value_set_param" external set_long: [>`gvalue] obj -> float -> unit = "ml_g_value_set_long" external set_int64: [>`gvalue] obj -> int64 -> unit = "ml_g_value_set_int64" external set_int: [>`gvalue] obj -> int -> unit = "ml_g_value_set_int" external set_gtype: [>`gvalue] obj -> int -> unit = "ml_g_value_set_gtype" external set_flags: [>`gvalue] obj -> int -> unit = "ml_g_value_set_flags" external set_enum: [>`gvalue] obj -> int -> unit = "ml_g_value_set_enum" external set_double: [>`gvalue] obj -> float -> unit = "ml_g_value_set_double" external set_char: [>`gvalue] obj -> int -> unit = "ml_g_value_set_char" external set_boolean: [>`gvalue] obj -> bool -> unit = "ml_g_value_set_boolean" external reset: [>`gvalue] obj -> [<`gvalue] obj = "ml_g_value_reset" external init: [>`gvalue] obj -> int -> [<`gvalue] obj = "ml_g_value_init" external get_variant: [>`gvalue] obj -> [<`gvariant] obj = "ml_g_value_get_variant" external get_ulong: [>`gvalue] obj -> float = "ml_g_value_get_ulong" external get_uint64: [>`gvalue] obj -> int64 = "ml_g_value_get_uint64" external get_uint: [>`gvalue] obj -> int = "ml_g_value_get_uint" external get_uchar: [>`gvalue] obj -> int = "ml_g_value_get_uchar" external get_string: [>`gvalue] obj -> string = "ml_g_value_get_string" external get_param: [>`gvalue] obj -> [<`gparamspec] obj = "ml_g_value_get_param" external get_long: [>`gvalue] obj -> float = "ml_g_value_get_long" external get_int64: [>`gvalue] obj -> int64 = "ml_g_value_get_int64" external get_int: [>`gvalue] obj -> int = "ml_g_value_get_int" external get_gtype: [>`gvalue] obj -> int = "ml_g_value_get_gtype" external get_flags: [>`gvalue] obj -> int = "ml_g_value_get_flags" external get_enum: [>`gvalue] obj -> int = "ml_g_value_get_enum" external get_double: [>`gvalue] obj -> float = "ml_g_value_get_double" external get_char: [>`gvalue] obj -> int = "ml_g_value_get_char" external get_boolean: [>`gvalue] obj -> bool = "ml_g_value_get_boolean" external fits_pointer: [>`gvalue] obj -> bool = "ml_g_value_fits_pointer" external dup_variant: [>`gvalue] obj -> [<`gvariant] obj = "ml_g_value_dup_variant" external dup_string: [>`gvalue] obj -> string = "ml_g_value_dup_string" external dup_param: [>`gvalue] obj -> [<`gparamspec] obj = "ml_g_value_dup_param" external copy: [>`gvalue] obj -> [>`gvalue] obj -> unit = "ml_g_value_copy" end module TypeValueTable = struct end module TypeQuery = struct end module TypePluginClass = struct end module TypeModuleClass = struct end module TypeModule = struct external use: [>`gtypemodule] obj -> bool = "ml_g_type_module_use" external unuse: [>`gtypemodule] obj -> unit = "ml_g_type_module_unuse" external set_name: [>`gtypemodule] obj -> string -> unit = "ml_g_type_module_set_name" external register_flags: [>`gtypemodule] obj -> string -> [>`gflagsvalue] obj -> int = "ml_g_type_module_register_flags" external register_enum: [>`gtypemodule] obj -> string -> [>`genumvalue] obj -> int = "ml_g_type_module_register_enum" external add_interface: [>`gtypemodule] obj -> int -> int -> [>`ginterfaceinfo] obj -> unit = "ml_g_type_module_add_interface" end module TypeInterface = struct end module TypeInstance = struct end module TypeInfo = struct end module TypeFundamentalInfo = struct end module TypeClass = struct external unref_uncached: [>`gtypeclass] obj -> unit = "ml_g_type_class_unref_uncached" external unref: [>`gtypeclass] obj -> unit = "ml_g_type_class_unref" end module SignalQuery = struct end module SignalInvocationHint = struct end module Parameter = struct end module ParamSpecVariant = struct end module ParamSpecValueArray = struct end module ParamSpecUnichar = struct end module ParamSpecULong = struct end module ParamSpecUInt64 = struct end module ParamSpecUInt = struct end module ParamSpecUChar = struct end module ParamSpecTypeInfo = struct end module ParamSpecString = struct end module ParamSpecPool = struct external remove: [>`gparamspecpool] obj -> [>`gparamspec] obj -> unit = "ml_g_param_spec_pool_remove" external lookup: [>`gparamspecpool] obj -> string -> int -> bool -> [<`gparamspec] obj = "ml_g_param_spec_pool_lookup" external list_owned: [>`gparamspecpool] obj -> int -> [<`glist] obj = "ml_g_param_spec_pool_list_owned" external insert: [>`gparamspecpool] obj -> [>`gparamspec] obj -> int -> unit = "ml_g_param_spec_pool_insert" end module ParamSpecPointer = struct end module ParamSpecParam = struct end module ParamSpecOverride = struct end module ParamSpecObject = struct end module ParamSpecLong = struct end module ParamSpecInt64 = struct end module ParamSpecInt = struct end module ParamSpecGType = struct end module ParamSpecFloat = struct end module ParamSpecFlags = struct end module ParamSpecEnum = struct end module ParamSpecDouble = struct end module ParamSpecClass = struct end module ParamSpecChar = struct end module ParamSpecBoxed = struct end module ParamSpecBoolean = struct end module ParamSpec = struct external unref: [>`gparamspec] obj -> unit = "ml_g_param_spec_unref" external sink: [>`gparamspec] obj -> unit = "ml_g_param_spec_sink" external ref_sink: [>`gparamspec] obj -> [<`gparamspec] obj = "ml_g_param_spec_ref_sink" external ref: [>`gparamspec] obj -> [<`gparamspec] obj = "ml_g_param_spec_ref" external get_redirect_target: [>`gparamspec] obj -> [<`gparamspec] obj = "ml_g_param_spec_get_redirect_target" external get_nick: [>`gparamspec] obj -> string = "ml_g_param_spec_get_nick" external get_name: [>`gparamspec] obj -> string = "ml_g_param_spec_get_name" external get_blurb: [>`gparamspec] obj -> string = "ml_g_param_spec_get_blurb" end module ObjectConstructParam = struct end module ObjectClass = struct external override_property: [>`gobjectclass] obj -> int -> string -> unit = "ml_g_object_class_override_property" external install_property: [>`gobjectclass] obj -> int -> [>`gparamspec] obj -> unit = "ml_g_object_class_install_property" external find_property: [>`gobjectclass] obj -> string -> [<`gparamspec] obj = "ml_g_object_class_find_property" end module Object = struct end module InterfaceInfo = struct end module InitiallyUnownedClass = struct end module InitiallyUnowned = struct external type_init: unit -> unit = "ml_g_object_type_init" end module FlagsValue = struct end module FlagsClass = struct end module EnumValue = struct end module EnumClass = struct end module ClosureNotifyData = struct end module Closure = struct external unref: [>`gclosure] obj -> unit = "ml_g_closure_unref" external sink: [>`gclosure] obj -> unit = "ml_g_closure_sink" external ref: [>`gclosure] obj -> [<`gclosure] obj = "ml_g_closure_ref" external invalidate: [>`gclosure] obj -> unit = "ml_g_closure_invalidate" end module CClosure = struct end module Binding = struct external get_target_property: [>`gbinding] obj -> string = "ml_g_binding_get_target_property" external get_source_property: [>`gbinding] obj -> string = "ml_g_binding_get_source_property" end (* Global functions *) external variant_type_get_gtype: unit -> int = "ml_g_variant_type_get_gtype" external variant_get_gtype: unit -> int = "ml_g_variant_get_gtype" external value_types_init: unit -> unit = "ml_g_value_types_init" external value_type_transformable: int -> int -> bool = "ml_g_value_type_transformable" external value_type_compatible: int -> int -> bool = "ml_g_value_type_compatible" external value_transforms_init: unit -> unit = "ml_g_value_transforms_init" external value_c_init: unit -> unit = "ml_g_value_c_init" external type_value_table_peek: int -> [<`gtypevaluetable] obj = "ml_g_type_value_table_peek" external type_test_flags: int -> int -> bool = "ml_g_type_test_flags" external type_qname: int -> int32 = "ml_g_type_qname" external type_parent: int -> int = "ml_g_type_parent" external type_next_base: int -> int -> int = "ml_g_type_next_base" external type_name_from_instance: [>`gtypeinstance] obj -> string = "ml_g_type_name_from_instance" external type_name_from_class: [>`gtypeclass] obj -> string = "ml_g_type_name_from_class" external type_name: int -> string = "ml_g_type_name" external type_is_a: int -> int -> bool = "ml_g_type_is_a" external type_interface_add_prerequisite: int -> int -> unit = "ml_g_type_interface_add_prerequisite" external type_init: unit -> unit = "ml_g_type_init" external type_fundamental_next: unit -> int = "ml_g_type_fundamental_next" external type_fundamental: int -> int = "ml_g_type_fundamental" external type_from_name: string -> int = "ml_g_type_from_name" external type_free_instance: [>`gtypeinstance] obj -> unit = "ml_g_type_free_instance" external type_depth: int -> int = "ml_g_type_depth" external type_create_instance: int -> [<`gtypeinstance] obj = "ml_g_type_create_instance" external type_check_value_holds: [>`gvalue] obj -> int -> bool = "ml_g_type_check_value_holds" external type_check_value: [>`gvalue] obj -> bool = "ml_g_type_check_value" external type_check_is_value_type: int -> bool = "ml_g_type_check_is_value_type" external type_check_instance_is_a: [>`gtypeinstance] obj -> int -> bool = "ml_g_type_check_instance_is_a" external type_check_instance_cast: [>`gtypeinstance] obj -> int -> [<`gtypeinstance] obj = "ml_g_type_check_instance_cast" external type_check_instance: [>`gtypeinstance] obj -> bool = "ml_g_type_check_instance" external type_check_class_is_a: [>`gtypeclass] obj -> int -> bool = "ml_g_type_check_class_is_a" external type_check_class_cast: [>`gtypeclass] obj -> int -> [<`gtypeclass] obj = "ml_g_type_check_class_cast" external type_add_interface_static: int -> int -> [>`ginterfaceinfo] obj -> unit = "ml_g_type_add_interface_static" external type_add_class_private: int -> int -> unit = "ml_g_type_add_class_private" external strv_get_type: unit -> int = "ml_g_strv_get_type" external strdup_value_contents: [>`gvalue] obj -> string = "ml_g_strdup_value_contents" external source_set_dummy_callback: [>`gsource] obj -> unit = "ml_g_source_set_dummy_callback" external source_set_closure: [>`gsource] obj -> [>`gclosure] obj -> unit = "ml_g_source_set_closure" external signal_type_cclosure_new: int -> int -> [<`gclosure] obj = "ml_g_signal_type_cclosure_new" external signal_remove_emission_hook: int -> float -> unit = "ml_g_signal_remove_emission_hook" external signal_query: int -> [>`gsignalquery] obj -> unit = "ml_g_signal_query" external signal_override_class_closure: int -> int -> [>`gclosure] obj -> unit = "ml_g_signal_override_class_closure" external signal_name: int -> string = "ml_g_signal_name" external signal_lookup: string -> int -> int = "ml_g_signal_lookup" external signal_init: unit -> unit = "ml_g_signal_init" external signal_emitv: [>`gvalue] obj -> int -> int32 -> [>`gvalue] obj -> unit = "ml_g_signal_emitv" external signal_chain_from_overridden: [>`gvalue] obj -> [>`gvalue] obj -> unit = "ml_g_signal_chain_from_overridden" external pointer_type_register_static: string -> int = "ml_g_pointer_type_register_static" external param_values_cmp: [>`gparamspec] obj -> [>`gvalue] obj -> [>`gvalue] obj -> int = "ml_g_param_values_cmp" external param_value_validate: [>`gparamspec] obj -> [>`gvalue] obj -> bool = "ml_g_param_value_validate" external param_value_set_default: [>`gparamspec] obj -> [>`gvalue] obj -> unit = "ml_g_param_value_set_default" external param_value_defaults: [>`gparamspec] obj -> [>`gvalue] obj -> bool = "ml_g_param_value_defaults" external param_value_convert: [>`gparamspec] obj -> [>`gvalue] obj -> [>`gvalue] obj -> bool -> bool = "ml_g_param_value_convert" external param_type_register_static: string -> [>`gparamspectypeinfo] obj -> int = "ml_g_param_type_register_static" external param_type_init: unit -> unit = "ml_g_param_type_init" external param_spec_types_init: unit -> unit = "ml_g_param_spec_types_init" external param_spec_pool_new: bool -> [<`gparamspecpool] obj = "ml_g_param_spec_pool_new" external param_spec_override: string -> [>`gparamspec] obj -> [<`gparamspec] obj = "ml_g_param_spec_override" external object_get_type: unit -> int = "ml_g_object_get_type" external gtype_get_type: unit -> int = "ml_g_gtype_get_type" external flags_register_static: string -> [>`gflagsvalue] obj -> int = "ml_g_flags_register_static" external flags_get_value_by_nick: [>`gflagsclass] obj -> string -> [<`gflagsvalue] obj = "ml_g_flags_get_value_by_nick" external flags_get_value_by_name: [>`gflagsclass] obj -> string -> [<`gflagsvalue] obj = "ml_g_flags_get_value_by_name" external flags_get_first_value: [>`gflagsclass] obj -> int -> [<`gflagsvalue] obj = "ml_g_flags_get_first_value" external flags_complete_type_info: int -> [>`gtypeinfo] obj -> [>`gflagsvalue] obj -> unit = "ml_g_flags_complete_type_info" external enum_types_init: unit -> unit = "ml_g_enum_types_init" external enum_register_static: string -> [>`genumvalue] obj -> int = "ml_g_enum_register_static" external enum_get_value_by_nick: [>`genumclass] obj -> string -> [<`genumvalue] obj = "ml_g_enum_get_value_by_nick" external enum_get_value_by_name: [>`genumclass] obj -> string -> [<`genumvalue] obj = "ml_g_enum_get_value_by_name" external enum_get_value: [>`genumclass] obj -> int -> [<`genumvalue] obj = "ml_g_enum_get_value" external enum_complete_type_info: int -> [>`gtypeinfo] obj -> [>`genumvalue] obj -> unit = "ml_g_enum_complete_type_info" external boxed_type_init: unit -> unit = "ml_g_boxed_type_init" (* End of global functions *) lablgtk-3.1.2/tools/introspection/stubs/stubs_Gdk.ml0000644000650106067230000006540714161276610021473 0ustar glondusedtype -'a obj module WindowRedirect = struct end module WindowClass = struct end module WindowAttr = struct end module Window = struct external withdraw: [>`gdkwindow] obj -> unit = "ml_gdk_window_withdraw" external unstick: [>`gdkwindow] obj -> unit = "ml_gdk_window_unstick" external unmaximize: [>`gdkwindow] obj -> unit = "ml_gdk_window_unmaximize" external unfullscreen: [>`gdkwindow] obj -> unit = "ml_gdk_window_unfullscreen" external thaw_updates: [>`gdkwindow] obj -> unit = "ml_gdk_window_thaw_updates" external thaw_toplevel_updates_libgtk_only: [>`gdkwindow] obj -> unit = "ml_gdk_window_thaw_toplevel_updates_libgtk_only" external stick: [>`gdkwindow] obj -> unit = "ml_gdk_window_stick" external show_unraised: [>`gdkwindow] obj -> unit = "ml_gdk_window_show_unraised" external show: [>`gdkwindow] obj -> unit = "ml_gdk_window_show" external shape_combine_region: [>`gdkwindow] obj -> [>`cairo_region_t] obj -> int -> int -> unit = "ml_gdk_window_shape_combine_region" external set_urgency_hint: [>`gdkwindow] obj -> bool -> unit = "ml_gdk_window_set_urgency_hint" external set_transient_for: [>`gdkwindow] obj -> [>`gdkwindow] obj -> unit = "ml_gdk_window_set_transient_for" external set_title: [>`gdkwindow] obj -> string -> unit = "ml_gdk_window_set_title" external set_support_multidevice: [>`gdkwindow] obj -> bool -> unit = "ml_gdk_window_set_support_multidevice" external set_static_gravities: [>`gdkwindow] obj -> bool -> bool = "ml_gdk_window_set_static_gravities" external set_startup_id: [>`gdkwindow] obj -> string -> unit = "ml_gdk_window_set_startup_id" external set_skip_taskbar_hint: [>`gdkwindow] obj -> bool -> unit = "ml_gdk_window_set_skip_taskbar_hint" external set_skip_pager_hint: [>`gdkwindow] obj -> bool -> unit = "ml_gdk_window_set_skip_pager_hint" external set_role: [>`gdkwindow] obj -> string -> unit = "ml_gdk_window_set_role" external set_override_redirect: [>`gdkwindow] obj -> bool -> unit = "ml_gdk_window_set_override_redirect" external set_opacity: [>`gdkwindow] obj -> float -> unit = "ml_gdk_window_set_opacity" external set_modal_hint: [>`gdkwindow] obj -> bool -> unit = "ml_gdk_window_set_modal_hint" external set_keep_below: [>`gdkwindow] obj -> bool -> unit = "ml_gdk_window_set_keep_below" external set_keep_above: [>`gdkwindow] obj -> bool -> unit = "ml_gdk_window_set_keep_above" external set_icon_name: [>`gdkwindow] obj -> string -> unit = "ml_gdk_window_set_icon_name" external set_icon_list: [>`gdkwindow] obj -> [>`glist] obj -> unit = "ml_gdk_window_set_icon_list" external set_group: [>`gdkwindow] obj -> [>`gdkwindow] obj -> unit = "ml_gdk_window_set_group" external set_focus_on_map: [>`gdkwindow] obj -> bool -> unit = "ml_gdk_window_set_focus_on_map" external set_device_cursor: [>`gdkwindow] obj -> [>`gdkdevice] obj -> [>`gdkcursor] obj -> unit = "ml_gdk_window_set_device_cursor" external set_cursor: [>`gdkwindow] obj -> [>`gdkcursor] obj option -> unit = "ml_gdk_window_set_cursor" external set_composited: [>`gdkwindow] obj -> bool -> unit = "ml_gdk_window_set_composited" external set_child_shapes: [>`gdkwindow] obj -> unit = "ml_gdk_window_set_child_shapes" external set_child_input_shapes: [>`gdkwindow] obj -> unit = "ml_gdk_window_set_child_input_shapes" external set_background_rgba: [>`gdkwindow] obj -> [>`gdkrgba] obj -> unit = "ml_gdk_window_set_background_rgba" external set_background_pattern: [>`gdkwindow] obj -> [>`cairo_pattern_t] obj option -> unit = "ml_gdk_window_set_background_pattern" external set_background: [>`gdkwindow] obj -> [>`gdkcolor] obj -> unit = "ml_gdk_window_set_background" external set_accept_focus: [>`gdkwindow] obj -> bool -> unit = "ml_gdk_window_set_accept_focus" external scroll: [>`gdkwindow] obj -> int -> int -> unit = "ml_gdk_window_scroll" external restack: [>`gdkwindow] obj -> [>`gdkwindow] obj option -> bool -> unit = "ml_gdk_window_restack" external resize: [>`gdkwindow] obj -> int -> int -> unit = "ml_gdk_window_resize" external reparent: [>`gdkwindow] obj -> [>`gdkwindow] obj -> int -> int -> unit = "ml_gdk_window_reparent" external register_dnd: [>`gdkwindow] obj -> unit = "ml_gdk_window_register_dnd" external raise: [>`gdkwindow] obj -> unit = "ml_gdk_window_raise" external process_updates: [>`gdkwindow] obj -> bool -> unit = "ml_gdk_window_process_updates" external peek_children: [>`gdkwindow] obj -> [<`glist] obj = "ml_gdk_window_peek_children" external move_resize: [>`gdkwindow] obj -> int -> int -> int -> int -> unit = "ml_gdk_window_move_resize" external move_region: [>`gdkwindow] obj -> [>`cairo_region_t] obj -> int -> int -> unit = "ml_gdk_window_move_region" external move: [>`gdkwindow] obj -> int -> int -> unit = "ml_gdk_window_move" external merge_child_shapes: [>`gdkwindow] obj -> unit = "ml_gdk_window_merge_child_shapes" external merge_child_input_shapes: [>`gdkwindow] obj -> unit = "ml_gdk_window_merge_child_input_shapes" external maximize: [>`gdkwindow] obj -> unit = "ml_gdk_window_maximize" external lower: [>`gdkwindow] obj -> unit = "ml_gdk_window_lower" external is_visible: [>`gdkwindow] obj -> bool = "ml_gdk_window_is_visible" external is_viewable: [>`gdkwindow] obj -> bool = "ml_gdk_window_is_viewable" external is_shaped: [>`gdkwindow] obj -> bool = "ml_gdk_window_is_shaped" external is_input_only: [>`gdkwindow] obj -> bool = "ml_gdk_window_is_input_only" external is_destroyed: [>`gdkwindow] obj -> bool = "ml_gdk_window_is_destroyed" external invalidate_region: [>`gdkwindow] obj -> [>`cairo_region_t] obj -> bool -> unit = "ml_gdk_window_invalidate_region" external input_shape_combine_region: [>`gdkwindow] obj -> [>`cairo_region_t] obj -> int -> int -> unit = "ml_gdk_window_input_shape_combine_region" external iconify: [>`gdkwindow] obj -> unit = "ml_gdk_window_iconify" external hide: [>`gdkwindow] obj -> unit = "ml_gdk_window_hide" external has_native: [>`gdkwindow] obj -> bool = "ml_gdk_window_has_native" external get_width: [>`gdkwindow] obj -> int = "ml_gdk_window_get_width" external get_visual: [>`gdkwindow] obj -> [<`gdkvisual] obj = "ml_gdk_window_get_visual" external get_visible_region: [>`gdkwindow] obj -> [<`cairo_region_t] obj = "ml_gdk_window_get_visible_region" external get_update_area: [>`gdkwindow] obj -> [<`cairo_region_t] obj = "ml_gdk_window_get_update_area" external get_toplevel: [>`gdkwindow] obj -> [<`gdkwindow] obj = "ml_gdk_window_get_toplevel" external get_support_multidevice: [>`gdkwindow] obj -> bool = "ml_gdk_window_get_support_multidevice" external get_screen: [>`gdkwindow] obj -> [<`gdkscreen] obj = "ml_gdk_window_get_screen" external get_parent: [>`gdkwindow] obj -> [<`gdkwindow] obj = "ml_gdk_window_get_parent" external get_modal_hint: [>`gdkwindow] obj -> bool = "ml_gdk_window_get_modal_hint" external get_height: [>`gdkwindow] obj -> int = "ml_gdk_window_get_height" external get_group: [>`gdkwindow] obj -> [<`gdkwindow] obj = "ml_gdk_window_get_group" external get_focus_on_map: [>`gdkwindow] obj -> bool = "ml_gdk_window_get_focus_on_map" external get_effective_toplevel: [>`gdkwindow] obj -> [<`gdkwindow] obj = "ml_gdk_window_get_effective_toplevel" external get_effective_parent: [>`gdkwindow] obj -> [<`gdkwindow] obj = "ml_gdk_window_get_effective_parent" external get_display: [>`gdkwindow] obj -> [<`gdkdisplay] obj = "ml_gdk_window_get_display" external get_device_cursor: [>`gdkwindow] obj -> [>`gdkdevice] obj -> [<`gdkcursor] obj = "ml_gdk_window_get_device_cursor" external get_cursor: [>`gdkwindow] obj -> [<`gdkcursor] obj = "ml_gdk_window_get_cursor" external get_composited: [>`gdkwindow] obj -> bool = "ml_gdk_window_get_composited" external get_clip_region: [>`gdkwindow] obj -> [<`cairo_region_t] obj = "ml_gdk_window_get_clip_region" external get_children: [>`gdkwindow] obj -> [<`glist] obj = "ml_gdk_window_get_children" external get_background_pattern: [>`gdkwindow] obj -> [<`cairo_pattern_t] obj = "ml_gdk_window_get_background_pattern" external get_accept_focus: [>`gdkwindow] obj -> bool = "ml_gdk_window_get_accept_focus" external geometry_changed: [>`gdkwindow] obj -> unit = "ml_gdk_window_geometry_changed" external fullscreen: [>`gdkwindow] obj -> unit = "ml_gdk_window_fullscreen" external freeze_updates: [>`gdkwindow] obj -> unit = "ml_gdk_window_freeze_updates" external freeze_toplevel_updates_libgtk_only: [>`gdkwindow] obj -> unit = "ml_gdk_window_freeze_toplevel_updates_libgtk_only" external focus: [>`gdkwindow] obj -> int32 -> unit = "ml_gdk_window_focus" external flush: [>`gdkwindow] obj -> unit = "ml_gdk_window_flush" external ensure_native: [>`gdkwindow] obj -> bool = "ml_gdk_window_ensure_native" external end_paint: [>`gdkwindow] obj -> unit = "ml_gdk_window_end_paint" external enable_synchronized_configure: [>`gdkwindow] obj -> unit = "ml_gdk_window_enable_synchronized_configure" external destroy_notify: [>`gdkwindow] obj -> unit = "ml_gdk_window_destroy_notify" external destroy: [>`gdkwindow] obj -> unit = "ml_gdk_window_destroy" external deiconify: [>`gdkwindow] obj -> unit = "ml_gdk_window_deiconify" external configure_finished: [>`gdkwindow] obj -> unit = "ml_gdk_window_configure_finished" external begin_paint_region: [>`gdkwindow] obj -> [>`cairo_region_t] obj -> unit = "ml_gdk_window_begin_paint_region" external begin_move_drag: [>`gdkwindow] obj -> int -> int -> int -> int32 -> unit = "ml_gdk_window_begin_move_drag" external beep: [>`gdkwindow] obj -> unit = "ml_gdk_window_beep" external set_debug_updates: bool -> unit = "ml_gdk_window_set_debug_updates" external process_all_updates: unit -> unit = "ml_gdk_window_process_all_updates" end module Visual = struct external get_screen: [>`gdkvisual] obj -> [<`gdkscreen] obj = "ml_gdk_visual_get_screen" external get_depth: [>`gdkvisual] obj -> int = "ml_gdk_visual_get_depth" external get_colormap_size: [>`gdkvisual] obj -> int = "ml_gdk_visual_get_colormap_size" external get_bits_per_rgb: [>`gdkvisual] obj -> int = "ml_gdk_visual_get_bits_per_rgb" external get_system: unit -> [<`gdkvisual] obj = "ml_gdk_visual_get_system" external get_best_with_depth: int -> [<`gdkvisual] obj = "ml_gdk_visual_get_best_with_depth" external get_best_depth: unit -> int = "ml_gdk_visual_get_best_depth" external get_best: unit -> [<`gdkvisual] obj = "ml_gdk_visual_get_best" end module TimeCoord = struct end module Screen = struct external set_resolution: [>`gdkscreen] obj -> float -> unit = "ml_gdk_screen_set_resolution" external set_font_options: [>`gdkscreen] obj -> [>`cairo_font_options_t] obj option -> unit = "ml_gdk_screen_set_font_options" external make_display_name: [>`gdkscreen] obj -> string = "ml_gdk_screen_make_display_name" external list_visuals: [>`gdkscreen] obj -> [<`glist] obj = "ml_gdk_screen_list_visuals" external is_composited: [>`gdkscreen] obj -> bool = "ml_gdk_screen_is_composited" external get_window_stack: [>`gdkscreen] obj -> [<`glist] obj = "ml_gdk_screen_get_window_stack" external get_width_mm: [>`gdkscreen] obj -> int = "ml_gdk_screen_get_width_mm" external get_width: [>`gdkscreen] obj -> int = "ml_gdk_screen_get_width" external get_toplevel_windows: [>`gdkscreen] obj -> [<`glist] obj = "ml_gdk_screen_get_toplevel_windows" external get_system_visual: [>`gdkscreen] obj -> [<`gdkvisual] obj = "ml_gdk_screen_get_system_visual" external get_setting: [>`gdkscreen] obj -> string -> [>`gvalue] obj -> bool = "ml_gdk_screen_get_setting" external get_root_window: [>`gdkscreen] obj -> [<`gdkwindow] obj = "ml_gdk_screen_get_root_window" external get_rgba_visual: [>`gdkscreen] obj -> [<`gdkvisual] obj = "ml_gdk_screen_get_rgba_visual" external get_resolution: [>`gdkscreen] obj -> float = "ml_gdk_screen_get_resolution" external get_primary_monitor: [>`gdkscreen] obj -> int = "ml_gdk_screen_get_primary_monitor" external get_number: [>`gdkscreen] obj -> int = "ml_gdk_screen_get_number" external get_n_monitors: [>`gdkscreen] obj -> int = "ml_gdk_screen_get_n_monitors" external get_monitor_width_mm: [>`gdkscreen] obj -> int -> int = "ml_gdk_screen_get_monitor_width_mm" external get_monitor_plug_name: [>`gdkscreen] obj -> int -> string = "ml_gdk_screen_get_monitor_plug_name" external get_monitor_height_mm: [>`gdkscreen] obj -> int -> int = "ml_gdk_screen_get_monitor_height_mm" external get_monitor_at_window: [>`gdkscreen] obj -> [>`gdkwindow] obj -> int = "ml_gdk_screen_get_monitor_at_window" external get_monitor_at_point: [>`gdkscreen] obj -> int -> int -> int = "ml_gdk_screen_get_monitor_at_point" external get_height_mm: [>`gdkscreen] obj -> int = "ml_gdk_screen_get_height_mm" external get_height: [>`gdkscreen] obj -> int = "ml_gdk_screen_get_height" external get_font_options: [>`gdkscreen] obj -> [<`cairo_font_options_t] obj = "ml_gdk_screen_get_font_options" external get_display: [>`gdkscreen] obj -> [<`gdkdisplay] obj = "ml_gdk_screen_get_display" external get_active_window: [>`gdkscreen] obj -> [<`gdkwindow] obj = "ml_gdk_screen_get_active_window" external width_mm: unit -> int = "ml_gdk_screen_width_mm" external width: unit -> int = "ml_gdk_screen_width" external height_mm: unit -> int = "ml_gdk_screen_height_mm" external height: unit -> int = "ml_gdk_screen_height" external get_default: unit -> [<`gdkscreen] obj = "ml_gdk_screen_get_default" end module RGBA = struct external to_string: [>`gdkrgba] obj -> string = "ml_gdk_rgba_to_string" external parse: [>`gdkrgba] obj -> string -> bool = "ml_gdk_rgba_parse" external hash: [>`gdkrgba] obj -> int = "ml_gdk_rgba_hash" external free: [>`gdkrgba] obj -> unit = "ml_gdk_rgba_free" external copy: [>`gdkrgba] obj -> [<`gdkrgba] obj = "ml_gdk_rgba_copy" end module Point = struct end module KeymapKey = struct end module Keymap = struct external lookup_key: [>`gdkkeymap] obj -> [>`gdkkeymapkey] obj -> int = "ml_gdk_keymap_lookup_key" external have_bidi_layouts: [>`gdkkeymap] obj -> bool = "ml_gdk_keymap_have_bidi_layouts" external get_num_lock_state: [>`gdkkeymap] obj -> bool = "ml_gdk_keymap_get_num_lock_state" external get_caps_lock_state: [>`gdkkeymap] obj -> bool = "ml_gdk_keymap_get_caps_lock_state" external get_for_display: [>`gdkdisplay] obj -> [<`gdkkeymap] obj = "ml_gdk_keymap_get_for_display" external get_default: unit -> [<`gdkkeymap] obj = "ml_gdk_keymap_get_default" end module Geometry = struct end module EventWindowState = struct end module EventVisibility = struct end module EventSetting = struct end module EventSelection = struct end module EventScroll = struct end module EventProximity = struct end module EventProperty = struct end module EventOwnerChange = struct end module EventMotion = struct end module EventKey = struct end module EventGrabBroken = struct end module EventFocus = struct end module EventExpose = struct end module EventDND = struct end module EventCrossing = struct end module EventConfigure = struct end module EventButton = struct end module EventAny = struct end module DragContext = struct external set_device: [>`gdkdragcontext] obj -> [>`gdkdevice] obj -> unit = "ml_gdk_drag_context_set_device" external list_targets: [>`gdkdragcontext] obj -> [<`glist] obj = "ml_gdk_drag_context_list_targets" external get_source_window: [>`gdkdragcontext] obj -> [<`gdkwindow] obj = "ml_gdk_drag_context_get_source_window" external get_device: [>`gdkdragcontext] obj -> [<`gdkdevice] obj = "ml_gdk_drag_context_get_device" external get_dest_window: [>`gdkdragcontext] obj -> [<`gdkwindow] obj = "ml_gdk_drag_context_get_dest_window" end module DisplayManager = struct external set_default_display: [>`gdkdisplaymanager] obj -> [>`gdkdisplay] obj -> unit = "ml_gdk_display_manager_set_default_display" external open_display: [>`gdkdisplaymanager] obj -> string -> [<`gdkdisplay] obj = "ml_gdk_display_manager_open_display" external list_displays: [>`gdkdisplaymanager] obj -> [<`gslist] obj = "ml_gdk_display_manager_list_displays" external get_default_display: [>`gdkdisplaymanager] obj -> [<`gdkdisplay] obj = "ml_gdk_display_manager_get_default_display" external get: unit -> [<`gdkdisplaymanager] obj = "ml_gdk_display_manager_get" end module Display = struct external warp_pointer: [>`gdkdisplay] obj -> [>`gdkscreen] obj -> int -> int -> unit = "ml_gdk_display_warp_pointer" external sync: [>`gdkdisplay] obj -> unit = "ml_gdk_display_sync" external supports_shapes: [>`gdkdisplay] obj -> bool = "ml_gdk_display_supports_shapes" external supports_selection_notification: [>`gdkdisplay] obj -> bool = "ml_gdk_display_supports_selection_notification" external supports_input_shapes: [>`gdkdisplay] obj -> bool = "ml_gdk_display_supports_input_shapes" external supports_cursor_color: [>`gdkdisplay] obj -> bool = "ml_gdk_display_supports_cursor_color" external supports_cursor_alpha: [>`gdkdisplay] obj -> bool = "ml_gdk_display_supports_cursor_alpha" external supports_composite: [>`gdkdisplay] obj -> bool = "ml_gdk_display_supports_composite" external supports_clipboard_persistence: [>`gdkdisplay] obj -> bool = "ml_gdk_display_supports_clipboard_persistence" external set_double_click_time: [>`gdkdisplay] obj -> int -> unit = "ml_gdk_display_set_double_click_time" external set_double_click_distance: [>`gdkdisplay] obj -> int -> unit = "ml_gdk_display_set_double_click_distance" external pointer_ungrab: [>`gdkdisplay] obj -> int32 -> unit = "ml_gdk_display_pointer_ungrab" external pointer_is_grabbed: [>`gdkdisplay] obj -> bool = "ml_gdk_display_pointer_is_grabbed" external notify_startup_complete: [>`gdkdisplay] obj -> string -> unit = "ml_gdk_display_notify_startup_complete" external list_devices: [>`gdkdisplay] obj -> [<`glist] obj = "ml_gdk_display_list_devices" external keyboard_ungrab: [>`gdkdisplay] obj -> int32 -> unit = "ml_gdk_display_keyboard_ungrab" external is_closed: [>`gdkdisplay] obj -> bool = "ml_gdk_display_is_closed" external has_pending: [>`gdkdisplay] obj -> bool = "ml_gdk_display_has_pending" external get_screen: [>`gdkdisplay] obj -> int -> [<`gdkscreen] obj = "ml_gdk_display_get_screen" external get_name: [>`gdkdisplay] obj -> string = "ml_gdk_display_get_name" external get_n_screens: [>`gdkdisplay] obj -> int = "ml_gdk_display_get_n_screens" external get_device_manager: [>`gdkdisplay] obj -> [<`gdkdevicemanager] obj = "ml_gdk_display_get_device_manager" external get_default_screen: [>`gdkdisplay] obj -> [<`gdkscreen] obj = "ml_gdk_display_get_default_screen" external get_default_group: [>`gdkdisplay] obj -> [<`gdkwindow] obj = "ml_gdk_display_get_default_group" external get_default_cursor_size: [>`gdkdisplay] obj -> int = "ml_gdk_display_get_default_cursor_size" external get_app_launch_context: [>`gdkdisplay] obj -> [<`gdkapplaunchcontext] obj = "ml_gdk_display_get_app_launch_context" external flush: [>`gdkdisplay] obj -> unit = "ml_gdk_display_flush" external device_is_grabbed: [>`gdkdisplay] obj -> [>`gdkdevice] obj -> bool = "ml_gdk_display_device_is_grabbed" external close: [>`gdkdisplay] obj -> unit = "ml_gdk_display_close" external beep: [>`gdkdisplay] obj -> unit = "ml_gdk_display_beep" external open_default_libgtk_only: unit -> [<`gdkdisplay] obj = "ml_gdk_display_open_default_libgtk_only" external gdk_display_open: string -> [<`gdkdisplay] obj = "ml_gdk_display_open" external get_default: unit -> [<`gdkdisplay] obj = "ml_gdk_display_get_default" end module DeviceManager = struct external get_display: [>`gdkdevicemanager] obj -> [<`gdkdisplay] obj = "ml_gdk_device_manager_get_display" external get_client_pointer: [>`gdkdevicemanager] obj -> [<`gdkdevice] obj = "ml_gdk_device_manager_get_client_pointer" end module Device = struct external warp: [>`gdkdevice] obj -> [>`gdkscreen] obj -> int -> int -> unit = "ml_gdk_device_warp" external ungrab: [>`gdkdevice] obj -> int32 -> unit = "ml_gdk_device_ungrab" external list_slave_devices: [>`gdkdevice] obj -> [<`glist] obj = "ml_gdk_device_list_slave_devices" external list_axes: [>`gdkdevice] obj -> [<`glist] obj = "ml_gdk_device_list_axes" external get_name: [>`gdkdevice] obj -> string = "ml_gdk_device_get_name" external get_n_keys: [>`gdkdevice] obj -> int = "ml_gdk_device_get_n_keys" external get_n_axes: [>`gdkdevice] obj -> int = "ml_gdk_device_get_n_axes" external get_has_cursor: [>`gdkdevice] obj -> bool = "ml_gdk_device_get_has_cursor" external get_display: [>`gdkdevice] obj -> [<`gdkdisplay] obj = "ml_gdk_device_get_display" external get_associated_device: [>`gdkdevice] obj -> [<`gdkdevice] obj = "ml_gdk_device_get_associated_device" end module Cursor = struct external unref: [>`gdkcursor] obj -> unit = "ml_gdk_cursor_unref" external ref: [>`gdkcursor] obj -> [<`gdkcursor] obj = "ml_gdk_cursor_ref" external get_image: [>`gdkcursor] obj -> [<`gdkpixbuf] obj = "ml_gdk_cursor_get_image" external get_display: [>`gdkcursor] obj -> [<`gdkdisplay] obj = "ml_gdk_cursor_get_display" end module Color = struct external to_string: [>`gdkcolor] obj -> string = "ml_gdk_color_to_string" external hash: [>`gdkcolor] obj -> int = "ml_gdk_color_hash" external free: [>`gdkcolor] obj -> unit = "ml_gdk_color_free" external equal: [>`gdkcolor] obj -> [>`gdkcolor] obj -> bool = "ml_gdk_color_equal" external copy: [>`gdkcolor] obj -> [<`gdkcolor] obj = "ml_gdk_color_copy" end module Atom = struct end module AppLaunchContext = struct external set_timestamp: [>`gdkapplaunchcontext] obj -> int32 -> unit = "ml_gdk_app_launch_context_set_timestamp" external set_screen: [>`gdkapplaunchcontext] obj -> [>`gdkscreen] obj -> unit = "ml_gdk_app_launch_context_set_screen" external set_icon_name: [>`gdkapplaunchcontext] obj -> string option -> unit = "ml_gdk_app_launch_context_set_icon_name" external set_display: [>`gdkapplaunchcontext] obj -> [>`gdkdisplay] obj -> unit = "ml_gdk_app_launch_context_set_display" external set_desktop: [>`gdkapplaunchcontext] obj -> int -> unit = "ml_gdk_app_launch_context_set_desktop" end (* Global functions *) external utf8_to_string_target: string -> string = "ml_gdk_utf8_to_string_target" external unicode_to_keyval: int32 -> int = "ml_gdk_unicode_to_keyval" external threads_leave: unit -> unit = "ml_gdk_threads_leave" external threads_init: unit -> unit = "ml_gdk_threads_init" external threads_enter: unit -> unit = "ml_gdk_threads_enter" external test_render_sync: [>`gdkwindow] obj -> unit = "ml_gdk_test_render_sync" external setting_get: string -> [>`gvalue] obj -> bool = "ml_gdk_setting_get" external set_show_events: bool -> unit = "ml_gdk_set_show_events" external set_program_class: string -> unit = "ml_gdk_set_program_class" external set_double_click_time: int -> unit = "ml_gdk_set_double_click_time" external rectangle_get_type: unit -> int = "ml_gdk_rectangle_get_type" external pre_parse_libgtk_only: unit -> unit = "ml_gdk_pre_parse_libgtk_only" external pointer_ungrab: int32 -> unit = "ml_gdk_pointer_ungrab" external pointer_is_grabbed: unit -> bool = "ml_gdk_pointer_is_grabbed" external pixbuf_get_from_window: [>`gdkwindow] obj -> int -> int -> int -> int -> [<`gdkpixbuf] obj = "ml_gdk_pixbuf_get_from_window" external pixbuf_get_from_surface: [>`cairo_surface_t] obj -> int -> int -> int -> int -> [<`gdkpixbuf] obj = "ml_gdk_pixbuf_get_from_surface" external pango_context_get_for_screen: [>`gdkscreen] obj -> [<`pangocontext] obj = "ml_gdk_pango_context_get_for_screen" external pango_context_get: unit -> [<`pangocontext] obj = "ml_gdk_pango_context_get" external offscreen_window_set_embedder: [>`gdkwindow] obj -> [>`gdkwindow] obj -> unit = "ml_gdk_offscreen_window_set_embedder" external offscreen_window_get_surface: [>`gdkwindow] obj -> [<`cairo_surface_t] obj = "ml_gdk_offscreen_window_get_surface" external offscreen_window_get_embedder: [>`gdkwindow] obj -> [<`gdkwindow] obj = "ml_gdk_offscreen_window_get_embedder" external notify_startup_complete_with_id: string -> unit = "ml_gdk_notify_startup_complete_with_id" external notify_startup_complete: unit -> unit = "ml_gdk_notify_startup_complete" external list_visuals: unit -> [<`glist] obj = "ml_gdk_list_visuals" external keyval_to_upper: int -> int = "ml_gdk_keyval_to_upper" external keyval_to_unicode: int -> int32 = "ml_gdk_keyval_to_unicode" external keyval_to_lower: int -> int = "ml_gdk_keyval_to_lower" external keyval_name: int -> string = "ml_gdk_keyval_name" external keyval_is_upper: int -> bool = "ml_gdk_keyval_is_upper" external keyval_is_lower: int -> bool = "ml_gdk_keyval_is_lower" external keyval_from_name: string -> int = "ml_gdk_keyval_from_name" external keyboard_ungrab: int32 -> unit = "ml_gdk_keyboard_ungrab" external get_show_events: unit -> bool = "ml_gdk_get_show_events" external get_program_class: unit -> string = "ml_gdk_get_program_class" external get_display_arg_name: unit -> string = "ml_gdk_get_display_arg_name" external get_display: unit -> string = "ml_gdk_get_display" external get_default_root_window: unit -> [<`gdkwindow] obj = "ml_gdk_get_default_root_window" external flush: unit -> unit = "ml_gdk_flush" external events_pending: unit -> bool = "ml_gdk_events_pending" external event_request_motions: [>`gdkeventmotion] obj -> unit = "ml_gdk_event_request_motions" external error_trap_push: unit -> unit = "ml_gdk_error_trap_push" external error_trap_pop_ignored: unit -> unit = "ml_gdk_error_trap_pop_ignored" external error_trap_pop: unit -> int = "ml_gdk_error_trap_pop" external drop_reply: [>`gdkdragcontext] obj -> bool -> int32 -> unit = "ml_gdk_drop_reply" external drop_finish: [>`gdkdragcontext] obj -> bool -> int32 -> unit = "ml_gdk_drop_finish" external drag_drop_succeeded: [>`gdkdragcontext] obj -> bool = "ml_gdk_drag_drop_succeeded" external drag_drop: [>`gdkdragcontext] obj -> int32 -> unit = "ml_gdk_drag_drop" external drag_begin_for_device: [>`gdkwindow] obj -> [>`gdkdevice] obj -> [>`glist] obj -> [<`gdkdragcontext] obj = "ml_gdk_drag_begin_for_device" external drag_begin: [>`gdkwindow] obj -> [>`glist] obj -> [<`gdkdragcontext] obj = "ml_gdk_drag_begin" external drag_abort: [>`gdkdragcontext] obj -> int32 -> unit = "ml_gdk_drag_abort" external disable_multidevice: unit -> unit = "ml_gdk_disable_multidevice" external cairo_set_source_window: [>`cairo_t] obj -> [>`gdkwindow] obj -> float -> float -> unit = "ml_gdk_cairo_set_source_window" external cairo_set_source_rgba: [>`cairo_t] obj -> [>`gdkrgba] obj -> unit = "ml_gdk_cairo_set_source_rgba" external cairo_set_source_pixbuf: [>`cairo_t] obj -> [>`gdkpixbuf] obj -> float -> float -> unit = "ml_gdk_cairo_set_source_pixbuf" external cairo_set_source_color: [>`cairo_t] obj -> [>`gdkcolor] obj -> unit = "ml_gdk_cairo_set_source_color" external cairo_region_create_from_surface: [>`cairo_surface_t] obj -> [<`cairo_region_t] obj = "ml_gdk_cairo_region_create_from_surface" external cairo_region: [>`cairo_t] obj -> [>`cairo_region_t] obj -> unit = "ml_gdk_cairo_region" external cairo_create: [>`gdkwindow] obj -> [<`cairo_t] obj = "ml_gdk_cairo_create" external beep: unit -> unit = "ml_gdk_beep" external add_option_entries_libgtk_only: [>`goptiongroup] obj -> unit = "ml_gdk_add_option_entries_libgtk_only" (* End of global functions *) lablgtk-3.1.2/tools/introspection/stubs/stubs_GdkPixbuf.ml0000644000650106067230000001235414161276610022642 0ustar glondusedtype -'a obj module Pixdata = struct end module PixbufSimpleAnimIter = struct end module PixbufSimpleAnimClass = struct end module PixbufSimpleAnim = struct external set_loop: [>`gdkpixbufsimpleanim] obj -> bool -> unit = "ml_gdk_pixbuf_simple_anim_set_loop" external get_loop: [>`gdkpixbufsimpleanim] obj -> bool = "ml_gdk_pixbuf_simple_anim_get_loop" external add_frame: [>`gdkpixbufsimpleanim] obj -> [>`gdkpixbuf] obj -> unit = "ml_gdk_pixbuf_simple_anim_add_frame" end module PixbufNonAnim = struct end module PixbufModulePattern = struct end module PixbufModule = struct end module PixbufLoaderClass = struct end module PixbufLoader = struct external set_size: [>`gdkpixbufloader] obj -> int -> int -> unit = "ml_gdk_pixbuf_loader_set_size" external get_pixbuf: [>`gdkpixbufloader] obj -> [<`gdkpixbuf] obj = "ml_gdk_pixbuf_loader_get_pixbuf" external get_format: [>`gdkpixbufloader] obj -> [<`gdkpixbufformat] obj = "ml_gdk_pixbuf_loader_get_format" external get_animation: [>`gdkpixbufloader] obj -> [<`gdkpixbufanimation] obj = "ml_gdk_pixbuf_loader_get_animation" end module PixbufFormat = struct external set_disabled: [>`gdkpixbufformat] obj -> bool -> unit = "ml_gdk_pixbuf_format_set_disabled" external is_writable: [>`gdkpixbufformat] obj -> bool = "ml_gdk_pixbuf_format_is_writable" external is_scalable: [>`gdkpixbufformat] obj -> bool = "ml_gdk_pixbuf_format_is_scalable" external is_disabled: [>`gdkpixbufformat] obj -> bool = "ml_gdk_pixbuf_format_is_disabled" external get_name: [>`gdkpixbufformat] obj -> string = "ml_gdk_pixbuf_format_get_name" external get_license: [>`gdkpixbufformat] obj -> string = "ml_gdk_pixbuf_format_get_license" external get_description: [>`gdkpixbufformat] obj -> string = "ml_gdk_pixbuf_format_get_description" external free: [>`gdkpixbufformat] obj -> unit = "ml_gdk_pixbuf_format_free" external copy: [>`gdkpixbufformat] obj -> [<`gdkpixbufformat] obj = "ml_gdk_pixbuf_format_copy" end module PixbufAnimationIterClass = struct end module PixbufAnimationIter = struct external on_currently_loading_frame: [>`gdkpixbufanimationiter] obj -> bool = "ml_gdk_pixbuf_animation_iter_on_currently_loading_frame" external get_pixbuf: [>`gdkpixbufanimationiter] obj -> [<`gdkpixbuf] obj = "ml_gdk_pixbuf_animation_iter_get_pixbuf" external get_delay_time: [>`gdkpixbufanimationiter] obj -> int = "ml_gdk_pixbuf_animation_iter_get_delay_time" external advance: [>`gdkpixbufanimationiter] obj -> [>`gtimeval] obj -> bool = "ml_gdk_pixbuf_animation_iter_advance" end module PixbufAnimationClass = struct end module PixbufAnimation = struct external unref: [>`gdkpixbufanimation] obj -> unit = "ml_gdk_pixbuf_animation_unref" external ref: [>`gdkpixbufanimation] obj -> [<`gdkpixbufanimation] obj = "ml_gdk_pixbuf_animation_ref" external is_static_image: [>`gdkpixbufanimation] obj -> bool = "ml_gdk_pixbuf_animation_is_static_image" external get_width: [>`gdkpixbufanimation] obj -> int = "ml_gdk_pixbuf_animation_get_width" external get_static_image: [>`gdkpixbufanimation] obj -> [<`gdkpixbuf] obj = "ml_gdk_pixbuf_animation_get_static_image" external get_iter: [>`gdkpixbufanimation] obj -> [>`gtimeval] obj -> [<`gdkpixbufanimationiter] obj = "ml_gdk_pixbuf_animation_get_iter" external get_height: [>`gdkpixbufanimation] obj -> int = "ml_gdk_pixbuf_animation_get_height" end module Pixbuf = struct external unref: [>`gdkpixbuf] obj -> unit = "ml_gdk_pixbuf_unref" external set_option: [>`gdkpixbuf] obj -> string -> string -> bool = "ml_gdk_pixbuf_set_option" external ref: [>`gdkpixbuf] obj -> [<`gdkpixbuf] obj = "ml_gdk_pixbuf_ref" external new_subpixbuf: [>`gdkpixbuf] obj -> int -> int -> int -> int -> [<`gdkpixbuf] obj = "ml_gdk_pixbuf_new_subpixbuf" external get_width: [>`gdkpixbuf] obj -> int = "ml_gdk_pixbuf_get_width" external get_rowstride: [>`gdkpixbuf] obj -> int = "ml_gdk_pixbuf_get_rowstride" external get_pixels: [>`gdkpixbuf] obj -> string = "ml_gdk_pixbuf_get_pixels" external get_option: [>`gdkpixbuf] obj -> string -> string = "ml_gdk_pixbuf_get_option" external get_n_channels: [>`gdkpixbuf] obj -> int = "ml_gdk_pixbuf_get_n_channels" external get_height: [>`gdkpixbuf] obj -> int = "ml_gdk_pixbuf_get_height" external get_has_alpha: [>`gdkpixbuf] obj -> bool = "ml_gdk_pixbuf_get_has_alpha" external get_bits_per_sample: [>`gdkpixbuf] obj -> int = "ml_gdk_pixbuf_get_bits_per_sample" external flip: [>`gdkpixbuf] obj -> bool -> [<`gdkpixbuf] obj = "ml_gdk_pixbuf_flip" external fill: [>`gdkpixbuf] obj -> int32 -> unit = "ml_gdk_pixbuf_fill" external copy_area: [>`gdkpixbuf] obj -> int -> int -> int -> int -> [>`gdkpixbuf] obj -> int -> int -> unit = "ml_gdk_pixbuf_copy_area" external copy: [>`gdkpixbuf] obj -> [<`gdkpixbuf] obj = "ml_gdk_pixbuf_copy" external apply_embedded_orientation: [>`gdkpixbuf] obj -> [<`gdkpixbuf] obj = "ml_gdk_pixbuf_apply_embedded_orientation" external add_alpha: [>`gdkpixbuf] obj -> bool -> int -> int -> int -> [<`gdkpixbuf] obj = "ml_gdk_pixbuf_add_alpha" external gettext: string -> string = "ml_gdk_pixbuf_gettext" external get_formats: unit -> [<`gslist] obj = "ml_gdk_pixbuf_get_formats" end (* Global functions *) external pixbuf_error_quark: unit -> int32 = "ml_gdk_pixbuf_error_quark" (* End of global functions *) lablgtk-3.1.2/tools/introspection/stubs/stubs_Gio.ml0000644000650106067230000015322114161276610021474 0ustar glondusedtype -'a obj module ZlibDecompressorClass = struct end module ZlibDecompressor = struct external get_file_info: [>`gzlibdecompressor] obj -> [<`gfileinfo] obj = "ml_g_zlib_decompressor_get_file_info" end module ZlibCompressorClass = struct end module ZlibCompressor = struct external set_file_info: [>`gzlibcompressor] obj -> [>`gfileinfo] obj option -> unit = "ml_g_zlib_compressor_set_file_info" external get_file_info: [>`gzlibcompressor] obj -> [<`gfileinfo] obj = "ml_g_zlib_compressor_get_file_info" end module VolumeMonitorClass = struct end module VolumeMonitor = struct external get_volumes: [>`gvolumemonitor] obj -> [<`glist] obj = "ml_g_volume_monitor_get_volumes" external get_mounts: [>`gvolumemonitor] obj -> [<`glist] obj = "ml_g_volume_monitor_get_mounts" external get_connected_drives: [>`gvolumemonitor] obj -> [<`glist] obj = "ml_g_volume_monitor_get_connected_drives" external get: unit -> [<`gvolumemonitor] obj = "ml_g_volume_monitor_get" end module VolumeIface = struct end module VfsClass = struct end module Vfs = struct external is_active: [>`gvfs] obj -> bool = "ml_g_vfs_is_active" external get_local: unit -> [<`gvfs] obj = "ml_g_vfs_get_local" external get_default: unit -> [<`gvfs] obj = "ml_g_vfs_get_default" end module UnixSocketAddressPrivate = struct end module UnixSocketAddressClass = struct end module UnixSocketAddress = struct external get_path_len: [>`gunixsocketaddress] obj -> int = "ml_g_unix_socket_address_get_path_len" external get_path: [>`gunixsocketaddress] obj -> string = "ml_g_unix_socket_address_get_path" external get_is_abstract: [>`gunixsocketaddress] obj -> bool = "ml_g_unix_socket_address_get_is_abstract" external abstract_names_supported: unit -> bool = "ml_g_unix_socket_address_abstract_names_supported" end module UnixOutputStreamPrivate = struct end module UnixOutputStreamClass = struct end module UnixOutputStream = struct external set_close_fd: [>`gunixoutputstream] obj -> bool -> unit = "ml_g_unix_output_stream_set_close_fd" external get_fd: [>`gunixoutputstream] obj -> int = "ml_g_unix_output_stream_get_fd" external get_close_fd: [>`gunixoutputstream] obj -> bool = "ml_g_unix_output_stream_get_close_fd" end module UnixMountPoint = struct external is_user_mountable: [>`gunixmountpoint] obj -> bool = "ml_g_unix_mount_point_is_user_mountable" external is_readonly: [>`gunixmountpoint] obj -> bool = "ml_g_unix_mount_point_is_readonly" external is_loopback: [>`gunixmountpoint] obj -> bool = "ml_g_unix_mount_point_is_loopback" external guess_name: [>`gunixmountpoint] obj -> string = "ml_g_unix_mount_point_guess_name" external guess_can_eject: [>`gunixmountpoint] obj -> bool = "ml_g_unix_mount_point_guess_can_eject" external get_mount_path: [>`gunixmountpoint] obj -> string = "ml_g_unix_mount_point_get_mount_path" external get_fs_type: [>`gunixmountpoint] obj -> string = "ml_g_unix_mount_point_get_fs_type" external get_device_path: [>`gunixmountpoint] obj -> string = "ml_g_unix_mount_point_get_device_path" external free: [>`gunixmountpoint] obj -> unit = "ml_g_unix_mount_point_free" external compare: [>`gunixmountpoint] obj -> [>`gunixmountpoint] obj -> int = "ml_g_unix_mount_point_compare" end module UnixMountMonitorClass = struct end module UnixMountMonitor = struct external set_rate_limit: [>`gunixmountmonitor] obj -> int -> unit = "ml_g_unix_mount_monitor_set_rate_limit" end module UnixMountEntry = struct end module UnixInputStreamPrivate = struct end module UnixInputStreamClass = struct end module UnixInputStream = struct external set_close_fd: [>`gunixinputstream] obj -> bool -> unit = "ml_g_unix_input_stream_set_close_fd" external get_fd: [>`gunixinputstream] obj -> int = "ml_g_unix_input_stream_get_fd" external get_close_fd: [>`gunixinputstream] obj -> bool = "ml_g_unix_input_stream_get_close_fd" end module UnixFDMessagePrivate = struct end module UnixFDMessageClass = struct end module UnixFDMessage = struct external get_fd_list: [>`gunixfdmessage] obj -> [<`gunixfdlist] obj = "ml_g_unix_fd_message_get_fd_list" end module UnixFDListPrivate = struct end module UnixFDListClass = struct end module UnixFDList = struct external get_length: [>`gunixfdlist] obj -> int = "ml_g_unix_fd_list_get_length" end module UnixCredentialsMessagePrivate = struct end module UnixCredentialsMessageClass = struct end module UnixCredentialsMessage = struct external get_credentials: [>`gunixcredentialsmessage] obj -> [<`gcredentials] obj = "ml_g_unix_credentials_message_get_credentials" external is_supported: unit -> bool = "ml_g_unix_credentials_message_is_supported" end module UnixConnectionPrivate = struct end module UnixConnectionClass = struct end module UnixConnection = struct end module TlsServerContext = struct end module TlsServerConnectionInterface = struct end module TlsContext = struct end module TlsConnectionPrivate = struct end module TlsConnectionClass = struct end module TlsConnection = struct external set_use_system_certdb: [>`gtlsconnection] obj -> bool -> unit = "ml_g_tls_connection_set_use_system_certdb" external set_require_close_notify: [>`gtlsconnection] obj -> bool -> unit = "ml_g_tls_connection_set_require_close_notify" external set_certificate: [>`gtlsconnection] obj -> [>`gtlscertificate] obj -> unit = "ml_g_tls_connection_set_certificate" external get_use_system_certdb: [>`gtlsconnection] obj -> bool = "ml_g_tls_connection_get_use_system_certdb" external get_require_close_notify: [>`gtlsconnection] obj -> bool = "ml_g_tls_connection_get_require_close_notify" external get_peer_certificate: [>`gtlsconnection] obj -> [<`gtlscertificate] obj = "ml_g_tls_connection_get_peer_certificate" external get_certificate: [>`gtlsconnection] obj -> [<`gtlscertificate] obj = "ml_g_tls_connection_get_certificate" end module TlsClientContext = struct end module TlsClientConnectionInterface = struct end module TlsCertificatePrivate = struct end module TlsCertificateClass = struct end module TlsCertificate = struct external get_issuer: [>`gtlscertificate] obj -> [<`gtlscertificate] obj = "ml_g_tls_certificate_get_issuer" end module TlsBackendInterface = struct end module ThreadedSocketServicePrivate = struct end module ThreadedSocketServiceClass = struct end module ThreadedSocketService = struct end module ThemedIconClass = struct end module ThemedIcon = struct external prepend_name: [>`gthemedicon] obj -> string -> unit = "ml_g_themed_icon_prepend_name" external append_name: [>`gthemedicon] obj -> string -> unit = "ml_g_themed_icon_append_name" end module TcpWrapperConnectionPrivate = struct end module TcpWrapperConnectionClass = struct end module TcpWrapperConnection = struct external get_base_io_stream: [>`gtcpwrapperconnection] obj -> [<`giostream] obj = "ml_g_tcp_wrapper_connection_get_base_io_stream" end module TcpConnectionPrivate = struct end module TcpConnectionClass = struct end module TcpConnection = struct external set_graceful_disconnect: [>`gtcpconnection] obj -> bool -> unit = "ml_g_tcp_connection_set_graceful_disconnect" external get_graceful_disconnect: [>`gtcpconnection] obj -> bool = "ml_g_tcp_connection_get_graceful_disconnect" end module SrvTarget = struct external get_weight: [>`gsrvtarget] obj -> int = "ml_g_srv_target_get_weight" external get_priority: [>`gsrvtarget] obj -> int = "ml_g_srv_target_get_priority" external get_port: [>`gsrvtarget] obj -> int = "ml_g_srv_target_get_port" external get_hostname: [>`gsrvtarget] obj -> string = "ml_g_srv_target_get_hostname" external free: [>`gsrvtarget] obj -> unit = "ml_g_srv_target_free" external copy: [>`gsrvtarget] obj -> [<`gsrvtarget] obj = "ml_g_srv_target_copy" end module SocketServicePrivate = struct end module SocketServiceClass = struct end module SocketService = struct external stop: [>`gsocketservice] obj -> unit = "ml_g_socket_service_stop" external start: [>`gsocketservice] obj -> unit = "ml_g_socket_service_start" external is_active: [>`gsocketservice] obj -> bool = "ml_g_socket_service_is_active" end module SocketPrivate = struct end module SocketListenerPrivate = struct end module SocketListenerClass = struct end module SocketListener = struct external set_backlog: [>`gsocketlistener] obj -> int -> unit = "ml_g_socket_listener_set_backlog" external close: [>`gsocketlistener] obj -> unit = "ml_g_socket_listener_close" end module SocketControlMessagePrivate = struct end module SocketControlMessageClass = struct end module SocketControlMessage = struct external get_size: [>`gsocketcontrolmessage] obj -> int = "ml_g_socket_control_message_get_size" external get_msg_type: [>`gsocketcontrolmessage] obj -> int = "ml_g_socket_control_message_get_msg_type" external get_level: [>`gsocketcontrolmessage] obj -> int = "ml_g_socket_control_message_get_level" end module SocketConnectionPrivate = struct end module SocketConnectionClass = struct end module SocketConnection = struct external get_socket: [>`gsocketconnection] obj -> [<`gsocket] obj = "ml_g_socket_connection_get_socket" end module SocketConnectableIface = struct end module SocketClientPrivate = struct end module SocketClientClass = struct end module SocketClient = struct external set_tls: [>`gsocketclient] obj -> bool -> unit = "ml_g_socket_client_set_tls" external set_timeout: [>`gsocketclient] obj -> int -> unit = "ml_g_socket_client_set_timeout" external set_local_address: [>`gsocketclient] obj -> [>`gsocketaddress] obj -> unit = "ml_g_socket_client_set_local_address" external set_enable_proxy: [>`gsocketclient] obj -> bool -> unit = "ml_g_socket_client_set_enable_proxy" external get_tls: [>`gsocketclient] obj -> bool = "ml_g_socket_client_get_tls" external get_timeout: [>`gsocketclient] obj -> int = "ml_g_socket_client_get_timeout" external get_local_address: [>`gsocketclient] obj -> [<`gsocketaddress] obj = "ml_g_socket_client_get_local_address" external get_enable_proxy: [>`gsocketclient] obj -> bool = "ml_g_socket_client_get_enable_proxy" external add_application_proxy: [>`gsocketclient] obj -> string -> unit = "ml_g_socket_client_add_application_proxy" end module SocketClass = struct end module SocketAddressEnumeratorClass = struct end module SocketAddressEnumerator = struct end module SocketAddressClass = struct end module SocketAddress = struct external get_native_size: [>`gsocketaddress] obj -> int = "ml_g_socket_address_get_native_size" end module Socket = struct external speaks_ipv4: [>`gsocket] obj -> bool = "ml_g_socket_speaks_ipv4" external set_timeout: [>`gsocket] obj -> int -> unit = "ml_g_socket_set_timeout" external set_listen_backlog: [>`gsocket] obj -> int -> unit = "ml_g_socket_set_listen_backlog" external set_keepalive: [>`gsocket] obj -> bool -> unit = "ml_g_socket_set_keepalive" external set_blocking: [>`gsocket] obj -> bool -> unit = "ml_g_socket_set_blocking" external is_connected: [>`gsocket] obj -> bool = "ml_g_socket_is_connected" external is_closed: [>`gsocket] obj -> bool = "ml_g_socket_is_closed" external get_timeout: [>`gsocket] obj -> int = "ml_g_socket_get_timeout" external get_listen_backlog: [>`gsocket] obj -> int = "ml_g_socket_get_listen_backlog" external get_keepalive: [>`gsocket] obj -> bool = "ml_g_socket_get_keepalive" external get_fd: [>`gsocket] obj -> int = "ml_g_socket_get_fd" external get_blocking: [>`gsocket] obj -> bool = "ml_g_socket_get_blocking" external connection_factory_create_connection: [>`gsocket] obj -> [<`gsocketconnection] obj = "ml_g_socket_connection_factory_create_connection" end module SimplePermission = struct end module SimpleAsyncResultClass = struct end module SimpleAsyncResult = struct external take_error: [>`gsimpleasyncresult] obj -> [>`gerror] obj -> unit = "ml_g_simple_async_result_take_error" external set_op_res_gssize: [>`gsimpleasyncresult] obj -> int -> unit = "ml_g_simple_async_result_set_op_res_gssize" external set_op_res_gboolean: [>`gsimpleasyncresult] obj -> bool -> unit = "ml_g_simple_async_result_set_op_res_gboolean" external set_handle_cancellation: [>`gsimpleasyncresult] obj -> bool -> unit = "ml_g_simple_async_result_set_handle_cancellation" external set_from_error: [>`gsimpleasyncresult] obj -> [>`gerror] obj -> unit = "ml_g_simple_async_result_set_from_error" external get_op_res_gssize: [>`gsimpleasyncresult] obj -> int = "ml_g_simple_async_result_get_op_res_gssize" external get_op_res_gboolean: [>`gsimpleasyncresult] obj -> bool = "ml_g_simple_async_result_get_op_res_gboolean" external complete_in_idle: [>`gsimpleasyncresult] obj -> unit = "ml_g_simple_async_result_complete_in_idle" external complete: [>`gsimpleasyncresult] obj -> unit = "ml_g_simple_async_result_complete" end module SimpleActionPrivate = struct end module SimpleActionGroupPrivate = struct end module SimpleActionGroupClass = struct end module SimpleActionGroup = struct external remove: [>`gsimpleactiongroup] obj -> string -> unit = "ml_g_simple_action_group_remove" end module SimpleActionClass = struct end module SimpleAction = struct external set_enabled: [>`gsimpleaction] obj -> bool -> unit = "ml_g_simple_action_set_enabled" end module SettingsPrivate = struct end module SettingsClass = struct end module SettingsBackend = struct end module Settings = struct external set_value: [>`gsettings] obj -> string -> [>`gvariant] obj -> bool = "ml_g_settings_set_value" external set_string: [>`gsettings] obj -> string -> string -> bool = "ml_g_settings_set_string" external set_int: [>`gsettings] obj -> string -> int -> bool = "ml_g_settings_set_int" external set_flags: [>`gsettings] obj -> string -> int -> bool = "ml_g_settings_set_flags" external set_enum: [>`gsettings] obj -> string -> int -> bool = "ml_g_settings_set_enum" external set_double: [>`gsettings] obj -> string -> float -> bool = "ml_g_settings_set_double" external set_boolean: [>`gsettings] obj -> string -> bool -> bool = "ml_g_settings_set_boolean" external revert: [>`gsettings] obj -> unit = "ml_g_settings_revert" external reset: [>`gsettings] obj -> string -> unit = "ml_g_settings_reset" external range_check: [>`gsettings] obj -> string -> [>`gvariant] obj -> bool = "ml_g_settings_range_check" external is_writable: [>`gsettings] obj -> string -> bool = "ml_g_settings_is_writable" external get_value: [>`gsettings] obj -> string -> [<`gvariant] obj = "ml_g_settings_get_value" external get_string: [>`gsettings] obj -> string -> string = "ml_g_settings_get_string" external get_range: [>`gsettings] obj -> string -> [<`gvariant] obj = "ml_g_settings_get_range" external get_int: [>`gsettings] obj -> string -> int = "ml_g_settings_get_int" external get_has_unapplied: [>`gsettings] obj -> bool = "ml_g_settings_get_has_unapplied" external get_flags: [>`gsettings] obj -> string -> int = "ml_g_settings_get_flags" external get_enum: [>`gsettings] obj -> string -> int = "ml_g_settings_get_enum" external get_double: [>`gsettings] obj -> string -> float = "ml_g_settings_get_double" external get_child: [>`gsettings] obj -> string -> [<`gsettings] obj = "ml_g_settings_get_child" external get_boolean: [>`gsettings] obj -> string -> bool = "ml_g_settings_get_boolean" external delay: [>`gsettings] obj -> unit = "ml_g_settings_delay" external apply: [>`gsettings] obj -> unit = "ml_g_settings_apply" external sync: unit -> unit = "ml_g_settings_sync" end module SeekableIface = struct end module ResolverPrivate = struct end module ResolverClass = struct end module Resolver = struct external set_default: [>`gresolver] obj -> unit = "ml_g_resolver_set_default" external get_default: unit -> [<`gresolver] obj = "ml_g_resolver_get_default" external free_targets: [>`glist] obj -> unit = "ml_g_resolver_free_targets" external free_addresses: [>`glist] obj -> unit = "ml_g_resolver_free_addresses" end module ProxyResolverInterface = struct end module ProxyInterface = struct end module ProxyAddressPrivate = struct end module ProxyAddressEnumeratorPrivate = struct end module ProxyAddressEnumeratorClass = struct end module ProxyAddressEnumerator = struct end module ProxyAddressClass = struct end module ProxyAddress = struct external get_username: [>`gproxyaddress] obj -> string = "ml_g_proxy_address_get_username" external get_protocol: [>`gproxyaddress] obj -> string = "ml_g_proxy_address_get_protocol" external get_password: [>`gproxyaddress] obj -> string = "ml_g_proxy_address_get_password" external get_destination_port: [>`gproxyaddress] obj -> int = "ml_g_proxy_address_get_destination_port" external get_destination_hostname: [>`gproxyaddress] obj -> string = "ml_g_proxy_address_get_destination_hostname" end module PollableOutputStreamInterface = struct end module PollableInputStreamInterface = struct end module PermissionPrivate = struct end module PermissionClass = struct end module Permission = struct external impl_update: [>`gpermission] obj -> bool -> bool -> bool -> unit = "ml_g_permission_impl_update" external get_can_release: [>`gpermission] obj -> bool = "ml_g_permission_get_can_release" external get_can_acquire: [>`gpermission] obj -> bool = "ml_g_permission_get_can_acquire" external get_allowed: [>`gpermission] obj -> bool = "ml_g_permission_get_allowed" end module OutputVector = struct end module OutputStreamPrivate = struct end module OutputStreamClass = struct end module OutputStream = struct external is_closing: [>`goutputstream] obj -> bool = "ml_g_output_stream_is_closing" external is_closed: [>`goutputstream] obj -> bool = "ml_g_output_stream_is_closed" external has_pending: [>`goutputstream] obj -> bool = "ml_g_output_stream_has_pending" external clear_pending: [>`goutputstream] obj -> unit = "ml_g_output_stream_clear_pending" end module NetworkServicePrivate = struct end module NetworkServiceClass = struct end module NetworkService = struct external set_scheme: [>`gnetworkservice] obj -> string -> unit = "ml_g_network_service_set_scheme" external get_service: [>`gnetworkservice] obj -> string = "ml_g_network_service_get_service" external get_scheme: [>`gnetworkservice] obj -> string = "ml_g_network_service_get_scheme" external get_protocol: [>`gnetworkservice] obj -> string = "ml_g_network_service_get_protocol" external get_domain: [>`gnetworkservice] obj -> string = "ml_g_network_service_get_domain" end module NetworkAddressPrivate = struct end module NetworkAddressClass = struct end module NetworkAddress = struct external get_scheme: [>`gnetworkaddress] obj -> string = "ml_g_network_address_get_scheme" external get_port: [>`gnetworkaddress] obj -> int = "ml_g_network_address_get_port" external get_hostname: [>`gnetworkaddress] obj -> string = "ml_g_network_address_get_hostname" end module NativeVolumeMonitorClass = struct end module NativeVolumeMonitor = struct end module MountOperationPrivate = struct end module MountOperationClass = struct end module MountOperation = struct external set_username: [>`gmountoperation] obj -> string -> unit = "ml_g_mount_operation_set_username" external set_password: [>`gmountoperation] obj -> string -> unit = "ml_g_mount_operation_set_password" external set_domain: [>`gmountoperation] obj -> string -> unit = "ml_g_mount_operation_set_domain" external set_choice: [>`gmountoperation] obj -> int -> unit = "ml_g_mount_operation_set_choice" external set_anonymous: [>`gmountoperation] obj -> bool -> unit = "ml_g_mount_operation_set_anonymous" external get_username: [>`gmountoperation] obj -> string = "ml_g_mount_operation_get_username" external get_password: [>`gmountoperation] obj -> string = "ml_g_mount_operation_get_password" external get_domain: [>`gmountoperation] obj -> string = "ml_g_mount_operation_get_domain" external get_choice: [>`gmountoperation] obj -> int = "ml_g_mount_operation_get_choice" external get_anonymous: [>`gmountoperation] obj -> bool = "ml_g_mount_operation_get_anonymous" end module MountIface = struct end module MemoryOutputStreamPrivate = struct end module MemoryOutputStreamClass = struct end module MemoryOutputStream = struct external get_size: [>`gmemoryoutputstream] obj -> int = "ml_g_memory_output_stream_get_size" external get_data_size: [>`gmemoryoutputstream] obj -> int = "ml_g_memory_output_stream_get_data_size" end module MemoryInputStreamPrivate = struct end module MemoryInputStreamClass = struct end module MemoryInputStream = struct end module LoadableIconIface = struct end module InputVector = struct end module InputStreamPrivate = struct end module InputStreamClass = struct end module InputStream = struct external is_closed: [>`ginputstream] obj -> bool = "ml_g_input_stream_is_closed" external has_pending: [>`ginputstream] obj -> bool = "ml_g_input_stream_has_pending" external clear_pending: [>`ginputstream] obj -> unit = "ml_g_input_stream_clear_pending" end module InitableIface = struct end module InetSocketAddressPrivate = struct end module InetSocketAddressClass = struct end module InetSocketAddress = struct external get_port: [>`ginetsocketaddress] obj -> int = "ml_g_inet_socket_address_get_port" external get_address: [>`ginetsocketaddress] obj -> [<`ginetaddress] obj = "ml_g_inet_socket_address_get_address" end module InetAddressPrivate = struct end module InetAddressClass = struct end module InetAddress = struct external to_string: [>`ginetaddress] obj -> string = "ml_g_inet_address_to_string" external get_native_size: [>`ginetaddress] obj -> int = "ml_g_inet_address_get_native_size" external get_is_site_local: [>`ginetaddress] obj -> bool = "ml_g_inet_address_get_is_site_local" external get_is_multicast: [>`ginetaddress] obj -> bool = "ml_g_inet_address_get_is_multicast" external get_is_mc_site_local: [>`ginetaddress] obj -> bool = "ml_g_inet_address_get_is_mc_site_local" external get_is_mc_org_local: [>`ginetaddress] obj -> bool = "ml_g_inet_address_get_is_mc_org_local" external get_is_mc_node_local: [>`ginetaddress] obj -> bool = "ml_g_inet_address_get_is_mc_node_local" external get_is_mc_link_local: [>`ginetaddress] obj -> bool = "ml_g_inet_address_get_is_mc_link_local" external get_is_mc_global: [>`ginetaddress] obj -> bool = "ml_g_inet_address_get_is_mc_global" external get_is_loopback: [>`ginetaddress] obj -> bool = "ml_g_inet_address_get_is_loopback" external get_is_link_local: [>`ginetaddress] obj -> bool = "ml_g_inet_address_get_is_link_local" external get_is_any: [>`ginetaddress] obj -> bool = "ml_g_inet_address_get_is_any" end module IconIface = struct end module IOStreamPrivate = struct end module IOStreamClass = struct end module IOStreamAdapter = struct end module IOStream = struct external is_closed: [>`giostream] obj -> bool = "ml_g_io_stream_is_closed" external has_pending: [>`giostream] obj -> bool = "ml_g_io_stream_has_pending" external get_output_stream: [>`giostream] obj -> [<`goutputstream] obj = "ml_g_io_stream_get_output_stream" external get_input_stream: [>`giostream] obj -> [<`ginputstream] obj = "ml_g_io_stream_get_input_stream" external clear_pending: [>`giostream] obj -> unit = "ml_g_io_stream_clear_pending" end module IOSchedulerJob = struct end module IOModuleClass = struct end module IOModule = struct external unload: [>`giomodule] obj -> unit = "ml_g_io_module_unload" external load: [>`giomodule] obj -> unit = "ml_g_io_module_load" end module IOExtensionPoint = struct external set_required_type: [>`gioextensionpoint] obj -> int -> unit = "ml_g_io_extension_point_set_required_type" external get_required_type: [>`gioextensionpoint] obj -> int = "ml_g_io_extension_point_get_required_type" external get_extensions: [>`gioextensionpoint] obj -> [<`glist] obj = "ml_g_io_extension_point_get_extensions" external get_extension_by_name: [>`gioextensionpoint] obj -> string -> [<`gioextension] obj = "ml_g_io_extension_point_get_extension_by_name" end module IOExtension = struct external ref_class: [>`gioextension] obj -> [<`gtypeclass] obj = "ml_g_io_extension_ref_class" external get_priority: [>`gioextension] obj -> int = "ml_g_io_extension_get_priority" external get_name: [>`gioextension] obj -> string = "ml_g_io_extension_get_name" end module FilterOutputStreamClass = struct end module FilterOutputStream = struct external set_close_base_stream: [>`gfilteroutputstream] obj -> bool -> unit = "ml_g_filter_output_stream_set_close_base_stream" external get_close_base_stream: [>`gfilteroutputstream] obj -> bool = "ml_g_filter_output_stream_get_close_base_stream" external get_base_stream: [>`gfilteroutputstream] obj -> [<`goutputstream] obj = "ml_g_filter_output_stream_get_base_stream" end module FilterInputStreamClass = struct end module FilterInputStream = struct external set_close_base_stream: [>`gfilterinputstream] obj -> bool -> unit = "ml_g_filter_input_stream_set_close_base_stream" external get_close_base_stream: [>`gfilterinputstream] obj -> bool = "ml_g_filter_input_stream_get_close_base_stream" external get_base_stream: [>`gfilterinputstream] obj -> [<`ginputstream] obj = "ml_g_filter_input_stream_get_base_stream" end module FilenameCompleterClass = struct end module FilenameCompleter = struct external set_dirs_only: [>`gfilenamecompleter] obj -> bool -> unit = "ml_g_filename_completer_set_dirs_only" external get_completion_suffix: [>`gfilenamecompleter] obj -> string -> string = "ml_g_filename_completer_get_completion_suffix" end module FileOutputStreamPrivate = struct end module FileOutputStreamClass = struct end module FileOutputStream = struct external get_etag: [>`gfileoutputstream] obj -> string = "ml_g_file_output_stream_get_etag" end module FileMonitorPrivate = struct end module FileMonitorClass = struct end module FileMonitor = struct external set_rate_limit: [>`gfilemonitor] obj -> int -> unit = "ml_g_file_monitor_set_rate_limit" external is_cancelled: [>`gfilemonitor] obj -> bool = "ml_g_file_monitor_is_cancelled" external cancel: [>`gfilemonitor] obj -> bool = "ml_g_file_monitor_cancel" end module FileInputStreamPrivate = struct end module FileInputStreamClass = struct end module FileInputStream = struct end module FileInfoClass = struct end module FileInfo = struct external unset_attribute_mask: [>`gfileinfo] obj -> unit = "ml_g_file_info_unset_attribute_mask" external set_symlink_target: [>`gfileinfo] obj -> string -> unit = "ml_g_file_info_set_symlink_target" external set_sort_order: [>`gfileinfo] obj -> int32 -> unit = "ml_g_file_info_set_sort_order" external set_name: [>`gfileinfo] obj -> string -> unit = "ml_g_file_info_set_name" external set_modification_time: [>`gfileinfo] obj -> [>`gtimeval] obj -> unit = "ml_g_file_info_set_modification_time" external set_is_symlink: [>`gfileinfo] obj -> bool -> unit = "ml_g_file_info_set_is_symlink" external set_is_hidden: [>`gfileinfo] obj -> bool -> unit = "ml_g_file_info_set_is_hidden" external set_edit_name: [>`gfileinfo] obj -> string -> unit = "ml_g_file_info_set_edit_name" external set_display_name: [>`gfileinfo] obj -> string -> unit = "ml_g_file_info_set_display_name" external set_content_type: [>`gfileinfo] obj -> string -> unit = "ml_g_file_info_set_content_type" external set_attribute_uint64: [>`gfileinfo] obj -> string -> int64 -> unit = "ml_g_file_info_set_attribute_uint64" external set_attribute_uint32: [>`gfileinfo] obj -> string -> int32 -> unit = "ml_g_file_info_set_attribute_uint32" external set_attribute_string: [>`gfileinfo] obj -> string -> string -> unit = "ml_g_file_info_set_attribute_string" external set_attribute_mask: [>`gfileinfo] obj -> [>`gfileattributematcher] obj -> unit = "ml_g_file_info_set_attribute_mask" external set_attribute_int64: [>`gfileinfo] obj -> string -> int64 -> unit = "ml_g_file_info_set_attribute_int64" external set_attribute_int32: [>`gfileinfo] obj -> string -> int32 -> unit = "ml_g_file_info_set_attribute_int32" external set_attribute_byte_string: [>`gfileinfo] obj -> string -> string -> unit = "ml_g_file_info_set_attribute_byte_string" external set_attribute_boolean: [>`gfileinfo] obj -> string -> bool -> unit = "ml_g_file_info_set_attribute_boolean" external remove_attribute: [>`gfileinfo] obj -> string -> unit = "ml_g_file_info_remove_attribute" external has_namespace: [>`gfileinfo] obj -> string -> bool = "ml_g_file_info_has_namespace" external has_attribute: [>`gfileinfo] obj -> string -> bool = "ml_g_file_info_has_attribute" external get_symlink_target: [>`gfileinfo] obj -> string = "ml_g_file_info_get_symlink_target" external get_sort_order: [>`gfileinfo] obj -> int32 = "ml_g_file_info_get_sort_order" external get_name: [>`gfileinfo] obj -> string = "ml_g_file_info_get_name" external get_modification_time: [>`gfileinfo] obj -> [>`gtimeval] obj -> unit = "ml_g_file_info_get_modification_time" external get_is_symlink: [>`gfileinfo] obj -> bool = "ml_g_file_info_get_is_symlink" external get_is_hidden: [>`gfileinfo] obj -> bool = "ml_g_file_info_get_is_hidden" external get_is_backup: [>`gfileinfo] obj -> bool = "ml_g_file_info_get_is_backup" external get_etag: [>`gfileinfo] obj -> string = "ml_g_file_info_get_etag" external get_edit_name: [>`gfileinfo] obj -> string = "ml_g_file_info_get_edit_name" external get_display_name: [>`gfileinfo] obj -> string = "ml_g_file_info_get_display_name" external get_content_type: [>`gfileinfo] obj -> string = "ml_g_file_info_get_content_type" external get_attribute_uint64: [>`gfileinfo] obj -> string -> int64 = "ml_g_file_info_get_attribute_uint64" external get_attribute_uint32: [>`gfileinfo] obj -> string -> int32 = "ml_g_file_info_get_attribute_uint32" external get_attribute_string: [>`gfileinfo] obj -> string -> string = "ml_g_file_info_get_attribute_string" external get_attribute_int64: [>`gfileinfo] obj -> string -> int64 = "ml_g_file_info_get_attribute_int64" external get_attribute_int32: [>`gfileinfo] obj -> string -> int32 = "ml_g_file_info_get_attribute_int32" external get_attribute_byte_string: [>`gfileinfo] obj -> string -> string = "ml_g_file_info_get_attribute_byte_string" external get_attribute_boolean: [>`gfileinfo] obj -> string -> bool = "ml_g_file_info_get_attribute_boolean" external get_attribute_as_string: [>`gfileinfo] obj -> string -> string = "ml_g_file_info_get_attribute_as_string" external dup: [>`gfileinfo] obj -> [<`gfileinfo] obj = "ml_g_file_info_dup" external copy_into: [>`gfileinfo] obj -> [>`gfileinfo] obj -> unit = "ml_g_file_info_copy_into" external clear_status: [>`gfileinfo] obj -> unit = "ml_g_file_info_clear_status" end module FileIface = struct end module FileIconClass = struct end module FileIcon = struct end module FileIOStreamPrivate = struct end module FileIOStreamClass = struct end module FileIOStream = struct external get_etag: [>`gfileiostream] obj -> string = "ml_g_file_io_stream_get_etag" end module FileEnumeratorPrivate = struct end module FileEnumeratorClass = struct end module FileEnumerator = struct external set_pending: [>`gfileenumerator] obj -> bool -> unit = "ml_g_file_enumerator_set_pending" external is_closed: [>`gfileenumerator] obj -> bool = "ml_g_file_enumerator_is_closed" external has_pending: [>`gfileenumerator] obj -> bool = "ml_g_file_enumerator_has_pending" end module FileDescriptorBasedIface = struct end module FileAttributeMatcher = struct external unref: [>`gfileattributematcher] obj -> unit = "ml_g_file_attribute_matcher_unref" external ref: [>`gfileattributematcher] obj -> [<`gfileattributematcher] obj = "ml_g_file_attribute_matcher_ref" external matches_only: [>`gfileattributematcher] obj -> string -> bool = "ml_g_file_attribute_matcher_matches_only" external matches: [>`gfileattributematcher] obj -> string -> bool = "ml_g_file_attribute_matcher_matches" external enumerate_next: [>`gfileattributematcher] obj -> string = "ml_g_file_attribute_matcher_enumerate_next" external enumerate_namespace: [>`gfileattributematcher] obj -> string -> bool = "ml_g_file_attribute_matcher_enumerate_namespace" end module FileAttributeInfoList = struct external unref: [>`gfileattributeinfolist] obj -> unit = "ml_g_file_attribute_info_list_unref" external ref: [>`gfileattributeinfolist] obj -> [<`gfileattributeinfolist] obj = "ml_g_file_attribute_info_list_ref" external lookup: [>`gfileattributeinfolist] obj -> string -> [<`gfileattributeinfo] obj = "ml_g_file_attribute_info_list_lookup" external dup: [>`gfileattributeinfolist] obj -> [<`gfileattributeinfolist] obj = "ml_g_file_attribute_info_list_dup" end module FileAttributeInfo = struct end module EmblemedIconPrivate = struct end module EmblemedIconClass = struct end module EmblemedIcon = struct external get_emblems: [>`gemblemedicon] obj -> [<`glist] obj = "ml_g_emblemed_icon_get_emblems" external clear_emblems: [>`gemblemedicon] obj -> unit = "ml_g_emblemed_icon_clear_emblems" external add_emblem: [>`gemblemedicon] obj -> [>`gemblem] obj -> unit = "ml_g_emblemed_icon_add_emblem" end module EmblemClass = struct end module Emblem = struct end module DriveIface = struct end module DesktopAppInfoLookupIface = struct end module DesktopAppInfoLaunchHandlerIface = struct end module DesktopAppInfoClass = struct end module DesktopAppInfo = struct external get_is_hidden: [>`gdesktopappinfo] obj -> bool = "ml_g_desktop_app_info_get_is_hidden" external get_filename: [>`gdesktopappinfo] obj -> string = "ml_g_desktop_app_info_get_filename" external set_desktop_env: string -> unit = "ml_g_desktop_app_info_set_desktop_env" end module DataOutputStreamPrivate = struct end module DataOutputStreamClass = struct end module DataOutputStream = struct end module DataInputStreamPrivate = struct end module DataInputStreamClass = struct end module DataInputStream = struct end module DBusSubtreeVTable = struct end module DBusSignalInfo = struct external unref: [>`gdbussignalinfo] obj -> unit = "ml_g_dbus_signal_info_unref" external ref: [>`gdbussignalinfo] obj -> [<`gdbussignalinfo] obj = "ml_g_dbus_signal_info_ref" end module DBusServer = struct external stop: [>`gdbusserver] obj -> unit = "ml_g_dbus_server_stop" external start: [>`gdbusserver] obj -> unit = "ml_g_dbus_server_start" external is_active: [>`gdbusserver] obj -> bool = "ml_g_dbus_server_is_active" external get_guid: [>`gdbusserver] obj -> string = "ml_g_dbus_server_get_guid" external get_client_address: [>`gdbusserver] obj -> string = "ml_g_dbus_server_get_client_address" end module DBusProxyPrivate = struct end module DBusProxyClass = struct end module DBusProxy = struct external set_interface_info: [>`gdbusproxy] obj -> [>`gdbusinterfaceinfo] obj -> unit = "ml_g_dbus_proxy_set_interface_info" external set_default_timeout: [>`gdbusproxy] obj -> int -> unit = "ml_g_dbus_proxy_set_default_timeout" external set_cached_property: [>`gdbusproxy] obj -> string -> [>`gvariant] obj -> unit = "ml_g_dbus_proxy_set_cached_property" external get_object_path: [>`gdbusproxy] obj -> string = "ml_g_dbus_proxy_get_object_path" external get_name_owner: [>`gdbusproxy] obj -> string = "ml_g_dbus_proxy_get_name_owner" external get_name: [>`gdbusproxy] obj -> string = "ml_g_dbus_proxy_get_name" external get_interface_name: [>`gdbusproxy] obj -> string = "ml_g_dbus_proxy_get_interface_name" external get_interface_info: [>`gdbusproxy] obj -> [<`gdbusinterfaceinfo] obj = "ml_g_dbus_proxy_get_interface_info" external get_default_timeout: [>`gdbusproxy] obj -> int = "ml_g_dbus_proxy_get_default_timeout" external get_connection: [>`gdbusproxy] obj -> [<`gdbusconnection] obj = "ml_g_dbus_proxy_get_connection" external get_cached_property: [>`gdbusproxy] obj -> string -> [<`gvariant] obj = "ml_g_dbus_proxy_get_cached_property" end module DBusPropertyInfo = struct external unref: [>`gdbuspropertyinfo] obj -> unit = "ml_g_dbus_property_info_unref" external ref: [>`gdbuspropertyinfo] obj -> [<`gdbuspropertyinfo] obj = "ml_g_dbus_property_info_ref" end module DBusNodeInfo = struct external unref: [>`gdbusnodeinfo] obj -> unit = "ml_g_dbus_node_info_unref" external ref: [>`gdbusnodeinfo] obj -> [<`gdbusnodeinfo] obj = "ml_g_dbus_node_info_ref" external lookup_interface: [>`gdbusnodeinfo] obj -> string -> [<`gdbusinterfaceinfo] obj = "ml_g_dbus_node_info_lookup_interface" external generate_xml: [>`gdbusnodeinfo] obj -> int -> [>`gstring] obj -> unit = "ml_g_dbus_node_info_generate_xml" end module DBusMethodInvocation = struct external return_value: [>`gdbusmethodinvocation] obj -> [>`gvariant] obj -> unit = "ml_g_dbus_method_invocation_return_value" external return_gerror: [>`gdbusmethodinvocation] obj -> [>`gerror] obj -> unit = "ml_g_dbus_method_invocation_return_gerror" external return_error_literal: [>`gdbusmethodinvocation] obj -> int32 -> int -> string -> unit = "ml_g_dbus_method_invocation_return_error_literal" external return_dbus_error: [>`gdbusmethodinvocation] obj -> string -> string -> unit = "ml_g_dbus_method_invocation_return_dbus_error" external get_sender: [>`gdbusmethodinvocation] obj -> string = "ml_g_dbus_method_invocation_get_sender" external get_parameters: [>`gdbusmethodinvocation] obj -> [<`gvariant] obj = "ml_g_dbus_method_invocation_get_parameters" external get_object_path: [>`gdbusmethodinvocation] obj -> string = "ml_g_dbus_method_invocation_get_object_path" external get_method_name: [>`gdbusmethodinvocation] obj -> string = "ml_g_dbus_method_invocation_get_method_name" external get_method_info: [>`gdbusmethodinvocation] obj -> [<`gdbusmethodinfo] obj = "ml_g_dbus_method_invocation_get_method_info" external get_message: [>`gdbusmethodinvocation] obj -> [<`gdbusmessage] obj = "ml_g_dbus_method_invocation_get_message" external get_interface_name: [>`gdbusmethodinvocation] obj -> string = "ml_g_dbus_method_invocation_get_interface_name" external get_connection: [>`gdbusmethodinvocation] obj -> [<`gdbusconnection] obj = "ml_g_dbus_method_invocation_get_connection" end module DBusMethodInfo = struct external unref: [>`gdbusmethodinfo] obj -> unit = "ml_g_dbus_method_info_unref" external ref: [>`gdbusmethodinfo] obj -> [<`gdbusmethodinfo] obj = "ml_g_dbus_method_info_ref" end module DBusMessage = struct external set_unix_fd_list: [>`gdbusmessage] obj -> [>`gunixfdlist] obj option -> unit = "ml_g_dbus_message_set_unix_fd_list" external set_signature: [>`gdbusmessage] obj -> string -> unit = "ml_g_dbus_message_set_signature" external set_serial: [>`gdbusmessage] obj -> int32 -> unit = "ml_g_dbus_message_set_serial" external set_sender: [>`gdbusmessage] obj -> string -> unit = "ml_g_dbus_message_set_sender" external set_reply_serial: [>`gdbusmessage] obj -> int32 -> unit = "ml_g_dbus_message_set_reply_serial" external set_path: [>`gdbusmessage] obj -> string -> unit = "ml_g_dbus_message_set_path" external set_num_unix_fds: [>`gdbusmessage] obj -> int32 -> unit = "ml_g_dbus_message_set_num_unix_fds" external set_member: [>`gdbusmessage] obj -> string -> unit = "ml_g_dbus_message_set_member" external set_interface: [>`gdbusmessage] obj -> string -> unit = "ml_g_dbus_message_set_interface" external set_error_name: [>`gdbusmessage] obj -> string -> unit = "ml_g_dbus_message_set_error_name" external set_destination: [>`gdbusmessage] obj -> string -> unit = "ml_g_dbus_message_set_destination" external set_body: [>`gdbusmessage] obj -> [>`gvariant] obj -> unit = "ml_g_dbus_message_set_body" external print: [>`gdbusmessage] obj -> int -> string = "ml_g_dbus_message_print" external new_method_reply: [>`gdbusmessage] obj -> [<`gdbusmessage] obj = "ml_g_dbus_message_new_method_reply" external new_method_error_literal: [>`gdbusmessage] obj -> string -> string -> [<`gdbusmessage] obj = "ml_g_dbus_message_new_method_error_literal" external lock: [>`gdbusmessage] obj -> unit = "ml_g_dbus_message_lock" external get_unix_fd_list: [>`gdbusmessage] obj -> [<`gunixfdlist] obj = "ml_g_dbus_message_get_unix_fd_list" external get_signature: [>`gdbusmessage] obj -> string = "ml_g_dbus_message_get_signature" external get_serial: [>`gdbusmessage] obj -> int32 = "ml_g_dbus_message_get_serial" external get_sender: [>`gdbusmessage] obj -> string = "ml_g_dbus_message_get_sender" external get_reply_serial: [>`gdbusmessage] obj -> int32 = "ml_g_dbus_message_get_reply_serial" external get_path: [>`gdbusmessage] obj -> string = "ml_g_dbus_message_get_path" external get_num_unix_fds: [>`gdbusmessage] obj -> int32 = "ml_g_dbus_message_get_num_unix_fds" external get_member: [>`gdbusmessage] obj -> string = "ml_g_dbus_message_get_member" external get_locked: [>`gdbusmessage] obj -> bool = "ml_g_dbus_message_get_locked" external get_interface: [>`gdbusmessage] obj -> string = "ml_g_dbus_message_get_interface" external get_header_fields: [>`gdbusmessage] obj -> string = "ml_g_dbus_message_get_header_fields" external get_error_name: [>`gdbusmessage] obj -> string = "ml_g_dbus_message_get_error_name" external get_destination: [>`gdbusmessage] obj -> string = "ml_g_dbus_message_get_destination" external get_body: [>`gdbusmessage] obj -> [<`gvariant] obj = "ml_g_dbus_message_get_body" external get_arg0: [>`gdbusmessage] obj -> string = "ml_g_dbus_message_get_arg0" end module DBusInterfaceVTable = struct end module DBusInterfaceInfo = struct external unref: [>`gdbusinterfaceinfo] obj -> unit = "ml_g_dbus_interface_info_unref" external ref: [>`gdbusinterfaceinfo] obj -> [<`gdbusinterfaceinfo] obj = "ml_g_dbus_interface_info_ref" external lookup_signal: [>`gdbusinterfaceinfo] obj -> string -> [<`gdbussignalinfo] obj = "ml_g_dbus_interface_info_lookup_signal" external lookup_property: [>`gdbusinterfaceinfo] obj -> string -> [<`gdbuspropertyinfo] obj = "ml_g_dbus_interface_info_lookup_property" external lookup_method: [>`gdbusinterfaceinfo] obj -> string -> [<`gdbusmethodinfo] obj = "ml_g_dbus_interface_info_lookup_method" external generate_xml: [>`gdbusinterfaceinfo] obj -> int -> [>`gstring] obj -> unit = "ml_g_dbus_interface_info_generate_xml" end module DBusErrorEntry = struct end module DBusConnection = struct external unregister_subtree: [>`gdbusconnection] obj -> int -> bool = "ml_g_dbus_connection_unregister_subtree" external unregister_object: [>`gdbusconnection] obj -> int -> bool = "ml_g_dbus_connection_unregister_object" external start_message_processing: [>`gdbusconnection] obj -> unit = "ml_g_dbus_connection_start_message_processing" external signal_unsubscribe: [>`gdbusconnection] obj -> int -> unit = "ml_g_dbus_connection_signal_unsubscribe" external set_exit_on_close: [>`gdbusconnection] obj -> bool -> unit = "ml_g_dbus_connection_set_exit_on_close" external remove_filter: [>`gdbusconnection] obj -> int -> unit = "ml_g_dbus_connection_remove_filter" external is_closed: [>`gdbusconnection] obj -> bool = "ml_g_dbus_connection_is_closed" external get_unique_name: [>`gdbusconnection] obj -> string = "ml_g_dbus_connection_get_unique_name" external get_stream: [>`gdbusconnection] obj -> [<`giostream] obj = "ml_g_dbus_connection_get_stream" external get_peer_credentials: [>`gdbusconnection] obj -> [<`gcredentials] obj = "ml_g_dbus_connection_get_peer_credentials" external get_guid: [>`gdbusconnection] obj -> string = "ml_g_dbus_connection_get_guid" external get_exit_on_close: [>`gdbusconnection] obj -> bool = "ml_g_dbus_connection_get_exit_on_close" end module DBusAuthObserver = struct external authorize_authenticated_peer: [>`gdbusauthobserver] obj -> [>`giostream] obj -> [>`gcredentials] obj -> bool = "ml_g_dbus_auth_observer_authorize_authenticated_peer" end module DBusArgInfo = struct external unref: [>`gdbusarginfo] obj -> unit = "ml_g_dbus_arg_info_unref" external ref: [>`gdbusarginfo] obj -> [<`gdbusarginfo] obj = "ml_g_dbus_arg_info_ref" end module DBusAnnotationInfo = struct external unref: [>`gdbusannotationinfo] obj -> unit = "ml_g_dbus_annotation_info_unref" external ref: [>`gdbusannotationinfo] obj -> [<`gdbusannotationinfo] obj = "ml_g_dbus_annotation_info_ref" end module CredentialsClass = struct end module Credentials = struct external to_string: [>`gcredentials] obj -> string = "ml_g_credentials_to_string" end module ConverterOutputStreamPrivate = struct end module ConverterOutputStreamClass = struct end module ConverterOutputStream = struct end module ConverterInputStreamPrivate = struct end module ConverterInputStreamClass = struct end module ConverterInputStream = struct end module ConverterIface = struct end module CharsetConverterClass = struct end module CharsetConverter = struct external set_use_fallback: [>`gcharsetconverter] obj -> bool -> unit = "ml_g_charset_converter_set_use_fallback" external get_use_fallback: [>`gcharsetconverter] obj -> bool = "ml_g_charset_converter_get_use_fallback" external get_num_fallbacks: [>`gcharsetconverter] obj -> int = "ml_g_charset_converter_get_num_fallbacks" end module CancellablePrivate = struct end module CancellableClass = struct end module Cancellable = struct external source_new: [>`gcancellable] obj -> [<`gsource] obj = "ml_g_cancellable_source_new" external reset: [>`gcancellable] obj -> unit = "ml_g_cancellable_reset" external release_fd: [>`gcancellable] obj -> unit = "ml_g_cancellable_release_fd" external push_current: [>`gcancellable] obj -> unit = "ml_g_cancellable_push_current" external pop_current: [>`gcancellable] obj -> unit = "ml_g_cancellable_pop_current" external make_pollfd: [>`gcancellable] obj -> [>`gpollfd] obj -> bool = "ml_g_cancellable_make_pollfd" external is_cancelled: [>`gcancellable] obj -> bool = "ml_g_cancellable_is_cancelled" external get_fd: [>`gcancellable] obj -> int = "ml_g_cancellable_get_fd" external disconnect: [>`gcancellable] obj -> float -> unit = "ml_g_cancellable_disconnect" external cancel: [>`gcancellable] obj -> unit = "ml_g_cancellable_cancel" external get_current: unit -> [<`gcancellable] obj = "ml_g_cancellable_get_current" end module BufferedOutputStreamPrivate = struct end module BufferedOutputStreamClass = struct end module BufferedOutputStream = struct external set_buffer_size: [>`gbufferedoutputstream] obj -> int -> unit = "ml_g_buffered_output_stream_set_buffer_size" external set_auto_grow: [>`gbufferedoutputstream] obj -> bool -> unit = "ml_g_buffered_output_stream_set_auto_grow" external get_buffer_size: [>`gbufferedoutputstream] obj -> int = "ml_g_buffered_output_stream_get_buffer_size" external get_auto_grow: [>`gbufferedoutputstream] obj -> bool = "ml_g_buffered_output_stream_get_auto_grow" end module BufferedInputStreamPrivate = struct end module BufferedInputStreamClass = struct end module BufferedInputStream = struct external set_buffer_size: [>`gbufferedinputstream] obj -> int -> unit = "ml_g_buffered_input_stream_set_buffer_size" external get_buffer_size: [>`gbufferedinputstream] obj -> int = "ml_g_buffered_input_stream_get_buffer_size" external get_available: [>`gbufferedinputstream] obj -> int = "ml_g_buffered_input_stream_get_available" end module AsyncResultIface = struct end module AsyncInitableIface = struct end module ApplicationPrivate = struct end module ApplicationCommandLinePrivate = struct end module ApplicationCommandLineClass = struct end module ApplicationCommandLine = struct external set_exit_status: [>`gapplicationcommandline] obj -> int -> unit = "ml_g_application_command_line_set_exit_status" external getenv: [>`gapplicationcommandline] obj -> string -> string = "ml_g_application_command_line_getenv" external get_platform_data: [>`gapplicationcommandline] obj -> [<`gvariant] obj = "ml_g_application_command_line_get_platform_data" external get_is_remote: [>`gapplicationcommandline] obj -> bool = "ml_g_application_command_line_get_is_remote" external get_exit_status: [>`gapplicationcommandline] obj -> int = "ml_g_application_command_line_get_exit_status" external get_cwd: [>`gapplicationcommandline] obj -> string = "ml_g_application_command_line_get_cwd" end module ApplicationClass = struct end module Application = struct external set_inactivity_timeout: [>`gapplication] obj -> int -> unit = "ml_g_application_set_inactivity_timeout" external set_application_id: [>`gapplication] obj -> string -> unit = "ml_g_application_set_application_id" external release: [>`gapplication] obj -> unit = "ml_g_application_release" external hold: [>`gapplication] obj -> unit = "ml_g_application_hold" external get_is_remote: [>`gapplication] obj -> bool = "ml_g_application_get_is_remote" external get_is_registered: [>`gapplication] obj -> bool = "ml_g_application_get_is_registered" external get_inactivity_timeout: [>`gapplication] obj -> int = "ml_g_application_get_inactivity_timeout" external get_application_id: [>`gapplication] obj -> string = "ml_g_application_get_application_id" external activate: [>`gapplication] obj -> unit = "ml_g_application_activate" external id_is_valid: string -> bool = "ml_g_application_id_is_valid" end module AppLaunchContextPrivate = struct end module AppLaunchContextClass = struct end module AppLaunchContext = struct external launch_failed: [>`gapplaunchcontext] obj -> string -> unit = "ml_g_app_launch_context_launch_failed" end module AppInfoIface = struct end module ActionInterface = struct end module ActionGroupInterface = struct end (* Global functions *) external unix_mounts_changed_since: int64 -> bool = "ml_g_unix_mounts_changed_since" external unix_mount_points_changed_since: int64 -> bool = "ml_g_unix_mount_points_changed_since" external unix_mount_is_system_internal: [>`gunixmountentry] obj -> bool = "ml_g_unix_mount_is_system_internal" external unix_mount_is_readonly: [>`gunixmountentry] obj -> bool = "ml_g_unix_mount_is_readonly" external unix_mount_guess_should_display: [>`gunixmountentry] obj -> bool = "ml_g_unix_mount_guess_should_display" external unix_mount_guess_name: [>`gunixmountentry] obj -> string = "ml_g_unix_mount_guess_name" external unix_mount_guess_can_eject: [>`gunixmountentry] obj -> bool = "ml_g_unix_mount_guess_can_eject" external unix_mount_get_mount_path: [>`gunixmountentry] obj -> string = "ml_g_unix_mount_get_mount_path" external unix_mount_get_fs_type: [>`gunixmountentry] obj -> string = "ml_g_unix_mount_get_fs_type" external unix_mount_get_device_path: [>`gunixmountentry] obj -> string = "ml_g_unix_mount_get_device_path" external unix_mount_free: [>`gunixmountentry] obj -> unit = "ml_g_unix_mount_free" external unix_mount_compare: [>`gunixmountentry] obj -> [>`gunixmountentry] obj -> int = "ml_g_unix_mount_compare" external unix_is_mount_path_system_internal: string -> bool = "ml_g_unix_is_mount_path_system_internal" external tls_error_quark: unit -> int32 = "ml_g_tls_error_quark" external srv_target_list_sort: [>`glist] obj -> [<`glist] obj = "ml_g_srv_target_list_sort" external resolver_error_quark: unit -> int32 = "ml_g_resolver_error_quark" external io_scheduler_cancel_all_jobs: unit -> unit = "ml_g_io_scheduler_cancel_all_jobs" external io_modules_scan_all_in_directory: string -> unit = "ml_g_io_modules_scan_all_in_directory" external io_modules_load_all_in_directory: string -> [<`glist] obj = "ml_g_io_modules_load_all_in_directory" external io_extension_point_register: string -> [<`gioextensionpoint] obj = "ml_g_io_extension_point_register" external io_extension_point_lookup: string -> [<`gioextensionpoint] obj = "ml_g_io_extension_point_lookup" external io_extension_point_implement: string -> int -> string -> int -> [<`gioextension] obj = "ml_g_io_extension_point_implement" external io_extension_get_type: [>`gioextension] obj -> int = "ml_g_io_extension_get_type" external io_error_quark: unit -> int32 = "ml_g_io_error_quark" external dbus_is_unique_name: string -> bool = "ml_g_dbus_is_unique_name" external dbus_is_name: string -> bool = "ml_g_dbus_is_name" external dbus_is_member_name: string -> bool = "ml_g_dbus_is_member_name" external dbus_is_interface_name: string -> bool = "ml_g_dbus_is_interface_name" external dbus_is_guid: string -> bool = "ml_g_dbus_is_guid" external dbus_is_address: string -> bool = "ml_g_dbus_is_address" external dbus_generate_guid: unit -> string = "ml_g_dbus_generate_guid" external dbus_error_unregister_error: int32 -> int -> string -> bool = "ml_g_dbus_error_unregister_error" external dbus_error_strip_remote_error: [>`gerror] obj -> bool = "ml_g_dbus_error_strip_remote_error" external dbus_error_register_error: int32 -> int -> string -> bool = "ml_g_dbus_error_register_error" external dbus_error_quark: unit -> int32 = "ml_g_dbus_error_quark" external dbus_error_new_for_dbus_error: string -> string -> [<`gerror] obj = "ml_g_dbus_error_new_for_dbus_error" external dbus_error_is_remote_error: [>`gerror] obj -> bool = "ml_g_dbus_error_is_remote_error" external dbus_error_get_remote_error: [>`gerror] obj -> string = "ml_g_dbus_error_get_remote_error" external dbus_error_encode_gerror: [>`gerror] obj -> string = "ml_g_dbus_error_encode_gerror" external content_types_get_registered: unit -> [<`glist] obj = "ml_g_content_types_get_registered" external content_type_is_unknown: string -> bool = "ml_g_content_type_is_unknown" external content_type_is_a: string -> string -> bool = "ml_g_content_type_is_a" external content_type_get_mime_type: string -> string = "ml_g_content_type_get_mime_type" external content_type_get_description: string -> string = "ml_g_content_type_get_description" external content_type_from_mime_type: string -> string = "ml_g_content_type_from_mime_type" external content_type_equals: string -> string -> bool = "ml_g_content_type_equals" external content_type_can_be_executable: string -> bool = "ml_g_content_type_can_be_executable" external bus_unwatch_name: int -> unit = "ml_g_bus_unwatch_name" external bus_unown_name: int -> unit = "ml_g_bus_unown_name" external app_info_reset_type_associations: string -> unit = "ml_g_app_info_reset_type_associations" external app_info_get_recommended_for_type: string -> [<`glist] obj = "ml_g_app_info_get_recommended_for_type" external app_info_get_fallback_for_type: string -> [<`glist] obj = "ml_g_app_info_get_fallback_for_type" external app_info_get_all_for_type: string -> [<`glist] obj = "ml_g_app_info_get_all_for_type" external app_info_get_all: unit -> [<`glist] obj = "ml_g_app_info_get_all" (* End of global functions *) lablgtk-3.1.2/tools/introspection/stubs/stubs_Gtk.ml0000644000650106067230000066670314161276610021521 0ustar glondusedtype -'a obj module WindowPrivate = struct end module WindowGroupPrivate = struct end module WindowGroupClass = struct end module WindowGroup = struct external remove_window: [>`gtkwindowgroup] obj -> [>`gtkwindow] obj -> unit = "ml_gtk_window_group_remove_window" external list_windows: [>`gtkwindowgroup] obj -> [<`glist] obj = "ml_gtk_window_group_list_windows" external get_current_grab: [>`gtkwindowgroup] obj -> [<`gtkwidget] obj = "ml_gtk_window_group_get_current_grab" external get_current_device_grab: [>`gtkwindowgroup] obj -> [>`gdkdevice] obj -> [<`gtkwidget] obj = "ml_gtk_window_group_get_current_device_grab" external add_window: [>`gtkwindowgroup] obj -> [>`gtkwindow] obj -> unit = "ml_gtk_window_group_add_window" end module WindowGeometryInfo = struct end module WindowClass = struct end module Window = struct external unstick: [>`gtkwindow] obj -> unit = "ml_gtk_window_unstick" external unmaximize: [>`gtkwindow] obj -> unit = "ml_gtk_window_unmaximize" external unfullscreen: [>`gtkwindow] obj -> unit = "ml_gtk_window_unfullscreen" external stick: [>`gtkwindow] obj -> unit = "ml_gtk_window_stick" external set_wmclass: [>`gtkwindow] obj -> string -> string -> unit = "ml_gtk_window_set_wmclass" external set_urgency_hint: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_urgency_hint" external set_transient_for: [>`gtkwindow] obj -> [>`gtkwindow] obj option -> unit = "ml_gtk_window_set_transient_for" external set_title: [>`gtkwindow] obj -> string -> unit = "ml_gtk_window_set_title" external set_startup_id: [>`gtkwindow] obj -> string -> unit = "ml_gtk_window_set_startup_id" external set_skip_taskbar_hint: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_skip_taskbar_hint" external set_skip_pager_hint: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_skip_pager_hint" external set_screen: [>`gtkwindow] obj -> [>`gdkscreen] obj -> unit = "ml_gtk_window_set_screen" external set_role: [>`gtkwindow] obj -> string -> unit = "ml_gtk_window_set_role" external set_resizable: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_resizable" external set_opacity: [>`gtkwindow] obj -> float -> unit = "ml_gtk_window_set_opacity" external set_modal: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_modal" external set_mnemonics_visible: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_mnemonics_visible" external set_keep_below: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_keep_below" external set_keep_above: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_keep_above" external set_icon_name: [>`gtkwindow] obj -> string option -> unit = "ml_gtk_window_set_icon_name" external set_icon_list: [>`gtkwindow] obj -> [>`glist] obj -> unit = "ml_gtk_window_set_icon_list" external set_icon: [>`gtkwindow] obj -> [>`gdkpixbuf] obj option -> unit = "ml_gtk_window_set_icon" external set_has_user_ref_count: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_has_user_ref_count" external set_has_resize_grip: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_has_resize_grip" external set_focus_on_map: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_focus_on_map" external set_focus: [>`gtkwindow] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_window_set_focus" external set_destroy_with_parent: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_destroy_with_parent" external set_deletable: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_deletable" external set_default_size: [>`gtkwindow] obj -> int -> int -> unit = "ml_gtk_window_set_default_size" external set_default_geometry: [>`gtkwindow] obj -> int -> int -> unit = "ml_gtk_window_set_default_geometry" external set_default: [>`gtkwindow] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_window_set_default" external set_decorated: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_decorated" external set_application: [>`gtkwindow] obj -> [>`gtkapplication] obj option -> unit = "ml_gtk_window_set_application" external set_accept_focus: [>`gtkwindow] obj -> bool -> unit = "ml_gtk_window_set_accept_focus" external resize_to_geometry: [>`gtkwindow] obj -> int -> int -> unit = "ml_gtk_window_resize_to_geometry" external resize_grip_is_visible: [>`gtkwindow] obj -> bool = "ml_gtk_window_resize_grip_is_visible" external resize: [>`gtkwindow] obj -> int -> int -> unit = "ml_gtk_window_resize" external reshow_with_initial_size: [>`gtkwindow] obj -> unit = "ml_gtk_window_reshow_with_initial_size" external remove_mnemonic: [>`gtkwindow] obj -> int -> [>`gtkwidget] obj -> unit = "ml_gtk_window_remove_mnemonic" external remove_accel_group: [>`gtkwindow] obj -> [>`gtkaccelgroup] obj -> unit = "ml_gtk_window_remove_accel_group" external propagate_key_event: [>`gtkwindow] obj -> [>`gdkeventkey] obj -> bool = "ml_gtk_window_propagate_key_event" external present_with_time: [>`gtkwindow] obj -> int32 -> unit = "ml_gtk_window_present_with_time" external present: [>`gtkwindow] obj -> unit = "ml_gtk_window_present" external parse_geometry: [>`gtkwindow] obj -> string -> bool = "ml_gtk_window_parse_geometry" external move: [>`gtkwindow] obj -> int -> int -> unit = "ml_gtk_window_move" external maximize: [>`gtkwindow] obj -> unit = "ml_gtk_window_maximize" external is_active: [>`gtkwindow] obj -> bool = "ml_gtk_window_is_active" external iconify: [>`gtkwindow] obj -> unit = "ml_gtk_window_iconify" external has_toplevel_focus: [>`gtkwindow] obj -> bool = "ml_gtk_window_has_toplevel_focus" external has_group: [>`gtkwindow] obj -> bool = "ml_gtk_window_has_group" external get_urgency_hint: [>`gtkwindow] obj -> bool = "ml_gtk_window_get_urgency_hint" external get_transient_for: [>`gtkwindow] obj -> [<`gtkwindow] obj = "ml_gtk_window_get_transient_for" external get_title: [>`gtkwindow] obj -> string = "ml_gtk_window_get_title" external get_skip_taskbar_hint: [>`gtkwindow] obj -> bool = "ml_gtk_window_get_skip_taskbar_hint" external get_skip_pager_hint: [>`gtkwindow] obj -> bool = "ml_gtk_window_get_skip_pager_hint" external get_screen: [>`gtkwindow] obj -> [<`gdkscreen] obj = "ml_gtk_window_get_screen" external get_role: [>`gtkwindow] obj -> string = "ml_gtk_window_get_role" external get_resizable: [>`gtkwindow] obj -> bool = "ml_gtk_window_get_resizable" external get_opacity: [>`gtkwindow] obj -> float = "ml_gtk_window_get_opacity" external get_modal: [>`gtkwindow] obj -> bool = "ml_gtk_window_get_modal" external get_mnemonics_visible: [>`gtkwindow] obj -> bool = "ml_gtk_window_get_mnemonics_visible" external get_icon_name: [>`gtkwindow] obj -> string = "ml_gtk_window_get_icon_name" external get_icon_list: [>`gtkwindow] obj -> [<`glist] obj = "ml_gtk_window_get_icon_list" external get_icon: [>`gtkwindow] obj -> [<`gdkpixbuf] obj = "ml_gtk_window_get_icon" external get_has_resize_grip: [>`gtkwindow] obj -> bool = "ml_gtk_window_get_has_resize_grip" external get_group: [>`gtkwindow] obj -> [<`gtkwindowgroup] obj = "ml_gtk_window_get_group" external get_focus_on_map: [>`gtkwindow] obj -> bool = "ml_gtk_window_get_focus_on_map" external get_focus: [>`gtkwindow] obj -> [<`gtkwidget] obj = "ml_gtk_window_get_focus" external get_destroy_with_parent: [>`gtkwindow] obj -> bool = "ml_gtk_window_get_destroy_with_parent" external get_deletable: [>`gtkwindow] obj -> bool = "ml_gtk_window_get_deletable" external get_default_widget: [>`gtkwindow] obj -> [<`gtkwidget] obj = "ml_gtk_window_get_default_widget" external get_decorated: [>`gtkwindow] obj -> bool = "ml_gtk_window_get_decorated" external get_application: [>`gtkwindow] obj -> [<`gtkapplication] obj = "ml_gtk_window_get_application" external get_accept_focus: [>`gtkwindow] obj -> bool = "ml_gtk_window_get_accept_focus" external fullscreen: [>`gtkwindow] obj -> unit = "ml_gtk_window_fullscreen" external deiconify: [>`gtkwindow] obj -> unit = "ml_gtk_window_deiconify" external begin_move_drag: [>`gtkwindow] obj -> int -> int -> int -> int32 -> unit = "ml_gtk_window_begin_move_drag" external add_mnemonic: [>`gtkwindow] obj -> int -> [>`gtkwidget] obj -> unit = "ml_gtk_window_add_mnemonic" external add_accel_group: [>`gtkwindow] obj -> [>`gtkaccelgroup] obj -> unit = "ml_gtk_window_add_accel_group" external activate_key: [>`gtkwindow] obj -> [>`gdkeventkey] obj -> bool = "ml_gtk_window_activate_key" external activate_focus: [>`gtkwindow] obj -> bool = "ml_gtk_window_activate_focus" external activate_default: [>`gtkwindow] obj -> bool = "ml_gtk_window_activate_default" external set_default_icon_name: string -> unit = "ml_gtk_window_set_default_icon_name" external set_default_icon_list: [>`glist] obj -> unit = "ml_gtk_window_set_default_icon_list" external set_default_icon: [>`gdkpixbuf] obj -> unit = "ml_gtk_window_set_default_icon" external set_auto_startup_notification: bool -> unit = "ml_gtk_window_set_auto_startup_notification" external list_toplevels: unit -> [<`glist] obj = "ml_gtk_window_list_toplevels" external get_default_icon_name: unit -> string = "ml_gtk_window_get_default_icon_name" external get_default_icon_list: unit -> [<`glist] obj = "ml_gtk_window_get_default_icon_list" end module WidgetPrivate = struct end module WidgetPath = struct external prepend_type: [>`gtkwidgetpath] obj -> int -> unit = "ml_gtk_widget_path_prepend_type" external length: [>`gtkwidgetpath] obj -> int = "ml_gtk_widget_path_length" external iter_set_object_type: [>`gtkwidgetpath] obj -> int -> int -> unit = "ml_gtk_widget_path_iter_set_object_type" external iter_set_name: [>`gtkwidgetpath] obj -> int -> string -> unit = "ml_gtk_widget_path_iter_set_name" external iter_remove_region: [>`gtkwidgetpath] obj -> int -> string -> unit = "ml_gtk_widget_path_iter_remove_region" external iter_remove_class: [>`gtkwidgetpath] obj -> int -> string -> unit = "ml_gtk_widget_path_iter_remove_class" external iter_list_regions: [>`gtkwidgetpath] obj -> int -> [<`gslist] obj = "ml_gtk_widget_path_iter_list_regions" external iter_list_classes: [>`gtkwidgetpath] obj -> int -> [<`gslist] obj = "ml_gtk_widget_path_iter_list_classes" external iter_has_qname: [>`gtkwidgetpath] obj -> int -> int32 -> bool = "ml_gtk_widget_path_iter_has_qname" external iter_has_qclass: [>`gtkwidgetpath] obj -> int -> int32 -> bool = "ml_gtk_widget_path_iter_has_qclass" external iter_has_name: [>`gtkwidgetpath] obj -> int -> string -> bool = "ml_gtk_widget_path_iter_has_name" external iter_has_class: [>`gtkwidgetpath] obj -> int -> string -> bool = "ml_gtk_widget_path_iter_has_class" external iter_get_object_type: [>`gtkwidgetpath] obj -> int -> int = "ml_gtk_widget_path_iter_get_object_type" external iter_get_name: [>`gtkwidgetpath] obj -> int -> string = "ml_gtk_widget_path_iter_get_name" external iter_clear_regions: [>`gtkwidgetpath] obj -> int -> unit = "ml_gtk_widget_path_iter_clear_regions" external iter_clear_classes: [>`gtkwidgetpath] obj -> int -> unit = "ml_gtk_widget_path_iter_clear_classes" external iter_add_class: [>`gtkwidgetpath] obj -> int -> string -> unit = "ml_gtk_widget_path_iter_add_class" external is_type: [>`gtkwidgetpath] obj -> int -> bool = "ml_gtk_widget_path_is_type" external has_parent: [>`gtkwidgetpath] obj -> int -> bool = "ml_gtk_widget_path_has_parent" external get_object_type: [>`gtkwidgetpath] obj -> int = "ml_gtk_widget_path_get_object_type" external free: [>`gtkwidgetpath] obj -> unit = "ml_gtk_widget_path_free" external copy: [>`gtkwidgetpath] obj -> [<`gtkwidgetpath] obj = "ml_gtk_widget_path_copy" external append_type: [>`gtkwidgetpath] obj -> int -> int = "ml_gtk_widget_path_append_type" end module WidgetClass = struct external install_style_property: [>`gtkwidgetclass] obj -> [>`gparamspec] obj -> unit = "ml_gtk_widget_class_install_style_property" external find_style_property: [>`gtkwidgetclass] obj -> string -> [<`gparamspec] obj = "ml_gtk_widget_class_find_style_property" end module WidgetAuxInfo = struct end module Widget = struct external unrealize: [>`gtkwidget] obj -> unit = "ml_gtk_widget_unrealize" external unparent: [>`gtkwidget] obj -> unit = "ml_gtk_widget_unparent" external unmap: [>`gtkwidget] obj -> unit = "ml_gtk_widget_unmap" external trigger_tooltip_query: [>`gtkwidget] obj -> unit = "ml_gtk_widget_trigger_tooltip_query" external thaw_child_notify: [>`gtkwidget] obj -> unit = "ml_gtk_widget_thaw_child_notify" external style_get_property: [>`gtkwidget] obj -> string -> [>`gvalue] obj -> unit = "ml_gtk_widget_style_get_property" external style_attach: [>`gtkwidget] obj -> unit = "ml_gtk_widget_style_attach" external show_now: [>`gtkwidget] obj -> unit = "ml_gtk_widget_show_now" external show_all: [>`gtkwidget] obj -> unit = "ml_gtk_widget_show_all" external show: [>`gtkwidget] obj -> unit = "ml_gtk_widget_show" external shape_combine_region: [>`gtkwidget] obj -> [>`cairo_region_t] obj option -> unit = "ml_gtk_widget_shape_combine_region" external set_window: [>`gtkwidget] obj -> [>`gdkwindow] obj -> unit = "ml_gtk_widget_set_window" external set_visual: [>`gtkwidget] obj -> [>`gdkvisual] obj -> unit = "ml_gtk_widget_set_visual" external set_visible: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_visible" external set_vexpand_set: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_vexpand_set" external set_vexpand: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_vexpand" external set_tooltip_window: [>`gtkwidget] obj -> [>`gtkwindow] obj option -> unit = "ml_gtk_widget_set_tooltip_window" external set_tooltip_text: [>`gtkwidget] obj -> string -> unit = "ml_gtk_widget_set_tooltip_text" external set_tooltip_markup: [>`gtkwidget] obj -> string option -> unit = "ml_gtk_widget_set_tooltip_markup" external set_support_multidevice: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_support_multidevice" external set_style: [>`gtkwidget] obj -> [>`gtkstyle] obj option -> unit = "ml_gtk_widget_set_style" external set_size_request: [>`gtkwidget] obj -> int -> int -> unit = "ml_gtk_widget_set_size_request" external set_sensitive: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_sensitive" external set_redraw_on_allocate: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_redraw_on_allocate" external set_receives_default: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_receives_default" external set_realized: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_realized" external set_parent_window: [>`gtkwidget] obj -> [>`gdkwindow] obj -> unit = "ml_gtk_widget_set_parent_window" external set_parent: [>`gtkwidget] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_widget_set_parent" external set_no_show_all: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_no_show_all" external set_name: [>`gtkwidget] obj -> string -> unit = "ml_gtk_widget_set_name" external set_margin_top: [>`gtkwidget] obj -> int -> unit = "ml_gtk_widget_set_margin_top" external set_margin_right: [>`gtkwidget] obj -> int -> unit = "ml_gtk_widget_set_margin_right" external set_margin_left: [>`gtkwidget] obj -> int -> unit = "ml_gtk_widget_set_margin_left" external set_margin_bottom: [>`gtkwidget] obj -> int -> unit = "ml_gtk_widget_set_margin_bottom" external set_mapped: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_mapped" external set_hexpand_set: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_hexpand_set" external set_hexpand: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_hexpand" external set_has_window: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_has_window" external set_has_tooltip: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_has_tooltip" external set_events: [>`gtkwidget] obj -> int -> unit = "ml_gtk_widget_set_events" external set_double_buffered: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_double_buffered" external set_device_enabled: [>`gtkwidget] obj -> [>`gdkdevice] obj -> bool -> unit = "ml_gtk_widget_set_device_enabled" external set_composite_name: [>`gtkwidget] obj -> string -> unit = "ml_gtk_widget_set_composite_name" external set_child_visible: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_child_visible" external set_can_focus: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_can_focus" external set_can_default: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_can_default" external set_app_paintable: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_widget_set_app_paintable" external set_accel_path: [>`gtkwidget] obj -> string option -> [>`gtkaccelgroup] obj option -> unit = "ml_gtk_widget_set_accel_path" external reset_style: [>`gtkwidget] obj -> unit = "ml_gtk_widget_reset_style" external reset_rc_styles: [>`gtkwidget] obj -> unit = "ml_gtk_widget_reset_rc_styles" external reparent: [>`gtkwidget] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_widget_reparent" external remove_mnemonic_label: [>`gtkwidget] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_widget_remove_mnemonic_label" external region_intersect: [>`gtkwidget] obj -> [>`cairo_region_t] obj -> [<`cairo_region_t] obj = "ml_gtk_widget_region_intersect" external realize: [>`gtkwidget] obj -> unit = "ml_gtk_widget_realize" external queue_resize_no_redraw: [>`gtkwidget] obj -> unit = "ml_gtk_widget_queue_resize_no_redraw" external queue_resize: [>`gtkwidget] obj -> unit = "ml_gtk_widget_queue_resize" external queue_draw_region: [>`gtkwidget] obj -> [>`cairo_region_t] obj -> unit = "ml_gtk_widget_queue_draw_region" external queue_draw_area: [>`gtkwidget] obj -> int -> int -> int -> int -> unit = "ml_gtk_widget_queue_draw_area" external queue_draw: [>`gtkwidget] obj -> unit = "ml_gtk_widget_queue_draw" external queue_compute_expand: [>`gtkwidget] obj -> unit = "ml_gtk_widget_queue_compute_expand" external override_symbolic_color: [>`gtkwidget] obj -> string -> [>`gdkrgba] obj option -> unit = "ml_gtk_widget_override_symbolic_color" external override_font: [>`gtkwidget] obj -> [>`pangofontdescription] obj -> unit = "ml_gtk_widget_override_font" external override_cursor: [>`gtkwidget] obj -> [>`gdkrgba] obj -> [>`gdkrgba] obj -> unit = "ml_gtk_widget_override_cursor" external modify_style: [>`gtkwidget] obj -> [>`gtkrcstyle] obj -> unit = "ml_gtk_widget_modify_style" external modify_font: [>`gtkwidget] obj -> [>`pangofontdescription] obj option -> unit = "ml_gtk_widget_modify_font" external modify_cursor: [>`gtkwidget] obj -> [>`gdkcolor] obj -> [>`gdkcolor] obj -> unit = "ml_gtk_widget_modify_cursor" external mnemonic_activate: [>`gtkwidget] obj -> bool -> bool = "ml_gtk_widget_mnemonic_activate" external map: [>`gtkwidget] obj -> unit = "ml_gtk_widget_map" external list_mnemonic_labels: [>`gtkwidget] obj -> [<`glist] obj = "ml_gtk_widget_list_mnemonic_labels" external list_accel_closures: [>`gtkwidget] obj -> [<`glist] obj = "ml_gtk_widget_list_accel_closures" external is_toplevel: [>`gtkwidget] obj -> bool = "ml_gtk_widget_is_toplevel" external is_sensitive: [>`gtkwidget] obj -> bool = "ml_gtk_widget_is_sensitive" external is_focus: [>`gtkwidget] obj -> bool = "ml_gtk_widget_is_focus" external is_drawable: [>`gtkwidget] obj -> bool = "ml_gtk_widget_is_drawable" external is_composited: [>`gtkwidget] obj -> bool = "ml_gtk_widget_is_composited" external is_ancestor: [>`gtkwidget] obj -> [>`gtkwidget] obj -> bool = "ml_gtk_widget_is_ancestor" external input_shape_combine_region: [>`gtkwidget] obj -> [>`cairo_region_t] obj option -> unit = "ml_gtk_widget_input_shape_combine_region" external in_destruction: [>`gtkwidget] obj -> bool = "ml_gtk_widget_in_destruction" external hide_on_delete: [>`gtkwidget] obj -> bool = "ml_gtk_widget_hide_on_delete" external hide: [>`gtkwidget] obj -> unit = "ml_gtk_widget_hide" external has_screen: [>`gtkwidget] obj -> bool = "ml_gtk_widget_has_screen" external has_rc_style: [>`gtkwidget] obj -> bool = "ml_gtk_widget_has_rc_style" external has_grab: [>`gtkwidget] obj -> bool = "ml_gtk_widget_has_grab" external has_focus: [>`gtkwidget] obj -> bool = "ml_gtk_widget_has_focus" external has_default: [>`gtkwidget] obj -> bool = "ml_gtk_widget_has_default" external grab_remove: [>`gtkwidget] obj -> unit = "ml_gtk_grab_remove" external grab_focus: [>`gtkwidget] obj -> unit = "ml_gtk_widget_grab_focus" external grab_default: [>`gtkwidget] obj -> unit = "ml_gtk_widget_grab_default" external grab_add: [>`gtkwidget] obj -> unit = "ml_gtk_grab_add" external get_window: [>`gtkwidget] obj -> [<`gdkwindow] obj = "ml_gtk_widget_get_window" external get_visual: [>`gtkwidget] obj -> [<`gdkvisual] obj = "ml_gtk_widget_get_visual" external get_visible: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_visible" external get_vexpand_set: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_vexpand_set" external get_vexpand: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_vexpand" external get_toplevel: [>`gtkwidget] obj -> [<`gtkwidget] obj = "ml_gtk_widget_get_toplevel" external get_tooltip_window: [>`gtkwidget] obj -> [<`gtkwindow] obj = "ml_gtk_widget_get_tooltip_window" external get_tooltip_text: [>`gtkwidget] obj -> string = "ml_gtk_widget_get_tooltip_text" external get_tooltip_markup: [>`gtkwidget] obj -> string = "ml_gtk_widget_get_tooltip_markup" external get_support_multidevice: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_support_multidevice" external get_style_context: [>`gtkwidget] obj -> [<`gtkstylecontext] obj = "ml_gtk_widget_get_style_context" external get_style: [>`gtkwidget] obj -> [<`gtkstyle] obj = "ml_gtk_widget_get_style" external get_settings: [>`gtkwidget] obj -> [<`gtksettings] obj = "ml_gtk_widget_get_settings" external get_sensitive: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_sensitive" external get_screen: [>`gtkwidget] obj -> [<`gdkscreen] obj = "ml_gtk_widget_get_screen" external get_root_window: [>`gtkwidget] obj -> [<`gdkwindow] obj = "ml_gtk_widget_get_root_window" external get_receives_default: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_receives_default" external get_realized: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_realized" external get_path: [>`gtkwidget] obj -> [<`gtkwidgetpath] obj = "ml_gtk_widget_get_path" external get_parent_window: [>`gtkwidget] obj -> [<`gdkwindow] obj = "ml_gtk_widget_get_parent_window" external get_parent: [>`gtkwidget] obj -> [<`gtkwidget] obj = "ml_gtk_widget_get_parent" external get_pango_context: [>`gtkwidget] obj -> [<`pangocontext] obj = "ml_gtk_widget_get_pango_context" external get_no_show_all: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_no_show_all" external get_name: [>`gtkwidget] obj -> string = "ml_gtk_widget_get_name" external get_modifier_style: [>`gtkwidget] obj -> [<`gtkrcstyle] obj = "ml_gtk_widget_get_modifier_style" external get_margin_top: [>`gtkwidget] obj -> int = "ml_gtk_widget_get_margin_top" external get_margin_right: [>`gtkwidget] obj -> int = "ml_gtk_widget_get_margin_right" external get_margin_left: [>`gtkwidget] obj -> int = "ml_gtk_widget_get_margin_left" external get_margin_bottom: [>`gtkwidget] obj -> int = "ml_gtk_widget_get_margin_bottom" external get_mapped: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_mapped" external get_hexpand_set: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_hexpand_set" external get_hexpand: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_hexpand" external get_has_window: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_has_window" external get_has_tooltip: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_has_tooltip" external get_events: [>`gtkwidget] obj -> int = "ml_gtk_widget_get_events" external get_double_buffered: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_double_buffered" external get_display: [>`gtkwidget] obj -> [<`gdkdisplay] obj = "ml_gtk_widget_get_display" external get_device_enabled: [>`gtkwidget] obj -> [>`gdkdevice] obj -> bool = "ml_gtk_widget_get_device_enabled" external get_composite_name: [>`gtkwidget] obj -> string = "ml_gtk_widget_get_composite_name" external get_child_visible: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_child_visible" external get_can_focus: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_can_focus" external get_can_default: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_can_default" external get_app_paintable: [>`gtkwidget] obj -> bool = "ml_gtk_widget_get_app_paintable" external get_ancestor: [>`gtkwidget] obj -> int -> [<`gtkwidget] obj = "ml_gtk_widget_get_ancestor" external get_allocated_width: [>`gtkwidget] obj -> int = "ml_gtk_widget_get_allocated_width" external get_allocated_height: [>`gtkwidget] obj -> int = "ml_gtk_widget_get_allocated_height" external get_accessible: [>`gtkwidget] obj -> [<`atkobject] obj = "ml_gtk_widget_get_accessible" external freeze_child_notify: [>`gtkwidget] obj -> unit = "ml_gtk_widget_freeze_child_notify" external error_bell: [>`gtkwidget] obj -> unit = "ml_gtk_widget_error_bell" external ensure_style: [>`gtkwidget] obj -> unit = "ml_gtk_widget_ensure_style" external draw: [>`gtkwidget] obj -> [>`cairo_t] obj -> unit = "ml_gtk_widget_draw" external drag_unhighlight: [>`gtkwidget] obj -> unit = "ml_gtk_drag_unhighlight" external drag_source_unset: [>`gtkwidget] obj -> unit = "ml_gtk_drag_source_unset" external drag_source_set_target_list: [>`gtkwidget] obj -> [>`gtktargetlist] obj option -> unit = "ml_gtk_drag_source_set_target_list" external drag_source_set_icon_stock: [>`gtkwidget] obj -> string -> unit = "ml_gtk_drag_source_set_icon_stock" external drag_source_set_icon_pixbuf: [>`gtkwidget] obj -> [>`gdkpixbuf] obj -> unit = "ml_gtk_drag_source_set_icon_pixbuf" external drag_source_set_icon_name: [>`gtkwidget] obj -> string -> unit = "ml_gtk_drag_source_set_icon_name" external drag_source_get_target_list: [>`gtkwidget] obj -> [<`gtktargetlist] obj = "ml_gtk_drag_source_get_target_list" external drag_source_add_uri_targets: [>`gtkwidget] obj -> unit = "ml_gtk_drag_source_add_uri_targets" external drag_source_add_text_targets: [>`gtkwidget] obj -> unit = "ml_gtk_drag_source_add_text_targets" external drag_source_add_image_targets: [>`gtkwidget] obj -> unit = "ml_gtk_drag_source_add_image_targets" external drag_highlight: [>`gtkwidget] obj -> unit = "ml_gtk_drag_highlight" external drag_dest_unset: [>`gtkwidget] obj -> unit = "ml_gtk_drag_dest_unset" external drag_dest_set_track_motion: [>`gtkwidget] obj -> bool -> unit = "ml_gtk_drag_dest_set_track_motion" external drag_dest_set_target_list: [>`gtkwidget] obj -> [>`gtktargetlist] obj option -> unit = "ml_gtk_drag_dest_set_target_list" external drag_dest_get_track_motion: [>`gtkwidget] obj -> bool = "ml_gtk_drag_dest_get_track_motion" external drag_dest_get_target_list: [>`gtkwidget] obj -> [<`gtktargetlist] obj = "ml_gtk_drag_dest_get_target_list" external drag_dest_add_uri_targets: [>`gtkwidget] obj -> unit = "ml_gtk_drag_dest_add_uri_targets" external drag_dest_add_text_targets: [>`gtkwidget] obj -> unit = "ml_gtk_drag_dest_add_text_targets" external drag_dest_add_image_targets: [>`gtkwidget] obj -> unit = "ml_gtk_drag_dest_add_image_targets" external drag_check_threshold: [>`gtkwidget] obj -> int -> int -> int -> int -> bool = "ml_gtk_drag_check_threshold" external device_is_shadowed: [>`gtkwidget] obj -> [>`gdkdevice] obj -> bool = "ml_gtk_widget_device_is_shadowed" external destroy: [>`gtkwidget] obj -> unit = "ml_gtk_widget_destroy" external create_pango_layout: [>`gtkwidget] obj -> string -> [<`pangolayout] obj = "ml_gtk_widget_create_pango_layout" external create_pango_context: [>`gtkwidget] obj -> [<`pangocontext] obj = "ml_gtk_widget_create_pango_context" external child_notify: [>`gtkwidget] obj -> string -> unit = "ml_gtk_widget_child_notify" external can_activate_accel: [>`gtkwidget] obj -> int -> bool = "ml_gtk_widget_can_activate_accel" external add_mnemonic_label: [>`gtkwidget] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_widget_add_mnemonic_label" external add_events: [>`gtkwidget] obj -> int -> unit = "ml_gtk_widget_add_events" external activate: [>`gtkwidget] obj -> bool = "ml_gtk_widget_activate" external push_composite_child: unit -> unit = "ml_gtk_widget_push_composite_child" external pop_composite_child: unit -> unit = "ml_gtk_widget_pop_composite_child" external get_default_style: unit -> [<`gtkstyle] obj = "ml_gtk_widget_get_default_style" end module VolumeButtonClass = struct end module VolumeButton = struct end module ViewportPrivate = struct end module ViewportClass = struct end module Viewport = struct external set_vadjustment: [>`gtkviewport] obj -> [>`gtkadjustment] obj option -> unit = "ml_gtk_viewport_set_vadjustment" external set_hadjustment: [>`gtkviewport] obj -> [>`gtkadjustment] obj option -> unit = "ml_gtk_viewport_set_hadjustment" external get_view_window: [>`gtkviewport] obj -> [<`gdkwindow] obj = "ml_gtk_viewport_get_view_window" external get_vadjustment: [>`gtkviewport] obj -> [<`gtkadjustment] obj = "ml_gtk_viewport_get_vadjustment" external get_hadjustment: [>`gtkviewport] obj -> [<`gtkadjustment] obj = "ml_gtk_viewport_get_hadjustment" external get_bin_window: [>`gtkviewport] obj -> [<`gdkwindow] obj = "ml_gtk_viewport_get_bin_window" end module VSeparatorClass = struct end module VSeparator = struct end module VScrollbarClass = struct end module VScrollbar = struct end module VScaleClass = struct end module VScale = struct end module VPanedClass = struct end module VPaned = struct end module VButtonBoxClass = struct end module VButtonBox = struct end module VBoxClass = struct end module VBox = struct end module UIManagerPrivate = struct end module UIManagerClass = struct end module UIManager = struct external set_add_tearoffs: [>`gtkuimanager] obj -> bool -> unit = "ml_gtk_ui_manager_set_add_tearoffs" external remove_ui: [>`gtkuimanager] obj -> int -> unit = "ml_gtk_ui_manager_remove_ui" external remove_action_group: [>`gtkuimanager] obj -> [>`gtkactiongroup] obj -> unit = "ml_gtk_ui_manager_remove_action_group" external new_merge_id: [>`gtkuimanager] obj -> int = "ml_gtk_ui_manager_new_merge_id" external insert_action_group: [>`gtkuimanager] obj -> [>`gtkactiongroup] obj -> int -> unit = "ml_gtk_ui_manager_insert_action_group" external get_widget: [>`gtkuimanager] obj -> string -> [<`gtkwidget] obj = "ml_gtk_ui_manager_get_widget" external get_ui: [>`gtkuimanager] obj -> string = "ml_gtk_ui_manager_get_ui" external get_add_tearoffs: [>`gtkuimanager] obj -> bool = "ml_gtk_ui_manager_get_add_tearoffs" external get_action_groups: [>`gtkuimanager] obj -> [<`glist] obj = "ml_gtk_ui_manager_get_action_groups" external get_action: [>`gtkuimanager] obj -> string -> [<`gtkaction] obj = "ml_gtk_ui_manager_get_action" external get_accel_group: [>`gtkuimanager] obj -> [<`gtkaccelgroup] obj = "ml_gtk_ui_manager_get_accel_group" external ensure_update: [>`gtkuimanager] obj -> unit = "ml_gtk_ui_manager_ensure_update" end module TreeViewPrivate = struct end module TreeViewColumnPrivate = struct end module TreeViewColumnClass = struct end module TreeViewColumn = struct external set_widget: [>`gtktreeviewcolumn] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_tree_view_column_set_widget" external set_visible: [>`gtktreeviewcolumn] obj -> bool -> unit = "ml_gtk_tree_view_column_set_visible" external set_title: [>`gtktreeviewcolumn] obj -> string -> unit = "ml_gtk_tree_view_column_set_title" external set_spacing: [>`gtktreeviewcolumn] obj -> int -> unit = "ml_gtk_tree_view_column_set_spacing" external set_sort_indicator: [>`gtktreeviewcolumn] obj -> bool -> unit = "ml_gtk_tree_view_column_set_sort_indicator" external set_sort_column_id: [>`gtktreeviewcolumn] obj -> int -> unit = "ml_gtk_tree_view_column_set_sort_column_id" external set_resizable: [>`gtktreeviewcolumn] obj -> bool -> unit = "ml_gtk_tree_view_column_set_resizable" external set_reorderable: [>`gtktreeviewcolumn] obj -> bool -> unit = "ml_gtk_tree_view_column_set_reorderable" external set_min_width: [>`gtktreeviewcolumn] obj -> int -> unit = "ml_gtk_tree_view_column_set_min_width" external set_max_width: [>`gtktreeviewcolumn] obj -> int -> unit = "ml_gtk_tree_view_column_set_max_width" external set_fixed_width: [>`gtktreeviewcolumn] obj -> int -> unit = "ml_gtk_tree_view_column_set_fixed_width" external set_expand: [>`gtktreeviewcolumn] obj -> bool -> unit = "ml_gtk_tree_view_column_set_expand" external set_clickable: [>`gtktreeviewcolumn] obj -> bool -> unit = "ml_gtk_tree_view_column_set_clickable" external queue_resize: [>`gtktreeviewcolumn] obj -> unit = "ml_gtk_tree_view_column_queue_resize" external pack_start: [>`gtktreeviewcolumn] obj -> [>`gtkcellrenderer] obj -> bool -> unit = "ml_gtk_tree_view_column_pack_start" external pack_end: [>`gtktreeviewcolumn] obj -> [>`gtkcellrenderer] obj -> bool -> unit = "ml_gtk_tree_view_column_pack_end" external get_width: [>`gtktreeviewcolumn] obj -> int = "ml_gtk_tree_view_column_get_width" external get_widget: [>`gtktreeviewcolumn] obj -> [<`gtkwidget] obj = "ml_gtk_tree_view_column_get_widget" external get_visible: [>`gtktreeviewcolumn] obj -> bool = "ml_gtk_tree_view_column_get_visible" external get_tree_view: [>`gtktreeviewcolumn] obj -> [<`gtkwidget] obj = "ml_gtk_tree_view_column_get_tree_view" external get_title: [>`gtktreeviewcolumn] obj -> string = "ml_gtk_tree_view_column_get_title" external get_spacing: [>`gtktreeviewcolumn] obj -> int = "ml_gtk_tree_view_column_get_spacing" external get_sort_indicator: [>`gtktreeviewcolumn] obj -> bool = "ml_gtk_tree_view_column_get_sort_indicator" external get_sort_column_id: [>`gtktreeviewcolumn] obj -> int = "ml_gtk_tree_view_column_get_sort_column_id" external get_resizable: [>`gtktreeviewcolumn] obj -> bool = "ml_gtk_tree_view_column_get_resizable" external get_reorderable: [>`gtktreeviewcolumn] obj -> bool = "ml_gtk_tree_view_column_get_reorderable" external get_min_width: [>`gtktreeviewcolumn] obj -> int = "ml_gtk_tree_view_column_get_min_width" external get_max_width: [>`gtktreeviewcolumn] obj -> int = "ml_gtk_tree_view_column_get_max_width" external get_fixed_width: [>`gtktreeviewcolumn] obj -> int = "ml_gtk_tree_view_column_get_fixed_width" external get_expand: [>`gtktreeviewcolumn] obj -> bool = "ml_gtk_tree_view_column_get_expand" external get_clickable: [>`gtktreeviewcolumn] obj -> bool = "ml_gtk_tree_view_column_get_clickable" external get_button: [>`gtktreeviewcolumn] obj -> [<`gtkwidget] obj = "ml_gtk_tree_view_column_get_button" external focus_cell: [>`gtktreeviewcolumn] obj -> [>`gtkcellrenderer] obj -> unit = "ml_gtk_tree_view_column_focus_cell" external clicked: [>`gtktreeviewcolumn] obj -> unit = "ml_gtk_tree_view_column_clicked" external clear_attributes: [>`gtktreeviewcolumn] obj -> [>`gtkcellrenderer] obj -> unit = "ml_gtk_tree_view_column_clear_attributes" external clear: [>`gtktreeviewcolumn] obj -> unit = "ml_gtk_tree_view_column_clear" external cell_is_visible: [>`gtktreeviewcolumn] obj -> bool = "ml_gtk_tree_view_column_cell_is_visible" external add_attribute: [>`gtktreeviewcolumn] obj -> [>`gtkcellrenderer] obj -> string -> int -> unit = "ml_gtk_tree_view_column_add_attribute" end module TreeViewClass = struct end module TreeView = struct external unset_rows_drag_source: [>`gtktreeview] obj -> unit = "ml_gtk_tree_view_unset_rows_drag_source" external unset_rows_drag_dest: [>`gtktreeview] obj -> unit = "ml_gtk_tree_view_unset_rows_drag_dest" external set_vadjustment: [>`gtktreeview] obj -> [>`gtkadjustment] obj option -> unit = "ml_gtk_tree_view_set_vadjustment" external set_tooltip_row: [>`gtktreeview] obj -> [>`gtktooltip] obj -> [>`gtktreepath] obj -> unit = "ml_gtk_tree_view_set_tooltip_row" external set_tooltip_column: [>`gtktreeview] obj -> int -> unit = "ml_gtk_tree_view_set_tooltip_column" external set_tooltip_cell: [>`gtktreeview] obj -> [>`gtktooltip] obj -> [>`gtktreepath] obj option -> [>`gtktreeviewcolumn] obj option -> [>`gtkcellrenderer] obj option -> unit = "ml_gtk_tree_view_set_tooltip_cell" external set_show_expanders: [>`gtktreeview] obj -> bool -> unit = "ml_gtk_tree_view_set_show_expanders" external set_search_entry: [>`gtktreeview] obj -> [>`gtkentry] obj option -> unit = "ml_gtk_tree_view_set_search_entry" external set_search_column: [>`gtktreeview] obj -> int -> unit = "ml_gtk_tree_view_set_search_column" external set_rules_hint: [>`gtktreeview] obj -> bool -> unit = "ml_gtk_tree_view_set_rules_hint" external set_rubber_banding: [>`gtktreeview] obj -> bool -> unit = "ml_gtk_tree_view_set_rubber_banding" external set_reorderable: [>`gtktreeview] obj -> bool -> unit = "ml_gtk_tree_view_set_reorderable" external set_level_indentation: [>`gtktreeview] obj -> int -> unit = "ml_gtk_tree_view_set_level_indentation" external set_hover_selection: [>`gtktreeview] obj -> bool -> unit = "ml_gtk_tree_view_set_hover_selection" external set_hover_expand: [>`gtktreeview] obj -> bool -> unit = "ml_gtk_tree_view_set_hover_expand" external set_headers_visible: [>`gtktreeview] obj -> bool -> unit = "ml_gtk_tree_view_set_headers_visible" external set_headers_clickable: [>`gtktreeview] obj -> bool -> unit = "ml_gtk_tree_view_set_headers_clickable" external set_hadjustment: [>`gtktreeview] obj -> [>`gtkadjustment] obj option -> unit = "ml_gtk_tree_view_set_hadjustment" external set_fixed_height_mode: [>`gtktreeview] obj -> bool -> unit = "ml_gtk_tree_view_set_fixed_height_mode" external set_expander_column: [>`gtktreeview] obj -> [>`gtktreeviewcolumn] obj -> unit = "ml_gtk_tree_view_set_expander_column" external set_enable_tree_lines: [>`gtktreeview] obj -> bool -> unit = "ml_gtk_tree_view_set_enable_tree_lines" external set_enable_search: [>`gtktreeview] obj -> bool -> unit = "ml_gtk_tree_view_set_enable_search" external set_cursor_on_cell: [>`gtktreeview] obj -> [>`gtktreepath] obj -> [>`gtktreeviewcolumn] obj option -> [>`gtkcellrenderer] obj option -> bool -> unit = "ml_gtk_tree_view_set_cursor_on_cell" external set_cursor: [>`gtktreeview] obj -> [>`gtktreepath] obj -> [>`gtktreeviewcolumn] obj option -> bool -> unit = "ml_gtk_tree_view_set_cursor" external scroll_to_point: [>`gtktreeview] obj -> int -> int -> unit = "ml_gtk_tree_view_scroll_to_point" external row_expanded: [>`gtktreeview] obj -> [>`gtktreepath] obj -> bool = "ml_gtk_tree_view_row_expanded" external row_activated: [>`gtktreeview] obj -> [>`gtktreepath] obj -> [>`gtktreeviewcolumn] obj -> unit = "ml_gtk_tree_view_row_activated" external remove_column: [>`gtktreeview] obj -> [>`gtktreeviewcolumn] obj -> int = "ml_gtk_tree_view_remove_column" external move_column_after: [>`gtktreeview] obj -> [>`gtktreeviewcolumn] obj -> [>`gtktreeviewcolumn] obj option -> unit = "ml_gtk_tree_view_move_column_after" external is_rubber_banding_active: [>`gtktreeview] obj -> bool = "ml_gtk_tree_view_is_rubber_banding_active" external insert_column: [>`gtktreeview] obj -> [>`gtktreeviewcolumn] obj -> int -> int = "ml_gtk_tree_view_insert_column" external get_vadjustment: [>`gtktreeview] obj -> [<`gtkadjustment] obj = "ml_gtk_tree_view_get_vadjustment" external get_tooltip_column: [>`gtktreeview] obj -> int = "ml_gtk_tree_view_get_tooltip_column" external get_show_expanders: [>`gtktreeview] obj -> bool = "ml_gtk_tree_view_get_show_expanders" external get_selection: [>`gtktreeview] obj -> [<`gtktreeselection] obj = "ml_gtk_tree_view_get_selection" external get_search_entry: [>`gtktreeview] obj -> [<`gtkentry] obj = "ml_gtk_tree_view_get_search_entry" external get_search_column: [>`gtktreeview] obj -> int = "ml_gtk_tree_view_get_search_column" external get_rules_hint: [>`gtktreeview] obj -> bool = "ml_gtk_tree_view_get_rules_hint" external get_rubber_banding: [>`gtktreeview] obj -> bool = "ml_gtk_tree_view_get_rubber_banding" external get_reorderable: [>`gtktreeview] obj -> bool = "ml_gtk_tree_view_get_reorderable" external get_level_indentation: [>`gtktreeview] obj -> int = "ml_gtk_tree_view_get_level_indentation" external get_hover_selection: [>`gtktreeview] obj -> bool = "ml_gtk_tree_view_get_hover_selection" external get_hover_expand: [>`gtktreeview] obj -> bool = "ml_gtk_tree_view_get_hover_expand" external get_headers_visible: [>`gtktreeview] obj -> bool = "ml_gtk_tree_view_get_headers_visible" external get_headers_clickable: [>`gtktreeview] obj -> bool = "ml_gtk_tree_view_get_headers_clickable" external get_hadjustment: [>`gtktreeview] obj -> [<`gtkadjustment] obj = "ml_gtk_tree_view_get_hadjustment" external get_fixed_height_mode: [>`gtktreeview] obj -> bool = "ml_gtk_tree_view_get_fixed_height_mode" external get_expander_column: [>`gtktreeview] obj -> [<`gtktreeviewcolumn] obj = "ml_gtk_tree_view_get_expander_column" external get_enable_tree_lines: [>`gtktreeview] obj -> bool = "ml_gtk_tree_view_get_enable_tree_lines" external get_enable_search: [>`gtktreeview] obj -> bool = "ml_gtk_tree_view_get_enable_search" external get_columns: [>`gtktreeview] obj -> [<`glist] obj = "ml_gtk_tree_view_get_columns" external get_column: [>`gtktreeview] obj -> int -> [<`gtktreeviewcolumn] obj = "ml_gtk_tree_view_get_column" external get_bin_window: [>`gtktreeview] obj -> [<`gdkwindow] obj = "ml_gtk_tree_view_get_bin_window" external expand_to_path: [>`gtktreeview] obj -> [>`gtktreepath] obj -> unit = "ml_gtk_tree_view_expand_to_path" external expand_row: [>`gtktreeview] obj -> [>`gtktreepath] obj -> bool -> bool = "ml_gtk_tree_view_expand_row" external expand_all: [>`gtktreeview] obj -> unit = "ml_gtk_tree_view_expand_all" external create_row_drag_icon: [>`gtktreeview] obj -> [>`gtktreepath] obj -> [<`cairo_surface_t] obj = "ml_gtk_tree_view_create_row_drag_icon" external columns_autosize: [>`gtktreeview] obj -> unit = "ml_gtk_tree_view_columns_autosize" external collapse_row: [>`gtktreeview] obj -> [>`gtktreepath] obj -> bool = "ml_gtk_tree_view_collapse_row" external collapse_all: [>`gtktreeview] obj -> unit = "ml_gtk_tree_view_collapse_all" external append_column: [>`gtktreeview] obj -> [>`gtktreeviewcolumn] obj -> int = "ml_gtk_tree_view_append_column" end module TreeStorePrivate = struct end module TreeStoreClass = struct end module TreeStore = struct external swap: [>`gtktreestore] obj -> [>`gtktreeiter] obj -> [>`gtktreeiter] obj -> unit = "ml_gtk_tree_store_swap" external set_value: [>`gtktreestore] obj -> [>`gtktreeiter] obj -> int -> [>`gvalue] obj -> unit = "ml_gtk_tree_store_set_value" external remove: [>`gtktreestore] obj -> [>`gtktreeiter] obj -> bool = "ml_gtk_tree_store_remove" external move_before: [>`gtktreestore] obj -> [>`gtktreeiter] obj -> [>`gtktreeiter] obj option -> unit = "ml_gtk_tree_store_move_before" external move_after: [>`gtktreestore] obj -> [>`gtktreeiter] obj -> [>`gtktreeiter] obj option -> unit = "ml_gtk_tree_store_move_after" external iter_is_valid: [>`gtktreestore] obj -> [>`gtktreeiter] obj -> bool = "ml_gtk_tree_store_iter_is_valid" external iter_depth: [>`gtktreestore] obj -> [>`gtktreeiter] obj -> int = "ml_gtk_tree_store_iter_depth" external is_ancestor: [>`gtktreestore] obj -> [>`gtktreeiter] obj -> [>`gtktreeiter] obj -> bool = "ml_gtk_tree_store_is_ancestor" external clear: [>`gtktreestore] obj -> unit = "ml_gtk_tree_store_clear" end module TreeSortableIface = struct end module TreeSelectionPrivate = struct end module TreeSelectionClass = struct end module TreeSelection = struct external unselect_range: [>`gtktreeselection] obj -> [>`gtktreepath] obj -> [>`gtktreepath] obj -> unit = "ml_gtk_tree_selection_unselect_range" external unselect_path: [>`gtktreeselection] obj -> [>`gtktreepath] obj -> unit = "ml_gtk_tree_selection_unselect_path" external unselect_iter: [>`gtktreeselection] obj -> [>`gtktreeiter] obj -> unit = "ml_gtk_tree_selection_unselect_iter" external unselect_all: [>`gtktreeselection] obj -> unit = "ml_gtk_tree_selection_unselect_all" external select_range: [>`gtktreeselection] obj -> [>`gtktreepath] obj -> [>`gtktreepath] obj -> unit = "ml_gtk_tree_selection_select_range" external select_path: [>`gtktreeselection] obj -> [>`gtktreepath] obj -> unit = "ml_gtk_tree_selection_select_path" external select_iter: [>`gtktreeselection] obj -> [>`gtktreeiter] obj -> unit = "ml_gtk_tree_selection_select_iter" external select_all: [>`gtktreeselection] obj -> unit = "ml_gtk_tree_selection_select_all" external path_is_selected: [>`gtktreeselection] obj -> [>`gtktreepath] obj -> bool = "ml_gtk_tree_selection_path_is_selected" external iter_is_selected: [>`gtktreeselection] obj -> [>`gtktreeiter] obj -> bool = "ml_gtk_tree_selection_iter_is_selected" external get_tree_view: [>`gtktreeselection] obj -> [<`gtktreeview] obj = "ml_gtk_tree_selection_get_tree_view" external count_selected_rows: [>`gtktreeselection] obj -> int = "ml_gtk_tree_selection_count_selected_rows" end module TreeRowReference = struct external valid: [>`gtktreerowreference] obj -> bool = "ml_gtk_tree_row_reference_valid" external get_path: [>`gtktreerowreference] obj -> [<`gtktreepath] obj = "ml_gtk_tree_row_reference_get_path" external free: [>`gtktreerowreference] obj -> unit = "ml_gtk_tree_row_reference_free" external copy: [>`gtktreerowreference] obj -> [<`gtktreerowreference] obj = "ml_gtk_tree_row_reference_copy" end module TreePath = struct external up: [>`gtktreepath] obj -> bool = "ml_gtk_tree_path_up" external to_string: [>`gtktreepath] obj -> string = "ml_gtk_tree_path_to_string" external prev: [>`gtktreepath] obj -> bool = "ml_gtk_tree_path_prev" external prepend_index: [>`gtktreepath] obj -> int -> unit = "ml_gtk_tree_path_prepend_index" external next: [>`gtktreepath] obj -> unit = "ml_gtk_tree_path_next" external is_descendant: [>`gtktreepath] obj -> [>`gtktreepath] obj -> bool = "ml_gtk_tree_path_is_descendant" external is_ancestor: [>`gtktreepath] obj -> [>`gtktreepath] obj -> bool = "ml_gtk_tree_path_is_ancestor" external get_depth: [>`gtktreepath] obj -> int = "ml_gtk_tree_path_get_depth" external free: [>`gtktreepath] obj -> unit = "ml_gtk_tree_path_free" external down: [>`gtktreepath] obj -> unit = "ml_gtk_tree_path_down" external copy: [>`gtktreepath] obj -> [<`gtktreepath] obj = "ml_gtk_tree_path_copy" external compare: [>`gtktreepath] obj -> [>`gtktreepath] obj -> int = "ml_gtk_tree_path_compare" external append_index: [>`gtktreepath] obj -> int -> unit = "ml_gtk_tree_path_append_index" end module TreeModelSortPrivate = struct end module TreeModelSortClass = struct end module TreeModelSort = struct external reset_default_sort_func: [>`gtktreemodelsort] obj -> unit = "ml_gtk_tree_model_sort_reset_default_sort_func" external iter_is_valid: [>`gtktreemodelsort] obj -> [>`gtktreeiter] obj -> bool = "ml_gtk_tree_model_sort_iter_is_valid" external convert_path_to_child_path: [>`gtktreemodelsort] obj -> [>`gtktreepath] obj -> [<`gtktreepath] obj = "ml_gtk_tree_model_sort_convert_path_to_child_path" external convert_child_path_to_path: [>`gtktreemodelsort] obj -> [>`gtktreepath] obj -> [<`gtktreepath] obj = "ml_gtk_tree_model_sort_convert_child_path_to_path" external clear_cache: [>`gtktreemodelsort] obj -> unit = "ml_gtk_tree_model_sort_clear_cache" end module TreeModelIface = struct end module TreeModelFilterPrivate = struct end module TreeModelFilterClass = struct end module TreeModelFilter = struct external set_visible_column: [>`gtktreemodelfilter] obj -> int -> unit = "ml_gtk_tree_model_filter_set_visible_column" external refilter: [>`gtktreemodelfilter] obj -> unit = "ml_gtk_tree_model_filter_refilter" external convert_path_to_child_path: [>`gtktreemodelfilter] obj -> [>`gtktreepath] obj -> [<`gtktreepath] obj = "ml_gtk_tree_model_filter_convert_path_to_child_path" external convert_child_path_to_path: [>`gtktreemodelfilter] obj -> [>`gtktreepath] obj -> [<`gtktreepath] obj = "ml_gtk_tree_model_filter_convert_child_path_to_path" external clear_cache: [>`gtktreemodelfilter] obj -> unit = "ml_gtk_tree_model_filter_clear_cache" end module TreeIter = struct external free: [>`gtktreeiter] obj -> unit = "ml_gtk_tree_iter_free" external copy: [>`gtktreeiter] obj -> [<`gtktreeiter] obj = "ml_gtk_tree_iter_copy" end module TreeDragSourceIface = struct end module TreeDragDestIface = struct end module Tooltip = struct external set_text: [>`gtktooltip] obj -> string option -> unit = "ml_gtk_tooltip_set_text" external set_markup: [>`gtktooltip] obj -> string option -> unit = "ml_gtk_tooltip_set_markup" external set_icon: [>`gtktooltip] obj -> [>`gdkpixbuf] obj option -> unit = "ml_gtk_tooltip_set_icon" external set_custom: [>`gtktooltip] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_tooltip_set_custom" external trigger_tooltip_query: [>`gdkdisplay] obj -> unit = "ml_gtk_tooltip_trigger_tooltip_query" end module ToolbarPrivate = struct end module ToolbarClass = struct end module Toolbar = struct external unset_style: [>`gtktoolbar] obj -> unit = "ml_gtk_toolbar_unset_style" external unset_icon_size: [>`gtktoolbar] obj -> unit = "ml_gtk_toolbar_unset_icon_size" external set_show_arrow: [>`gtktoolbar] obj -> bool -> unit = "ml_gtk_toolbar_set_show_arrow" external set_drop_highlight_item: [>`gtktoolbar] obj -> [>`gtktoolitem] obj option -> int -> unit = "ml_gtk_toolbar_set_drop_highlight_item" external insert: [>`gtktoolbar] obj -> [>`gtktoolitem] obj -> int -> unit = "ml_gtk_toolbar_insert" external get_show_arrow: [>`gtktoolbar] obj -> bool = "ml_gtk_toolbar_get_show_arrow" external get_nth_item: [>`gtktoolbar] obj -> int -> [<`gtktoolitem] obj = "ml_gtk_toolbar_get_nth_item" external get_n_items: [>`gtktoolbar] obj -> int = "ml_gtk_toolbar_get_n_items" external get_item_index: [>`gtktoolbar] obj -> [>`gtktoolitem] obj -> int = "ml_gtk_toolbar_get_item_index" external get_drop_index: [>`gtktoolbar] obj -> int -> int -> int = "ml_gtk_toolbar_get_drop_index" end module ToolShellIface = struct end module ToolPalettePrivate = struct end module ToolPaletteClass = struct end module ToolPalette = struct external unset_style: [>`gtktoolpalette] obj -> unit = "ml_gtk_tool_palette_unset_style" external unset_icon_size: [>`gtktoolpalette] obj -> unit = "ml_gtk_tool_palette_unset_icon_size" external set_group_position: [>`gtktoolpalette] obj -> [>`gtktoolitemgroup] obj -> int -> unit = "ml_gtk_tool_palette_set_group_position" external set_expand: [>`gtktoolpalette] obj -> [>`gtktoolitemgroup] obj -> bool -> unit = "ml_gtk_tool_palette_set_expand" external set_exclusive: [>`gtktoolpalette] obj -> [>`gtktoolitemgroup] obj -> bool -> unit = "ml_gtk_tool_palette_set_exclusive" external get_vadjustment: [>`gtktoolpalette] obj -> [<`gtkadjustment] obj = "ml_gtk_tool_palette_get_vadjustment" external get_hadjustment: [>`gtktoolpalette] obj -> [<`gtkadjustment] obj = "ml_gtk_tool_palette_get_hadjustment" external get_group_position: [>`gtktoolpalette] obj -> [>`gtktoolitemgroup] obj -> int = "ml_gtk_tool_palette_get_group_position" external get_expand: [>`gtktoolpalette] obj -> [>`gtktoolitemgroup] obj -> bool = "ml_gtk_tool_palette_get_expand" external get_exclusive: [>`gtktoolpalette] obj -> [>`gtktoolitemgroup] obj -> bool = "ml_gtk_tool_palette_get_exclusive" external get_drop_item: [>`gtktoolpalette] obj -> int -> int -> [<`gtktoolitem] obj = "ml_gtk_tool_palette_get_drop_item" external get_drop_group: [>`gtktoolpalette] obj -> int -> int -> [<`gtktoolitemgroup] obj = "ml_gtk_tool_palette_get_drop_group" external get_drag_item: [>`gtktoolpalette] obj -> [>`gtkselectiondata] obj -> [<`gtkwidget] obj = "ml_gtk_tool_palette_get_drag_item" external get_drag_target_item: unit -> [<`gtktargetentry] obj = "ml_gtk_tool_palette_get_drag_target_item" external get_drag_target_group: unit -> [<`gtktargetentry] obj = "ml_gtk_tool_palette_get_drag_target_group" end module ToolItemPrivate = struct end module ToolItemGroupPrivate = struct end module ToolItemGroupClass = struct end module ToolItemGroup = struct external set_label_widget: [>`gtktoolitemgroup] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_tool_item_group_set_label_widget" external set_label: [>`gtktoolitemgroup] obj -> string -> unit = "ml_gtk_tool_item_group_set_label" external set_item_position: [>`gtktoolitemgroup] obj -> [>`gtktoolitem] obj -> int -> unit = "ml_gtk_tool_item_group_set_item_position" external set_collapsed: [>`gtktoolitemgroup] obj -> bool -> unit = "ml_gtk_tool_item_group_set_collapsed" external insert: [>`gtktoolitemgroup] obj -> [>`gtktoolitem] obj -> int -> unit = "ml_gtk_tool_item_group_insert" external get_nth_item: [>`gtktoolitemgroup] obj -> int -> [<`gtktoolitem] obj = "ml_gtk_tool_item_group_get_nth_item" external get_n_items: [>`gtktoolitemgroup] obj -> int = "ml_gtk_tool_item_group_get_n_items" external get_label_widget: [>`gtktoolitemgroup] obj -> [<`gtkwidget] obj = "ml_gtk_tool_item_group_get_label_widget" external get_label: [>`gtktoolitemgroup] obj -> string = "ml_gtk_tool_item_group_get_label" external get_item_position: [>`gtktoolitemgroup] obj -> [>`gtktoolitem] obj -> int = "ml_gtk_tool_item_group_get_item_position" external get_drop_item: [>`gtktoolitemgroup] obj -> int -> int -> [<`gtktoolitem] obj = "ml_gtk_tool_item_group_get_drop_item" external get_collapsed: [>`gtktoolitemgroup] obj -> bool = "ml_gtk_tool_item_group_get_collapsed" end module ToolItemClass = struct end module ToolItem = struct external toolbar_reconfigured: [>`gtktoolitem] obj -> unit = "ml_gtk_tool_item_toolbar_reconfigured" external set_visible_vertical: [>`gtktoolitem] obj -> bool -> unit = "ml_gtk_tool_item_set_visible_vertical" external set_visible_horizontal: [>`gtktoolitem] obj -> bool -> unit = "ml_gtk_tool_item_set_visible_horizontal" external set_use_drag_window: [>`gtktoolitem] obj -> bool -> unit = "ml_gtk_tool_item_set_use_drag_window" external set_tooltip_text: [>`gtktoolitem] obj -> string -> unit = "ml_gtk_tool_item_set_tooltip_text" external set_tooltip_markup: [>`gtktoolitem] obj -> string -> unit = "ml_gtk_tool_item_set_tooltip_markup" external set_proxy_menu_item: [>`gtktoolitem] obj -> string -> [>`gtkwidget] obj -> unit = "ml_gtk_tool_item_set_proxy_menu_item" external set_is_important: [>`gtktoolitem] obj -> bool -> unit = "ml_gtk_tool_item_set_is_important" external set_homogeneous: [>`gtktoolitem] obj -> bool -> unit = "ml_gtk_tool_item_set_homogeneous" external set_expand: [>`gtktoolitem] obj -> bool -> unit = "ml_gtk_tool_item_set_expand" external retrieve_proxy_menu_item: [>`gtktoolitem] obj -> [<`gtkwidget] obj = "ml_gtk_tool_item_retrieve_proxy_menu_item" external rebuild_menu: [>`gtktoolitem] obj -> unit = "ml_gtk_tool_item_rebuild_menu" external get_visible_vertical: [>`gtktoolitem] obj -> bool = "ml_gtk_tool_item_get_visible_vertical" external get_visible_horizontal: [>`gtktoolitem] obj -> bool = "ml_gtk_tool_item_get_visible_horizontal" external get_use_drag_window: [>`gtktoolitem] obj -> bool = "ml_gtk_tool_item_get_use_drag_window" external get_text_size_group: [>`gtktoolitem] obj -> [<`gtksizegroup] obj = "ml_gtk_tool_item_get_text_size_group" external get_proxy_menu_item: [>`gtktoolitem] obj -> string -> [<`gtkwidget] obj = "ml_gtk_tool_item_get_proxy_menu_item" external get_is_important: [>`gtktoolitem] obj -> bool = "ml_gtk_tool_item_get_is_important" external get_homogeneous: [>`gtktoolitem] obj -> bool = "ml_gtk_tool_item_get_homogeneous" external get_expand: [>`gtktoolitem] obj -> bool = "ml_gtk_tool_item_get_expand" end module ToolButtonPrivate = struct end module ToolButtonClass = struct end module ToolButton = struct external set_use_underline: [>`gtktoolbutton] obj -> bool -> unit = "ml_gtk_tool_button_set_use_underline" external set_stock_id: [>`gtktoolbutton] obj -> string option -> unit = "ml_gtk_tool_button_set_stock_id" external set_label_widget: [>`gtktoolbutton] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_tool_button_set_label_widget" external set_label: [>`gtktoolbutton] obj -> string option -> unit = "ml_gtk_tool_button_set_label" external set_icon_widget: [>`gtktoolbutton] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_tool_button_set_icon_widget" external set_icon_name: [>`gtktoolbutton] obj -> string option -> unit = "ml_gtk_tool_button_set_icon_name" external get_use_underline: [>`gtktoolbutton] obj -> bool = "ml_gtk_tool_button_get_use_underline" external get_stock_id: [>`gtktoolbutton] obj -> string = "ml_gtk_tool_button_get_stock_id" external get_label_widget: [>`gtktoolbutton] obj -> [<`gtkwidget] obj = "ml_gtk_tool_button_get_label_widget" external get_label: [>`gtktoolbutton] obj -> string = "ml_gtk_tool_button_get_label" external get_icon_widget: [>`gtktoolbutton] obj -> [<`gtkwidget] obj = "ml_gtk_tool_button_get_icon_widget" external get_icon_name: [>`gtktoolbutton] obj -> string = "ml_gtk_tool_button_get_icon_name" end module ToggleToolButtonPrivate = struct end module ToggleToolButtonClass = struct end module ToggleToolButton = struct external set_active: [>`gtktoggletoolbutton] obj -> bool -> unit = "ml_gtk_toggle_tool_button_set_active" external get_active: [>`gtktoggletoolbutton] obj -> bool = "ml_gtk_toggle_tool_button_get_active" end module ToggleButtonPrivate = struct end module ToggleButtonClass = struct end module ToggleButton = struct external toggled: [>`gtktogglebutton] obj -> unit = "ml_gtk_toggle_button_toggled" external set_mode: [>`gtktogglebutton] obj -> bool -> unit = "ml_gtk_toggle_button_set_mode" external set_inconsistent: [>`gtktogglebutton] obj -> bool -> unit = "ml_gtk_toggle_button_set_inconsistent" external set_active: [>`gtktogglebutton] obj -> bool -> unit = "ml_gtk_toggle_button_set_active" external get_mode: [>`gtktogglebutton] obj -> bool = "ml_gtk_toggle_button_get_mode" external get_inconsistent: [>`gtktogglebutton] obj -> bool = "ml_gtk_toggle_button_get_inconsistent" external get_active: [>`gtktogglebutton] obj -> bool = "ml_gtk_toggle_button_get_active" end module ToggleActionPrivate = struct end module ToggleActionEntry = struct end module ToggleActionClass = struct end module ToggleAction = struct external toggled: [>`gtktoggleaction] obj -> unit = "ml_gtk_toggle_action_toggled" external set_draw_as_radio: [>`gtktoggleaction] obj -> bool -> unit = "ml_gtk_toggle_action_set_draw_as_radio" external set_active: [>`gtktoggleaction] obj -> bool -> unit = "ml_gtk_toggle_action_set_active" external get_draw_as_radio: [>`gtktoggleaction] obj -> bool = "ml_gtk_toggle_action_get_draw_as_radio" external get_active: [>`gtktoggleaction] obj -> bool = "ml_gtk_toggle_action_get_active" end module ThemingEngineClass = struct end module ThemingEngine = struct external has_class: [>`gtkthemingengine] obj -> string -> bool = "ml_gtk_theming_engine_has_class" external get_style_property: [>`gtkthemingengine] obj -> string -> [>`gvalue] obj -> unit = "ml_gtk_theming_engine_get_style_property" external get_screen: [>`gtkthemingengine] obj -> [<`gdkscreen] obj = "ml_gtk_theming_engine_get_screen" external get_path: [>`gtkthemingengine] obj -> [<`gtkwidgetpath] obj = "ml_gtk_theming_engine_get_path" external load: string -> [<`gtkthemingengine] obj = "ml_gtk_theming_engine_load" end module ThemeEngine = struct end module TextViewPrivate = struct end module TextViewClass = struct end module TextView = struct external starts_display_line: [>`gtktextview] obj -> [>`gtktextiter] obj -> bool = "ml_gtk_text_view_starts_display_line" external set_tabs: [>`gtktextview] obj -> [>`pangotabarray] obj -> unit = "ml_gtk_text_view_set_tabs" external set_right_margin: [>`gtktextview] obj -> int -> unit = "ml_gtk_text_view_set_right_margin" external set_pixels_inside_wrap: [>`gtktextview] obj -> int -> unit = "ml_gtk_text_view_set_pixels_inside_wrap" external set_pixels_below_lines: [>`gtktextview] obj -> int -> unit = "ml_gtk_text_view_set_pixels_below_lines" external set_pixels_above_lines: [>`gtktextview] obj -> int -> unit = "ml_gtk_text_view_set_pixels_above_lines" external set_overwrite: [>`gtktextview] obj -> bool -> unit = "ml_gtk_text_view_set_overwrite" external set_left_margin: [>`gtktextview] obj -> int -> unit = "ml_gtk_text_view_set_left_margin" external set_indent: [>`gtktextview] obj -> int -> unit = "ml_gtk_text_view_set_indent" external set_editable: [>`gtktextview] obj -> bool -> unit = "ml_gtk_text_view_set_editable" external set_cursor_visible: [>`gtktextview] obj -> bool -> unit = "ml_gtk_text_view_set_cursor_visible" external set_buffer: [>`gtktextview] obj -> [>`gtktextbuffer] obj option -> unit = "ml_gtk_text_view_set_buffer" external set_accepts_tab: [>`gtktextview] obj -> bool -> unit = "ml_gtk_text_view_set_accepts_tab" external scroll_to_mark: [>`gtktextview] obj -> [>`gtktextmark] obj -> float -> bool -> float -> float -> unit = "ml_gtk_text_view_scroll_to_mark" external scroll_to_iter: [>`gtktextview] obj -> [>`gtktextiter] obj -> float -> bool -> float -> float -> bool = "ml_gtk_text_view_scroll_to_iter" external scroll_mark_onscreen: [>`gtktextview] obj -> [>`gtktextmark] obj -> unit = "ml_gtk_text_view_scroll_mark_onscreen" external reset_im_context: [>`gtktextview] obj -> unit = "ml_gtk_text_view_reset_im_context" external place_cursor_onscreen: [>`gtktextview] obj -> bool = "ml_gtk_text_view_place_cursor_onscreen" external move_visually: [>`gtktextview] obj -> [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_view_move_visually" external move_mark_onscreen: [>`gtktextview] obj -> [>`gtktextmark] obj -> bool = "ml_gtk_text_view_move_mark_onscreen" external move_child: [>`gtktextview] obj -> [>`gtkwidget] obj -> int -> int -> unit = "ml_gtk_text_view_move_child" external im_context_filter_keypress: [>`gtktextview] obj -> [>`gdkeventkey] obj -> bool = "ml_gtk_text_view_im_context_filter_keypress" external get_vadjustment: [>`gtktextview] obj -> [<`gtkadjustment] obj = "ml_gtk_text_view_get_vadjustment" external get_tabs: [>`gtktextview] obj -> [<`pangotabarray] obj = "ml_gtk_text_view_get_tabs" external get_right_margin: [>`gtktextview] obj -> int = "ml_gtk_text_view_get_right_margin" external get_pixels_inside_wrap: [>`gtktextview] obj -> int = "ml_gtk_text_view_get_pixels_inside_wrap" external get_pixels_below_lines: [>`gtktextview] obj -> int = "ml_gtk_text_view_get_pixels_below_lines" external get_pixels_above_lines: [>`gtktextview] obj -> int = "ml_gtk_text_view_get_pixels_above_lines" external get_overwrite: [>`gtktextview] obj -> bool = "ml_gtk_text_view_get_overwrite" external get_left_margin: [>`gtktextview] obj -> int = "ml_gtk_text_view_get_left_margin" external get_indent: [>`gtktextview] obj -> int = "ml_gtk_text_view_get_indent" external get_hadjustment: [>`gtktextview] obj -> [<`gtkadjustment] obj = "ml_gtk_text_view_get_hadjustment" external get_editable: [>`gtktextview] obj -> bool = "ml_gtk_text_view_get_editable" external get_default_attributes: [>`gtktextview] obj -> [<`gtktextattributes] obj = "ml_gtk_text_view_get_default_attributes" external get_cursor_visible: [>`gtktextview] obj -> bool = "ml_gtk_text_view_get_cursor_visible" external get_buffer: [>`gtktextview] obj -> [<`gtktextbuffer] obj = "ml_gtk_text_view_get_buffer" external get_accepts_tab: [>`gtktextview] obj -> bool = "ml_gtk_text_view_get_accepts_tab" external forward_display_line_end: [>`gtktextview] obj -> [>`gtktextiter] obj -> bool = "ml_gtk_text_view_forward_display_line_end" external forward_display_line: [>`gtktextview] obj -> [>`gtktextiter] obj -> bool = "ml_gtk_text_view_forward_display_line" external backward_display_line_start: [>`gtktextview] obj -> [>`gtktextiter] obj -> bool = "ml_gtk_text_view_backward_display_line_start" external backward_display_line: [>`gtktextview] obj -> [>`gtktextiter] obj -> bool = "ml_gtk_text_view_backward_display_line" external add_child_at_anchor: [>`gtktextview] obj -> [>`gtkwidget] obj -> [>`gtktextchildanchor] obj -> unit = "ml_gtk_text_view_add_child_at_anchor" end module TextTagTablePrivate = struct end module TextTagTableClass = struct end module TextTagTable = struct external remove: [>`gtktexttagtable] obj -> [>`gtktexttag] obj -> unit = "ml_gtk_text_tag_table_remove" external lookup: [>`gtktexttagtable] obj -> string -> [<`gtktexttag] obj = "ml_gtk_text_tag_table_lookup" external get_size: [>`gtktexttagtable] obj -> int = "ml_gtk_text_tag_table_get_size" external add: [>`gtktexttagtable] obj -> [>`gtktexttag] obj -> unit = "ml_gtk_text_tag_table_add" end module TextTagPrivate = struct end module TextTagClass = struct end module TextTag = struct external set_priority: [>`gtktexttag] obj -> int -> unit = "ml_gtk_text_tag_set_priority" external get_priority: [>`gtktexttag] obj -> int = "ml_gtk_text_tag_get_priority" end module TextMarkClass = struct end module TextMark = struct external set_visible: [>`gtktextmark] obj -> bool -> unit = "ml_gtk_text_mark_set_visible" external get_visible: [>`gtktextmark] obj -> bool = "ml_gtk_text_mark_get_visible" external get_name: [>`gtktextmark] obj -> string = "ml_gtk_text_mark_get_name" external get_left_gravity: [>`gtktextmark] obj -> bool = "ml_gtk_text_mark_get_left_gravity" external get_deleted: [>`gtktextmark] obj -> bool = "ml_gtk_text_mark_get_deleted" external get_buffer: [>`gtktextmark] obj -> [<`gtktextbuffer] obj = "ml_gtk_text_mark_get_buffer" end module TextIter = struct external toggles_tag: [>`gtktextiter] obj -> [>`gtktexttag] obj option -> bool = "ml_gtk_text_iter_toggles_tag" external starts_word: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_starts_word" external starts_sentence: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_starts_sentence" external starts_line: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_starts_line" external set_visible_line_offset: [>`gtktextiter] obj -> int -> unit = "ml_gtk_text_iter_set_visible_line_offset" external set_visible_line_index: [>`gtktextiter] obj -> int -> unit = "ml_gtk_text_iter_set_visible_line_index" external set_offset: [>`gtktextiter] obj -> int -> unit = "ml_gtk_text_iter_set_offset" external set_line_offset: [>`gtktextiter] obj -> int -> unit = "ml_gtk_text_iter_set_line_offset" external set_line_index: [>`gtktextiter] obj -> int -> unit = "ml_gtk_text_iter_set_line_index" external set_line: [>`gtktextiter] obj -> int -> unit = "ml_gtk_text_iter_set_line" external order: [>`gtktextiter] obj -> [>`gtktextiter] obj -> unit = "ml_gtk_text_iter_order" external is_start: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_is_start" external is_end: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_is_end" external is_cursor_position: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_is_cursor_position" external inside_word: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_inside_word" external inside_sentence: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_inside_sentence" external in_range: [>`gtktextiter] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_in_range" external has_tag: [>`gtktextiter] obj -> [>`gtktexttag] obj -> bool = "ml_gtk_text_iter_has_tag" external get_visible_text: [>`gtktextiter] obj -> [>`gtktextiter] obj -> string = "ml_gtk_text_iter_get_visible_text" external get_visible_slice: [>`gtktextiter] obj -> [>`gtktextiter] obj -> string = "ml_gtk_text_iter_get_visible_slice" external get_visible_line_offset: [>`gtktextiter] obj -> int = "ml_gtk_text_iter_get_visible_line_offset" external get_visible_line_index: [>`gtktextiter] obj -> int = "ml_gtk_text_iter_get_visible_line_index" external get_toggled_tags: [>`gtktextiter] obj -> bool -> [<`gslist] obj = "ml_gtk_text_iter_get_toggled_tags" external get_text: [>`gtktextiter] obj -> [>`gtktextiter] obj -> string = "ml_gtk_text_iter_get_text" external get_tags: [>`gtktextiter] obj -> [<`gslist] obj = "ml_gtk_text_iter_get_tags" external get_slice: [>`gtktextiter] obj -> [>`gtktextiter] obj -> string = "ml_gtk_text_iter_get_slice" external get_pixbuf: [>`gtktextiter] obj -> [<`gdkpixbuf] obj = "ml_gtk_text_iter_get_pixbuf" external get_offset: [>`gtktextiter] obj -> int = "ml_gtk_text_iter_get_offset" external get_marks: [>`gtktextiter] obj -> [<`gslist] obj = "ml_gtk_text_iter_get_marks" external get_line_offset: [>`gtktextiter] obj -> int = "ml_gtk_text_iter_get_line_offset" external get_line_index: [>`gtktextiter] obj -> int = "ml_gtk_text_iter_get_line_index" external get_line: [>`gtktextiter] obj -> int = "ml_gtk_text_iter_get_line" external get_language: [>`gtktextiter] obj -> [<`pangolanguage] obj = "ml_gtk_text_iter_get_language" external get_child_anchor: [>`gtktextiter] obj -> [<`gtktextchildanchor] obj = "ml_gtk_text_iter_get_child_anchor" external get_chars_in_line: [>`gtktextiter] obj -> int = "ml_gtk_text_iter_get_chars_in_line" external get_char: [>`gtktextiter] obj -> int32 = "ml_gtk_text_iter_get_char" external get_bytes_in_line: [>`gtktextiter] obj -> int = "ml_gtk_text_iter_get_bytes_in_line" external get_buffer: [>`gtktextiter] obj -> [<`gtktextbuffer] obj = "ml_gtk_text_iter_get_buffer" external free: [>`gtktextiter] obj -> unit = "ml_gtk_text_iter_free" external forward_word_ends: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_forward_word_ends" external forward_word_end: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_forward_word_end" external forward_visible_word_ends: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_forward_visible_word_ends" external forward_visible_word_end: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_forward_visible_word_end" external forward_visible_lines: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_forward_visible_lines" external forward_visible_line: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_forward_visible_line" external forward_visible_cursor_positions: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_forward_visible_cursor_positions" external forward_visible_cursor_position: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_forward_visible_cursor_position" external forward_to_tag_toggle: [>`gtktextiter] obj -> [>`gtktexttag] obj option -> bool = "ml_gtk_text_iter_forward_to_tag_toggle" external forward_to_line_end: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_forward_to_line_end" external forward_to_end: [>`gtktextiter] obj -> unit = "ml_gtk_text_iter_forward_to_end" external forward_sentence_ends: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_forward_sentence_ends" external forward_sentence_end: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_forward_sentence_end" external forward_lines: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_forward_lines" external forward_line: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_forward_line" external forward_cursor_positions: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_forward_cursor_positions" external forward_cursor_position: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_forward_cursor_position" external forward_chars: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_forward_chars" external forward_char: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_forward_char" external equal: [>`gtktextiter] obj -> [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_equal" external ends_word: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_ends_word" external ends_tag: [>`gtktextiter] obj -> [>`gtktexttag] obj option -> bool = "ml_gtk_text_iter_ends_tag" external ends_sentence: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_ends_sentence" external ends_line: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_ends_line" external editable: [>`gtktextiter] obj -> bool -> bool = "ml_gtk_text_iter_editable" external copy: [>`gtktextiter] obj -> [<`gtktextiter] obj = "ml_gtk_text_iter_copy" external compare: [>`gtktextiter] obj -> [>`gtktextiter] obj -> int = "ml_gtk_text_iter_compare" external can_insert: [>`gtktextiter] obj -> bool -> bool = "ml_gtk_text_iter_can_insert" external begins_tag: [>`gtktextiter] obj -> [>`gtktexttag] obj option -> bool = "ml_gtk_text_iter_begins_tag" external backward_word_starts: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_backward_word_starts" external backward_word_start: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_backward_word_start" external backward_visible_word_starts: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_backward_visible_word_starts" external backward_visible_word_start: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_backward_visible_word_start" external backward_visible_lines: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_backward_visible_lines" external backward_visible_line: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_backward_visible_line" external backward_visible_cursor_positions: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_backward_visible_cursor_positions" external backward_visible_cursor_position: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_backward_visible_cursor_position" external backward_to_tag_toggle: [>`gtktextiter] obj -> [>`gtktexttag] obj option -> bool = "ml_gtk_text_iter_backward_to_tag_toggle" external backward_sentence_starts: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_backward_sentence_starts" external backward_sentence_start: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_backward_sentence_start" external backward_lines: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_backward_lines" external backward_line: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_backward_line" external backward_cursor_positions: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_backward_cursor_positions" external backward_cursor_position: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_backward_cursor_position" external backward_chars: [>`gtktextiter] obj -> int -> bool = "ml_gtk_text_iter_backward_chars" external backward_char: [>`gtktextiter] obj -> bool = "ml_gtk_text_iter_backward_char" end module TextChildAnchorClass = struct end module TextChildAnchor = struct external get_widgets: [>`gtktextchildanchor] obj -> [<`glist] obj = "ml_gtk_text_child_anchor_get_widgets" external get_deleted: [>`gtktextchildanchor] obj -> bool = "ml_gtk_text_child_anchor_get_deleted" end module TextBufferPrivate = struct end module TextBufferClass = struct end module TextBuffer = struct external set_text: [>`gtktextbuffer] obj -> string -> int -> unit = "ml_gtk_text_buffer_set_text" external set_modified: [>`gtktextbuffer] obj -> bool -> unit = "ml_gtk_text_buffer_set_modified" external select_range: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> unit = "ml_gtk_text_buffer_select_range" external remove_tag_by_name: [>`gtktextbuffer] obj -> string -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> unit = "ml_gtk_text_buffer_remove_tag_by_name" external remove_tag: [>`gtktextbuffer] obj -> [>`gtktexttag] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> unit = "ml_gtk_text_buffer_remove_tag" external remove_selection_clipboard: [>`gtktextbuffer] obj -> [>`gtkclipboard] obj -> unit = "ml_gtk_text_buffer_remove_selection_clipboard" external remove_all_tags: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> unit = "ml_gtk_text_buffer_remove_all_tags" external place_cursor: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> unit = "ml_gtk_text_buffer_place_cursor" external paste_clipboard: [>`gtktextbuffer] obj -> [>`gtkclipboard] obj -> [>`gtktextiter] obj option -> bool -> unit = "ml_gtk_text_buffer_paste_clipboard" external move_mark_by_name: [>`gtktextbuffer] obj -> string -> [>`gtktextiter] obj -> unit = "ml_gtk_text_buffer_move_mark_by_name" external move_mark: [>`gtktextbuffer] obj -> [>`gtktextmark] obj -> [>`gtktextiter] obj -> unit = "ml_gtk_text_buffer_move_mark" external insert_range_interactive: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> bool -> bool = "ml_gtk_text_buffer_insert_range_interactive" external insert_range: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> unit = "ml_gtk_text_buffer_insert_range" external insert_pixbuf: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> [>`gdkpixbuf] obj -> unit = "ml_gtk_text_buffer_insert_pixbuf" external insert_interactive_at_cursor: [>`gtktextbuffer] obj -> string -> int -> bool -> bool = "ml_gtk_text_buffer_insert_interactive_at_cursor" external insert_interactive: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> string -> int -> bool -> bool = "ml_gtk_text_buffer_insert_interactive" external insert_child_anchor: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> [>`gtktextchildanchor] obj -> unit = "ml_gtk_text_buffer_insert_child_anchor" external insert_at_cursor: [>`gtktextbuffer] obj -> string -> int -> unit = "ml_gtk_text_buffer_insert_at_cursor" external insert: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> string -> int -> unit = "ml_gtk_text_buffer_insert" external get_text: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> bool -> string = "ml_gtk_text_buffer_get_text" external get_tag_table: [>`gtktextbuffer] obj -> [<`gtktexttagtable] obj = "ml_gtk_text_buffer_get_tag_table" external get_slice: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> bool -> string = "ml_gtk_text_buffer_get_slice" external get_selection_bound: [>`gtktextbuffer] obj -> [<`gtktextmark] obj = "ml_gtk_text_buffer_get_selection_bound" external get_paste_target_list: [>`gtktextbuffer] obj -> [<`gtktargetlist] obj = "ml_gtk_text_buffer_get_paste_target_list" external get_modified: [>`gtktextbuffer] obj -> bool = "ml_gtk_text_buffer_get_modified" external get_mark: [>`gtktextbuffer] obj -> string -> [<`gtktextmark] obj = "ml_gtk_text_buffer_get_mark" external get_line_count: [>`gtktextbuffer] obj -> int = "ml_gtk_text_buffer_get_line_count" external get_insert: [>`gtktextbuffer] obj -> [<`gtktextmark] obj = "ml_gtk_text_buffer_get_insert" external get_has_selection: [>`gtktextbuffer] obj -> bool = "ml_gtk_text_buffer_get_has_selection" external get_copy_target_list: [>`gtktextbuffer] obj -> [<`gtktargetlist] obj = "ml_gtk_text_buffer_get_copy_target_list" external get_char_count: [>`gtktextbuffer] obj -> int = "ml_gtk_text_buffer_get_char_count" external end_user_action: [>`gtktextbuffer] obj -> unit = "ml_gtk_text_buffer_end_user_action" external delete_selection: [>`gtktextbuffer] obj -> bool -> bool -> bool = "ml_gtk_text_buffer_delete_selection" external delete_mark_by_name: [>`gtktextbuffer] obj -> string -> unit = "ml_gtk_text_buffer_delete_mark_by_name" external delete_mark: [>`gtktextbuffer] obj -> [>`gtktextmark] obj -> unit = "ml_gtk_text_buffer_delete_mark" external delete_interactive: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> bool -> bool = "ml_gtk_text_buffer_delete_interactive" external delete: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> unit = "ml_gtk_text_buffer_delete" external cut_clipboard: [>`gtktextbuffer] obj -> [>`gtkclipboard] obj -> bool -> unit = "ml_gtk_text_buffer_cut_clipboard" external create_mark: [>`gtktextbuffer] obj -> string option -> [>`gtktextiter] obj -> bool -> [<`gtktextmark] obj = "ml_gtk_text_buffer_create_mark" external create_child_anchor: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> [<`gtktextchildanchor] obj = "ml_gtk_text_buffer_create_child_anchor" external copy_clipboard: [>`gtktextbuffer] obj -> [>`gtkclipboard] obj -> unit = "ml_gtk_text_buffer_copy_clipboard" external begin_user_action: [>`gtktextbuffer] obj -> unit = "ml_gtk_text_buffer_begin_user_action" external backspace: [>`gtktextbuffer] obj -> [>`gtktextiter] obj -> bool -> bool -> bool = "ml_gtk_text_buffer_backspace" external apply_tag_by_name: [>`gtktextbuffer] obj -> string -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> unit = "ml_gtk_text_buffer_apply_tag_by_name" external apply_tag: [>`gtktextbuffer] obj -> [>`gtktexttag] obj -> [>`gtktextiter] obj -> [>`gtktextiter] obj -> unit = "ml_gtk_text_buffer_apply_tag" external add_selection_clipboard: [>`gtktextbuffer] obj -> [>`gtkclipboard] obj -> unit = "ml_gtk_text_buffer_add_selection_clipboard" external add_mark: [>`gtktextbuffer] obj -> [>`gtktextmark] obj -> [>`gtktextiter] obj -> unit = "ml_gtk_text_buffer_add_mark" end module TextBTree = struct end module TextAttributes = struct external unref: [>`gtktextattributes] obj -> unit = "ml_gtk_text_attributes_unref" external ref: [>`gtktextattributes] obj -> [<`gtktextattributes] obj = "ml_gtk_text_attributes_ref" external copy_values: [>`gtktextattributes] obj -> [>`gtktextattributes] obj -> unit = "ml_gtk_text_attributes_copy_values" external copy: [>`gtktextattributes] obj -> [<`gtktextattributes] obj = "ml_gtk_text_attributes_copy" end module TextAppearance = struct end module TearoffMenuItemPrivate = struct end module TearoffMenuItemClass = struct end module TearoffMenuItem = struct end module TargetList = struct external unref: [>`gtktargetlist] obj -> unit = "ml_gtk_target_list_unref" external ref: [>`gtktargetlist] obj -> [<`gtktargetlist] obj = "ml_gtk_target_list_ref" external add_uri_targets: [>`gtktargetlist] obj -> int -> unit = "ml_gtk_target_list_add_uri_targets" external add_text_targets: [>`gtktargetlist] obj -> int -> unit = "ml_gtk_target_list_add_text_targets" external add_rich_text_targets: [>`gtktargetlist] obj -> int -> bool -> [>`gtktextbuffer] obj -> unit = "ml_gtk_target_list_add_rich_text_targets" external add_image_targets: [>`gtktargetlist] obj -> int -> bool -> unit = "ml_gtk_target_list_add_image_targets" end module TargetEntry = struct external free: [>`gtktargetentry] obj -> unit = "ml_gtk_target_entry_free" external copy: [>`gtktargetentry] obj -> [<`gtktargetentry] obj = "ml_gtk_target_entry_copy" end module TableRowCol = struct end module TablePrivate = struct end module TableClass = struct end module TableChild = struct end module Table = struct external set_row_spacings: [>`gtktable] obj -> int -> unit = "ml_gtk_table_set_row_spacings" external set_row_spacing: [>`gtktable] obj -> int -> int -> unit = "ml_gtk_table_set_row_spacing" external set_homogeneous: [>`gtktable] obj -> bool -> unit = "ml_gtk_table_set_homogeneous" external set_col_spacings: [>`gtktable] obj -> int -> unit = "ml_gtk_table_set_col_spacings" external set_col_spacing: [>`gtktable] obj -> int -> int -> unit = "ml_gtk_table_set_col_spacing" external resize: [>`gtktable] obj -> int -> int -> unit = "ml_gtk_table_resize" external get_row_spacing: [>`gtktable] obj -> int -> int = "ml_gtk_table_get_row_spacing" external get_homogeneous: [>`gtktable] obj -> bool = "ml_gtk_table_get_homogeneous" external get_default_row_spacing: [>`gtktable] obj -> int = "ml_gtk_table_get_default_row_spacing" external get_default_col_spacing: [>`gtktable] obj -> int = "ml_gtk_table_get_default_col_spacing" external get_col_spacing: [>`gtktable] obj -> int -> int = "ml_gtk_table_get_col_spacing" external attach_defaults: [>`gtktable] obj -> [>`gtkwidget] obj -> int -> int -> int -> int -> unit = "ml_gtk_table_attach_defaults" end module SymbolicColor = struct external unref: [>`gtksymboliccolor] obj -> unit = "ml_gtk_symbolic_color_unref" external ref: [>`gtksymboliccolor] obj -> [<`gtksymboliccolor] obj = "ml_gtk_symbolic_color_ref" external new_shade: [>`gtksymboliccolor] obj -> float -> [<`gtksymboliccolor] obj = "ml_gtk_symbolic_color_new_shade" external new_mix: [>`gtksymboliccolor] obj -> [>`gtksymboliccolor] obj -> float -> [<`gtksymboliccolor] obj = "ml_gtk_symbolic_color_new_mix" external new_alpha: [>`gtksymboliccolor] obj -> float -> [<`gtksymboliccolor] obj = "ml_gtk_symbolic_color_new_alpha" end module SwitchPrivate = struct end module SwitchClass = struct end module Switch = struct external set_active: [>`gtkswitch] obj -> bool -> unit = "ml_gtk_switch_set_active" external get_active: [>`gtkswitch] obj -> bool = "ml_gtk_switch_get_active" end module StyleProviderIface = struct end module StylePropertiesClass = struct end module StyleProperties = struct external merge: [>`gtkstyleproperties] obj -> [>`gtkstyleproperties] obj -> bool -> unit = "ml_gtk_style_properties_merge" external map_color: [>`gtkstyleproperties] obj -> string -> [>`gtksymboliccolor] obj -> unit = "ml_gtk_style_properties_map_color" external lookup_color: [>`gtkstyleproperties] obj -> string -> [<`gtksymboliccolor] obj = "ml_gtk_style_properties_lookup_color" external clear: [>`gtkstyleproperties] obj -> unit = "ml_gtk_style_properties_clear" end module StyleContextClass = struct end module StyleContext = struct external set_screen: [>`gtkstylecontext] obj -> [>`gdkscreen] obj -> unit = "ml_gtk_style_context_set_screen" external set_path: [>`gtkstylecontext] obj -> [>`gtkwidgetpath] obj -> unit = "ml_gtk_style_context_set_path" external set_background: [>`gtkstylecontext] obj -> [>`gdkwindow] obj -> unit = "ml_gtk_style_context_set_background" external scroll_animations: [>`gtkstylecontext] obj -> [>`gdkwindow] obj -> int -> int -> unit = "ml_gtk_style_context_scroll_animations" external save: [>`gtkstylecontext] obj -> unit = "ml_gtk_style_context_save" external restore: [>`gtkstylecontext] obj -> unit = "ml_gtk_style_context_restore" external remove_region: [>`gtkstylecontext] obj -> string -> unit = "ml_gtk_style_context_remove_region" external remove_class: [>`gtkstylecontext] obj -> string -> unit = "ml_gtk_style_context_remove_class" external pop_animatable_region: [>`gtkstylecontext] obj -> unit = "ml_gtk_style_context_pop_animatable_region" external lookup_icon_set: [>`gtkstylecontext] obj -> string -> [<`gtkiconset] obj = "ml_gtk_style_context_lookup_icon_set" external list_regions: [>`gtkstylecontext] obj -> [<`glist] obj = "ml_gtk_style_context_list_regions" external list_classes: [>`gtkstylecontext] obj -> [<`glist] obj = "ml_gtk_style_context_list_classes" external invalidate: [>`gtkstylecontext] obj -> unit = "ml_gtk_style_context_invalidate" external has_class: [>`gtkstylecontext] obj -> string -> bool = "ml_gtk_style_context_has_class" external get_style_property: [>`gtkstylecontext] obj -> string -> [>`gvalue] obj -> unit = "ml_gtk_style_context_get_style_property" external get_screen: [>`gtkstylecontext] obj -> [<`gdkscreen] obj = "ml_gtk_style_context_get_screen" external get_path: [>`gtkstylecontext] obj -> [<`gtkwidgetpath] obj = "ml_gtk_style_context_get_path" external add_class: [>`gtkstylecontext] obj -> string -> unit = "ml_gtk_style_context_add_class" external reset_widgets: [>`gdkscreen] obj -> unit = "ml_gtk_style_context_reset_widgets" end module StyleClass = struct end module Style = struct external lookup_icon_set: [>`gtkstyle] obj -> string -> [<`gtkiconset] obj = "ml_gtk_style_lookup_icon_set" external has_context: [>`gtkstyle] obj -> bool = "ml_gtk_style_has_context" external get_style_property: [>`gtkstyle] obj -> int -> string -> [>`gvalue] obj -> unit = "ml_gtk_style_get_style_property" external detach: [>`gtkstyle] obj -> unit = "ml_gtk_style_detach" external copy: [>`gtkstyle] obj -> [<`gtkstyle] obj = "ml_gtk_style_copy" external attach: [>`gtkstyle] obj -> [>`gdkwindow] obj -> [<`gtkstyle] obj = "ml_gtk_style_attach" end module StockItem = struct external free: [>`gtkstockitem] obj -> unit = "ml_gtk_stock_item_free" external copy: [>`gtkstockitem] obj -> [<`gtkstockitem] obj = "ml_gtk_stock_item_copy" end module StatusbarPrivate = struct end module StatusbarClass = struct end module Statusbar = struct external remove_all: [>`gtkstatusbar] obj -> int -> unit = "ml_gtk_statusbar_remove_all" external remove: [>`gtkstatusbar] obj -> int -> int -> unit = "ml_gtk_statusbar_remove" external push: [>`gtkstatusbar] obj -> int -> string -> int = "ml_gtk_statusbar_push" external pop: [>`gtkstatusbar] obj -> int -> unit = "ml_gtk_statusbar_pop" external get_message_area: [>`gtkstatusbar] obj -> [<`gtkwidget] obj = "ml_gtk_statusbar_get_message_area" external get_context_id: [>`gtkstatusbar] obj -> string -> int = "ml_gtk_statusbar_get_context_id" end module StatusIconPrivate = struct end module StatusIconClass = struct end module StatusIcon = struct external set_visible: [>`gtkstatusicon] obj -> bool -> unit = "ml_gtk_status_icon_set_visible" external set_tooltip_text: [>`gtkstatusicon] obj -> string -> unit = "ml_gtk_status_icon_set_tooltip_text" external set_tooltip_markup: [>`gtkstatusicon] obj -> string option -> unit = "ml_gtk_status_icon_set_tooltip_markup" external set_title: [>`gtkstatusicon] obj -> string -> unit = "ml_gtk_status_icon_set_title" external set_screen: [>`gtkstatusicon] obj -> [>`gdkscreen] obj -> unit = "ml_gtk_status_icon_set_screen" external set_name: [>`gtkstatusicon] obj -> string -> unit = "ml_gtk_status_icon_set_name" external set_has_tooltip: [>`gtkstatusicon] obj -> bool -> unit = "ml_gtk_status_icon_set_has_tooltip" external set_from_stock: [>`gtkstatusicon] obj -> string -> unit = "ml_gtk_status_icon_set_from_stock" external set_from_pixbuf: [>`gtkstatusicon] obj -> [>`gdkpixbuf] obj option -> unit = "ml_gtk_status_icon_set_from_pixbuf" external set_from_icon_name: [>`gtkstatusicon] obj -> string -> unit = "ml_gtk_status_icon_set_from_icon_name" external is_embedded: [>`gtkstatusicon] obj -> bool = "ml_gtk_status_icon_is_embedded" external get_x11_window_id: [>`gtkstatusicon] obj -> int32 = "ml_gtk_status_icon_get_x11_window_id" external get_visible: [>`gtkstatusicon] obj -> bool = "ml_gtk_status_icon_get_visible" external get_tooltip_text: [>`gtkstatusicon] obj -> string = "ml_gtk_status_icon_get_tooltip_text" external get_tooltip_markup: [>`gtkstatusicon] obj -> string = "ml_gtk_status_icon_get_tooltip_markup" external get_title: [>`gtkstatusicon] obj -> string = "ml_gtk_status_icon_get_title" external get_stock: [>`gtkstatusicon] obj -> string = "ml_gtk_status_icon_get_stock" external get_size: [>`gtkstatusicon] obj -> int = "ml_gtk_status_icon_get_size" external get_screen: [>`gtkstatusicon] obj -> [<`gdkscreen] obj = "ml_gtk_status_icon_get_screen" external get_pixbuf: [>`gtkstatusicon] obj -> [<`gdkpixbuf] obj = "ml_gtk_status_icon_get_pixbuf" external get_icon_name: [>`gtkstatusicon] obj -> string = "ml_gtk_status_icon_get_icon_name" external get_has_tooltip: [>`gtkstatusicon] obj -> bool = "ml_gtk_status_icon_get_has_tooltip" end module SpinnerPrivate = struct end module SpinnerClass = struct end module Spinner = struct external stop: [>`gtkspinner] obj -> unit = "ml_gtk_spinner_stop" external start: [>`gtkspinner] obj -> unit = "ml_gtk_spinner_start" end module SpinButtonPrivate = struct end module SpinButtonClass = struct end module SpinButton = struct external update: [>`gtkspinbutton] obj -> unit = "ml_gtk_spin_button_update" external set_wrap: [>`gtkspinbutton] obj -> bool -> unit = "ml_gtk_spin_button_set_wrap" external set_value: [>`gtkspinbutton] obj -> float -> unit = "ml_gtk_spin_button_set_value" external set_snap_to_ticks: [>`gtkspinbutton] obj -> bool -> unit = "ml_gtk_spin_button_set_snap_to_ticks" external set_range: [>`gtkspinbutton] obj -> float -> float -> unit = "ml_gtk_spin_button_set_range" external set_numeric: [>`gtkspinbutton] obj -> bool -> unit = "ml_gtk_spin_button_set_numeric" external set_increments: [>`gtkspinbutton] obj -> float -> float -> unit = "ml_gtk_spin_button_set_increments" external set_digits: [>`gtkspinbutton] obj -> int -> unit = "ml_gtk_spin_button_set_digits" external set_adjustment: [>`gtkspinbutton] obj -> [>`gtkadjustment] obj -> unit = "ml_gtk_spin_button_set_adjustment" external get_wrap: [>`gtkspinbutton] obj -> bool = "ml_gtk_spin_button_get_wrap" external get_value_as_int: [>`gtkspinbutton] obj -> int = "ml_gtk_spin_button_get_value_as_int" external get_value: [>`gtkspinbutton] obj -> float = "ml_gtk_spin_button_get_value" external get_snap_to_ticks: [>`gtkspinbutton] obj -> bool = "ml_gtk_spin_button_get_snap_to_ticks" external get_numeric: [>`gtkspinbutton] obj -> bool = "ml_gtk_spin_button_get_numeric" external get_digits: [>`gtkspinbutton] obj -> int = "ml_gtk_spin_button_get_digits" external get_adjustment: [>`gtkspinbutton] obj -> [<`gtkadjustment] obj = "ml_gtk_spin_button_get_adjustment" external configure: [>`gtkspinbutton] obj -> [>`gtkadjustment] obj option -> float -> int -> unit = "ml_gtk_spin_button_configure" end module SocketPrivate = struct end module SocketClass = struct end module Socket = struct external get_plug_window: [>`gtksocket] obj -> [<`gdkwindow] obj = "ml_gtk_socket_get_plug_window" end module SizeGroupPrivate = struct end module SizeGroupClass = struct end module SizeGroup = struct external set_ignore_hidden: [>`gtksizegroup] obj -> bool -> unit = "ml_gtk_size_group_set_ignore_hidden" external remove_widget: [>`gtksizegroup] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_size_group_remove_widget" external get_widgets: [>`gtksizegroup] obj -> [<`gslist] obj = "ml_gtk_size_group_get_widgets" external get_ignore_hidden: [>`gtksizegroup] obj -> bool = "ml_gtk_size_group_get_ignore_hidden" external add_widget: [>`gtksizegroup] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_size_group_add_widget" end module SettingsValue = struct end module SettingsPrivate = struct end module SettingsClass = struct end module Settings = struct external set_string_property: [>`gtksettings] obj -> string -> string -> string -> unit = "ml_gtk_settings_set_string_property" external set_property_value: [>`gtksettings] obj -> string -> [>`gtksettingsvalue] obj -> unit = "ml_gtk_settings_set_property_value" external set_long_property: [>`gtksettings] obj -> string -> float -> string -> unit = "ml_gtk_settings_set_long_property" external set_double_property: [>`gtksettings] obj -> string -> float -> string -> unit = "ml_gtk_settings_set_double_property" external install_property: [>`gparamspec] obj -> unit = "ml_gtk_settings_install_property" external get_for_screen: [>`gdkscreen] obj -> [<`gtksettings] obj = "ml_gtk_settings_get_for_screen" external get_default: unit -> [<`gtksettings] obj = "ml_gtk_settings_get_default" end module SeparatorToolItemPrivate = struct end module SeparatorToolItemClass = struct end module SeparatorToolItem = struct external set_draw: [>`gtkseparatortoolitem] obj -> bool -> unit = "ml_gtk_separator_tool_item_set_draw" external get_draw: [>`gtkseparatortoolitem] obj -> bool = "ml_gtk_separator_tool_item_get_draw" end module SeparatorPrivate = struct end module SeparatorMenuItemClass = struct end module SeparatorMenuItem = struct end module SeparatorClass = struct end module Separator = struct end module SelectionData = struct external targets_include_uri: [>`gtkselectiondata] obj -> bool = "ml_gtk_selection_data_targets_include_uri" external targets_include_text: [>`gtkselectiondata] obj -> bool = "ml_gtk_selection_data_targets_include_text" external targets_include_rich_text: [>`gtkselectiondata] obj -> [>`gtktextbuffer] obj -> bool = "ml_gtk_selection_data_targets_include_rich_text" external targets_include_image: [>`gtkselectiondata] obj -> bool -> bool = "ml_gtk_selection_data_targets_include_image" external set_text: [>`gtkselectiondata] obj -> string -> int -> bool = "ml_gtk_selection_data_set_text" external set_pixbuf: [>`gtkselectiondata] obj -> [>`gdkpixbuf] obj -> bool = "ml_gtk_selection_data_set_pixbuf" external get_pixbuf: [>`gtkselectiondata] obj -> [<`gdkpixbuf] obj = "ml_gtk_selection_data_get_pixbuf" external get_length: [>`gtkselectiondata] obj -> int = "ml_gtk_selection_data_get_length" external get_format: [>`gtkselectiondata] obj -> int = "ml_gtk_selection_data_get_format" external get_display: [>`gtkselectiondata] obj -> [<`gdkdisplay] obj = "ml_gtk_selection_data_get_display" external get_data: [>`gtkselectiondata] obj -> string = "ml_gtk_selection_data_get_data" external free: [>`gtkselectiondata] obj -> unit = "ml_gtk_selection_data_free" external copy: [>`gtkselectiondata] obj -> [<`gtkselectiondata] obj = "ml_gtk_selection_data_copy" end module ScrolledWindowPrivate = struct end module ScrolledWindowClass = struct end module ScrolledWindow = struct external unset_placement: [>`gtkscrolledwindow] obj -> unit = "ml_gtk_scrolled_window_unset_placement" external set_vadjustment: [>`gtkscrolledwindow] obj -> [>`gtkadjustment] obj -> unit = "ml_gtk_scrolled_window_set_vadjustment" external set_min_content_width: [>`gtkscrolledwindow] obj -> int -> unit = "ml_gtk_scrolled_window_set_min_content_width" external set_min_content_height: [>`gtkscrolledwindow] obj -> int -> unit = "ml_gtk_scrolled_window_set_min_content_height" external set_hadjustment: [>`gtkscrolledwindow] obj -> [>`gtkadjustment] obj -> unit = "ml_gtk_scrolled_window_set_hadjustment" external get_vscrollbar: [>`gtkscrolledwindow] obj -> [<`gtkwidget] obj = "ml_gtk_scrolled_window_get_vscrollbar" external get_vadjustment: [>`gtkscrolledwindow] obj -> [<`gtkadjustment] obj = "ml_gtk_scrolled_window_get_vadjustment" external get_min_content_width: [>`gtkscrolledwindow] obj -> int = "ml_gtk_scrolled_window_get_min_content_width" external get_min_content_height: [>`gtkscrolledwindow] obj -> int = "ml_gtk_scrolled_window_get_min_content_height" external get_hscrollbar: [>`gtkscrolledwindow] obj -> [<`gtkwidget] obj = "ml_gtk_scrolled_window_get_hscrollbar" external get_hadjustment: [>`gtkscrolledwindow] obj -> [<`gtkadjustment] obj = "ml_gtk_scrolled_window_get_hadjustment" external add_with_viewport: [>`gtkscrolledwindow] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_scrolled_window_add_with_viewport" end module ScrollbarClass = struct end module Scrollbar = struct end module ScrollableInterface = struct end module ScalePrivate = struct end module ScaleClass = struct end module ScaleButtonPrivate = struct end module ScaleButtonClass = struct end module ScaleButton = struct external set_value: [>`gtkscalebutton] obj -> float -> unit = "ml_gtk_scale_button_set_value" external set_adjustment: [>`gtkscalebutton] obj -> [>`gtkadjustment] obj -> unit = "ml_gtk_scale_button_set_adjustment" external get_value: [>`gtkscalebutton] obj -> float = "ml_gtk_scale_button_get_value" external get_popup: [>`gtkscalebutton] obj -> [<`gtkwidget] obj = "ml_gtk_scale_button_get_popup" external get_plus_button: [>`gtkscalebutton] obj -> [<`gtkwidget] obj = "ml_gtk_scale_button_get_plus_button" external get_minus_button: [>`gtkscalebutton] obj -> [<`gtkwidget] obj = "ml_gtk_scale_button_get_minus_button" external get_adjustment: [>`gtkscalebutton] obj -> [<`gtkadjustment] obj = "ml_gtk_scale_button_get_adjustment" end module Scale = struct external set_draw_value: [>`gtkscale] obj -> bool -> unit = "ml_gtk_scale_set_draw_value" external set_digits: [>`gtkscale] obj -> int -> unit = "ml_gtk_scale_set_digits" external get_layout: [>`gtkscale] obj -> [<`pangolayout] obj = "ml_gtk_scale_get_layout" external get_draw_value: [>`gtkscale] obj -> bool = "ml_gtk_scale_get_draw_value" external get_digits: [>`gtkscale] obj -> int = "ml_gtk_scale_get_digits" external clear_marks: [>`gtkscale] obj -> unit = "ml_gtk_scale_clear_marks" end module Requisition = struct external free: [>`gtkrequisition] obj -> unit = "ml_gtk_requisition_free" external copy: [>`gtkrequisition] obj -> [<`gtkrequisition] obj = "ml_gtk_requisition_copy" end module RequestedSize = struct end module RecentManagerPrivate = struct end module RecentManagerClass = struct end module RecentManager = struct external has_item: [>`gtkrecentmanager] obj -> string -> bool = "ml_gtk_recent_manager_has_item" external get_items: [>`gtkrecentmanager] obj -> [<`glist] obj = "ml_gtk_recent_manager_get_items" external add_item: [>`gtkrecentmanager] obj -> string -> bool = "ml_gtk_recent_manager_add_item" external add_full: [>`gtkrecentmanager] obj -> string -> [>`gtkrecentdata] obj -> bool = "ml_gtk_recent_manager_add_full" external get_default: unit -> [<`gtkrecentmanager] obj = "ml_gtk_recent_manager_get_default" end module RecentInfo = struct external unref: [>`gtkrecentinfo] obj -> unit = "ml_gtk_recent_info_unref" external ref: [>`gtkrecentinfo] obj -> [<`gtkrecentinfo] obj = "ml_gtk_recent_info_ref" external match: [>`gtkrecentinfo] obj -> [>`gtkrecentinfo] obj -> bool = "ml_gtk_recent_info_match" external last_application: [>`gtkrecentinfo] obj -> string = "ml_gtk_recent_info_last_application" external is_local: [>`gtkrecentinfo] obj -> bool = "ml_gtk_recent_info_is_local" external has_group: [>`gtkrecentinfo] obj -> string -> bool = "ml_gtk_recent_info_has_group" external has_application: [>`gtkrecentinfo] obj -> string -> bool = "ml_gtk_recent_info_has_application" external get_uri_display: [>`gtkrecentinfo] obj -> string = "ml_gtk_recent_info_get_uri_display" external get_uri: [>`gtkrecentinfo] obj -> string = "ml_gtk_recent_info_get_uri" external get_short_name: [>`gtkrecentinfo] obj -> string = "ml_gtk_recent_info_get_short_name" external get_private_hint: [>`gtkrecentinfo] obj -> bool = "ml_gtk_recent_info_get_private_hint" external get_mime_type: [>`gtkrecentinfo] obj -> string = "ml_gtk_recent_info_get_mime_type" external get_icon: [>`gtkrecentinfo] obj -> int -> [<`gdkpixbuf] obj = "ml_gtk_recent_info_get_icon" external get_display_name: [>`gtkrecentinfo] obj -> string = "ml_gtk_recent_info_get_display_name" external get_description: [>`gtkrecentinfo] obj -> string = "ml_gtk_recent_info_get_description" external get_age: [>`gtkrecentinfo] obj -> int = "ml_gtk_recent_info_get_age" external exists: [>`gtkrecentinfo] obj -> bool = "ml_gtk_recent_info_exists" end module RecentFilterInfo = struct end module RecentFilter = struct external set_name: [>`gtkrecentfilter] obj -> string -> unit = "ml_gtk_recent_filter_set_name" external get_name: [>`gtkrecentfilter] obj -> string = "ml_gtk_recent_filter_get_name" external filter: [>`gtkrecentfilter] obj -> [>`gtkrecentfilterinfo] obj -> bool = "ml_gtk_recent_filter_filter" external add_pixbuf_formats: [>`gtkrecentfilter] obj -> unit = "ml_gtk_recent_filter_add_pixbuf_formats" external add_pattern: [>`gtkrecentfilter] obj -> string -> unit = "ml_gtk_recent_filter_add_pattern" external add_mime_type: [>`gtkrecentfilter] obj -> string -> unit = "ml_gtk_recent_filter_add_mime_type" external add_group: [>`gtkrecentfilter] obj -> string -> unit = "ml_gtk_recent_filter_add_group" external add_application: [>`gtkrecentfilter] obj -> string -> unit = "ml_gtk_recent_filter_add_application" external add_age: [>`gtkrecentfilter] obj -> int -> unit = "ml_gtk_recent_filter_add_age" end module RecentData = struct end module RecentChooserWidgetPrivate = struct end module RecentChooserWidgetClass = struct end module RecentChooserWidget = struct end module RecentChooserMenuPrivate = struct end module RecentChooserMenuClass = struct end module RecentChooserMenu = struct external set_show_numbers: [>`gtkrecentchoosermenu] obj -> bool -> unit = "ml_gtk_recent_chooser_menu_set_show_numbers" external get_show_numbers: [>`gtkrecentchoosermenu] obj -> bool = "ml_gtk_recent_chooser_menu_get_show_numbers" end module RecentChooserIface = struct end module RecentChooserDialogPrivate = struct end module RecentChooserDialogClass = struct end module RecentChooserDialog = struct end module RecentActionPrivate = struct end module RecentActionClass = struct end module RecentAction = struct external set_show_numbers: [>`gtkrecentaction] obj -> bool -> unit = "ml_gtk_recent_action_set_show_numbers" external get_show_numbers: [>`gtkrecentaction] obj -> bool = "ml_gtk_recent_action_get_show_numbers" end module RcStyleClass = struct end module RcStyle = struct external copy: [>`gtkrcstyle] obj -> [<`gtkrcstyle] obj = "ml_gtk_rc_style_copy" end module RcProperty = struct end module RcContext = struct end module RangePrivate = struct end module RangeClass = struct end module Range = struct external set_value: [>`gtkrange] obj -> float -> unit = "ml_gtk_range_set_value" external set_slider_size_fixed: [>`gtkrange] obj -> bool -> unit = "ml_gtk_range_set_slider_size_fixed" external set_show_fill_level: [>`gtkrange] obj -> bool -> unit = "ml_gtk_range_set_show_fill_level" external set_round_digits: [>`gtkrange] obj -> int -> unit = "ml_gtk_range_set_round_digits" external set_restrict_to_fill_level: [>`gtkrange] obj -> bool -> unit = "ml_gtk_range_set_restrict_to_fill_level" external set_range: [>`gtkrange] obj -> float -> float -> unit = "ml_gtk_range_set_range" external set_min_slider_size: [>`gtkrange] obj -> int -> unit = "ml_gtk_range_set_min_slider_size" external set_inverted: [>`gtkrange] obj -> bool -> unit = "ml_gtk_range_set_inverted" external set_increments: [>`gtkrange] obj -> float -> float -> unit = "ml_gtk_range_set_increments" external set_flippable: [>`gtkrange] obj -> bool -> unit = "ml_gtk_range_set_flippable" external set_fill_level: [>`gtkrange] obj -> float -> unit = "ml_gtk_range_set_fill_level" external set_adjustment: [>`gtkrange] obj -> [>`gtkadjustment] obj -> unit = "ml_gtk_range_set_adjustment" external get_value: [>`gtkrange] obj -> float = "ml_gtk_range_get_value" external get_slider_size_fixed: [>`gtkrange] obj -> bool = "ml_gtk_range_get_slider_size_fixed" external get_show_fill_level: [>`gtkrange] obj -> bool = "ml_gtk_range_get_show_fill_level" external get_round_digits: [>`gtkrange] obj -> int = "ml_gtk_range_get_round_digits" external get_restrict_to_fill_level: [>`gtkrange] obj -> bool = "ml_gtk_range_get_restrict_to_fill_level" external get_min_slider_size: [>`gtkrange] obj -> int = "ml_gtk_range_get_min_slider_size" external get_inverted: [>`gtkrange] obj -> bool = "ml_gtk_range_get_inverted" external get_flippable: [>`gtkrange] obj -> bool = "ml_gtk_range_get_flippable" external get_fill_level: [>`gtkrange] obj -> float = "ml_gtk_range_get_fill_level" external get_event_window: [>`gtkrange] obj -> [<`gdkwindow] obj = "ml_gtk_range_get_event_window" external get_adjustment: [>`gtkrange] obj -> [<`gtkadjustment] obj = "ml_gtk_range_get_adjustment" end module RadioToolButtonClass = struct end module RadioToolButton = struct external set_group: [>`gtkradiotoolbutton] obj -> [>`gslist] obj -> unit = "ml_gtk_radio_tool_button_set_group" external new_with_stock_from_widget: [>`gtkradiotoolbutton] obj -> string -> [<`gtktoolitem] obj = "ml_gtk_radio_tool_button_new_with_stock_from_widget" external new_from_widget: [>`gtkradiotoolbutton] obj -> [<`gtktoolitem] obj = "ml_gtk_radio_tool_button_new_from_widget" external get_group: [>`gtkradiotoolbutton] obj -> [<`gslist] obj = "ml_gtk_radio_tool_button_get_group" end module RadioMenuItemPrivate = struct end module RadioMenuItemClass = struct end module RadioMenuItem = struct external set_group: [>`gtkradiomenuitem] obj -> [>`gslist] obj -> unit = "ml_gtk_radio_menu_item_set_group" external new_with_mnemonic_from_widget: [>`gtkradiomenuitem] obj -> string -> [<`gtkwidget] obj = "ml_gtk_radio_menu_item_new_with_mnemonic_from_widget" external new_with_label_from_widget: [>`gtkradiomenuitem] obj -> string -> [<`gtkwidget] obj = "ml_gtk_radio_menu_item_new_with_label_from_widget" external new_from_widget: [>`gtkradiomenuitem] obj -> [<`gtkwidget] obj = "ml_gtk_radio_menu_item_new_from_widget" external get_group: [>`gtkradiomenuitem] obj -> [<`gslist] obj = "ml_gtk_radio_menu_item_get_group" end module RadioButtonPrivate = struct end module RadioButtonClass = struct end module RadioButton = struct external set_group: [>`gtkradiobutton] obj -> [>`gslist] obj -> unit = "ml_gtk_radio_button_set_group" external new_from_widget: [>`gtkradiobutton] obj -> [<`gtkwidget] obj = "ml_gtk_radio_button_new_from_widget" external join_group: [>`gtkradiobutton] obj -> [>`gtkradiobutton] obj option -> unit = "ml_gtk_radio_button_join_group" external get_group: [>`gtkradiobutton] obj -> [<`gslist] obj = "ml_gtk_radio_button_get_group" end module RadioActionPrivate = struct end module RadioActionEntry = struct end module RadioActionClass = struct end module RadioAction = struct external set_group: [>`gtkradioaction] obj -> [>`gslist] obj -> unit = "ml_gtk_radio_action_set_group" external set_current_value: [>`gtkradioaction] obj -> int -> unit = "ml_gtk_radio_action_set_current_value" external join_group: [>`gtkradioaction] obj -> [>`gtkradioaction] obj option -> unit = "ml_gtk_radio_action_join_group" external get_group: [>`gtkradioaction] obj -> [<`gslist] obj = "ml_gtk_radio_action_get_group" external get_current_value: [>`gtkradioaction] obj -> int = "ml_gtk_radio_action_get_current_value" end module ProgressBarPrivate = struct end module ProgressBarClass = struct end module ProgressBar = struct external set_text: [>`gtkprogressbar] obj -> string option -> unit = "ml_gtk_progress_bar_set_text" external set_show_text: [>`gtkprogressbar] obj -> bool -> unit = "ml_gtk_progress_bar_set_show_text" external set_pulse_step: [>`gtkprogressbar] obj -> float -> unit = "ml_gtk_progress_bar_set_pulse_step" external set_inverted: [>`gtkprogressbar] obj -> bool -> unit = "ml_gtk_progress_bar_set_inverted" external set_fraction: [>`gtkprogressbar] obj -> float -> unit = "ml_gtk_progress_bar_set_fraction" external pulse: [>`gtkprogressbar] obj -> unit = "ml_gtk_progress_bar_pulse" external get_text: [>`gtkprogressbar] obj -> string = "ml_gtk_progress_bar_get_text" external get_show_text: [>`gtkprogressbar] obj -> bool = "ml_gtk_progress_bar_get_show_text" external get_pulse_step: [>`gtkprogressbar] obj -> float = "ml_gtk_progress_bar_get_pulse_step" external get_inverted: [>`gtkprogressbar] obj -> bool = "ml_gtk_progress_bar_get_inverted" external get_fraction: [>`gtkprogressbar] obj -> float = "ml_gtk_progress_bar_get_fraction" end module PrintSettings = struct external unset: [>`gtkprintsettings] obj -> string -> unit = "ml_gtk_print_settings_unset" external to_key_file: [>`gtkprintsettings] obj -> [>`gkeyfile] obj -> string -> unit = "ml_gtk_print_settings_to_key_file" external set_use_color: [>`gtkprintsettings] obj -> bool -> unit = "ml_gtk_print_settings_set_use_color" external set_scale: [>`gtkprintsettings] obj -> float -> unit = "ml_gtk_print_settings_set_scale" external set_reverse: [>`gtkprintsettings] obj -> bool -> unit = "ml_gtk_print_settings_set_reverse" external set_resolution_xy: [>`gtkprintsettings] obj -> int -> int -> unit = "ml_gtk_print_settings_set_resolution_xy" external set_resolution: [>`gtkprintsettings] obj -> int -> unit = "ml_gtk_print_settings_set_resolution" external set_printer_lpi: [>`gtkprintsettings] obj -> float -> unit = "ml_gtk_print_settings_set_printer_lpi" external set_printer: [>`gtkprintsettings] obj -> string -> unit = "ml_gtk_print_settings_set_printer" external set_paper_size: [>`gtkprintsettings] obj -> [>`gtkpapersize] obj -> unit = "ml_gtk_print_settings_set_paper_size" external set_output_bin: [>`gtkprintsettings] obj -> string -> unit = "ml_gtk_print_settings_set_output_bin" external set_number_up: [>`gtkprintsettings] obj -> int -> unit = "ml_gtk_print_settings_set_number_up" external set_n_copies: [>`gtkprintsettings] obj -> int -> unit = "ml_gtk_print_settings_set_n_copies" external set_media_type: [>`gtkprintsettings] obj -> string -> unit = "ml_gtk_print_settings_set_media_type" external set_int: [>`gtkprintsettings] obj -> string -> int -> unit = "ml_gtk_print_settings_set_int" external set_finishings: [>`gtkprintsettings] obj -> string -> unit = "ml_gtk_print_settings_set_finishings" external set_double: [>`gtkprintsettings] obj -> string -> float -> unit = "ml_gtk_print_settings_set_double" external set_dither: [>`gtkprintsettings] obj -> string -> unit = "ml_gtk_print_settings_set_dither" external set_default_source: [>`gtkprintsettings] obj -> string -> unit = "ml_gtk_print_settings_set_default_source" external set_collate: [>`gtkprintsettings] obj -> bool -> unit = "ml_gtk_print_settings_set_collate" external set_bool: [>`gtkprintsettings] obj -> string -> bool -> unit = "ml_gtk_print_settings_set_bool" external set: [>`gtkprintsettings] obj -> string -> string option -> unit = "ml_gtk_print_settings_set" external has_key: [>`gtkprintsettings] obj -> string -> bool = "ml_gtk_print_settings_has_key" external get_use_color: [>`gtkprintsettings] obj -> bool = "ml_gtk_print_settings_get_use_color" external get_scale: [>`gtkprintsettings] obj -> float = "ml_gtk_print_settings_get_scale" external get_reverse: [>`gtkprintsettings] obj -> bool = "ml_gtk_print_settings_get_reverse" external get_resolution_y: [>`gtkprintsettings] obj -> int = "ml_gtk_print_settings_get_resolution_y" external get_resolution_x: [>`gtkprintsettings] obj -> int = "ml_gtk_print_settings_get_resolution_x" external get_resolution: [>`gtkprintsettings] obj -> int = "ml_gtk_print_settings_get_resolution" external get_printer_lpi: [>`gtkprintsettings] obj -> float = "ml_gtk_print_settings_get_printer_lpi" external get_printer: [>`gtkprintsettings] obj -> string = "ml_gtk_print_settings_get_printer" external get_paper_size: [>`gtkprintsettings] obj -> [<`gtkpapersize] obj = "ml_gtk_print_settings_get_paper_size" external get_output_bin: [>`gtkprintsettings] obj -> string = "ml_gtk_print_settings_get_output_bin" external get_number_up: [>`gtkprintsettings] obj -> int = "ml_gtk_print_settings_get_number_up" external get_n_copies: [>`gtkprintsettings] obj -> int = "ml_gtk_print_settings_get_n_copies" external get_media_type: [>`gtkprintsettings] obj -> string = "ml_gtk_print_settings_get_media_type" external get_int_with_default: [>`gtkprintsettings] obj -> string -> int -> int = "ml_gtk_print_settings_get_int_with_default" external get_int: [>`gtkprintsettings] obj -> string -> int = "ml_gtk_print_settings_get_int" external get_finishings: [>`gtkprintsettings] obj -> string = "ml_gtk_print_settings_get_finishings" external get_double_with_default: [>`gtkprintsettings] obj -> string -> float -> float = "ml_gtk_print_settings_get_double_with_default" external get_double: [>`gtkprintsettings] obj -> string -> float = "ml_gtk_print_settings_get_double" external get_dither: [>`gtkprintsettings] obj -> string = "ml_gtk_print_settings_get_dither" external get_default_source: [>`gtkprintsettings] obj -> string = "ml_gtk_print_settings_get_default_source" external get_collate: [>`gtkprintsettings] obj -> bool = "ml_gtk_print_settings_get_collate" external get_bool: [>`gtkprintsettings] obj -> string -> bool = "ml_gtk_print_settings_get_bool" external get: [>`gtkprintsettings] obj -> string -> string = "ml_gtk_print_settings_get" external copy: [>`gtkprintsettings] obj -> [<`gtkprintsettings] obj = "ml_gtk_print_settings_copy" end module PrintOperationPrivate = struct end module PrintOperationPreviewIface = struct end module PrintOperationClass = struct end module PrintOperation = struct external set_use_full_page: [>`gtkprintoperation] obj -> bool -> unit = "ml_gtk_print_operation_set_use_full_page" external set_track_print_status: [>`gtkprintoperation] obj -> bool -> unit = "ml_gtk_print_operation_set_track_print_status" external set_support_selection: [>`gtkprintoperation] obj -> bool -> unit = "ml_gtk_print_operation_set_support_selection" external set_show_progress: [>`gtkprintoperation] obj -> bool -> unit = "ml_gtk_print_operation_set_show_progress" external set_print_settings: [>`gtkprintoperation] obj -> [>`gtkprintsettings] obj option -> unit = "ml_gtk_print_operation_set_print_settings" external set_n_pages: [>`gtkprintoperation] obj -> int -> unit = "ml_gtk_print_operation_set_n_pages" external set_job_name: [>`gtkprintoperation] obj -> string -> unit = "ml_gtk_print_operation_set_job_name" external set_has_selection: [>`gtkprintoperation] obj -> bool -> unit = "ml_gtk_print_operation_set_has_selection" external set_embed_page_setup: [>`gtkprintoperation] obj -> bool -> unit = "ml_gtk_print_operation_set_embed_page_setup" external set_defer_drawing: [>`gtkprintoperation] obj -> unit = "ml_gtk_print_operation_set_defer_drawing" external set_default_page_setup: [>`gtkprintoperation] obj -> [>`gtkpagesetup] obj option -> unit = "ml_gtk_print_operation_set_default_page_setup" external set_custom_tab_label: [>`gtkprintoperation] obj -> string option -> unit = "ml_gtk_print_operation_set_custom_tab_label" external set_current_page: [>`gtkprintoperation] obj -> int -> unit = "ml_gtk_print_operation_set_current_page" external set_allow_async: [>`gtkprintoperation] obj -> bool -> unit = "ml_gtk_print_operation_set_allow_async" external is_finished: [>`gtkprintoperation] obj -> bool = "ml_gtk_print_operation_is_finished" external get_support_selection: [>`gtkprintoperation] obj -> bool = "ml_gtk_print_operation_get_support_selection" external get_status_string: [>`gtkprintoperation] obj -> string = "ml_gtk_print_operation_get_status_string" external get_print_settings: [>`gtkprintoperation] obj -> [<`gtkprintsettings] obj = "ml_gtk_print_operation_get_print_settings" external get_n_pages_to_print: [>`gtkprintoperation] obj -> int = "ml_gtk_print_operation_get_n_pages_to_print" external get_has_selection: [>`gtkprintoperation] obj -> bool = "ml_gtk_print_operation_get_has_selection" external get_embed_page_setup: [>`gtkprintoperation] obj -> bool = "ml_gtk_print_operation_get_embed_page_setup" external get_default_page_setup: [>`gtkprintoperation] obj -> [<`gtkpagesetup] obj = "ml_gtk_print_operation_get_default_page_setup" external draw_page_finish: [>`gtkprintoperation] obj -> unit = "ml_gtk_print_operation_draw_page_finish" external cancel: [>`gtkprintoperation] obj -> unit = "ml_gtk_print_operation_cancel" end module PrintContext = struct external set_cairo_context: [>`gtkprintcontext] obj -> [>`cairo_t] obj -> float -> float -> unit = "ml_gtk_print_context_set_cairo_context" external get_width: [>`gtkprintcontext] obj -> float = "ml_gtk_print_context_get_width" external get_pango_fontmap: [>`gtkprintcontext] obj -> [<`pangofontmap] obj = "ml_gtk_print_context_get_pango_fontmap" external get_page_setup: [>`gtkprintcontext] obj -> [<`gtkpagesetup] obj = "ml_gtk_print_context_get_page_setup" external get_height: [>`gtkprintcontext] obj -> float = "ml_gtk_print_context_get_height" external get_dpi_y: [>`gtkprintcontext] obj -> float = "ml_gtk_print_context_get_dpi_y" external get_dpi_x: [>`gtkprintcontext] obj -> float = "ml_gtk_print_context_get_dpi_x" external get_cairo_context: [>`gtkprintcontext] obj -> [<`cairo_t] obj = "ml_gtk_print_context_get_cairo_context" external create_pango_layout: [>`gtkprintcontext] obj -> [<`pangolayout] obj = "ml_gtk_print_context_create_pango_layout" external create_pango_context: [>`gtkprintcontext] obj -> [<`pangocontext] obj = "ml_gtk_print_context_create_pango_context" end module PlugPrivate = struct end module PlugClass = struct end module Plug = struct external get_socket_window: [>`gtkplug] obj -> [<`gdkwindow] obj = "ml_gtk_plug_get_socket_window" external get_embedded: [>`gtkplug] obj -> bool = "ml_gtk_plug_get_embedded" end module PaperSize = struct external to_key_file: [>`gtkpapersize] obj -> [>`gkeyfile] obj -> string -> unit = "ml_gtk_paper_size_to_key_file" external is_equal: [>`gtkpapersize] obj -> [>`gtkpapersize] obj -> bool = "ml_gtk_paper_size_is_equal" external is_custom: [>`gtkpapersize] obj -> bool = "ml_gtk_paper_size_is_custom" external get_ppd_name: [>`gtkpapersize] obj -> string = "ml_gtk_paper_size_get_ppd_name" external get_name: [>`gtkpapersize] obj -> string = "ml_gtk_paper_size_get_name" external get_display_name: [>`gtkpapersize] obj -> string = "ml_gtk_paper_size_get_display_name" external free: [>`gtkpapersize] obj -> unit = "ml_gtk_paper_size_free" external copy: [>`gtkpapersize] obj -> [<`gtkpapersize] obj = "ml_gtk_paper_size_copy" end module PanedPrivate = struct end module PanedClass = struct end module Paned = struct external set_position: [>`gtkpaned] obj -> int -> unit = "ml_gtk_paned_set_position" external pack2: [>`gtkpaned] obj -> [>`gtkwidget] obj -> bool -> bool -> unit = "ml_gtk_paned_pack2" external pack1: [>`gtkpaned] obj -> [>`gtkwidget] obj -> bool -> bool -> unit = "ml_gtk_paned_pack1" external get_position: [>`gtkpaned] obj -> int = "ml_gtk_paned_get_position" external get_handle_window: [>`gtkpaned] obj -> [<`gdkwindow] obj = "ml_gtk_paned_get_handle_window" external get_child2: [>`gtkpaned] obj -> [<`gtkwidget] obj = "ml_gtk_paned_get_child2" external get_child1: [>`gtkpaned] obj -> [<`gtkwidget] obj = "ml_gtk_paned_get_child1" external add2: [>`gtkpaned] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_paned_add2" external add1: [>`gtkpaned] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_paned_add1" end module PageSetup = struct external to_key_file: [>`gtkpagesetup] obj -> [>`gkeyfile] obj -> string -> unit = "ml_gtk_page_setup_to_key_file" external set_paper_size_and_default_margins: [>`gtkpagesetup] obj -> [>`gtkpapersize] obj -> unit = "ml_gtk_page_setup_set_paper_size_and_default_margins" external set_paper_size: [>`gtkpagesetup] obj -> [>`gtkpapersize] obj -> unit = "ml_gtk_page_setup_set_paper_size" external get_paper_size: [>`gtkpagesetup] obj -> [<`gtkpapersize] obj = "ml_gtk_page_setup_get_paper_size" external copy: [>`gtkpagesetup] obj -> [<`gtkpagesetup] obj = "ml_gtk_page_setup_copy" end module PageRange = struct end module OrientableIface = struct end module OffscreenWindowClass = struct end module OffscreenWindow = struct external get_surface: [>`gtkoffscreenwindow] obj -> [<`cairo_surface_t] obj = "ml_gtk_offscreen_window_get_surface" external get_pixbuf: [>`gtkoffscreenwindow] obj -> [<`gdkpixbuf] obj = "ml_gtk_offscreen_window_get_pixbuf" end module NumerableIconPrivate = struct end module NumerableIconClass = struct end module NumerableIcon = struct external set_style_context: [>`gtknumerableicon] obj -> [>`gtkstylecontext] obj -> unit = "ml_gtk_numerable_icon_set_style_context" external set_label: [>`gtknumerableicon] obj -> string option -> unit = "ml_gtk_numerable_icon_set_label" external set_count: [>`gtknumerableicon] obj -> int -> unit = "ml_gtk_numerable_icon_set_count" external set_background_icon_name: [>`gtknumerableicon] obj -> string option -> unit = "ml_gtk_numerable_icon_set_background_icon_name" external get_style_context: [>`gtknumerableicon] obj -> [<`gtkstylecontext] obj = "ml_gtk_numerable_icon_get_style_context" external get_label: [>`gtknumerableicon] obj -> string = "ml_gtk_numerable_icon_get_label" external get_count: [>`gtknumerableicon] obj -> int = "ml_gtk_numerable_icon_get_count" external get_background_icon_name: [>`gtknumerableicon] obj -> string = "ml_gtk_numerable_icon_get_background_icon_name" end module NotebookPrivate = struct end module NotebookClass = struct end module Notebook = struct external set_tab_reorderable: [>`gtknotebook] obj -> [>`gtkwidget] obj -> bool -> unit = "ml_gtk_notebook_set_tab_reorderable" external set_tab_label_text: [>`gtknotebook] obj -> [>`gtkwidget] obj -> string -> unit = "ml_gtk_notebook_set_tab_label_text" external set_tab_label: [>`gtknotebook] obj -> [>`gtkwidget] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_notebook_set_tab_label" external set_tab_detachable: [>`gtknotebook] obj -> [>`gtkwidget] obj -> bool -> unit = "ml_gtk_notebook_set_tab_detachable" external set_show_tabs: [>`gtknotebook] obj -> bool -> unit = "ml_gtk_notebook_set_show_tabs" external set_show_border: [>`gtknotebook] obj -> bool -> unit = "ml_gtk_notebook_set_show_border" external set_scrollable: [>`gtknotebook] obj -> bool -> unit = "ml_gtk_notebook_set_scrollable" external set_menu_label_text: [>`gtknotebook] obj -> [>`gtkwidget] obj -> string -> unit = "ml_gtk_notebook_set_menu_label_text" external set_menu_label: [>`gtknotebook] obj -> [>`gtkwidget] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_notebook_set_menu_label" external set_group_name: [>`gtknotebook] obj -> string option -> unit = "ml_gtk_notebook_set_group_name" external set_current_page: [>`gtknotebook] obj -> int -> unit = "ml_gtk_notebook_set_current_page" external reorder_child: [>`gtknotebook] obj -> [>`gtkwidget] obj -> int -> unit = "ml_gtk_notebook_reorder_child" external remove_page: [>`gtknotebook] obj -> int -> unit = "ml_gtk_notebook_remove_page" external prev_page: [>`gtknotebook] obj -> unit = "ml_gtk_notebook_prev_page" external prepend_page_menu: [>`gtknotebook] obj -> [>`gtkwidget] obj -> [>`gtkwidget] obj option -> [>`gtkwidget] obj option -> int = "ml_gtk_notebook_prepend_page_menu" external prepend_page: [>`gtknotebook] obj -> [>`gtkwidget] obj -> [>`gtkwidget] obj option -> int = "ml_gtk_notebook_prepend_page" external popup_enable: [>`gtknotebook] obj -> unit = "ml_gtk_notebook_popup_enable" external popup_disable: [>`gtknotebook] obj -> unit = "ml_gtk_notebook_popup_disable" external page_num: [>`gtknotebook] obj -> [>`gtkwidget] obj -> int = "ml_gtk_notebook_page_num" external next_page: [>`gtknotebook] obj -> unit = "ml_gtk_notebook_next_page" external insert_page_menu: [>`gtknotebook] obj -> [>`gtkwidget] obj -> [>`gtkwidget] obj option -> [>`gtkwidget] obj option -> int -> int = "ml_gtk_notebook_insert_page_menu" external insert_page: [>`gtknotebook] obj -> [>`gtkwidget] obj -> [>`gtkwidget] obj option -> int -> int = "ml_gtk_notebook_insert_page" external get_tab_vborder: [>`gtknotebook] obj -> int = "ml_gtk_notebook_get_tab_vborder" external get_tab_reorderable: [>`gtknotebook] obj -> [>`gtkwidget] obj -> bool = "ml_gtk_notebook_get_tab_reorderable" external get_tab_label_text: [>`gtknotebook] obj -> [>`gtkwidget] obj -> string = "ml_gtk_notebook_get_tab_label_text" external get_tab_label: [>`gtknotebook] obj -> [>`gtkwidget] obj -> [<`gtkwidget] obj = "ml_gtk_notebook_get_tab_label" external get_tab_hborder: [>`gtknotebook] obj -> int = "ml_gtk_notebook_get_tab_hborder" external get_tab_detachable: [>`gtknotebook] obj -> [>`gtkwidget] obj -> bool = "ml_gtk_notebook_get_tab_detachable" external get_show_tabs: [>`gtknotebook] obj -> bool = "ml_gtk_notebook_get_show_tabs" external get_show_border: [>`gtknotebook] obj -> bool = "ml_gtk_notebook_get_show_border" external get_scrollable: [>`gtknotebook] obj -> bool = "ml_gtk_notebook_get_scrollable" external get_nth_page: [>`gtknotebook] obj -> int -> [<`gtkwidget] obj = "ml_gtk_notebook_get_nth_page" external get_n_pages: [>`gtknotebook] obj -> int = "ml_gtk_notebook_get_n_pages" external get_menu_label_text: [>`gtknotebook] obj -> [>`gtkwidget] obj -> string = "ml_gtk_notebook_get_menu_label_text" external get_menu_label: [>`gtknotebook] obj -> [>`gtkwidget] obj -> [<`gtkwidget] obj = "ml_gtk_notebook_get_menu_label" external get_group_name: [>`gtknotebook] obj -> string = "ml_gtk_notebook_get_group_name" external get_current_page: [>`gtknotebook] obj -> int = "ml_gtk_notebook_get_current_page" external append_page_menu: [>`gtknotebook] obj -> [>`gtkwidget] obj -> [>`gtkwidget] obj option -> [>`gtkwidget] obj option -> int = "ml_gtk_notebook_append_page_menu" external append_page: [>`gtknotebook] obj -> [>`gtkwidget] obj -> [>`gtkwidget] obj option -> int = "ml_gtk_notebook_append_page" end module MountOperationPrivate = struct end module MountOperationClass = struct end module MountOperation = struct external set_screen: [>`gtkmountoperation] obj -> [>`gdkscreen] obj -> unit = "ml_gtk_mount_operation_set_screen" external set_parent: [>`gtkmountoperation] obj -> [>`gtkwindow] obj option -> unit = "ml_gtk_mount_operation_set_parent" external is_showing: [>`gtkmountoperation] obj -> bool = "ml_gtk_mount_operation_is_showing" external get_screen: [>`gtkmountoperation] obj -> [<`gdkscreen] obj = "ml_gtk_mount_operation_get_screen" external get_parent: [>`gtkmountoperation] obj -> [<`gtkwindow] obj = "ml_gtk_mount_operation_get_parent" end module MiscPrivate = struct end module MiscClass = struct end module Misc = struct external set_padding: [>`gtkmisc] obj -> int -> int -> unit = "ml_gtk_misc_set_padding" end module MessageDialogPrivate = struct end module MessageDialogClass = struct end module MessageDialog = struct external set_markup: [>`gtkmessagedialog] obj -> string -> unit = "ml_gtk_message_dialog_set_markup" external set_image: [>`gtkmessagedialog] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_message_dialog_set_image" external get_message_area: [>`gtkmessagedialog] obj -> [<`gtkwidget] obj = "ml_gtk_message_dialog_get_message_area" external get_image: [>`gtkmessagedialog] obj -> [<`gtkwidget] obj = "ml_gtk_message_dialog_get_image" end module MenuToolButtonPrivate = struct end module MenuToolButtonClass = struct end module MenuToolButton = struct external set_menu: [>`gtkmenutoolbutton] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_menu_tool_button_set_menu" external set_arrow_tooltip_text: [>`gtkmenutoolbutton] obj -> string -> unit = "ml_gtk_menu_tool_button_set_arrow_tooltip_text" external set_arrow_tooltip_markup: [>`gtkmenutoolbutton] obj -> string -> unit = "ml_gtk_menu_tool_button_set_arrow_tooltip_markup" external get_menu: [>`gtkmenutoolbutton] obj -> [<`gtkwidget] obj = "ml_gtk_menu_tool_button_get_menu" end module MenuShellPrivate = struct end module MenuShellClass = struct end module MenuShell = struct external set_take_focus: [>`gtkmenushell] obj -> bool -> unit = "ml_gtk_menu_shell_set_take_focus" external select_item: [>`gtkmenushell] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_menu_shell_select_item" external select_first: [>`gtkmenushell] obj -> bool -> unit = "ml_gtk_menu_shell_select_first" external prepend: [>`gtkmenushell] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_menu_shell_prepend" external insert: [>`gtkmenushell] obj -> [>`gtkwidget] obj -> int -> unit = "ml_gtk_menu_shell_insert" external get_take_focus: [>`gtkmenushell] obj -> bool = "ml_gtk_menu_shell_get_take_focus" external get_selected_item: [>`gtkmenushell] obj -> [<`gtkwidget] obj = "ml_gtk_menu_shell_get_selected_item" external get_parent_shell: [>`gtkmenushell] obj -> [<`gtkwidget] obj = "ml_gtk_menu_shell_get_parent_shell" external deselect: [>`gtkmenushell] obj -> unit = "ml_gtk_menu_shell_deselect" external deactivate: [>`gtkmenushell] obj -> unit = "ml_gtk_menu_shell_deactivate" external cancel: [>`gtkmenushell] obj -> unit = "ml_gtk_menu_shell_cancel" external append: [>`gtkmenushell] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_menu_shell_append" external activate_item: [>`gtkmenushell] obj -> [>`gtkwidget] obj -> bool -> unit = "ml_gtk_menu_shell_activate_item" end module MenuPrivate = struct end module MenuItemPrivate = struct end module MenuItemClass = struct end module MenuItem = struct external toggle_size_allocate: [>`gtkmenuitem] obj -> int -> unit = "ml_gtk_menu_item_toggle_size_allocate" external set_use_underline: [>`gtkmenuitem] obj -> bool -> unit = "ml_gtk_menu_item_set_use_underline" external set_submenu: [>`gtkmenuitem] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_menu_item_set_submenu" external set_right_justified: [>`gtkmenuitem] obj -> bool -> unit = "ml_gtk_menu_item_set_right_justified" external set_reserve_indicator: [>`gtkmenuitem] obj -> bool -> unit = "ml_gtk_menu_item_set_reserve_indicator" external set_label: [>`gtkmenuitem] obj -> string -> unit = "ml_gtk_menu_item_set_label" external set_accel_path: [>`gtkmenuitem] obj -> string option -> unit = "ml_gtk_menu_item_set_accel_path" external select: [>`gtkmenuitem] obj -> unit = "ml_gtk_menu_item_select" external get_use_underline: [>`gtkmenuitem] obj -> bool = "ml_gtk_menu_item_get_use_underline" external get_submenu: [>`gtkmenuitem] obj -> [<`gtkwidget] obj = "ml_gtk_menu_item_get_submenu" external get_right_justified: [>`gtkmenuitem] obj -> bool = "ml_gtk_menu_item_get_right_justified" external get_reserve_indicator: [>`gtkmenuitem] obj -> bool = "ml_gtk_menu_item_get_reserve_indicator" external get_label: [>`gtkmenuitem] obj -> string = "ml_gtk_menu_item_get_label" external get_accel_path: [>`gtkmenuitem] obj -> string = "ml_gtk_menu_item_get_accel_path" external deselect: [>`gtkmenuitem] obj -> unit = "ml_gtk_menu_item_deselect" external activate: [>`gtkmenuitem] obj -> unit = "ml_gtk_menu_item_activate" end module MenuClass = struct end module MenuBarPrivate = struct end module MenuBarClass = struct end module MenuBar = struct end module Menu = struct external set_title: [>`gtkmenu] obj -> string -> unit = "ml_gtk_menu_set_title" external set_tearoff_state: [>`gtkmenu] obj -> bool -> unit = "ml_gtk_menu_set_tearoff_state" external set_screen: [>`gtkmenu] obj -> [>`gdkscreen] obj option -> unit = "ml_gtk_menu_set_screen" external set_reserve_toggle_size: [>`gtkmenu] obj -> bool -> unit = "ml_gtk_menu_set_reserve_toggle_size" external set_monitor: [>`gtkmenu] obj -> int -> unit = "ml_gtk_menu_set_monitor" external set_active: [>`gtkmenu] obj -> int -> unit = "ml_gtk_menu_set_active" external set_accel_path: [>`gtkmenu] obj -> string option -> unit = "ml_gtk_menu_set_accel_path" external set_accel_group: [>`gtkmenu] obj -> [>`gtkaccelgroup] obj option -> unit = "ml_gtk_menu_set_accel_group" external reposition: [>`gtkmenu] obj -> unit = "ml_gtk_menu_reposition" external reorder_child: [>`gtkmenu] obj -> [>`gtkwidget] obj -> int -> unit = "ml_gtk_menu_reorder_child" external popdown: [>`gtkmenu] obj -> unit = "ml_gtk_menu_popdown" external get_title: [>`gtkmenu] obj -> string = "ml_gtk_menu_get_title" external get_tearoff_state: [>`gtkmenu] obj -> bool = "ml_gtk_menu_get_tearoff_state" external get_reserve_toggle_size: [>`gtkmenu] obj -> bool = "ml_gtk_menu_get_reserve_toggle_size" external get_monitor: [>`gtkmenu] obj -> int = "ml_gtk_menu_get_monitor" external get_attach_widget: [>`gtkmenu] obj -> [<`gtkwidget] obj = "ml_gtk_menu_get_attach_widget" external get_active: [>`gtkmenu] obj -> [<`gtkwidget] obj = "ml_gtk_menu_get_active" external get_accel_path: [>`gtkmenu] obj -> string = "ml_gtk_menu_get_accel_path" external get_accel_group: [>`gtkmenu] obj -> [<`gtkaccelgroup] obj = "ml_gtk_menu_get_accel_group" external detach: [>`gtkmenu] obj -> unit = "ml_gtk_menu_detach" external attach: [>`gtkmenu] obj -> [>`gtkwidget] obj -> int -> int -> int -> int -> unit = "ml_gtk_menu_attach" external get_for_attach_widget: [>`gtkwidget] obj -> [<`glist] obj = "ml_gtk_menu_get_for_attach_widget" end module ListStorePrivate = struct end module ListStoreClass = struct end module ListStore = struct external swap: [>`gtkliststore] obj -> [>`gtktreeiter] obj -> [>`gtktreeiter] obj -> unit = "ml_gtk_list_store_swap" external set_value: [>`gtkliststore] obj -> [>`gtktreeiter] obj -> int -> [>`gvalue] obj -> unit = "ml_gtk_list_store_set_value" external remove: [>`gtkliststore] obj -> [>`gtktreeiter] obj -> bool = "ml_gtk_list_store_remove" external move_before: [>`gtkliststore] obj -> [>`gtktreeiter] obj -> [>`gtktreeiter] obj option -> unit = "ml_gtk_list_store_move_before" external move_after: [>`gtkliststore] obj -> [>`gtktreeiter] obj -> [>`gtktreeiter] obj option -> unit = "ml_gtk_list_store_move_after" external iter_is_valid: [>`gtkliststore] obj -> [>`gtktreeiter] obj -> bool = "ml_gtk_list_store_iter_is_valid" external clear: [>`gtkliststore] obj -> unit = "ml_gtk_list_store_clear" end module LinkButtonPrivate = struct end module LinkButtonClass = struct end module LinkButton = struct external set_visited: [>`gtklinkbutton] obj -> bool -> unit = "ml_gtk_link_button_set_visited" external set_uri: [>`gtklinkbutton] obj -> string -> unit = "ml_gtk_link_button_set_uri" external get_visited: [>`gtklinkbutton] obj -> bool = "ml_gtk_link_button_get_visited" external get_uri: [>`gtklinkbutton] obj -> string = "ml_gtk_link_button_get_uri" end module LayoutPrivate = struct end module LayoutClass = struct end module Layout = struct external set_vadjustment: [>`gtklayout] obj -> [>`gtkadjustment] obj option -> unit = "ml_gtk_layout_set_vadjustment" external set_size: [>`gtklayout] obj -> int -> int -> unit = "ml_gtk_layout_set_size" external set_hadjustment: [>`gtklayout] obj -> [>`gtkadjustment] obj option -> unit = "ml_gtk_layout_set_hadjustment" external put: [>`gtklayout] obj -> [>`gtkwidget] obj -> int -> int -> unit = "ml_gtk_layout_put" external move: [>`gtklayout] obj -> [>`gtkwidget] obj -> int -> int -> unit = "ml_gtk_layout_move" external get_vadjustment: [>`gtklayout] obj -> [<`gtkadjustment] obj = "ml_gtk_layout_get_vadjustment" external get_hadjustment: [>`gtklayout] obj -> [<`gtkadjustment] obj = "ml_gtk_layout_get_hadjustment" external get_bin_window: [>`gtklayout] obj -> [<`gdkwindow] obj = "ml_gtk_layout_get_bin_window" end module LabelSelectionInfo = struct end module LabelPrivate = struct end module LabelClass = struct end module Label = struct external set_width_chars: [>`gtklabel] obj -> int -> unit = "ml_gtk_label_set_width_chars" external set_use_underline: [>`gtklabel] obj -> bool -> unit = "ml_gtk_label_set_use_underline" external set_use_markup: [>`gtklabel] obj -> bool -> unit = "ml_gtk_label_set_use_markup" external set_track_visited_links: [>`gtklabel] obj -> bool -> unit = "ml_gtk_label_set_track_visited_links" external set_text_with_mnemonic: [>`gtklabel] obj -> string -> unit = "ml_gtk_label_set_text_with_mnemonic" external set_text: [>`gtklabel] obj -> string -> unit = "ml_gtk_label_set_text" external set_single_line_mode: [>`gtklabel] obj -> bool -> unit = "ml_gtk_label_set_single_line_mode" external set_selectable: [>`gtklabel] obj -> bool -> unit = "ml_gtk_label_set_selectable" external set_pattern: [>`gtklabel] obj -> string -> unit = "ml_gtk_label_set_pattern" external set_mnemonic_widget: [>`gtklabel] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_label_set_mnemonic_widget" external set_max_width_chars: [>`gtklabel] obj -> int -> unit = "ml_gtk_label_set_max_width_chars" external set_markup_with_mnemonic: [>`gtklabel] obj -> string -> unit = "ml_gtk_label_set_markup_with_mnemonic" external set_markup: [>`gtklabel] obj -> string -> unit = "ml_gtk_label_set_markup" external set_line_wrap: [>`gtklabel] obj -> bool -> unit = "ml_gtk_label_set_line_wrap" external set_label: [>`gtklabel] obj -> string -> unit = "ml_gtk_label_set_label" external set_attributes: [>`gtklabel] obj -> [>`pangoattrlist] obj -> unit = "ml_gtk_label_set_attributes" external set_angle: [>`gtklabel] obj -> float -> unit = "ml_gtk_label_set_angle" external select_region: [>`gtklabel] obj -> int -> int -> unit = "ml_gtk_label_select_region" external get_width_chars: [>`gtklabel] obj -> int = "ml_gtk_label_get_width_chars" external get_use_underline: [>`gtklabel] obj -> bool = "ml_gtk_label_get_use_underline" external get_use_markup: [>`gtklabel] obj -> bool = "ml_gtk_label_get_use_markup" external get_track_visited_links: [>`gtklabel] obj -> bool = "ml_gtk_label_get_track_visited_links" external get_text: [>`gtklabel] obj -> string = "ml_gtk_label_get_text" external get_single_line_mode: [>`gtklabel] obj -> bool = "ml_gtk_label_get_single_line_mode" external get_selectable: [>`gtklabel] obj -> bool = "ml_gtk_label_get_selectable" external get_mnemonic_widget: [>`gtklabel] obj -> [<`gtkwidget] obj = "ml_gtk_label_get_mnemonic_widget" external get_mnemonic_keyval: [>`gtklabel] obj -> int = "ml_gtk_label_get_mnemonic_keyval" external get_max_width_chars: [>`gtklabel] obj -> int = "ml_gtk_label_get_max_width_chars" external get_line_wrap: [>`gtklabel] obj -> bool = "ml_gtk_label_get_line_wrap" external get_layout: [>`gtklabel] obj -> [<`pangolayout] obj = "ml_gtk_label_get_layout" external get_label: [>`gtklabel] obj -> string = "ml_gtk_label_get_label" external get_current_uri: [>`gtklabel] obj -> string = "ml_gtk_label_get_current_uri" external get_attributes: [>`gtklabel] obj -> [<`pangoattrlist] obj = "ml_gtk_label_get_attributes" external get_angle: [>`gtklabel] obj -> float = "ml_gtk_label_get_angle" end module InvisiblePrivate = struct end module InvisibleClass = struct end module Invisible = struct external set_screen: [>`gtkinvisible] obj -> [>`gdkscreen] obj -> unit = "ml_gtk_invisible_set_screen" external get_screen: [>`gtkinvisible] obj -> [<`gdkscreen] obj = "ml_gtk_invisible_get_screen" end module InfoBarPrivate = struct end module InfoBarClass = struct end module InfoBar = struct external set_response_sensitive: [>`gtkinfobar] obj -> int -> bool -> unit = "ml_gtk_info_bar_set_response_sensitive" external set_default_response: [>`gtkinfobar] obj -> int -> unit = "ml_gtk_info_bar_set_default_response" external response: [>`gtkinfobar] obj -> int -> unit = "ml_gtk_info_bar_response" external get_content_area: [>`gtkinfobar] obj -> [<`gtkwidget] obj = "ml_gtk_info_bar_get_content_area" external get_action_area: [>`gtkinfobar] obj -> [<`gtkwidget] obj = "ml_gtk_info_bar_get_action_area" external add_button: [>`gtkinfobar] obj -> string -> int -> [<`gtkwidget] obj = "ml_gtk_info_bar_add_button" external add_action_widget: [>`gtkinfobar] obj -> [>`gtkwidget] obj -> int -> unit = "ml_gtk_info_bar_add_action_widget" end module ImagePrivate = struct end module ImageMenuItemPrivate = struct end module ImageMenuItemClass = struct end module ImageMenuItem = struct external set_use_stock: [>`gtkimagemenuitem] obj -> bool -> unit = "ml_gtk_image_menu_item_set_use_stock" external set_image: [>`gtkimagemenuitem] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_image_menu_item_set_image" external set_always_show_image: [>`gtkimagemenuitem] obj -> bool -> unit = "ml_gtk_image_menu_item_set_always_show_image" external set_accel_group: [>`gtkimagemenuitem] obj -> [>`gtkaccelgroup] obj -> unit = "ml_gtk_image_menu_item_set_accel_group" external get_use_stock: [>`gtkimagemenuitem] obj -> bool = "ml_gtk_image_menu_item_get_use_stock" external get_image: [>`gtkimagemenuitem] obj -> [<`gtkwidget] obj = "ml_gtk_image_menu_item_get_image" external get_always_show_image: [>`gtkimagemenuitem] obj -> bool = "ml_gtk_image_menu_item_get_always_show_image" end module ImageClass = struct end module Image = struct external set_pixel_size: [>`gtkimage] obj -> int -> unit = "ml_gtk_image_set_pixel_size" external set_from_pixbuf: [>`gtkimage] obj -> [>`gdkpixbuf] obj option -> unit = "ml_gtk_image_set_from_pixbuf" external set_from_animation: [>`gtkimage] obj -> [>`gdkpixbufanimation] obj -> unit = "ml_gtk_image_set_from_animation" external get_pixel_size: [>`gtkimage] obj -> int = "ml_gtk_image_get_pixel_size" external get_pixbuf: [>`gtkimage] obj -> [<`gdkpixbuf] obj = "ml_gtk_image_get_pixbuf" external get_animation: [>`gtkimage] obj -> [<`gdkpixbufanimation] obj = "ml_gtk_image_get_animation" external clear: [>`gtkimage] obj -> unit = "ml_gtk_image_clear" end module IconViewPrivate = struct end module IconViewClass = struct end module IconView = struct external unset_model_drag_source: [>`gtkiconview] obj -> unit = "ml_gtk_icon_view_unset_model_drag_source" external unset_model_drag_dest: [>`gtkiconview] obj -> unit = "ml_gtk_icon_view_unset_model_drag_dest" external unselect_path: [>`gtkiconview] obj -> [>`gtktreepath] obj -> unit = "ml_gtk_icon_view_unselect_path" external unselect_all: [>`gtkiconview] obj -> unit = "ml_gtk_icon_view_unselect_all" external set_tooltip_item: [>`gtkiconview] obj -> [>`gtktooltip] obj -> [>`gtktreepath] obj -> unit = "ml_gtk_icon_view_set_tooltip_item" external set_tooltip_column: [>`gtkiconview] obj -> int -> unit = "ml_gtk_icon_view_set_tooltip_column" external set_tooltip_cell: [>`gtkiconview] obj -> [>`gtktooltip] obj -> [>`gtktreepath] obj -> [>`gtkcellrenderer] obj option -> unit = "ml_gtk_icon_view_set_tooltip_cell" external set_text_column: [>`gtkiconview] obj -> int -> unit = "ml_gtk_icon_view_set_text_column" external set_spacing: [>`gtkiconview] obj -> int -> unit = "ml_gtk_icon_view_set_spacing" external set_row_spacing: [>`gtkiconview] obj -> int -> unit = "ml_gtk_icon_view_set_row_spacing" external set_reorderable: [>`gtkiconview] obj -> bool -> unit = "ml_gtk_icon_view_set_reorderable" external set_pixbuf_column: [>`gtkiconview] obj -> int -> unit = "ml_gtk_icon_view_set_pixbuf_column" external set_markup_column: [>`gtkiconview] obj -> int -> unit = "ml_gtk_icon_view_set_markup_column" external set_margin: [>`gtkiconview] obj -> int -> unit = "ml_gtk_icon_view_set_margin" external set_item_width: [>`gtkiconview] obj -> int -> unit = "ml_gtk_icon_view_set_item_width" external set_item_padding: [>`gtkiconview] obj -> int -> unit = "ml_gtk_icon_view_set_item_padding" external set_cursor: [>`gtkiconview] obj -> [>`gtktreepath] obj -> [>`gtkcellrenderer] obj option -> bool -> unit = "ml_gtk_icon_view_set_cursor" external set_columns: [>`gtkiconview] obj -> int -> unit = "ml_gtk_icon_view_set_columns" external set_column_spacing: [>`gtkiconview] obj -> int -> unit = "ml_gtk_icon_view_set_column_spacing" external select_path: [>`gtkiconview] obj -> [>`gtktreepath] obj -> unit = "ml_gtk_icon_view_select_path" external select_all: [>`gtkiconview] obj -> unit = "ml_gtk_icon_view_select_all" external path_is_selected: [>`gtkiconview] obj -> [>`gtktreepath] obj -> bool = "ml_gtk_icon_view_path_is_selected" external item_activated: [>`gtkiconview] obj -> [>`gtktreepath] obj -> unit = "ml_gtk_icon_view_item_activated" external get_tooltip_column: [>`gtkiconview] obj -> int = "ml_gtk_icon_view_get_tooltip_column" external get_text_column: [>`gtkiconview] obj -> int = "ml_gtk_icon_view_get_text_column" external get_spacing: [>`gtkiconview] obj -> int = "ml_gtk_icon_view_get_spacing" external get_selected_items: [>`gtkiconview] obj -> [<`glist] obj = "ml_gtk_icon_view_get_selected_items" external get_row_spacing: [>`gtkiconview] obj -> int = "ml_gtk_icon_view_get_row_spacing" external get_reorderable: [>`gtkiconview] obj -> bool = "ml_gtk_icon_view_get_reorderable" external get_pixbuf_column: [>`gtkiconview] obj -> int = "ml_gtk_icon_view_get_pixbuf_column" external get_path_at_pos: [>`gtkiconview] obj -> int -> int -> [<`gtktreepath] obj = "ml_gtk_icon_view_get_path_at_pos" external get_markup_column: [>`gtkiconview] obj -> int = "ml_gtk_icon_view_get_markup_column" external get_margin: [>`gtkiconview] obj -> int = "ml_gtk_icon_view_get_margin" external get_item_width: [>`gtkiconview] obj -> int = "ml_gtk_icon_view_get_item_width" external get_item_row: [>`gtkiconview] obj -> [>`gtktreepath] obj -> int = "ml_gtk_icon_view_get_item_row" external get_item_padding: [>`gtkiconview] obj -> int = "ml_gtk_icon_view_get_item_padding" external get_item_column: [>`gtkiconview] obj -> [>`gtktreepath] obj -> int = "ml_gtk_icon_view_get_item_column" external get_columns: [>`gtkiconview] obj -> int = "ml_gtk_icon_view_get_columns" external get_column_spacing: [>`gtkiconview] obj -> int = "ml_gtk_icon_view_get_column_spacing" external create_drag_icon: [>`gtkiconview] obj -> [>`gtktreepath] obj -> [<`cairo_surface_t] obj = "ml_gtk_icon_view_create_drag_icon" end module IconThemePrivate = struct end module IconThemeClass = struct end module IconTheme = struct external set_screen: [>`gtkicontheme] obj -> [>`gdkscreen] obj -> unit = "ml_gtk_icon_theme_set_screen" external set_custom_theme: [>`gtkicontheme] obj -> string option -> unit = "ml_gtk_icon_theme_set_custom_theme" external rescan_if_needed: [>`gtkicontheme] obj -> bool = "ml_gtk_icon_theme_rescan_if_needed" external list_icons: [>`gtkicontheme] obj -> string option -> [<`glist] obj = "ml_gtk_icon_theme_list_icons" external list_contexts: [>`gtkicontheme] obj -> [<`glist] obj = "ml_gtk_icon_theme_list_contexts" external has_icon: [>`gtkicontheme] obj -> string -> bool = "ml_gtk_icon_theme_has_icon" external get_example_icon_name: [>`gtkicontheme] obj -> string = "ml_gtk_icon_theme_get_example_icon_name" external get_for_screen: [>`gdkscreen] obj -> [<`gtkicontheme] obj = "ml_gtk_icon_theme_get_for_screen" external get_default: unit -> [<`gtkicontheme] obj = "ml_gtk_icon_theme_get_default" external add_builtin_icon: string -> int -> [>`gdkpixbuf] obj -> unit = "ml_gtk_icon_theme_add_builtin_icon" end module IconSource = struct external set_state_wildcarded: [>`gtkiconsource] obj -> bool -> unit = "ml_gtk_icon_source_set_state_wildcarded" external set_size_wildcarded: [>`gtkiconsource] obj -> bool -> unit = "ml_gtk_icon_source_set_size_wildcarded" external set_pixbuf: [>`gtkiconsource] obj -> [>`gdkpixbuf] obj -> unit = "ml_gtk_icon_source_set_pixbuf" external set_icon_name: [>`gtkiconsource] obj -> string option -> unit = "ml_gtk_icon_source_set_icon_name" external set_direction_wildcarded: [>`gtkiconsource] obj -> bool -> unit = "ml_gtk_icon_source_set_direction_wildcarded" external get_state_wildcarded: [>`gtkiconsource] obj -> bool = "ml_gtk_icon_source_get_state_wildcarded" external get_size_wildcarded: [>`gtkiconsource] obj -> bool = "ml_gtk_icon_source_get_size_wildcarded" external get_pixbuf: [>`gtkiconsource] obj -> [<`gdkpixbuf] obj = "ml_gtk_icon_source_get_pixbuf" external get_icon_name: [>`gtkiconsource] obj -> string = "ml_gtk_icon_source_get_icon_name" external get_direction_wildcarded: [>`gtkiconsource] obj -> bool = "ml_gtk_icon_source_get_direction_wildcarded" external free: [>`gtkiconsource] obj -> unit = "ml_gtk_icon_source_free" external copy: [>`gtkiconsource] obj -> [<`gtkiconsource] obj = "ml_gtk_icon_source_copy" end module IconSet = struct external unref: [>`gtkiconset] obj -> unit = "ml_gtk_icon_set_unref" external ref: [>`gtkiconset] obj -> [<`gtkiconset] obj = "ml_gtk_icon_set_ref" external copy: [>`gtkiconset] obj -> [<`gtkiconset] obj = "ml_gtk_icon_set_copy" external add_source: [>`gtkiconset] obj -> [>`gtkiconsource] obj -> unit = "ml_gtk_icon_set_add_source" end module IconInfo = struct external set_raw_coordinates: [>`gtkiconinfo] obj -> bool -> unit = "ml_gtk_icon_info_set_raw_coordinates" external get_display_name: [>`gtkiconinfo] obj -> string = "ml_gtk_icon_info_get_display_name" external get_builtin_pixbuf: [>`gtkiconinfo] obj -> [<`gdkpixbuf] obj = "ml_gtk_icon_info_get_builtin_pixbuf" external get_base_size: [>`gtkiconinfo] obj -> int = "ml_gtk_icon_info_get_base_size" external free: [>`gtkiconinfo] obj -> unit = "ml_gtk_icon_info_free" external copy: [>`gtkiconinfo] obj -> [<`gtkiconinfo] obj = "ml_gtk_icon_info_copy" end module IconFactoryPrivate = struct end module IconFactoryClass = struct end module IconFactory = struct external remove_default: [>`gtkiconfactory] obj -> unit = "ml_gtk_icon_factory_remove_default" external lookup: [>`gtkiconfactory] obj -> string -> [<`gtkiconset] obj = "ml_gtk_icon_factory_lookup" external add_default: [>`gtkiconfactory] obj -> unit = "ml_gtk_icon_factory_add_default" external add: [>`gtkiconfactory] obj -> string -> [>`gtkiconset] obj -> unit = "ml_gtk_icon_factory_add" external lookup_default: string -> [<`gtkiconset] obj = "ml_gtk_icon_factory_lookup_default" end module IMMulticontextPrivate = struct end module IMMulticontextClass = struct end module IMMulticontext = struct external set_context_id: [>`gtkimmulticontext] obj -> string -> unit = "ml_gtk_im_multicontext_set_context_id" external get_context_id: [>`gtkimmulticontext] obj -> string = "ml_gtk_im_multicontext_get_context_id" external append_menuitems: [>`gtkimmulticontext] obj -> [>`gtkmenushell] obj -> unit = "ml_gtk_im_multicontext_append_menuitems" end module IMContextSimplePrivate = struct end module IMContextSimpleClass = struct end module IMContextSimple = struct end module IMContextInfo = struct end module IMContextClass = struct end module IMContext = struct external set_use_preedit: [>`gtkimcontext] obj -> bool -> unit = "ml_gtk_im_context_set_use_preedit" external set_surrounding: [>`gtkimcontext] obj -> string -> int -> int -> unit = "ml_gtk_im_context_set_surrounding" external set_client_window: [>`gtkimcontext] obj -> [>`gdkwindow] obj option -> unit = "ml_gtk_im_context_set_client_window" external reset: [>`gtkimcontext] obj -> unit = "ml_gtk_im_context_reset" external focus_out: [>`gtkimcontext] obj -> unit = "ml_gtk_im_context_focus_out" external focus_in: [>`gtkimcontext] obj -> unit = "ml_gtk_im_context_focus_in" external filter_keypress: [>`gtkimcontext] obj -> [>`gdkeventkey] obj -> bool = "ml_gtk_im_context_filter_keypress" external delete_surrounding: [>`gtkimcontext] obj -> int -> int -> bool = "ml_gtk_im_context_delete_surrounding" end module HandleBoxPrivate = struct end module HandleBoxClass = struct end module HandleBox = struct external get_child_detached: [>`gtkhandlebox] obj -> bool = "ml_gtk_handle_box_get_child_detached" end module HSeparatorClass = struct end module HSeparator = struct end module HScrollbarClass = struct end module HScrollbar = struct end module HScaleClass = struct end module HScale = struct end module HSVPrivate = struct end module HSVClass = struct end module HSV = struct external set_metrics: [>`gtkhsv] obj -> int -> int -> unit = "ml_gtk_hsv_set_metrics" external set_color: [>`gtkhsv] obj -> float -> float -> float -> unit = "ml_gtk_hsv_set_color" external is_adjusting: [>`gtkhsv] obj -> bool = "ml_gtk_hsv_is_adjusting" end module HPanedClass = struct end module HPaned = struct end module HButtonBoxClass = struct end module HButtonBox = struct end module HBoxClass = struct end module HBox = struct end module GridPrivate = struct end module GridClass = struct end module Grid = struct external set_row_spacing: [>`gtkgrid] obj -> int -> unit = "ml_gtk_grid_set_row_spacing" external set_row_homogeneous: [>`gtkgrid] obj -> bool -> unit = "ml_gtk_grid_set_row_homogeneous" external set_column_spacing: [>`gtkgrid] obj -> int -> unit = "ml_gtk_grid_set_column_spacing" external set_column_homogeneous: [>`gtkgrid] obj -> bool -> unit = "ml_gtk_grid_set_column_homogeneous" external get_row_spacing: [>`gtkgrid] obj -> int = "ml_gtk_grid_get_row_spacing" external get_row_homogeneous: [>`gtkgrid] obj -> bool = "ml_gtk_grid_get_row_homogeneous" external get_column_spacing: [>`gtkgrid] obj -> int = "ml_gtk_grid_get_column_spacing" external get_column_homogeneous: [>`gtkgrid] obj -> bool = "ml_gtk_grid_get_column_homogeneous" external attach: [>`gtkgrid] obj -> [>`gtkwidget] obj -> int -> int -> int -> int -> unit = "ml_gtk_grid_attach" end module Gradient = struct external unref: [>`gtkgradient] obj -> unit = "ml_gtk_gradient_unref" external ref: [>`gtkgradient] obj -> [<`gtkgradient] obj = "ml_gtk_gradient_ref" external add_color_stop: [>`gtkgradient] obj -> float -> [>`gtksymboliccolor] obj -> unit = "ml_gtk_gradient_add_color_stop" end module FramePrivate = struct end module FrameClass = struct end module Frame = struct external set_label_widget: [>`gtkframe] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_frame_set_label_widget" external set_label: [>`gtkframe] obj -> string option -> unit = "ml_gtk_frame_set_label" external get_label_widget: [>`gtkframe] obj -> [<`gtkwidget] obj = "ml_gtk_frame_get_label_widget" external get_label: [>`gtkframe] obj -> string = "ml_gtk_frame_get_label" end module FontSelectionPrivate = struct end module FontSelectionDialogPrivate = struct end module FontSelectionDialogClass = struct end module FontSelectionDialog = struct external set_preview_text: [>`gtkfontselectiondialog] obj -> string -> unit = "ml_gtk_font_selection_dialog_set_preview_text" external set_font_name: [>`gtkfontselectiondialog] obj -> string -> bool = "ml_gtk_font_selection_dialog_set_font_name" external get_preview_text: [>`gtkfontselectiondialog] obj -> string = "ml_gtk_font_selection_dialog_get_preview_text" external get_ok_button: [>`gtkfontselectiondialog] obj -> [<`gtkwidget] obj = "ml_gtk_font_selection_dialog_get_ok_button" external get_font_selection: [>`gtkfontselectiondialog] obj -> [<`gtkwidget] obj = "ml_gtk_font_selection_dialog_get_font_selection" external get_font_name: [>`gtkfontselectiondialog] obj -> string = "ml_gtk_font_selection_dialog_get_font_name" external get_cancel_button: [>`gtkfontselectiondialog] obj -> [<`gtkwidget] obj = "ml_gtk_font_selection_dialog_get_cancel_button" end module FontSelectionClass = struct end module FontSelection = struct external set_preview_text: [>`gtkfontselection] obj -> string -> unit = "ml_gtk_font_selection_set_preview_text" external set_font_name: [>`gtkfontselection] obj -> string -> bool = "ml_gtk_font_selection_set_font_name" external get_size_list: [>`gtkfontselection] obj -> [<`gtkwidget] obj = "ml_gtk_font_selection_get_size_list" external get_size_entry: [>`gtkfontselection] obj -> [<`gtkwidget] obj = "ml_gtk_font_selection_get_size_entry" external get_size: [>`gtkfontselection] obj -> int = "ml_gtk_font_selection_get_size" external get_preview_text: [>`gtkfontselection] obj -> string = "ml_gtk_font_selection_get_preview_text" external get_preview_entry: [>`gtkfontselection] obj -> [<`gtkwidget] obj = "ml_gtk_font_selection_get_preview_entry" external get_font_name: [>`gtkfontselection] obj -> string = "ml_gtk_font_selection_get_font_name" external get_family_list: [>`gtkfontselection] obj -> [<`gtkwidget] obj = "ml_gtk_font_selection_get_family_list" external get_family: [>`gtkfontselection] obj -> [<`pangofontfamily] obj = "ml_gtk_font_selection_get_family" external get_face_list: [>`gtkfontselection] obj -> [<`gtkwidget] obj = "ml_gtk_font_selection_get_face_list" external get_face: [>`gtkfontselection] obj -> [<`pangofontface] obj = "ml_gtk_font_selection_get_face" end module FontButtonPrivate = struct end module FontButtonClass = struct end module FontButton = struct external set_use_size: [>`gtkfontbutton] obj -> bool -> unit = "ml_gtk_font_button_set_use_size" external set_use_font: [>`gtkfontbutton] obj -> bool -> unit = "ml_gtk_font_button_set_use_font" external set_title: [>`gtkfontbutton] obj -> string -> unit = "ml_gtk_font_button_set_title" external set_show_style: [>`gtkfontbutton] obj -> bool -> unit = "ml_gtk_font_button_set_show_style" external set_show_size: [>`gtkfontbutton] obj -> bool -> unit = "ml_gtk_font_button_set_show_size" external set_font_name: [>`gtkfontbutton] obj -> string -> bool = "ml_gtk_font_button_set_font_name" external get_use_size: [>`gtkfontbutton] obj -> bool = "ml_gtk_font_button_get_use_size" external get_use_font: [>`gtkfontbutton] obj -> bool = "ml_gtk_font_button_get_use_font" external get_title: [>`gtkfontbutton] obj -> string = "ml_gtk_font_button_get_title" external get_show_style: [>`gtkfontbutton] obj -> bool = "ml_gtk_font_button_get_show_style" external get_show_size: [>`gtkfontbutton] obj -> bool = "ml_gtk_font_button_get_show_size" external get_font_name: [>`gtkfontbutton] obj -> string = "ml_gtk_font_button_get_font_name" end module FixedPrivate = struct end module FixedClass = struct end module FixedChild = struct end module Fixed = struct external put: [>`gtkfixed] obj -> [>`gtkwidget] obj -> int -> int -> unit = "ml_gtk_fixed_put" external move: [>`gtkfixed] obj -> [>`gtkwidget] obj -> int -> int -> unit = "ml_gtk_fixed_move" end module FileFilterInfo = struct end module FileFilter = struct external set_name: [>`gtkfilefilter] obj -> string option -> unit = "ml_gtk_file_filter_set_name" external get_name: [>`gtkfilefilter] obj -> string = "ml_gtk_file_filter_get_name" external filter: [>`gtkfilefilter] obj -> [>`gtkfilefilterinfo] obj -> bool = "ml_gtk_file_filter_filter" external add_pixbuf_formats: [>`gtkfilefilter] obj -> unit = "ml_gtk_file_filter_add_pixbuf_formats" external add_pattern: [>`gtkfilefilter] obj -> string -> unit = "ml_gtk_file_filter_add_pattern" external add_mime_type: [>`gtkfilefilter] obj -> string -> unit = "ml_gtk_file_filter_add_mime_type" end module FileChooserWidgetPrivate = struct end module FileChooserWidgetClass = struct end module FileChooserWidget = struct end module FileChooserDialogPrivate = struct end module FileChooserDialogClass = struct end module FileChooserDialog = struct end module FileChooserButtonPrivate = struct end module FileChooserButtonClass = struct end module FileChooserButton = struct external set_width_chars: [>`gtkfilechooserbutton] obj -> int -> unit = "ml_gtk_file_chooser_button_set_width_chars" external set_title: [>`gtkfilechooserbutton] obj -> string -> unit = "ml_gtk_file_chooser_button_set_title" external set_focus_on_click: [>`gtkfilechooserbutton] obj -> bool -> unit = "ml_gtk_file_chooser_button_set_focus_on_click" external get_width_chars: [>`gtkfilechooserbutton] obj -> int = "ml_gtk_file_chooser_button_get_width_chars" external get_title: [>`gtkfilechooserbutton] obj -> string = "ml_gtk_file_chooser_button_get_title" external get_focus_on_click: [>`gtkfilechooserbutton] obj -> bool = "ml_gtk_file_chooser_button_get_focus_on_click" end module ExpanderPrivate = struct end module ExpanderClass = struct end module Expander = struct external set_use_underline: [>`gtkexpander] obj -> bool -> unit = "ml_gtk_expander_set_use_underline" external set_use_markup: [>`gtkexpander] obj -> bool -> unit = "ml_gtk_expander_set_use_markup" external set_spacing: [>`gtkexpander] obj -> int -> unit = "ml_gtk_expander_set_spacing" external set_label_widget: [>`gtkexpander] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_expander_set_label_widget" external set_label_fill: [>`gtkexpander] obj -> bool -> unit = "ml_gtk_expander_set_label_fill" external set_label: [>`gtkexpander] obj -> string option -> unit = "ml_gtk_expander_set_label" external set_expanded: [>`gtkexpander] obj -> bool -> unit = "ml_gtk_expander_set_expanded" external get_use_underline: [>`gtkexpander] obj -> bool = "ml_gtk_expander_get_use_underline" external get_use_markup: [>`gtkexpander] obj -> bool = "ml_gtk_expander_get_use_markup" external get_spacing: [>`gtkexpander] obj -> int = "ml_gtk_expander_get_spacing" external get_label_widget: [>`gtkexpander] obj -> [<`gtkwidget] obj = "ml_gtk_expander_get_label_widget" external get_label_fill: [>`gtkexpander] obj -> bool = "ml_gtk_expander_get_label_fill" external get_label: [>`gtkexpander] obj -> string = "ml_gtk_expander_get_label" external get_expanded: [>`gtkexpander] obj -> bool = "ml_gtk_expander_get_expanded" end module EventBoxPrivate = struct end module EventBoxClass = struct end module EventBox = struct external set_visible_window: [>`gtkeventbox] obj -> bool -> unit = "ml_gtk_event_box_set_visible_window" external set_above_child: [>`gtkeventbox] obj -> bool -> unit = "ml_gtk_event_box_set_above_child" external get_visible_window: [>`gtkeventbox] obj -> bool = "ml_gtk_event_box_get_visible_window" external get_above_child: [>`gtkeventbox] obj -> bool = "ml_gtk_event_box_get_above_child" end module EntryPrivate = struct end module EntryCompletionPrivate = struct end module EntryCompletionClass = struct end module EntryCompletion = struct external set_text_column: [>`gtkentrycompletion] obj -> int -> unit = "ml_gtk_entry_completion_set_text_column" external set_popup_single_match: [>`gtkentrycompletion] obj -> bool -> unit = "ml_gtk_entry_completion_set_popup_single_match" external set_popup_set_width: [>`gtkentrycompletion] obj -> bool -> unit = "ml_gtk_entry_completion_set_popup_set_width" external set_popup_completion: [>`gtkentrycompletion] obj -> bool -> unit = "ml_gtk_entry_completion_set_popup_completion" external set_minimum_key_length: [>`gtkentrycompletion] obj -> int -> unit = "ml_gtk_entry_completion_set_minimum_key_length" external set_inline_selection: [>`gtkentrycompletion] obj -> bool -> unit = "ml_gtk_entry_completion_set_inline_selection" external set_inline_completion: [>`gtkentrycompletion] obj -> bool -> unit = "ml_gtk_entry_completion_set_inline_completion" external insert_prefix: [>`gtkentrycompletion] obj -> unit = "ml_gtk_entry_completion_insert_prefix" external insert_action_text: [>`gtkentrycompletion] obj -> int -> string -> unit = "ml_gtk_entry_completion_insert_action_text" external insert_action_markup: [>`gtkentrycompletion] obj -> int -> string -> unit = "ml_gtk_entry_completion_insert_action_markup" external get_text_column: [>`gtkentrycompletion] obj -> int = "ml_gtk_entry_completion_get_text_column" external get_popup_single_match: [>`gtkentrycompletion] obj -> bool = "ml_gtk_entry_completion_get_popup_single_match" external get_popup_set_width: [>`gtkentrycompletion] obj -> bool = "ml_gtk_entry_completion_get_popup_set_width" external get_popup_completion: [>`gtkentrycompletion] obj -> bool = "ml_gtk_entry_completion_get_popup_completion" external get_minimum_key_length: [>`gtkentrycompletion] obj -> int = "ml_gtk_entry_completion_get_minimum_key_length" external get_inline_selection: [>`gtkentrycompletion] obj -> bool = "ml_gtk_entry_completion_get_inline_selection" external get_inline_completion: [>`gtkentrycompletion] obj -> bool = "ml_gtk_entry_completion_get_inline_completion" external get_entry: [>`gtkentrycompletion] obj -> [<`gtkwidget] obj = "ml_gtk_entry_completion_get_entry" external get_completion_prefix: [>`gtkentrycompletion] obj -> string = "ml_gtk_entry_completion_get_completion_prefix" external delete_action: [>`gtkentrycompletion] obj -> int -> unit = "ml_gtk_entry_completion_delete_action" external complete: [>`gtkentrycompletion] obj -> unit = "ml_gtk_entry_completion_complete" end module EntryClass = struct end module EntryBufferPrivate = struct end module EntryBufferClass = struct end module EntryBuffer = struct external set_text: [>`gtkentrybuffer] obj -> string -> int -> unit = "ml_gtk_entry_buffer_set_text" external set_max_length: [>`gtkentrybuffer] obj -> int -> unit = "ml_gtk_entry_buffer_set_max_length" external insert_text: [>`gtkentrybuffer] obj -> int -> string -> int -> int = "ml_gtk_entry_buffer_insert_text" external get_text: [>`gtkentrybuffer] obj -> string = "ml_gtk_entry_buffer_get_text" external get_max_length: [>`gtkentrybuffer] obj -> int = "ml_gtk_entry_buffer_get_max_length" external get_length: [>`gtkentrybuffer] obj -> int = "ml_gtk_entry_buffer_get_length" external get_bytes: [>`gtkentrybuffer] obj -> int = "ml_gtk_entry_buffer_get_bytes" external emit_inserted_text: [>`gtkentrybuffer] obj -> int -> string -> int -> unit = "ml_gtk_entry_buffer_emit_inserted_text" external emit_deleted_text: [>`gtkentrybuffer] obj -> int -> int -> unit = "ml_gtk_entry_buffer_emit_deleted_text" external delete_text: [>`gtkentrybuffer] obj -> int -> int -> int = "ml_gtk_entry_buffer_delete_text" end module Entry = struct external unset_invisible_char: [>`gtkentry] obj -> unit = "ml_gtk_entry_unset_invisible_char" external text_index_to_layout_index: [>`gtkentry] obj -> int -> int = "ml_gtk_entry_text_index_to_layout_index" external set_width_chars: [>`gtkentry] obj -> int -> unit = "ml_gtk_entry_set_width_chars" external set_visibility: [>`gtkentry] obj -> bool -> unit = "ml_gtk_entry_set_visibility" external set_text: [>`gtkentry] obj -> string -> unit = "ml_gtk_entry_set_text" external set_progress_pulse_step: [>`gtkentry] obj -> float -> unit = "ml_gtk_entry_set_progress_pulse_step" external set_progress_fraction: [>`gtkentry] obj -> float -> unit = "ml_gtk_entry_set_progress_fraction" external set_overwrite_mode: [>`gtkentry] obj -> bool -> unit = "ml_gtk_entry_set_overwrite_mode" external set_max_length: [>`gtkentry] obj -> int -> unit = "ml_gtk_entry_set_max_length" external set_invisible_char: [>`gtkentry] obj -> int32 -> unit = "ml_gtk_entry_set_invisible_char" external set_inner_border: [>`gtkentry] obj -> [>`gtkborder] obj option -> unit = "ml_gtk_entry_set_inner_border" external set_has_frame: [>`gtkentry] obj -> bool -> unit = "ml_gtk_entry_set_has_frame" external set_cursor_hadjustment: [>`gtkentry] obj -> [>`gtkadjustment] obj -> unit = "ml_gtk_entry_set_cursor_hadjustment" external set_completion: [>`gtkentry] obj -> [>`gtkentrycompletion] obj option -> unit = "ml_gtk_entry_set_completion" external set_buffer: [>`gtkentry] obj -> [>`gtkentrybuffer] obj -> unit = "ml_gtk_entry_set_buffer" external set_activates_default: [>`gtkentry] obj -> bool -> unit = "ml_gtk_entry_set_activates_default" external reset_im_context: [>`gtkentry] obj -> unit = "ml_gtk_entry_reset_im_context" external progress_pulse: [>`gtkentry] obj -> unit = "ml_gtk_entry_progress_pulse" external layout_index_to_text_index: [>`gtkentry] obj -> int -> int = "ml_gtk_entry_layout_index_to_text_index" external im_context_filter_keypress: [>`gtkentry] obj -> [>`gdkeventkey] obj -> bool = "ml_gtk_entry_im_context_filter_keypress" external get_width_chars: [>`gtkentry] obj -> int = "ml_gtk_entry_get_width_chars" external get_visibility: [>`gtkentry] obj -> bool = "ml_gtk_entry_get_visibility" external get_text_length: [>`gtkentry] obj -> int = "ml_gtk_entry_get_text_length" external get_text: [>`gtkentry] obj -> string = "ml_gtk_entry_get_text" external get_progress_pulse_step: [>`gtkentry] obj -> float = "ml_gtk_entry_get_progress_pulse_step" external get_progress_fraction: [>`gtkentry] obj -> float = "ml_gtk_entry_get_progress_fraction" external get_overwrite_mode: [>`gtkentry] obj -> bool = "ml_gtk_entry_get_overwrite_mode" external get_max_length: [>`gtkentry] obj -> int = "ml_gtk_entry_get_max_length" external get_layout: [>`gtkentry] obj -> [<`pangolayout] obj = "ml_gtk_entry_get_layout" external get_invisible_char: [>`gtkentry] obj -> int32 = "ml_gtk_entry_get_invisible_char" external get_inner_border: [>`gtkentry] obj -> [<`gtkborder] obj = "ml_gtk_entry_get_inner_border" external get_icon_at_pos: [>`gtkentry] obj -> int -> int -> int = "ml_gtk_entry_get_icon_at_pos" external get_has_frame: [>`gtkentry] obj -> bool = "ml_gtk_entry_get_has_frame" external get_cursor_hadjustment: [>`gtkentry] obj -> [<`gtkadjustment] obj = "ml_gtk_entry_get_cursor_hadjustment" external get_current_icon_drag_source: [>`gtkentry] obj -> int = "ml_gtk_entry_get_current_icon_drag_source" external get_completion: [>`gtkentry] obj -> [<`gtkentrycompletion] obj = "ml_gtk_entry_get_completion" external get_buffer: [>`gtkentry] obj -> [<`gtkentrybuffer] obj = "ml_gtk_entry_get_buffer" external get_activates_default: [>`gtkentry] obj -> bool = "ml_gtk_entry_get_activates_default" end module EditableInterface = struct end module DrawingAreaClass = struct end module DrawingArea = struct end module DialogPrivate = struct end module DialogClass = struct end module Dialog = struct external set_response_sensitive: [>`gtkdialog] obj -> int -> bool -> unit = "ml_gtk_dialog_set_response_sensitive" external set_default_response: [>`gtkdialog] obj -> int -> unit = "ml_gtk_dialog_set_default_response" external run: [>`gtkdialog] obj -> int = "ml_gtk_dialog_run" external response: [>`gtkdialog] obj -> int -> unit = "ml_gtk_dialog_response" external get_widget_for_response: [>`gtkdialog] obj -> int -> [<`gtkwidget] obj = "ml_gtk_dialog_get_widget_for_response" external get_response_for_widget: [>`gtkdialog] obj -> [>`gtkwidget] obj -> int = "ml_gtk_dialog_get_response_for_widget" external get_content_area: [>`gtkdialog] obj -> [<`gtkwidget] obj = "ml_gtk_dialog_get_content_area" external get_action_area: [>`gtkdialog] obj -> [<`gtkwidget] obj = "ml_gtk_dialog_get_action_area" external add_button: [>`gtkdialog] obj -> string -> int -> [<`gtkwidget] obj = "ml_gtk_dialog_add_button" external add_action_widget: [>`gtkdialog] obj -> [>`gtkwidget] obj -> int -> unit = "ml_gtk_dialog_add_action_widget" end module CssProviderClass = struct end module CssProvider = struct external get_named: string -> string option -> [<`gtkcssprovider] obj = "ml_gtk_css_provider_get_named" external get_default: unit -> [<`gtkcssprovider] obj = "ml_gtk_css_provider_get_default" end module ContainerPrivate = struct end module ContainerClass = struct external install_child_property: [>`gtkcontainerclass] obj -> int -> [>`gparamspec] obj -> unit = "ml_gtk_container_class_install_child_property" external handle_border_width: [>`gtkcontainerclass] obj -> unit = "ml_gtk_container_class_handle_border_width" external find_child_property: [>`gtkcontainerclass] obj -> string -> [<`gparamspec] obj = "ml_gtk_container_class_find_child_property" end module Container = struct external unset_focus_chain: [>`gtkcontainer] obj -> unit = "ml_gtk_container_unset_focus_chain" external set_reallocate_redraws: [>`gtkcontainer] obj -> bool -> unit = "ml_gtk_container_set_reallocate_redraws" external set_focus_vadjustment: [>`gtkcontainer] obj -> [>`gtkadjustment] obj -> unit = "ml_gtk_container_set_focus_vadjustment" external set_focus_hadjustment: [>`gtkcontainer] obj -> [>`gtkadjustment] obj -> unit = "ml_gtk_container_set_focus_hadjustment" external set_focus_child: [>`gtkcontainer] obj -> [>`gtkwidget] obj option -> unit = "ml_gtk_container_set_focus_child" external set_focus_chain: [>`gtkcontainer] obj -> [>`glist] obj -> unit = "ml_gtk_container_set_focus_chain" external set_border_width: [>`gtkcontainer] obj -> int -> unit = "ml_gtk_container_set_border_width" external resize_children: [>`gtkcontainer] obj -> unit = "ml_gtk_container_resize_children" external remove: [>`gtkcontainer] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_container_remove" external propagate_draw: [>`gtkcontainer] obj -> [>`gtkwidget] obj -> [>`cairo_t] obj -> unit = "ml_gtk_container_propagate_draw" external get_path_for_child: [>`gtkcontainer] obj -> [>`gtkwidget] obj -> [<`gtkwidgetpath] obj = "ml_gtk_container_get_path_for_child" external get_focus_vadjustment: [>`gtkcontainer] obj -> [<`gtkadjustment] obj = "ml_gtk_container_get_focus_vadjustment" external get_focus_hadjustment: [>`gtkcontainer] obj -> [<`gtkadjustment] obj = "ml_gtk_container_get_focus_hadjustment" external get_focus_child: [>`gtkcontainer] obj -> [<`gtkwidget] obj = "ml_gtk_container_get_focus_child" external get_children: [>`gtkcontainer] obj -> [<`glist] obj = "ml_gtk_container_get_children" external get_border_width: [>`gtkcontainer] obj -> int = "ml_gtk_container_get_border_width" external child_type: [>`gtkcontainer] obj -> int = "ml_gtk_container_child_type" external child_set_property: [>`gtkcontainer] obj -> [>`gtkwidget] obj -> string -> [>`gvalue] obj -> unit = "ml_gtk_container_child_set_property" external child_get_property: [>`gtkcontainer] obj -> [>`gtkwidget] obj -> string -> [>`gvalue] obj -> unit = "ml_gtk_container_child_get_property" external check_resize: [>`gtkcontainer] obj -> unit = "ml_gtk_container_check_resize" external add: [>`gtkcontainer] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_container_add" end module ComboBoxTextPrivate = struct end module ComboBoxTextClass = struct end module ComboBoxText = struct external remove_all: [>`gtkcomboboxtext] obj -> unit = "ml_gtk_combo_box_text_remove_all" external remove: [>`gtkcomboboxtext] obj -> int -> unit = "ml_gtk_combo_box_text_remove" external prepend_text: [>`gtkcomboboxtext] obj -> string -> unit = "ml_gtk_combo_box_text_prepend_text" external prepend: [>`gtkcomboboxtext] obj -> string option -> string -> unit = "ml_gtk_combo_box_text_prepend" external insert_text: [>`gtkcomboboxtext] obj -> int -> string -> unit = "ml_gtk_combo_box_text_insert_text" external insert: [>`gtkcomboboxtext] obj -> int -> string option -> string -> unit = "ml_gtk_combo_box_text_insert" external get_active_text: [>`gtkcomboboxtext] obj -> string = "ml_gtk_combo_box_text_get_active_text" external append_text: [>`gtkcomboboxtext] obj -> string -> unit = "ml_gtk_combo_box_text_append_text" external append: [>`gtkcomboboxtext] obj -> string option -> string -> unit = "ml_gtk_combo_box_text_append" end module ComboBoxPrivate = struct end module ComboBoxClass = struct end module ComboBox = struct external set_wrap_width: [>`gtkcombobox] obj -> int -> unit = "ml_gtk_combo_box_set_wrap_width" external set_title: [>`gtkcombobox] obj -> string -> unit = "ml_gtk_combo_box_set_title" external set_row_span_column: [>`gtkcombobox] obj -> int -> unit = "ml_gtk_combo_box_set_row_span_column" external set_popup_fixed_width: [>`gtkcombobox] obj -> bool -> unit = "ml_gtk_combo_box_set_popup_fixed_width" external set_id_column: [>`gtkcombobox] obj -> int -> unit = "ml_gtk_combo_box_set_id_column" external set_focus_on_click: [>`gtkcombobox] obj -> bool -> unit = "ml_gtk_combo_box_set_focus_on_click" external set_entry_text_column: [>`gtkcombobox] obj -> int -> unit = "ml_gtk_combo_box_set_entry_text_column" external set_column_span_column: [>`gtkcombobox] obj -> int -> unit = "ml_gtk_combo_box_set_column_span_column" external set_add_tearoffs: [>`gtkcombobox] obj -> bool -> unit = "ml_gtk_combo_box_set_add_tearoffs" external set_active_iter: [>`gtkcombobox] obj -> [>`gtktreeiter] obj option -> unit = "ml_gtk_combo_box_set_active_iter" external set_active_id: [>`gtkcombobox] obj -> string -> unit = "ml_gtk_combo_box_set_active_id" external set_active: [>`gtkcombobox] obj -> int -> unit = "ml_gtk_combo_box_set_active" external popup_for_device: [>`gtkcombobox] obj -> [>`gdkdevice] obj -> unit = "ml_gtk_combo_box_popup_for_device" external popup: [>`gtkcombobox] obj -> unit = "ml_gtk_combo_box_popup" external popdown: [>`gtkcombobox] obj -> unit = "ml_gtk_combo_box_popdown" external get_wrap_width: [>`gtkcombobox] obj -> int = "ml_gtk_combo_box_get_wrap_width" external get_title: [>`gtkcombobox] obj -> string = "ml_gtk_combo_box_get_title" external get_row_span_column: [>`gtkcombobox] obj -> int = "ml_gtk_combo_box_get_row_span_column" external get_popup_fixed_width: [>`gtkcombobox] obj -> bool = "ml_gtk_combo_box_get_popup_fixed_width" external get_popup_accessible: [>`gtkcombobox] obj -> [<`atkobject] obj = "ml_gtk_combo_box_get_popup_accessible" external get_id_column: [>`gtkcombobox] obj -> int = "ml_gtk_combo_box_get_id_column" external get_has_entry: [>`gtkcombobox] obj -> bool = "ml_gtk_combo_box_get_has_entry" external get_focus_on_click: [>`gtkcombobox] obj -> bool = "ml_gtk_combo_box_get_focus_on_click" external get_entry_text_column: [>`gtkcombobox] obj -> int = "ml_gtk_combo_box_get_entry_text_column" external get_column_span_column: [>`gtkcombobox] obj -> int = "ml_gtk_combo_box_get_column_span_column" external get_add_tearoffs: [>`gtkcombobox] obj -> bool = "ml_gtk_combo_box_get_add_tearoffs" external get_active_id: [>`gtkcombobox] obj -> string = "ml_gtk_combo_box_get_active_id" external get_active: [>`gtkcombobox] obj -> int = "ml_gtk_combo_box_get_active" end module ColorSelectionPrivate = struct end module ColorSelectionDialogPrivate = struct end module ColorSelectionDialogClass = struct end module ColorSelectionDialog = struct external get_color_selection: [>`gtkcolorselectiondialog] obj -> [<`gtkwidget] obj = "ml_gtk_color_selection_dialog_get_color_selection" end module ColorSelectionClass = struct end module ColorSelection = struct external set_previous_rgba: [>`gtkcolorselection] obj -> [>`gdkrgba] obj -> unit = "ml_gtk_color_selection_set_previous_rgba" external set_previous_color: [>`gtkcolorselection] obj -> [>`gdkcolor] obj -> unit = "ml_gtk_color_selection_set_previous_color" external set_previous_alpha: [>`gtkcolorselection] obj -> int -> unit = "ml_gtk_color_selection_set_previous_alpha" external set_has_palette: [>`gtkcolorselection] obj -> bool -> unit = "ml_gtk_color_selection_set_has_palette" external set_has_opacity_control: [>`gtkcolorselection] obj -> bool -> unit = "ml_gtk_color_selection_set_has_opacity_control" external set_current_rgba: [>`gtkcolorselection] obj -> [>`gdkrgba] obj -> unit = "ml_gtk_color_selection_set_current_rgba" external set_current_color: [>`gtkcolorselection] obj -> [>`gdkcolor] obj -> unit = "ml_gtk_color_selection_set_current_color" external set_current_alpha: [>`gtkcolorselection] obj -> int -> unit = "ml_gtk_color_selection_set_current_alpha" external is_adjusting: [>`gtkcolorselection] obj -> bool = "ml_gtk_color_selection_is_adjusting" external get_previous_alpha: [>`gtkcolorselection] obj -> int = "ml_gtk_color_selection_get_previous_alpha" external get_has_palette: [>`gtkcolorselection] obj -> bool = "ml_gtk_color_selection_get_has_palette" external get_has_opacity_control: [>`gtkcolorselection] obj -> bool = "ml_gtk_color_selection_get_has_opacity_control" external get_current_alpha: [>`gtkcolorselection] obj -> int = "ml_gtk_color_selection_get_current_alpha" end module ColorButtonPrivate = struct end module ColorButtonClass = struct end module ColorButton = struct external set_use_alpha: [>`gtkcolorbutton] obj -> bool -> unit = "ml_gtk_color_button_set_use_alpha" external set_title: [>`gtkcolorbutton] obj -> string -> unit = "ml_gtk_color_button_set_title" external set_rgba: [>`gtkcolorbutton] obj -> [>`gdkrgba] obj -> unit = "ml_gtk_color_button_set_rgba" external set_color: [>`gtkcolorbutton] obj -> [>`gdkcolor] obj -> unit = "ml_gtk_color_button_set_color" external set_alpha: [>`gtkcolorbutton] obj -> int -> unit = "ml_gtk_color_button_set_alpha" external get_use_alpha: [>`gtkcolorbutton] obj -> bool = "ml_gtk_color_button_get_use_alpha" external get_title: [>`gtkcolorbutton] obj -> string = "ml_gtk_color_button_get_title" external get_alpha: [>`gtkcolorbutton] obj -> int = "ml_gtk_color_button_get_alpha" end module Clipboard = struct external wait_is_uris_available: [>`gtkclipboard] obj -> bool = "ml_gtk_clipboard_wait_is_uris_available" external wait_is_text_available: [>`gtkclipboard] obj -> bool = "ml_gtk_clipboard_wait_is_text_available" external wait_is_rich_text_available: [>`gtkclipboard] obj -> [>`gtktextbuffer] obj -> bool = "ml_gtk_clipboard_wait_is_rich_text_available" external wait_is_image_available: [>`gtkclipboard] obj -> bool = "ml_gtk_clipboard_wait_is_image_available" external wait_for_text: [>`gtkclipboard] obj -> string = "ml_gtk_clipboard_wait_for_text" external wait_for_image: [>`gtkclipboard] obj -> [<`gdkpixbuf] obj = "ml_gtk_clipboard_wait_for_image" external store: [>`gtkclipboard] obj -> unit = "ml_gtk_clipboard_store" external set_text: [>`gtkclipboard] obj -> string -> int -> unit = "ml_gtk_clipboard_set_text" external set_image: [>`gtkclipboard] obj -> [>`gdkpixbuf] obj -> unit = "ml_gtk_clipboard_set_image" external get_display: [>`gtkclipboard] obj -> [<`gdkdisplay] obj = "ml_gtk_clipboard_get_display" external clear: [>`gtkclipboard] obj -> unit = "ml_gtk_clipboard_clear" end module CheckMenuItemPrivate = struct end module CheckMenuItemClass = struct end module CheckMenuItem = struct external toggled: [>`gtkcheckmenuitem] obj -> unit = "ml_gtk_check_menu_item_toggled" external set_inconsistent: [>`gtkcheckmenuitem] obj -> bool -> unit = "ml_gtk_check_menu_item_set_inconsistent" external set_draw_as_radio: [>`gtkcheckmenuitem] obj -> bool -> unit = "ml_gtk_check_menu_item_set_draw_as_radio" external set_active: [>`gtkcheckmenuitem] obj -> bool -> unit = "ml_gtk_check_menu_item_set_active" external get_inconsistent: [>`gtkcheckmenuitem] obj -> bool = "ml_gtk_check_menu_item_get_inconsistent" external get_draw_as_radio: [>`gtkcheckmenuitem] obj -> bool = "ml_gtk_check_menu_item_get_draw_as_radio" external get_active: [>`gtkcheckmenuitem] obj -> bool = "ml_gtk_check_menu_item_get_active" end module CheckButtonClass = struct end module CheckButton = struct end module CellViewPrivate = struct end module CellViewClass = struct end module CellView = struct external set_fit_model: [>`gtkcellview] obj -> bool -> unit = "ml_gtk_cell_view_set_fit_model" external set_draw_sensitive: [>`gtkcellview] obj -> bool -> unit = "ml_gtk_cell_view_set_draw_sensitive" external set_displayed_row: [>`gtkcellview] obj -> [>`gtktreepath] obj option -> unit = "ml_gtk_cell_view_set_displayed_row" external set_background_rgba: [>`gtkcellview] obj -> [>`gdkrgba] obj -> unit = "ml_gtk_cell_view_set_background_rgba" external set_background_color: [>`gtkcellview] obj -> [>`gdkcolor] obj -> unit = "ml_gtk_cell_view_set_background_color" external get_fit_model: [>`gtkcellview] obj -> bool = "ml_gtk_cell_view_get_fit_model" external get_draw_sensitive: [>`gtkcellview] obj -> bool = "ml_gtk_cell_view_get_draw_sensitive" external get_displayed_row: [>`gtkcellview] obj -> [<`gtktreepath] obj = "ml_gtk_cell_view_get_displayed_row" end module CellRendererTogglePrivate = struct end module CellRendererToggleClass = struct end module CellRendererToggle = struct external set_radio: [>`gtkcellrenderertoggle] obj -> bool -> unit = "ml_gtk_cell_renderer_toggle_set_radio" external set_active: [>`gtkcellrenderertoggle] obj -> bool -> unit = "ml_gtk_cell_renderer_toggle_set_active" external set_activatable: [>`gtkcellrenderertoggle] obj -> bool -> unit = "ml_gtk_cell_renderer_toggle_set_activatable" external get_radio: [>`gtkcellrenderertoggle] obj -> bool = "ml_gtk_cell_renderer_toggle_get_radio" external get_active: [>`gtkcellrenderertoggle] obj -> bool = "ml_gtk_cell_renderer_toggle_get_active" external get_activatable: [>`gtkcellrenderertoggle] obj -> bool = "ml_gtk_cell_renderer_toggle_get_activatable" end module CellRendererTextPrivate = struct end module CellRendererTextClass = struct end module CellRendererText = struct external set_fixed_height_from_font: [>`gtkcellrenderertext] obj -> int -> unit = "ml_gtk_cell_renderer_text_set_fixed_height_from_font" end module CellRendererSpinnerPrivate = struct end module CellRendererSpinnerClass = struct end module CellRendererSpinner = struct end module CellRendererSpinPrivate = struct end module CellRendererSpinClass = struct end module CellRendererSpin = struct end module CellRendererProgressPrivate = struct end module CellRendererProgressClass = struct end module CellRendererProgress = struct end module CellRendererPrivate = struct end module CellRendererPixbufPrivate = struct end module CellRendererPixbufClass = struct end module CellRendererPixbuf = struct end module CellRendererComboPrivate = struct end module CellRendererComboClass = struct end module CellRendererCombo = struct end module CellRendererClass = struct end module CellRendererAccelPrivate = struct end module CellRendererAccelClass = struct end module CellRendererAccel = struct end module CellRenderer = struct external stop_editing: [>`gtkcellrenderer] obj -> bool -> unit = "ml_gtk_cell_renderer_stop_editing" external set_visible: [>`gtkcellrenderer] obj -> bool -> unit = "ml_gtk_cell_renderer_set_visible" external set_sensitive: [>`gtkcellrenderer] obj -> bool -> unit = "ml_gtk_cell_renderer_set_sensitive" external set_padding: [>`gtkcellrenderer] obj -> int -> int -> unit = "ml_gtk_cell_renderer_set_padding" external set_fixed_size: [>`gtkcellrenderer] obj -> int -> int -> unit = "ml_gtk_cell_renderer_set_fixed_size" external is_activatable: [>`gtkcellrenderer] obj -> bool = "ml_gtk_cell_renderer_is_activatable" external get_visible: [>`gtkcellrenderer] obj -> bool = "ml_gtk_cell_renderer_get_visible" external get_sensitive: [>`gtkcellrenderer] obj -> bool = "ml_gtk_cell_renderer_get_sensitive" end module CellLayoutIface = struct end module CellEditableIface = struct end module CellAreaPrivate = struct end module CellAreaContextPrivate = struct end module CellAreaContextClass = struct end module CellAreaContext = struct external reset: [>`gtkcellareacontext] obj -> unit = "ml_gtk_cell_area_context_reset" external push_preferred_width: [>`gtkcellareacontext] obj -> int -> int -> unit = "ml_gtk_cell_area_context_push_preferred_width" external push_preferred_height: [>`gtkcellareacontext] obj -> int -> int -> unit = "ml_gtk_cell_area_context_push_preferred_height" external get_area: [>`gtkcellareacontext] obj -> [<`gtkcellarea] obj = "ml_gtk_cell_area_context_get_area" external allocate: [>`gtkcellareacontext] obj -> int -> int -> unit = "ml_gtk_cell_area_context_allocate" end module CellAreaClass = struct external install_cell_property: [>`gtkcellareaclass] obj -> int -> [>`gparamspec] obj -> unit = "ml_gtk_cell_area_class_install_cell_property" external find_cell_property: [>`gtkcellareaclass] obj -> string -> [<`gparamspec] obj = "ml_gtk_cell_area_class_find_cell_property" end module CellAreaBoxPrivate = struct end module CellAreaBoxClass = struct end module CellAreaBox = struct external set_spacing: [>`gtkcellareabox] obj -> int -> unit = "ml_gtk_cell_area_box_set_spacing" external pack_start: [>`gtkcellareabox] obj -> [>`gtkcellrenderer] obj -> bool -> bool -> bool -> unit = "ml_gtk_cell_area_box_pack_start" external pack_end: [>`gtkcellareabox] obj -> [>`gtkcellrenderer] obj -> bool -> bool -> bool -> unit = "ml_gtk_cell_area_box_pack_end" external get_spacing: [>`gtkcellareabox] obj -> int = "ml_gtk_cell_area_box_get_spacing" end module CellArea = struct external stop_editing: [>`gtkcellarea] obj -> bool -> unit = "ml_gtk_cell_area_stop_editing" external set_focus_cell: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> unit = "ml_gtk_cell_area_set_focus_cell" external remove_focus_sibling: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> [>`gtkcellrenderer] obj -> unit = "ml_gtk_cell_area_remove_focus_sibling" external remove: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> unit = "ml_gtk_cell_area_remove" external is_focus_sibling: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> [>`gtkcellrenderer] obj -> bool = "ml_gtk_cell_area_is_focus_sibling" external is_activatable: [>`gtkcellarea] obj -> bool = "ml_gtk_cell_area_is_activatable" external has_renderer: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> bool = "ml_gtk_cell_area_has_renderer" external get_focus_siblings: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> [<`glist] obj = "ml_gtk_cell_area_get_focus_siblings" external get_focus_from_sibling: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> [<`gtkcellrenderer] obj = "ml_gtk_cell_area_get_focus_from_sibling" external get_focus_cell: [>`gtkcellarea] obj -> [<`gtkcellrenderer] obj = "ml_gtk_cell_area_get_focus_cell" external get_edited_cell: [>`gtkcellarea] obj -> [<`gtkcellrenderer] obj = "ml_gtk_cell_area_get_edited_cell" external get_current_path_string: [>`gtkcellarea] obj -> string = "ml_gtk_cell_area_get_current_path_string" external create_context: [>`gtkcellarea] obj -> [<`gtkcellareacontext] obj = "ml_gtk_cell_area_create_context" external copy_context: [>`gtkcellarea] obj -> [>`gtkcellareacontext] obj -> [<`gtkcellareacontext] obj = "ml_gtk_cell_area_copy_context" external cell_set_property: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> string -> [>`gvalue] obj -> unit = "ml_gtk_cell_area_cell_set_property" external cell_get_property: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> string -> [>`gvalue] obj -> unit = "ml_gtk_cell_area_cell_get_property" external attribute_disconnect: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> string -> unit = "ml_gtk_cell_area_attribute_disconnect" external attribute_connect: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> string -> int -> unit = "ml_gtk_cell_area_attribute_connect" external add_focus_sibling: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> [>`gtkcellrenderer] obj -> unit = "ml_gtk_cell_area_add_focus_sibling" external add: [>`gtkcellarea] obj -> [>`gtkcellrenderer] obj -> unit = "ml_gtk_cell_area_add" end module CalendarPrivate = struct end module CalendarClass = struct end module Calendar = struct external unmark_day: [>`gtkcalendar] obj -> int -> unit = "ml_gtk_calendar_unmark_day" external set_detail_width_chars: [>`gtkcalendar] obj -> int -> unit = "ml_gtk_calendar_set_detail_width_chars" external set_detail_height_rows: [>`gtkcalendar] obj -> int -> unit = "ml_gtk_calendar_set_detail_height_rows" external select_month: [>`gtkcalendar] obj -> int -> int -> unit = "ml_gtk_calendar_select_month" external select_day: [>`gtkcalendar] obj -> int -> unit = "ml_gtk_calendar_select_day" external mark_day: [>`gtkcalendar] obj -> int -> unit = "ml_gtk_calendar_mark_day" external get_detail_width_chars: [>`gtkcalendar] obj -> int = "ml_gtk_calendar_get_detail_width_chars" external get_detail_height_rows: [>`gtkcalendar] obj -> int = "ml_gtk_calendar_get_detail_height_rows" external get_day_is_marked: [>`gtkcalendar] obj -> int -> bool = "ml_gtk_calendar_get_day_is_marked" external clear_marks: [>`gtkcalendar] obj -> unit = "ml_gtk_calendar_clear_marks" end module ButtonPrivate = struct end module ButtonClass = struct end module ButtonBoxPrivate = struct end module ButtonBoxClass = struct end module ButtonBox = struct external set_child_secondary: [>`gtkbuttonbox] obj -> [>`gtkwidget] obj -> bool -> unit = "ml_gtk_button_box_set_child_secondary" external get_child_secondary: [>`gtkbuttonbox] obj -> [>`gtkwidget] obj -> bool = "ml_gtk_button_box_get_child_secondary" end module Button = struct external set_use_underline: [>`gtkbutton] obj -> bool -> unit = "ml_gtk_button_set_use_underline" external set_use_stock: [>`gtkbutton] obj -> bool -> unit = "ml_gtk_button_set_use_stock" external set_label: [>`gtkbutton] obj -> string -> unit = "ml_gtk_button_set_label" external set_image: [>`gtkbutton] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_button_set_image" external set_focus_on_click: [>`gtkbutton] obj -> bool -> unit = "ml_gtk_button_set_focus_on_click" external released: [>`gtkbutton] obj -> unit = "ml_gtk_button_released" external pressed: [>`gtkbutton] obj -> unit = "ml_gtk_button_pressed" external leave: [>`gtkbutton] obj -> unit = "ml_gtk_button_leave" external get_use_underline: [>`gtkbutton] obj -> bool = "ml_gtk_button_get_use_underline" external get_use_stock: [>`gtkbutton] obj -> bool = "ml_gtk_button_get_use_stock" external get_label: [>`gtkbutton] obj -> string = "ml_gtk_button_get_label" external get_image: [>`gtkbutton] obj -> [<`gtkwidget] obj = "ml_gtk_button_get_image" external get_focus_on_click: [>`gtkbutton] obj -> bool = "ml_gtk_button_get_focus_on_click" external get_event_window: [>`gtkbutton] obj -> [<`gdkwindow] obj = "ml_gtk_button_get_event_window" external enter: [>`gtkbutton] obj -> unit = "ml_gtk_button_enter" external clicked: [>`gtkbutton] obj -> unit = "ml_gtk_button_clicked" end module BuilderPrivate = struct end module BuilderClass = struct end module Builder = struct external set_translation_domain: [>`gtkbuilder] obj -> string option -> unit = "ml_gtk_builder_set_translation_domain" external get_type_from_name: [>`gtkbuilder] obj -> string -> int = "ml_gtk_builder_get_type_from_name" external get_translation_domain: [>`gtkbuilder] obj -> string = "ml_gtk_builder_get_translation_domain" external get_objects: [>`gtkbuilder] obj -> [<`gslist] obj = "ml_gtk_builder_get_objects" end module BuildableIface = struct end module BoxPrivate = struct end module BoxClass = struct end module Box = struct external set_spacing: [>`gtkbox] obj -> int -> unit = "ml_gtk_box_set_spacing" external set_homogeneous: [>`gtkbox] obj -> bool -> unit = "ml_gtk_box_set_homogeneous" external reorder_child: [>`gtkbox] obj -> [>`gtkwidget] obj -> int -> unit = "ml_gtk_box_reorder_child" external pack_start: [>`gtkbox] obj -> [>`gtkwidget] obj -> bool -> bool -> int -> unit = "ml_gtk_box_pack_start" external pack_end: [>`gtkbox] obj -> [>`gtkwidget] obj -> bool -> bool -> int -> unit = "ml_gtk_box_pack_end" external get_spacing: [>`gtkbox] obj -> int = "ml_gtk_box_get_spacing" external get_homogeneous: [>`gtkbox] obj -> bool = "ml_gtk_box_get_homogeneous" end module Border = struct external free: [>`gtkborder] obj -> unit = "ml_gtk_border_free" external copy: [>`gtkborder] obj -> [<`gtkborder] obj = "ml_gtk_border_copy" end module BindingSignal = struct end module BindingSet = struct end module BindingEntry = struct end module BindingArg = struct end module BinPrivate = struct end module BinClass = struct end module Bin = struct external get_child: [>`gtkbin] obj -> [<`gtkwidget] obj = "ml_gtk_bin_get_child" end module AssistantPrivate = struct end module AssistantClass = struct end module Assistant = struct external update_buttons_state: [>`gtkassistant] obj -> unit = "ml_gtk_assistant_update_buttons_state" external set_page_title: [>`gtkassistant] obj -> [>`gtkwidget] obj -> string -> unit = "ml_gtk_assistant_set_page_title" external set_page_side_image: [>`gtkassistant] obj -> [>`gtkwidget] obj -> [>`gdkpixbuf] obj option -> unit = "ml_gtk_assistant_set_page_side_image" external set_page_header_image: [>`gtkassistant] obj -> [>`gtkwidget] obj -> [>`gdkpixbuf] obj option -> unit = "ml_gtk_assistant_set_page_header_image" external set_page_complete: [>`gtkassistant] obj -> [>`gtkwidget] obj -> bool -> unit = "ml_gtk_assistant_set_page_complete" external set_current_page: [>`gtkassistant] obj -> int -> unit = "ml_gtk_assistant_set_current_page" external remove_action_widget: [>`gtkassistant] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_assistant_remove_action_widget" external previous_page: [>`gtkassistant] obj -> unit = "ml_gtk_assistant_previous_page" external prepend_page: [>`gtkassistant] obj -> [>`gtkwidget] obj -> int = "ml_gtk_assistant_prepend_page" external next_page: [>`gtkassistant] obj -> unit = "ml_gtk_assistant_next_page" external insert_page: [>`gtkassistant] obj -> [>`gtkwidget] obj -> int -> int = "ml_gtk_assistant_insert_page" external get_page_title: [>`gtkassistant] obj -> [>`gtkwidget] obj -> string = "ml_gtk_assistant_get_page_title" external get_page_side_image: [>`gtkassistant] obj -> [>`gtkwidget] obj -> [<`gdkpixbuf] obj = "ml_gtk_assistant_get_page_side_image" external get_page_header_image: [>`gtkassistant] obj -> [>`gtkwidget] obj -> [<`gdkpixbuf] obj = "ml_gtk_assistant_get_page_header_image" external get_page_complete: [>`gtkassistant] obj -> [>`gtkwidget] obj -> bool = "ml_gtk_assistant_get_page_complete" external get_nth_page: [>`gtkassistant] obj -> int -> [<`gtkwidget] obj = "ml_gtk_assistant_get_nth_page" external get_n_pages: [>`gtkassistant] obj -> int = "ml_gtk_assistant_get_n_pages" external get_current_page: [>`gtkassistant] obj -> int = "ml_gtk_assistant_get_current_page" external commit: [>`gtkassistant] obj -> unit = "ml_gtk_assistant_commit" external append_page: [>`gtkassistant] obj -> [>`gtkwidget] obj -> int = "ml_gtk_assistant_append_page" external add_action_widget: [>`gtkassistant] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_assistant_add_action_widget" end module AspectFramePrivate = struct end module AspectFrameClass = struct end module AspectFrame = struct end module ArrowPrivate = struct end module ArrowClass = struct end module Arrow = struct end module ApplicationPrivate = struct end module ApplicationClass = struct end module Application = struct external remove_window: [>`gtkapplication] obj -> [>`gtkwindow] obj -> unit = "ml_gtk_application_remove_window" external get_windows: [>`gtkapplication] obj -> [<`glist] obj = "ml_gtk_application_get_windows" external add_window: [>`gtkapplication] obj -> [>`gtkwindow] obj -> unit = "ml_gtk_application_add_window" end module AppChooserWidgetPrivate = struct end module AppChooserWidgetClass = struct end module AppChooserWidget = struct external set_show_recommended: [>`gtkappchooserwidget] obj -> bool -> unit = "ml_gtk_app_chooser_widget_set_show_recommended" external set_show_other: [>`gtkappchooserwidget] obj -> bool -> unit = "ml_gtk_app_chooser_widget_set_show_other" external set_show_fallback: [>`gtkappchooserwidget] obj -> bool -> unit = "ml_gtk_app_chooser_widget_set_show_fallback" external set_show_default: [>`gtkappchooserwidget] obj -> bool -> unit = "ml_gtk_app_chooser_widget_set_show_default" external set_show_all: [>`gtkappchooserwidget] obj -> bool -> unit = "ml_gtk_app_chooser_widget_set_show_all" external set_default_text: [>`gtkappchooserwidget] obj -> string -> unit = "ml_gtk_app_chooser_widget_set_default_text" external get_show_recommended: [>`gtkappchooserwidget] obj -> bool = "ml_gtk_app_chooser_widget_get_show_recommended" external get_show_other: [>`gtkappchooserwidget] obj -> bool = "ml_gtk_app_chooser_widget_get_show_other" external get_show_fallback: [>`gtkappchooserwidget] obj -> bool = "ml_gtk_app_chooser_widget_get_show_fallback" external get_show_default: [>`gtkappchooserwidget] obj -> bool = "ml_gtk_app_chooser_widget_get_show_default" external get_show_all: [>`gtkappchooserwidget] obj -> bool = "ml_gtk_app_chooser_widget_get_show_all" external get_default_text: [>`gtkappchooserwidget] obj -> string = "ml_gtk_app_chooser_widget_get_default_text" end module AppChooserDialogPrivate = struct end module AppChooserDialogClass = struct end module AppChooserDialog = struct external set_heading: [>`gtkappchooserdialog] obj -> string -> unit = "ml_gtk_app_chooser_dialog_set_heading" external get_widget: [>`gtkappchooserdialog] obj -> [<`gtkwidget] obj = "ml_gtk_app_chooser_dialog_get_widget" external get_heading: [>`gtkappchooserdialog] obj -> string = "ml_gtk_app_chooser_dialog_get_heading" end module AppChooserButtonPrivate = struct end module AppChooserButtonClass = struct end module AppChooserButton = struct external set_show_dialog_item: [>`gtkappchooserbutton] obj -> bool -> unit = "ml_gtk_app_chooser_button_set_show_dialog_item" external set_heading: [>`gtkappchooserbutton] obj -> string -> unit = "ml_gtk_app_chooser_button_set_heading" external set_active_custom_item: [>`gtkappchooserbutton] obj -> string -> unit = "ml_gtk_app_chooser_button_set_active_custom_item" external get_show_dialog_item: [>`gtkappchooserbutton] obj -> bool = "ml_gtk_app_chooser_button_get_show_dialog_item" external get_heading: [>`gtkappchooserbutton] obj -> string = "ml_gtk_app_chooser_button_get_heading" external append_separator: [>`gtkappchooserbutton] obj -> unit = "ml_gtk_app_chooser_button_append_separator" end module AlignmentPrivate = struct end module AlignmentClass = struct end module Alignment = struct external set_padding: [>`gtkalignment] obj -> int -> int -> int -> int -> unit = "ml_gtk_alignment_set_padding" end module AdjustmentPrivate = struct end module AdjustmentClass = struct end module Adjustment = struct external value_changed: [>`gtkadjustment] obj -> unit = "ml_gtk_adjustment_value_changed" external set_value: [>`gtkadjustment] obj -> float -> unit = "ml_gtk_adjustment_set_value" external set_upper: [>`gtkadjustment] obj -> float -> unit = "ml_gtk_adjustment_set_upper" external set_step_increment: [>`gtkadjustment] obj -> float -> unit = "ml_gtk_adjustment_set_step_increment" external set_page_size: [>`gtkadjustment] obj -> float -> unit = "ml_gtk_adjustment_set_page_size" external set_page_increment: [>`gtkadjustment] obj -> float -> unit = "ml_gtk_adjustment_set_page_increment" external set_lower: [>`gtkadjustment] obj -> float -> unit = "ml_gtk_adjustment_set_lower" external get_value: [>`gtkadjustment] obj -> float = "ml_gtk_adjustment_get_value" external get_upper: [>`gtkadjustment] obj -> float = "ml_gtk_adjustment_get_upper" external get_step_increment: [>`gtkadjustment] obj -> float = "ml_gtk_adjustment_get_step_increment" external get_page_size: [>`gtkadjustment] obj -> float = "ml_gtk_adjustment_get_page_size" external get_page_increment: [>`gtkadjustment] obj -> float = "ml_gtk_adjustment_get_page_increment" external get_lower: [>`gtkadjustment] obj -> float = "ml_gtk_adjustment_get_lower" external configure: [>`gtkadjustment] obj -> float -> float -> float -> float -> float -> float -> unit = "ml_gtk_adjustment_configure" external clamp_page: [>`gtkadjustment] obj -> float -> float -> unit = "ml_gtk_adjustment_clamp_page" external changed: [>`gtkadjustment] obj -> unit = "ml_gtk_adjustment_changed" end module ActivatableIface = struct end module ActionPrivate = struct end module ActionGroupPrivate = struct end module ActionGroupClass = struct end module ActionGroup = struct external translate_string: [>`gtkactiongroup] obj -> string -> string = "ml_gtk_action_group_translate_string" external set_visible: [>`gtkactiongroup] obj -> bool -> unit = "ml_gtk_action_group_set_visible" external set_translation_domain: [>`gtkactiongroup] obj -> string -> unit = "ml_gtk_action_group_set_translation_domain" external set_sensitive: [>`gtkactiongroup] obj -> bool -> unit = "ml_gtk_action_group_set_sensitive" external remove_action: [>`gtkactiongroup] obj -> [>`gtkaction] obj -> unit = "ml_gtk_action_group_remove_action" external list_actions: [>`gtkactiongroup] obj -> [<`glist] obj = "ml_gtk_action_group_list_actions" external get_visible: [>`gtkactiongroup] obj -> bool = "ml_gtk_action_group_get_visible" external get_sensitive: [>`gtkactiongroup] obj -> bool = "ml_gtk_action_group_get_sensitive" external get_name: [>`gtkactiongroup] obj -> string = "ml_gtk_action_group_get_name" external get_action: [>`gtkactiongroup] obj -> string -> [<`gtkaction] obj = "ml_gtk_action_group_get_action" external add_action_with_accel: [>`gtkactiongroup] obj -> [>`gtkaction] obj -> string option -> unit = "ml_gtk_action_group_add_action_with_accel" external add_action: [>`gtkactiongroup] obj -> [>`gtkaction] obj -> unit = "ml_gtk_action_group_add_action" end module ActionEntry = struct end module ActionClass = struct end module Action = struct external unblock_activate: [>`gtkaction] obj -> unit = "ml_gtk_action_unblock_activate" external set_visible_vertical: [>`gtkaction] obj -> bool -> unit = "ml_gtk_action_set_visible_vertical" external set_visible_horizontal: [>`gtkaction] obj -> bool -> unit = "ml_gtk_action_set_visible_horizontal" external set_visible: [>`gtkaction] obj -> bool -> unit = "ml_gtk_action_set_visible" external set_tooltip: [>`gtkaction] obj -> string -> unit = "ml_gtk_action_set_tooltip" external set_stock_id: [>`gtkaction] obj -> string -> unit = "ml_gtk_action_set_stock_id" external set_short_label: [>`gtkaction] obj -> string -> unit = "ml_gtk_action_set_short_label" external set_sensitive: [>`gtkaction] obj -> bool -> unit = "ml_gtk_action_set_sensitive" external set_label: [>`gtkaction] obj -> string -> unit = "ml_gtk_action_set_label" external set_is_important: [>`gtkaction] obj -> bool -> unit = "ml_gtk_action_set_is_important" external set_icon_name: [>`gtkaction] obj -> string -> unit = "ml_gtk_action_set_icon_name" external set_always_show_image: [>`gtkaction] obj -> bool -> unit = "ml_gtk_action_set_always_show_image" external set_accel_path: [>`gtkaction] obj -> string -> unit = "ml_gtk_action_set_accel_path" external set_accel_group: [>`gtkaction] obj -> [>`gtkaccelgroup] obj option -> unit = "ml_gtk_action_set_accel_group" external is_visible: [>`gtkaction] obj -> bool = "ml_gtk_action_is_visible" external is_sensitive: [>`gtkaction] obj -> bool = "ml_gtk_action_is_sensitive" external get_visible_vertical: [>`gtkaction] obj -> bool = "ml_gtk_action_get_visible_vertical" external get_visible_horizontal: [>`gtkaction] obj -> bool = "ml_gtk_action_get_visible_horizontal" external get_visible: [>`gtkaction] obj -> bool = "ml_gtk_action_get_visible" external get_tooltip: [>`gtkaction] obj -> string = "ml_gtk_action_get_tooltip" external get_stock_id: [>`gtkaction] obj -> string = "ml_gtk_action_get_stock_id" external get_short_label: [>`gtkaction] obj -> string = "ml_gtk_action_get_short_label" external get_sensitive: [>`gtkaction] obj -> bool = "ml_gtk_action_get_sensitive" external get_proxies: [>`gtkaction] obj -> [<`gslist] obj = "ml_gtk_action_get_proxies" external get_name: [>`gtkaction] obj -> string = "ml_gtk_action_get_name" external get_label: [>`gtkaction] obj -> string = "ml_gtk_action_get_label" external get_is_important: [>`gtkaction] obj -> bool = "ml_gtk_action_get_is_important" external get_icon_name: [>`gtkaction] obj -> string = "ml_gtk_action_get_icon_name" external get_always_show_image: [>`gtkaction] obj -> bool = "ml_gtk_action_get_always_show_image" external get_accel_path: [>`gtkaction] obj -> string = "ml_gtk_action_get_accel_path" external get_accel_closure: [>`gtkaction] obj -> [<`gclosure] obj = "ml_gtk_action_get_accel_closure" external disconnect_accelerator: [>`gtkaction] obj -> unit = "ml_gtk_action_disconnect_accelerator" external create_tool_item: [>`gtkaction] obj -> [<`gtkwidget] obj = "ml_gtk_action_create_tool_item" external create_menu_item: [>`gtkaction] obj -> [<`gtkwidget] obj = "ml_gtk_action_create_menu_item" external create_menu: [>`gtkaction] obj -> [<`gtkwidget] obj = "ml_gtk_action_create_menu" external connect_accelerator: [>`gtkaction] obj -> unit = "ml_gtk_action_connect_accelerator" external block_activate: [>`gtkaction] obj -> unit = "ml_gtk_action_block_activate" external activate: [>`gtkaction] obj -> unit = "ml_gtk_action_activate" end module AccessiblePrivate = struct end module AccessibleClass = struct end module Accessible = struct external set_widget: [>`gtkaccessible] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_accessible_set_widget" external get_widget: [>`gtkaccessible] obj -> [<`gtkwidget] obj = "ml_gtk_accessible_get_widget" external connect_widget_destroyed: [>`gtkaccessible] obj -> unit = "ml_gtk_accessible_connect_widget_destroyed" end module AccelMapClass = struct end module AccelMap = struct external unlock_path: string -> unit = "ml_gtk_accel_map_unlock_path" external save_fd: int -> unit = "ml_gtk_accel_map_save_fd" external lock_path: string -> unit = "ml_gtk_accel_map_lock_path" external load_scanner: [>`gscanner] obj -> unit = "ml_gtk_accel_map_load_scanner" external load_fd: int -> unit = "ml_gtk_accel_map_load_fd" external get: unit -> [<`gtkaccelmap] obj = "ml_gtk_accel_map_get" external add_filter: string -> unit = "ml_gtk_accel_map_add_filter" end module AccelLabelPrivate = struct end module AccelLabelClass = struct end module AccelLabel = struct external set_accel_widget: [>`gtkaccellabel] obj -> [>`gtkwidget] obj -> unit = "ml_gtk_accel_label_set_accel_widget" external set_accel_closure: [>`gtkaccellabel] obj -> [>`gclosure] obj -> unit = "ml_gtk_accel_label_set_accel_closure" external refetch: [>`gtkaccellabel] obj -> bool = "ml_gtk_accel_label_refetch" external get_accel_width: [>`gtkaccellabel] obj -> int = "ml_gtk_accel_label_get_accel_width" external get_accel_widget: [>`gtkaccellabel] obj -> [<`gtkwidget] obj = "ml_gtk_accel_label_get_accel_widget" end module AccelKey = struct end module AccelGroupPrivate = struct end module AccelGroupEntry = struct end module AccelGroupClass = struct end module AccelGroup = struct external unlock: [>`gtkaccelgroup] obj -> unit = "ml_gtk_accel_group_unlock" external lock: [>`gtkaccelgroup] obj -> unit = "ml_gtk_accel_group_lock" external get_is_locked: [>`gtkaccelgroup] obj -> bool = "ml_gtk_accel_group_get_is_locked" external disconnect: [>`gtkaccelgroup] obj -> [>`gclosure] obj option -> bool = "ml_gtk_accel_group_disconnect" external connect_by_path: [>`gtkaccelgroup] obj -> string -> [>`gclosure] obj -> unit = "ml_gtk_accel_group_connect_by_path" external from_accel_closure: [>`gclosure] obj -> [<`gtkaccelgroup] obj = "ml_gtk_accel_group_from_accel_closure" end module AboutDialogPrivate = struct end module AboutDialogClass = struct end module AboutDialog = struct external set_wrap_license: [>`gtkaboutdialog] obj -> bool -> unit = "ml_gtk_about_dialog_set_wrap_license" external set_website_label: [>`gtkaboutdialog] obj -> string -> unit = "ml_gtk_about_dialog_set_website_label" external set_website: [>`gtkaboutdialog] obj -> string option -> unit = "ml_gtk_about_dialog_set_website" external set_version: [>`gtkaboutdialog] obj -> string option -> unit = "ml_gtk_about_dialog_set_version" external set_translator_credits: [>`gtkaboutdialog] obj -> string option -> unit = "ml_gtk_about_dialog_set_translator_credits" external set_program_name: [>`gtkaboutdialog] obj -> string -> unit = "ml_gtk_about_dialog_set_program_name" external set_logo_icon_name: [>`gtkaboutdialog] obj -> string option -> unit = "ml_gtk_about_dialog_set_logo_icon_name" external set_logo: [>`gtkaboutdialog] obj -> [>`gdkpixbuf] obj option -> unit = "ml_gtk_about_dialog_set_logo" external set_license: [>`gtkaboutdialog] obj -> string option -> unit = "ml_gtk_about_dialog_set_license" external set_copyright: [>`gtkaboutdialog] obj -> string -> unit = "ml_gtk_about_dialog_set_copyright" external set_comments: [>`gtkaboutdialog] obj -> string option -> unit = "ml_gtk_about_dialog_set_comments" external get_wrap_license: [>`gtkaboutdialog] obj -> bool = "ml_gtk_about_dialog_get_wrap_license" external get_website_label: [>`gtkaboutdialog] obj -> string = "ml_gtk_about_dialog_get_website_label" external get_website: [>`gtkaboutdialog] obj -> string = "ml_gtk_about_dialog_get_website" external get_version: [>`gtkaboutdialog] obj -> string = "ml_gtk_about_dialog_get_version" external get_translator_credits: [>`gtkaboutdialog] obj -> string = "ml_gtk_about_dialog_get_translator_credits" external get_program_name: [>`gtkaboutdialog] obj -> string = "ml_gtk_about_dialog_get_program_name" external get_logo_icon_name: [>`gtkaboutdialog] obj -> string = "ml_gtk_about_dialog_get_logo_icon_name" external get_logo: [>`gtkaboutdialog] obj -> [<`gdkpixbuf] obj = "ml_gtk_about_dialog_get_logo" external get_license: [>`gtkaboutdialog] obj -> string = "ml_gtk_about_dialog_get_license" external get_copyright: [>`gtkaboutdialog] obj -> string = "ml_gtk_about_dialog_get_copyright" external get_comments: [>`gtkaboutdialog] obj -> string = "ml_gtk_about_dialog_get_comments" end (* Global functions *) external gtk_true: unit -> bool = "ml_gtk_true" external test_text_set: [>`gtkwidget] obj -> string -> unit = "ml_gtk_test_text_set" external test_text_get: [>`gtkwidget] obj -> string = "ml_gtk_test_text_get" external test_spin_button_click: [>`gtkspinbutton] obj -> int -> bool -> bool = "ml_gtk_test_spin_button_click" external test_slider_set_perc: [>`gtkwidget] obj -> float -> unit = "ml_gtk_test_slider_set_perc" external test_slider_get_value: [>`gtkwidget] obj -> float = "ml_gtk_test_slider_get_value" external test_register_all_types: unit -> unit = "ml_gtk_test_register_all_types" external test_find_widget: [>`gtkwidget] obj -> string -> int -> [<`gtkwidget] obj = "ml_gtk_test_find_widget" external test_find_sibling: [>`gtkwidget] obj -> int -> [<`gtkwidget] obj = "ml_gtk_test_find_sibling" external test_find_label: [>`gtkwidget] obj -> string -> [<`gtkwidget] obj = "ml_gtk_test_find_label" external test_create_simple_window: string -> string -> [<`gtkwidget] obj = "ml_gtk_test_create_simple_window" external stock_list_ids: unit -> [<`gslist] obj = "ml_gtk_stock_list_ids" external set_debug_flags: int -> unit = "ml_gtk_set_debug_flags" external selection_remove_all: [>`gtkwidget] obj -> unit = "ml_gtk_selection_remove_all" external render_option: [>`gtkstylecontext] obj -> [>`cairo_t] obj -> float -> float -> float -> float -> unit = "ml_gtk_render_option" external render_line: [>`gtkstylecontext] obj -> [>`cairo_t] obj -> float -> float -> float -> float -> unit = "ml_gtk_render_line" external render_layout: [>`gtkstylecontext] obj -> [>`cairo_t] obj -> float -> float -> [>`pangolayout] obj -> unit = "ml_gtk_render_layout" external render_handle: [>`gtkstylecontext] obj -> [>`cairo_t] obj -> float -> float -> float -> float -> unit = "ml_gtk_render_handle" external render_frame: [>`gtkstylecontext] obj -> [>`cairo_t] obj -> float -> float -> float -> float -> unit = "ml_gtk_render_frame" external render_focus: [>`gtkstylecontext] obj -> [>`cairo_t] obj -> float -> float -> float -> float -> unit = "ml_gtk_render_focus" external render_expander: [>`gtkstylecontext] obj -> [>`cairo_t] obj -> float -> float -> float -> float -> unit = "ml_gtk_render_expander" external render_check: [>`gtkstylecontext] obj -> [>`cairo_t] obj -> float -> float -> float -> float -> unit = "ml_gtk_render_check" external render_background: [>`gtkstylecontext] obj -> [>`cairo_t] obj -> float -> float -> float -> float -> unit = "ml_gtk_render_background" external render_arrow: [>`gtkstylecontext] obj -> [>`cairo_t] obj -> float -> float -> float -> float -> unit = "ml_gtk_render_arrow" external render_activity: [>`gtkstylecontext] obj -> [>`cairo_t] obj -> float -> float -> float -> float -> unit = "ml_gtk_render_activity" external recent_manager_error_quark: unit -> int32 = "ml_gtk_recent_manager_error_quark" external recent_chooser_error_quark: unit -> int32 = "ml_gtk_recent_chooser_error_quark" external rc_scanner_new: unit -> [<`gscanner] obj = "ml_gtk_rc_scanner_new" external rc_reset_styles: [>`gtksettings] obj -> unit = "ml_gtk_rc_reset_styles" external rc_reparse_all_for_settings: [>`gtksettings] obj -> bool -> bool = "ml_gtk_rc_reparse_all_for_settings" external rc_reparse_all: unit -> bool = "ml_gtk_rc_reparse_all" external rc_property_parse_requisition: [>`gparamspec] obj -> [>`gstring] obj -> [>`gvalue] obj -> bool = "ml_gtk_rc_property_parse_requisition" external rc_property_parse_flags: [>`gparamspec] obj -> [>`gstring] obj -> [>`gvalue] obj -> bool = "ml_gtk_rc_property_parse_flags" external rc_property_parse_enum: [>`gparamspec] obj -> [>`gstring] obj -> [>`gvalue] obj -> bool = "ml_gtk_rc_property_parse_enum" external rc_property_parse_color: [>`gparamspec] obj -> [>`gstring] obj -> [>`gvalue] obj -> bool = "ml_gtk_rc_property_parse_color" external rc_property_parse_border: [>`gparamspec] obj -> [>`gstring] obj -> [>`gvalue] obj -> bool = "ml_gtk_rc_property_parse_border" external rc_parse_string: string -> unit = "ml_gtk_rc_parse_string" external rc_parse: string -> unit = "ml_gtk_rc_parse" external rc_get_theme_dir: unit -> string = "ml_gtk_rc_get_theme_dir" external rc_get_style_by_paths: [>`gtksettings] obj -> string option -> string option -> int -> [<`gtkstyle] obj = "ml_gtk_rc_get_style_by_paths" external rc_get_style: [>`gtkwidget] obj -> [<`gtkstyle] obj = "ml_gtk_rc_get_style" external print_run_page_setup_dialog: [>`gtkwindow] obj option -> [>`gtkpagesetup] obj option -> [>`gtkprintsettings] obj -> [<`gtkpagesetup] obj = "ml_gtk_print_run_page_setup_dialog" external print_error_quark: unit -> int32 = "ml_gtk_print_error_quark" external paper_size_get_paper_sizes: bool -> [<`glist] obj = "ml_gtk_paper_size_get_paper_sizes" external paper_size_get_default: unit -> string = "ml_gtk_paper_size_get_default" external main_quit: unit -> unit = "ml_gtk_main_quit" external main_level: unit -> int = "ml_gtk_main_level" external main_iteration_do: bool -> bool = "ml_gtk_main_iteration_do" external main_iteration: unit -> bool = "ml_gtk_main_iteration" external main: unit -> unit = "ml_gtk_main" external key_snooper_remove: int -> unit = "ml_gtk_key_snooper_remove" external icon_theme_error_quark: unit -> int32 = "ml_gtk_icon_theme_error_quark" external grab_get_current: unit -> [<`gtkwidget] obj = "ml_gtk_grab_get_current" external get_option_group: bool -> [<`goptiongroup] obj = "ml_gtk_get_option_group" external get_minor_version: unit -> int = "ml_gtk_get_minor_version" external get_micro_version: unit -> int = "ml_gtk_get_micro_version" external get_major_version: unit -> int = "ml_gtk_get_major_version" external get_interface_age: unit -> int = "ml_gtk_get_interface_age" external get_default_language: unit -> [<`pangolanguage] obj = "ml_gtk_get_default_language" external get_debug_flags: unit -> int = "ml_gtk_get_debug_flags" external get_current_event_time: unit -> int32 = "ml_gtk_get_current_event_time" external get_current_event_device: unit -> [<`gdkdevice] obj = "ml_gtk_get_current_event_device" external get_binary_age: unit -> int = "ml_gtk_get_binary_age" external file_chooser_error_quark: unit -> int32 = "ml_gtk_file_chooser_error_quark" external gtk_false: unit -> bool = "ml_gtk_false" external events_pending: unit -> bool = "ml_gtk_events_pending" external drag_set_icon_widget: [>`gdkdragcontext] obj -> [>`gtkwidget] obj -> int -> int -> unit = "ml_gtk_drag_set_icon_widget" external drag_set_icon_surface: [>`gdkdragcontext] obj -> [>`cairo_surface_t] obj -> unit = "ml_gtk_drag_set_icon_surface" external drag_set_icon_stock: [>`gdkdragcontext] obj -> string -> int -> int -> unit = "ml_gtk_drag_set_icon_stock" external drag_set_icon_pixbuf: [>`gdkdragcontext] obj -> [>`gdkpixbuf] obj -> int -> int -> unit = "ml_gtk_drag_set_icon_pixbuf" external drag_set_icon_name: [>`gdkdragcontext] obj -> string -> int -> int -> unit = "ml_gtk_drag_set_icon_name" external drag_set_icon_default: [>`gdkdragcontext] obj -> unit = "ml_gtk_drag_set_icon_default" external drag_get_source_widget: [>`gdkdragcontext] obj -> [<`gtkwidget] obj = "ml_gtk_drag_get_source_widget" external drag_finish: [>`gdkdragcontext] obj -> bool -> bool -> int32 -> unit = "ml_gtk_drag_finish" external distribute_natural_allocation: int -> int -> [>`gtkrequestedsize] obj -> int = "ml_gtk_distribute_natural_allocation" external disable_setlocale: unit -> unit = "ml_gtk_disable_setlocale" external device_grab_remove: [>`gtkwidget] obj -> [>`gdkdevice] obj -> unit = "ml_gtk_device_grab_remove" external device_grab_add: [>`gtkwidget] obj -> [>`gdkdevice] obj -> bool -> unit = "ml_gtk_device_grab_add" external css_provider_error_quark: unit -> int32 = "ml_gtk_css_provider_error_quark" external check_version: int -> int -> int -> string = "ml_gtk_check_version" external cairo_transform_to_window: [>`cairo_t] obj -> [>`gtkwidget] obj -> [>`gdkwindow] obj -> unit = "ml_gtk_cairo_transform_to_window" external cairo_should_draw_window: [>`cairo_t] obj -> [>`gdkwindow] obj -> bool = "ml_gtk_cairo_should_draw_window" external builder_error_quark: unit -> int32 = "ml_gtk_builder_error_quark" external binding_set_new: string -> [<`gtkbindingset] obj = "ml_gtk_binding_set_new" external binding_set_find: string -> [<`gtkbindingset] obj = "ml_gtk_binding_set_find" external alternative_dialog_button_order: [>`gdkscreen] obj option -> bool = "ml_gtk_alternative_dialog_button_order" (* End of global functions *) lablgtk-3.1.2/tools/introspection/stubs/stubs_Pango.ml0000644000650106067230000006140614161276610022025 0ustar glondusedtype -'a obj module _ScriptForLang = struct end module TabArray = struct external resize: [>`pangotabarray] obj -> int -> unit = "ml_pango_tab_array_resize" external get_size: [>`pangotabarray] obj -> int = "ml_pango_tab_array_get_size" external get_positions_in_pixels: [>`pangotabarray] obj -> bool = "ml_pango_tab_array_get_positions_in_pixels" external free: [>`pangotabarray] obj -> unit = "ml_pango_tab_array_free" external copy: [>`pangotabarray] obj -> [<`pangotabarray] obj = "ml_pango_tab_array_copy" end module ScriptIter = struct external next: [>`pangoscriptiter] obj -> bool = "ml_pango_script_iter_next" external free: [>`pangoscriptiter] obj -> unit = "ml_pango_script_iter_free" end module RendererPrivate = struct end module RendererClass = struct end module Renderer = struct external set_matrix: [>`pangorenderer] obj -> [>`pangomatrix] obj -> unit = "ml_pango_renderer_set_matrix" external get_matrix: [>`pangorenderer] obj -> [<`pangomatrix] obj = "ml_pango_renderer_get_matrix" external get_layout_line: [>`pangorenderer] obj -> [<`pangolayoutline] obj = "ml_pango_renderer_get_layout_line" external get_layout: [>`pangorenderer] obj -> [<`pangolayout] obj = "ml_pango_renderer_get_layout" external draw_layout_line: [>`pangorenderer] obj -> [>`pangolayoutline] obj -> int -> int -> unit = "ml_pango_renderer_draw_layout_line" external draw_layout: [>`pangorenderer] obj -> [>`pangolayout] obj -> int -> int -> unit = "ml_pango_renderer_draw_layout" external draw_glyphs: [>`pangorenderer] obj -> [>`pangofont] obj -> [>`pangoglyphstring] obj -> int -> int -> unit = "ml_pango_renderer_draw_glyphs" external draw_glyph_item: [>`pangorenderer] obj -> string -> [>`pangoglyphitem] obj -> int -> int -> unit = "ml_pango_renderer_draw_glyph_item" external draw_glyph: [>`pangorenderer] obj -> [>`pangofont] obj -> int32 -> float -> float -> unit = "ml_pango_renderer_draw_glyph" external draw_error_underline: [>`pangorenderer] obj -> int -> int -> int -> int -> unit = "ml_pango_renderer_draw_error_underline" external deactivate: [>`pangorenderer] obj -> unit = "ml_pango_renderer_deactivate" external activate: [>`pangorenderer] obj -> unit = "ml_pango_renderer_activate" end module Rectangle = struct end module Matrix = struct external translate: [>`pangomatrix] obj -> float -> float -> unit = "ml_pango_matrix_translate" external transform_rectangle: [>`pangomatrix] obj -> [>`pangorectangle] obj -> unit = "ml_pango_matrix_transform_rectangle" external transform_pixel_rectangle: [>`pangomatrix] obj -> [>`pangorectangle] obj -> unit = "ml_pango_matrix_transform_pixel_rectangle" external scale: [>`pangomatrix] obj -> float -> float -> unit = "ml_pango_matrix_scale" external rotate: [>`pangomatrix] obj -> float -> unit = "ml_pango_matrix_rotate" external get_font_scale_factor: [>`pangomatrix] obj -> float = "ml_pango_matrix_get_font_scale_factor" external free: [>`pangomatrix] obj -> unit = "ml_pango_matrix_free" external copy: [>`pangomatrix] obj -> [<`pangomatrix] obj = "ml_pango_matrix_copy" external concat: [>`pangomatrix] obj -> [>`pangomatrix] obj -> unit = "ml_pango_matrix_concat" end module LogAttr = struct end module LayoutLine = struct external unref: [>`pangolayoutline] obj -> unit = "ml_pango_layout_line_unref" external ref: [>`pangolayoutline] obj -> [<`pangolayoutline] obj = "ml_pango_layout_line_ref" external get_pixel_extents: [>`pangolayoutline] obj -> [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_layout_line_get_pixel_extents" external get_extents: [>`pangolayoutline] obj -> [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_layout_line_get_extents" end module LayoutIter = struct external next_run: [>`pangolayoutiter] obj -> bool = "ml_pango_layout_iter_next_run" external next_line: [>`pangolayoutiter] obj -> bool = "ml_pango_layout_iter_next_line" external next_cluster: [>`pangolayoutiter] obj -> bool = "ml_pango_layout_iter_next_cluster" external next_char: [>`pangolayoutiter] obj -> bool = "ml_pango_layout_iter_next_char" external get_run_extents: [>`pangolayoutiter] obj -> [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_layout_iter_get_run_extents" external get_line_readonly: [>`pangolayoutiter] obj -> [<`pangolayoutline] obj = "ml_pango_layout_iter_get_line_readonly" external get_line_extents: [>`pangolayoutiter] obj -> [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_layout_iter_get_line_extents" external get_line: [>`pangolayoutiter] obj -> [<`pangolayoutline] obj = "ml_pango_layout_iter_get_line" external get_layout_extents: [>`pangolayoutiter] obj -> [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_layout_iter_get_layout_extents" external get_layout: [>`pangolayoutiter] obj -> [<`pangolayout] obj = "ml_pango_layout_iter_get_layout" external get_index: [>`pangolayoutiter] obj -> int = "ml_pango_layout_iter_get_index" external get_cluster_extents: [>`pangolayoutiter] obj -> [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_layout_iter_get_cluster_extents" external get_char_extents: [>`pangolayoutiter] obj -> [>`pangorectangle] obj -> unit = "ml_pango_layout_iter_get_char_extents" external get_baseline: [>`pangolayoutiter] obj -> int = "ml_pango_layout_iter_get_baseline" external free: [>`pangolayoutiter] obj -> unit = "ml_pango_layout_iter_free" external copy: [>`pangolayoutiter] obj -> [<`pangolayoutiter] obj = "ml_pango_layout_iter_copy" external at_last_line: [>`pangolayoutiter] obj -> bool = "ml_pango_layout_iter_at_last_line" end module LayoutClass = struct end module Layout = struct external set_width: [>`pangolayout] obj -> int -> unit = "ml_pango_layout_set_width" external set_text: [>`pangolayout] obj -> string -> int -> unit = "ml_pango_layout_set_text" external set_tabs: [>`pangolayout] obj -> [>`pangotabarray] obj -> unit = "ml_pango_layout_set_tabs" external set_spacing: [>`pangolayout] obj -> int -> unit = "ml_pango_layout_set_spacing" external set_single_paragraph_mode: [>`pangolayout] obj -> bool -> unit = "ml_pango_layout_set_single_paragraph_mode" external set_markup: [>`pangolayout] obj -> string -> int -> unit = "ml_pango_layout_set_markup" external set_justify: [>`pangolayout] obj -> bool -> unit = "ml_pango_layout_set_justify" external set_indent: [>`pangolayout] obj -> int -> unit = "ml_pango_layout_set_indent" external set_height: [>`pangolayout] obj -> int -> unit = "ml_pango_layout_set_height" external set_font_description: [>`pangolayout] obj -> [>`pangofontdescription] obj -> unit = "ml_pango_layout_set_font_description" external set_auto_dir: [>`pangolayout] obj -> bool -> unit = "ml_pango_layout_set_auto_dir" external set_attributes: [>`pangolayout] obj -> [>`pangoattrlist] obj -> unit = "ml_pango_layout_set_attributes" external is_wrapped: [>`pangolayout] obj -> bool = "ml_pango_layout_is_wrapped" external is_ellipsized: [>`pangolayout] obj -> bool = "ml_pango_layout_is_ellipsized" external index_to_pos: [>`pangolayout] obj -> int -> [>`pangorectangle] obj -> unit = "ml_pango_layout_index_to_pos" external get_width: [>`pangolayout] obj -> int = "ml_pango_layout_get_width" external get_unknown_glyphs_count: [>`pangolayout] obj -> int = "ml_pango_layout_get_unknown_glyphs_count" external get_text: [>`pangolayout] obj -> string = "ml_pango_layout_get_text" external get_tabs: [>`pangolayout] obj -> [<`pangotabarray] obj = "ml_pango_layout_get_tabs" external get_spacing: [>`pangolayout] obj -> int = "ml_pango_layout_get_spacing" external get_single_paragraph_mode: [>`pangolayout] obj -> bool = "ml_pango_layout_get_single_paragraph_mode" external get_pixel_extents: [>`pangolayout] obj -> [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_layout_get_pixel_extents" external get_lines_readonly: [>`pangolayout] obj -> [<`gslist] obj = "ml_pango_layout_get_lines_readonly" external get_lines: [>`pangolayout] obj -> [<`gslist] obj = "ml_pango_layout_get_lines" external get_line_readonly: [>`pangolayout] obj -> int -> [<`pangolayoutline] obj = "ml_pango_layout_get_line_readonly" external get_line_count: [>`pangolayout] obj -> int = "ml_pango_layout_get_line_count" external get_line: [>`pangolayout] obj -> int -> [<`pangolayoutline] obj = "ml_pango_layout_get_line" external get_justify: [>`pangolayout] obj -> bool = "ml_pango_layout_get_justify" external get_iter: [>`pangolayout] obj -> [<`pangolayoutiter] obj = "ml_pango_layout_get_iter" external get_indent: [>`pangolayout] obj -> int = "ml_pango_layout_get_indent" external get_height: [>`pangolayout] obj -> int = "ml_pango_layout_get_height" external get_font_description: [>`pangolayout] obj -> [<`pangofontdescription] obj = "ml_pango_layout_get_font_description" external get_extents: [>`pangolayout] obj -> [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_layout_get_extents" external get_cursor_pos: [>`pangolayout] obj -> int -> [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_layout_get_cursor_pos" external get_context: [>`pangolayout] obj -> [<`pangocontext] obj = "ml_pango_layout_get_context" external get_baseline: [>`pangolayout] obj -> int = "ml_pango_layout_get_baseline" external get_auto_dir: [>`pangolayout] obj -> bool = "ml_pango_layout_get_auto_dir" external get_attributes: [>`pangolayout] obj -> [<`pangoattrlist] obj = "ml_pango_layout_get_attributes" external copy: [>`pangolayout] obj -> [<`pangolayout] obj = "ml_pango_layout_copy" external context_changed: [>`pangolayout] obj -> unit = "ml_pango_layout_context_changed" end module Language = struct external to_string: [>`pangolanguage] obj -> string = "ml_pango_language_to_string" external matches: [>`pangolanguage] obj -> string -> bool = "ml_pango_language_matches" external get_sample_string: [>`pangolanguage] obj -> string = "ml_pango_language_get_sample_string" end module Item = struct external split: [>`pangoitem] obj -> int -> int -> [<`pangoitem] obj = "ml_pango_item_split" external free: [>`pangoitem] obj -> unit = "ml_pango_item_free" external copy: [>`pangoitem] obj -> [<`pangoitem] obj = "ml_pango_item_copy" end module GlyphVisAttr = struct end module GlyphString = struct external set_size: [>`pangoglyphstring] obj -> int -> unit = "ml_pango_glyph_string_set_size" external get_width: [>`pangoglyphstring] obj -> int = "ml_pango_glyph_string_get_width" external free: [>`pangoglyphstring] obj -> unit = "ml_pango_glyph_string_free" external extents_range: [>`pangoglyphstring] obj -> int -> int -> [>`pangofont] obj -> [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_glyph_string_extents_range" external extents: [>`pangoglyphstring] obj -> [>`pangofont] obj -> [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_glyph_string_extents" external copy: [>`pangoglyphstring] obj -> [<`pangoglyphstring] obj = "ml_pango_glyph_string_copy" end module GlyphItemIter = struct external prev_cluster: [>`pangoglyphitemiter] obj -> bool = "ml_pango_glyph_item_iter_prev_cluster" external next_cluster: [>`pangoglyphitemiter] obj -> bool = "ml_pango_glyph_item_iter_next_cluster" external init_start: [>`pangoglyphitemiter] obj -> [>`pangoglyphitem] obj -> string -> bool = "ml_pango_glyph_item_iter_init_start" external init_end: [>`pangoglyphitemiter] obj -> [>`pangoglyphitem] obj -> string -> bool = "ml_pango_glyph_item_iter_init_end" external free: [>`pangoglyphitemiter] obj -> unit = "ml_pango_glyph_item_iter_free" external copy: [>`pangoglyphitemiter] obj -> [<`pangoglyphitemiter] obj = "ml_pango_glyph_item_iter_copy" end module GlyphItem = struct external split: [>`pangoglyphitem] obj -> string -> int -> [<`pangoglyphitem] obj = "ml_pango_glyph_item_split" external letter_space: [>`pangoglyphitem] obj -> string -> [>`pangologattr] obj -> int -> unit = "ml_pango_glyph_item_letter_space" external free: [>`pangoglyphitem] obj -> unit = "ml_pango_glyph_item_free" external copy: [>`pangoglyphitem] obj -> [<`pangoglyphitem] obj = "ml_pango_glyph_item_copy" external apply_attrs: [>`pangoglyphitem] obj -> string -> [>`pangoattrlist] obj -> [<`gslist] obj = "ml_pango_glyph_item_apply_attrs" end module GlyphInfo = struct end module GlyphGeometry = struct end module Fontset = struct external get_metrics: [>`pangofontset] obj -> [<`pangofontmetrics] obj = "ml_pango_fontset_get_metrics" external get_font: [>`pangofontset] obj -> int -> [<`pangofont] obj = "ml_pango_fontset_get_font" end module FontMetrics = struct external unref: [>`pangofontmetrics] obj -> unit = "ml_pango_font_metrics_unref" external ref: [>`pangofontmetrics] obj -> [<`pangofontmetrics] obj = "ml_pango_font_metrics_ref" external get_underline_thickness: [>`pangofontmetrics] obj -> int = "ml_pango_font_metrics_get_underline_thickness" external get_underline_position: [>`pangofontmetrics] obj -> int = "ml_pango_font_metrics_get_underline_position" external get_strikethrough_thickness: [>`pangofontmetrics] obj -> int = "ml_pango_font_metrics_get_strikethrough_thickness" external get_strikethrough_position: [>`pangofontmetrics] obj -> int = "ml_pango_font_metrics_get_strikethrough_position" external get_descent: [>`pangofontmetrics] obj -> int = "ml_pango_font_metrics_get_descent" external get_ascent: [>`pangofontmetrics] obj -> int = "ml_pango_font_metrics_get_ascent" external get_approximate_digit_width: [>`pangofontmetrics] obj -> int = "ml_pango_font_metrics_get_approximate_digit_width" external get_approximate_char_width: [>`pangofontmetrics] obj -> int = "ml_pango_font_metrics_get_approximate_char_width" end module FontMap = struct external load_fontset: [>`pangofontmap] obj -> [>`pangocontext] obj -> [>`pangofontdescription] obj -> [>`pangolanguage] obj -> [<`pangofontset] obj = "ml_pango_font_map_load_fontset" external load_font: [>`pangofontmap] obj -> [>`pangocontext] obj -> [>`pangofontdescription] obj -> [<`pangofont] obj = "ml_pango_font_map_load_font" external create_context: [>`pangofontmap] obj -> [<`pangocontext] obj = "ml_pango_font_map_create_context" end module FontFamily = struct external is_monospace: [>`pangofontfamily] obj -> bool = "ml_pango_font_family_is_monospace" external get_name: [>`pangofontfamily] obj -> string = "ml_pango_font_family_get_name" end module FontFace = struct external is_synthesized: [>`pangofontface] obj -> bool = "ml_pango_font_face_is_synthesized" external get_face_name: [>`pangofontface] obj -> string = "ml_pango_font_face_get_face_name" external describe: [>`pangofontface] obj -> [<`pangofontdescription] obj = "ml_pango_font_face_describe" end module FontDescription = struct external to_string: [>`pangofontdescription] obj -> string = "ml_pango_font_description_to_string" external to_filename: [>`pangofontdescription] obj -> string = "ml_pango_font_description_to_filename" external set_size: [>`pangofontdescription] obj -> int -> unit = "ml_pango_font_description_set_size" external set_family_static: [>`pangofontdescription] obj -> string -> unit = "ml_pango_font_description_set_family_static" external set_family: [>`pangofontdescription] obj -> string -> unit = "ml_pango_font_description_set_family" external set_absolute_size: [>`pangofontdescription] obj -> float -> unit = "ml_pango_font_description_set_absolute_size" external merge_static: [>`pangofontdescription] obj -> [>`pangofontdescription] obj -> bool -> unit = "ml_pango_font_description_merge_static" external merge: [>`pangofontdescription] obj -> [>`pangofontdescription] obj -> bool -> unit = "ml_pango_font_description_merge" external hash: [>`pangofontdescription] obj -> int = "ml_pango_font_description_hash" external get_size_is_absolute: [>`pangofontdescription] obj -> bool = "ml_pango_font_description_get_size_is_absolute" external get_size: [>`pangofontdescription] obj -> int = "ml_pango_font_description_get_size" external get_family: [>`pangofontdescription] obj -> string = "ml_pango_font_description_get_family" external free: [>`pangofontdescription] obj -> unit = "ml_pango_font_description_free" external equal: [>`pangofontdescription] obj -> [>`pangofontdescription] obj -> bool = "ml_pango_font_description_equal" external copy_static: [>`pangofontdescription] obj -> [<`pangofontdescription] obj = "ml_pango_font_description_copy_static" external copy: [>`pangofontdescription] obj -> [<`pangofontdescription] obj = "ml_pango_font_description_copy" external better_match: [>`pangofontdescription] obj -> [>`pangofontdescription] obj -> [>`pangofontdescription] obj -> bool = "ml_pango_font_description_better_match" end module Font = struct external get_metrics: [>`pangofont] obj -> [>`pangolanguage] obj -> [<`pangofontmetrics] obj = "ml_pango_font_get_metrics" external get_glyph_extents: [>`pangofont] obj -> int32 -> [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_font_get_glyph_extents" external get_font_map: [>`pangofont] obj -> [<`pangofontmap] obj = "ml_pango_font_get_font_map" external get_coverage: [>`pangofont] obj -> [>`pangolanguage] obj -> [<`pangocoverage] obj = "ml_pango_font_get_coverage" external find_shaper: [>`pangofont] obj -> [>`pangolanguage] obj -> int32 -> [<`pangoengineshape] obj = "ml_pango_font_find_shaper" external describe_with_absolute_size: [>`pangofont] obj -> [<`pangofontdescription] obj = "ml_pango_font_describe_with_absolute_size" external describe: [>`pangofont] obj -> [<`pangofontdescription] obj = "ml_pango_font_describe" end module EngineShape = struct end module EngineLang = struct end module Coverage = struct external unref: [>`pangocoverage] obj -> unit = "ml_pango_coverage_unref" external ref: [>`pangocoverage] obj -> [<`pangocoverage] obj = "ml_pango_coverage_ref" external max: [>`pangocoverage] obj -> [>`pangocoverage] obj -> unit = "ml_pango_coverage_max" external copy: [>`pangocoverage] obj -> [<`pangocoverage] obj = "ml_pango_coverage_copy" end module ContextClass = struct end module Context = struct external set_matrix: [>`pangocontext] obj -> [>`pangomatrix] obj -> unit = "ml_pango_context_set_matrix" external set_language: [>`pangocontext] obj -> [>`pangolanguage] obj -> unit = "ml_pango_context_set_language" external set_font_map: [>`pangocontext] obj -> [>`pangofontmap] obj -> unit = "ml_pango_context_set_font_map" external set_font_description: [>`pangocontext] obj -> [>`pangofontdescription] obj -> unit = "ml_pango_context_set_font_description" external load_fontset: [>`pangocontext] obj -> [>`pangofontdescription] obj -> [>`pangolanguage] obj -> [<`pangofontset] obj = "ml_pango_context_load_fontset" external load_font: [>`pangocontext] obj -> [>`pangofontdescription] obj -> [<`pangofont] obj = "ml_pango_context_load_font" external get_metrics: [>`pangocontext] obj -> [>`pangofontdescription] obj -> [>`pangolanguage] obj -> [<`pangofontmetrics] obj = "ml_pango_context_get_metrics" external get_matrix: [>`pangocontext] obj -> [<`pangomatrix] obj = "ml_pango_context_get_matrix" external get_language: [>`pangocontext] obj -> [<`pangolanguage] obj = "ml_pango_context_get_language" external get_font_map: [>`pangocontext] obj -> [<`pangofontmap] obj = "ml_pango_context_get_font_map" external get_font_description: [>`pangocontext] obj -> [<`pangofontdescription] obj = "ml_pango_context_get_font_description" end module Color = struct external to_string: [>`pangocolor] obj -> string = "ml_pango_color_to_string" external parse: [>`pangocolor] obj -> string -> bool = "ml_pango_color_parse" external free: [>`pangocolor] obj -> unit = "ml_pango_color_free" external copy: [>`pangocolor] obj -> [<`pangocolor] obj = "ml_pango_color_copy" end module Attribute = struct external init: [>`pangoattribute] obj -> [>`pangoattrclass] obj -> unit = "ml_pango_attribute_init" external equal: [>`pangoattribute] obj -> [>`pangoattribute] obj -> bool = "ml_pango_attribute_equal" external destroy: [>`pangoattribute] obj -> unit = "ml_pango_attribute_destroy" external copy: [>`pangoattribute] obj -> [<`pangoattribute] obj = "ml_pango_attribute_copy" end module AttrString = struct end module AttrSize = struct end module AttrShape = struct end module AttrList = struct external unref: [>`pangoattrlist] obj -> unit = "ml_pango_attr_list_unref" external splice: [>`pangoattrlist] obj -> [>`pangoattrlist] obj -> int -> int -> unit = "ml_pango_attr_list_splice" external ref: [>`pangoattrlist] obj -> [<`pangoattrlist] obj = "ml_pango_attr_list_ref" external insert_before: [>`pangoattrlist] obj -> [>`pangoattribute] obj -> unit = "ml_pango_attr_list_insert_before" external insert: [>`pangoattrlist] obj -> [>`pangoattribute] obj -> unit = "ml_pango_attr_list_insert" external get_iterator: [>`pangoattrlist] obj -> [<`pangoattriterator] obj = "ml_pango_attr_list_get_iterator" external copy: [>`pangoattrlist] obj -> [<`pangoattrlist] obj = "ml_pango_attr_list_copy" external change: [>`pangoattrlist] obj -> [>`pangoattribute] obj -> unit = "ml_pango_attr_list_change" end module AttrLanguage = struct end module AttrIterator = struct external next: [>`pangoattriterator] obj -> bool = "ml_pango_attr_iterator_next" external get_attrs: [>`pangoattriterator] obj -> [<`gslist] obj = "ml_pango_attr_iterator_get_attrs" external destroy: [>`pangoattriterator] obj -> unit = "ml_pango_attr_iterator_destroy" external copy: [>`pangoattriterator] obj -> [<`pangoattriterator] obj = "ml_pango_attr_iterator_copy" end module AttrInt = struct end module AttrFontDesc = struct end module AttrFloat = struct end module AttrColor = struct end module AttrClass = struct end module Analysis = struct end (* Global functions *) external version_string: unit -> string = "ml_pango_version_string" external version_check: int -> int -> int -> string = "ml_pango_version_check" external version: unit -> int = "ml_pango_version" external units_to_double: int -> float = "ml_pango_units_to_double" external units_from_double: float -> int = "ml_pango_units_from_double" external trim_string: string -> string = "ml_pango_trim_string" external shape: string -> int -> [>`pangoanalysis] obj -> [>`pangoglyphstring] obj -> unit = "ml_pango_shape" external script_iter_new: string -> int -> [<`pangoscriptiter] obj = "ml_pango_script_iter_new" external reorder_items: [>`glist] obj -> [<`glist] obj = "ml_pango_reorder_items" external language_get_default: unit -> [<`pangolanguage] obj = "ml_pango_language_get_default" external language_from_string: string -> [<`pangolanguage] obj = "ml_pango_language_from_string" external itemize: [>`pangocontext] obj -> string -> int -> int -> [>`pangoattrlist] obj -> [>`pangoattriterator] obj -> [<`glist] obj = "ml_pango_itemize" external is_zero_width: int32 -> bool = "ml_pango_is_zero_width" external get_log_attrs: string -> int -> int -> [>`pangolanguage] obj -> [>`pangologattr] obj -> int -> unit = "ml_pango_get_log_attrs" external font_description_from_string: string -> [<`pangofontdescription] obj = "ml_pango_font_description_from_string" external extents_to_pixels: [>`pangorectangle] obj -> [>`pangorectangle] obj -> unit = "ml_pango_extents_to_pixels" external coverage_new: unit -> [<`pangocoverage] obj = "ml_pango_coverage_new" external coverage_from_bytes: string -> int -> [<`pangocoverage] obj = "ml_pango_coverage_from_bytes" external break: string -> int -> [>`pangoanalysis] obj -> [>`pangologattr] obj -> int -> unit = "ml_pango_break" external attr_underline_color_new: int -> int -> int -> [<`pangoattribute] obj = "ml_pango_attr_underline_color_new" external attr_strikethrough_new: bool -> [<`pangoattribute] obj = "ml_pango_attr_strikethrough_new" external attr_strikethrough_color_new: int -> int -> int -> [<`pangoattribute] obj = "ml_pango_attr_strikethrough_color_new" external attr_size_new_absolute: int -> [<`pangoattribute] obj = "ml_pango_attr_size_new_absolute" external attr_size_new: int -> [<`pangoattribute] obj = "ml_pango_attr_size_new" external attr_shape_new: [>`pangorectangle] obj -> [>`pangorectangle] obj -> [<`pangoattribute] obj = "ml_pango_attr_shape_new" external attr_scale_new: float -> [<`pangoattribute] obj = "ml_pango_attr_scale_new" external attr_rise_new: int -> [<`pangoattribute] obj = "ml_pango_attr_rise_new" external attr_letter_spacing_new: int -> [<`pangoattribute] obj = "ml_pango_attr_letter_spacing_new" external attr_language_new: [>`pangolanguage] obj -> [<`pangoattribute] obj = "ml_pango_attr_language_new" external attr_foreground_new: int -> int -> int -> [<`pangoattribute] obj = "ml_pango_attr_foreground_new" external attr_font_desc_new: [>`pangofontdescription] obj -> [<`pangoattribute] obj = "ml_pango_attr_font_desc_new" external attr_family_new: string -> [<`pangoattribute] obj = "ml_pango_attr_family_new" external attr_fallback_new: bool -> [<`pangoattribute] obj = "ml_pango_attr_fallback_new" external attr_background_new: int -> int -> int -> [<`pangoattribute] obj = "ml_pango_attr_background_new" (* End of global functions *) lablgtk-3.1.2/tools/introspection/stubs/stubs_cairo.ml0000644000650106067230000000074514161276610022055 0ustar glondusedtype -'a obj module RectangleInt = struct end module Path = struct end module ScaledFont = struct end module FontFace = struct end module FontType = struct end module FontOptions = struct end module Region = struct end module Pattern = struct end module Matrix = struct end module Surface = struct end module Context = struct end (* Global functions *) external image_surface_create: unit -> unit = "ml_cairo_image_surface_create" (* End of global functions *) lablgtk-3.1.2/tools/introspection/wrappers.h0000644000650106067230000003704414161276610020064 0ustar glondused/**************************************************************************/ /* 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$ */ #ifndef _wrappers_ #define _wrappers_ /* Yell if a caml callback raised an exception */ #define CAML_EXN_LOG(name) g_critical("%s: callback raised an exception", name) #define CAML_EXN_LOG_VERBOSE(name,exn) g_critical("%s: callback raised exception %s", name, format_caml_exception(Extract_exception(exn))) #include #include #include #include CAMLextern char *young_start, *young_end; /* from minor_gc.h */ CAMLexport value copy_memblock_indirected (void *src, asize_t size); value alloc_memblock_indirected (asize_t size); CAMLprim value ml_some (value); value ml_cons (value, value); CAMLexport void ml_raise_null_pointer (void) Noreturn; CAMLexport value Val_pointer (void *); CAMLprim value copy_string_check (const char*); value copy_string_or_null (const char *); value string_list_of_strv (const char * const *v); value string_list_of_strv2 (char **v); char ** strv_of_string_list (value list); CAMLprim value *ml_global_root_new (value v); CAMLexport void ml_global_root_destroy (void *data); /* enums <-> polymorphic variants */ typedef struct { value key; int data; } lookup_info; CAMLexport value ml_lookup_from_c (const lookup_info table[], int data); CAMLexport int ml_lookup_to_c (const lookup_info table[], value key); CAMLexport value ml_lookup_flags_getter (const lookup_info table[], int data); #define ID(x) (x) #define ML_0(cname, conv) \ CAMLprim value ml_##cname (value unit) { return conv (cname ()); } #define ML_1(cname, conv1, conv) \ CAMLprim value ml_##cname (value arg1) { return conv (cname (conv1 (arg1))); } #define ML_1_post(cname, conv1, conv, post) \ CAMLprim value ml_##cname (value arg1) \ { value ret = conv (cname (conv1(arg1))); post; return ret; } #define ML_2(cname, conv1, conv2, conv) \ CAMLprim value ml_##cname (value arg1, value arg2) \ { return conv (cname (conv1(arg1), conv2(arg2))); } #define ML_2_name(mlname, cname, conv1, conv2, conv) \ CAMLprim value mlname (value arg1, value arg2) \ { return conv (cname (conv1(arg1), conv2(arg2))); } #define ML_3(cname, conv1, conv2, conv3, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3))); } #define ML_3_name(mlname, cname, conv1, conv2, conv3, conv) \ CAMLprim value mlname (value arg1, value arg2, value arg3) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3))); } #define ML_4(cname, conv1, conv2, conv3, conv4, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4))); } #define ML_4_name(mlname, cname, conv1, conv2, conv3, conv4, conv) \ CAMLprim value mlname (value arg1, value arg2, value arg3, value arg4) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4))); } #define ML_5(cname, conv1, conv2, conv3, conv4, conv5, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5))); } #define ML_5_name(mlname, cname, conv1, conv2, conv3, conv4, conv5, conv) \ CAMLprim value mlname (value arg1, value arg2, value arg3, value arg4, \ value arg5) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5))); } #define ML_6(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6))); } #define ML_7(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7))); } #define ML_8(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8, \ conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8))); } #define ML_9(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8, \ conv9, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8, \ value arg9) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8), \ conv9(arg9))); } #define ML_9_name(mlname, cname, conv1, conv2, conv3, conv4, conv5, conv6, \ conv7, conv8, conv9, conv) \ CAMLprim value mlname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8, \ value arg9) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8), \ conv9(arg9))); } #define ML_10(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8, \ conv9, conv10, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8, \ value arg9, value arg10)\ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8), \ conv9(arg9), conv10(arg10))); } #define ML_11(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8, \ conv9, conv10, conv11, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8, \ value arg9, value arg10, value arg11) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8), \ conv9(arg9), conv10(arg10), conv11(arg11))); } #define ML_12(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8, \ conv9, conv10, conv11, conv12, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8, \ value arg9, value arg10, value arg11, value arg12) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8), \ conv9(arg9), conv10(arg10), conv11(arg11), \ conv12(arg12))); } #define ML_13(cname, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8, \ conv9, conv10, conv11, conv12, conv13, conv) \ CAMLprim value ml_##cname (value arg1, value arg2, value arg3, value arg4, \ value arg5, value arg6, value arg7, value arg8, \ value arg9, value arg10, value arg11, value arg12, \ value arg13) \ { return conv (cname (conv1(arg1), conv2(arg2), conv3(arg3), conv4(arg4), \ conv5(arg5), conv6(arg6), conv7(arg7), conv8(arg8), \ conv9(arg9), conv10(arg10), conv11(arg11), \ conv12(arg12), conv13(arg13))); } /* Use with care: needs the argument index */ #define Ignore(x) #define Insert(x) (x), #define Split(x,f,g) f(x), g(x) Ignore #define Split3(x,f,g,h) f(x), g(x), h(x) Ignore #define Pair(x,f,g) f(Field(x,0)), g(Field(x,1)) Ignore #define Triple(x,f,g,h) f(Field(x,0)), g(Field(x,1)), h(Field(x,2)) Ignore /* For more than 5 arguments */ #define ML_bc6(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5]); } #define ML_bc7(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6]); } #define ML_bc8(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], \ argv[7]); } #define ML_bc9(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], \ argv[7],argv[8]); } #define ML_bc10(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], \ argv[7],argv[8],argv[9]); } #define ML_bc11(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], \ argv[7],argv[8],argv[9],argv[10]); } #define ML_bc12(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], \ argv[7],argv[8],argv[9],argv[10],argv[11]); } #define ML_bc13(cname) \ CAMLprim value cname##_bc (value *argv, int argn) \ { return cname(argv[0],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], \ argv[7],argv[8],argv[9],argv[10],argv[11],argv[12]); } /* result conversion */ #define Unit(x) ((x), Val_unit) #define Id(x) x #define Val_char Val_int /* parameter conversion */ #define Bool_ptr(x) ((long) x - 1) #define Char_val Int_val #define Float_val(x) ((float)Double_val(x)) #define SizedString_val(x) String_val(x), string_length(x) #define Option_val(val,unwrap,default) \ ((long)val-1 ? unwrap(Field(val,0)) : default) #define String_option_val(s) Option_val(s,String_val,NULL) /* Strings are not always old, so they may move around... */ /* problems with alloca on Linux #define StableString_val(val) \ ((char*)(val) < young_end && (char*)(val) > young_start ? \ memcpy(alloca(Bosize_val(val)), (char*)(val), Bosize_val(val)) : \ String_val(val)) */ /* Utility */ #define Copy_array(ret,l,src,conv) \ if (!l) ret = Atom(0); \ else if (l <= Max_young_wosize) { int i; ret = alloc_tuple(l); \ for(i=0;ifield); } #define Make_Setter(name,conv1,conv2,field) \ CAMLprim value ml_##name##_##field (value val, value new) \ { (conv1(val))->field = conv2(new); return Val_unit; } #define Make_Array_Extractor(name,conv1,conv2,field,conv) \ CAMLprim value ml_##name##_##field (value val, value index) \ { return conv ((conv1(val))->field[conv2(index)]); } #define Make_Array_Setter(name,conv1,conv2,conv3,field) \ CAMLprim value ml_##name##_##field (value val, value index, value new) \ { (conv1(val))->field[conv2(index)] = conv3(new); return Val_unit; } /* ML value is [flag list] */ #define Make_Flags_val(conv) \ CAMLprim int Flags_##conv (value list) \ { int flags = 0L; \ while(Is_block(list)){ flags |= conv(Field(list,0)); list = Field(list,1); }\ return flags; } /* ML value is [flag list option] */ #define Make_OptFlags_val(conv) \ CAMLprim int OptFlags_##conv (value list) \ { int flags = 0L; \ if (Is_block(list)) list = Field(list,0); \ while(Is_block(list)){ flags |= conv(Field(list,0)); list = Field(list,1); }\ return flags; } #define Val_copy(val) copy_memblock_indirected (&val, sizeof(val)) #define Val_string copy_string_check #define Val_optstring copy_string_or_null #define Optstring_val(v) (string_length(v) ? String_val(v) : (char*)NULL) #define Val_option(v,f) (v ? ml_some(f(v)) : Val_unit) #define Check_null(v) (v ? v : (ml_raise_null_pointer (), v)) #define Val_nativeint copy_nativeint #define Val_int64 copy_int64 #endif /* _wrappers_ */ lablgtk-3.1.2/tools/introspection/xml-light/0000755000650106067230000000000014161276610017745 5ustar glondusedlablgtk-3.1.2/tools/introspection/xml-light/.gitignore0000644000650106067230000000003714161276610021735 0ustar glondusedxml_parser.ml xml_parser.mli lablgtk-3.1.2/tools/introspection/xml-light/Makefile0000644000650106067230000000553014161276610021410 0ustar glondused# Makefile generated by OCamake # http://tech.motion-twin.com .SUFFIXES : .ml .mli .cmo .cmx .cmi .mll .mly INSTALLDIR=`ocamlc -where` CFLAGS= LFLAGS= -a LIBS= all: xml-light.cma # test.exe doc opt: xml-light.cmxa # test_opt.exe install: all opt cp xml-light.cmxa xml-light.a xml-light.cma xml.mli xmlParser.mli dtd.mli xml.cmi xmlParser.cmi dtd.cmi xml.cmx dtd.cmx xmlParser.cmx $(INSTALLDIR) doc: mkdir doc ocamldoc -sort -html -d doc xml.mli dtd.mli xmlParser.mli test.exe: xml-light.cma ocamlc xml-light.cma test.ml -o test.exe test_opt.exe: xml-light.cmxa ocamlopt xml-light.cmxa test.ml -o test_opt.exe xml-light.cma: xml_parser.cmo xml_lexer.cmo dtd.cmo xmlParser.cmo xml.cmo ocamlc -o xml-light.cma $(LFLAGS) $(LIBS) xml_parser.cmo xml_lexer.cmo dtd.cmo xmlParser.cmo xml.cmo xml-light.cmxa: xml_parser.cmx xml_lexer.cmx dtd.cmx xmlParser.cmx xml.cmx ocamlopt -o xml-light.cmxa $(LFLAGS) $(LIBS) xml_parser.cmx xml_lexer.cmx dtd.cmx xmlParser.cmx xml.cmx dtd.cmo: xml.cmi xml_lexer.cmi dtd.cmi dtd.cmx: xml.cmi xml_lexer.cmi dtd.cmi xml.cmo: dtd.cmi xmlParser.cmi xml_lexer.cmi xml.cmi xml.cmx: dtd.cmi xmlParser.cmi xml_lexer.cmi xml.cmi xmlParser.cmo: dtd.cmi xml.cmi xml_lexer.cmi xmlParser.cmi xmlParser.cmx: dtd.cmi xml.cmi xml_lexer.cmi xmlParser.cmi dtd.cmi: xml.cmi xml.cmi: xmlParser.cmi: dtd.cmi xml.cmi xml_lexer.cmi: dtd.cmi xml_parser.cmo: xml_parser.ml dtd.cmi xml_parser.mli xml_parser.cmi xml_parser.cmi: xml_parser.ml xml_parser.mli xml_parser.cmx: xml_parser.ml dtd.cmi xml_parser.mli xml_parser.cmi xml_lexer.cmo: xml_lexer.ml xml_lexer.cmi xml_lexer.cmx: xml_lexer.ml xml_lexer.cmi clean: rm -f xml-light.cma test.exe dtd.cmo dtd.cmi test.cmo test.cmi xml.cmo xml.cmi xmlParser.cmo xmlParser.cmi dtd.cmi xml.cmi xmlParser.cmi xml_lexer.cmi xml_lexer.cmo xml_lexer.ml xml_parser.mli xml_parser.cmi xml_parser.ml xml_parser.cmo rm -f xml_light.lib xml_light.a xml-light.cmxa test_opt.exe dtd.cmx dtd.obj dtd.o test.cmx test.obj test.o xml.cmx xml.obj xml.o xmlParser.cmx xmlParser.obj xmlParser.o xml_lexer.cmx xml_lexer.obj xml_lexer.o xml_parser.cmx xml_parser.obj xml_parser.o wclean: -@del xml-light.cma test.exe dtd.cmo dtd.cmi test.cmo test.cmi xml.cmo xml.cmi xmlParser.cmo xmlParser.cmi dtd.cmi xml.cmi xmlParser.cmi xml_lexer.cmi xml_lexer.cmo xml_lexer.ml xml_parser.mli xml_parser.cmi xml_parser.ml xml_parser.cmo 2>NUL -@del xml_light.lib xml_light.a xml-light.cmxa test_opt.exe dtd.cmx dtd.obj dtd.o test.cmx test.obj test.o xml.cmx xml.obj xml.o xmlParser.cmx xmlParser.obj xmlParser.o xml_lexer.cmx xml_lexer.obj xml_lexer.o xml_parser.cmx xml_parser.obj xml_parser.o 2>NUL # SUFFIXES .ml.cmo: ocamlc $(CFLAGS) -c $< .ml.cmx: ocamlopt $(CFLAGS) -c $< .mli.cmi: ocamlc $(CFLAGS) $< .mll.ml: ocamllex $< .mly.ml: ocamlyacc $< lablgtk-3.1.2/tools/introspection/xml-light/README0000644000650106067230000000276014161276610020632 0ustar glondusedXml-Light Version 2.2 : ----------------------- Last version : http://tech.motion-twin.com Xml Light is a minimal Xml parser & printer for OCaml. It provide few functions to parse a basic Xml document into an OCaml data structure and to print back the data structures to an Xml document. Xml Light has also support for DTD (Document Type Definition). Install ------- make install by default, Xml Light is installed in the 'ocamlc -where' directory. you can change it by editing the Makefile. for Windows users, if you're using the MSVC version of ocaml and don't have cygwin tools installed, you can do : nmake all and then copy manually the files to the place you want. Usage ----- simple samples : -- parse / print an xml string --- let x = Xml.parse_string "TEXT" in Printf.printf "XML formated = \n%s" (Xml.to_string_fmt x); -- load an xml and a dtd , prove and print --- let x = Xml.parse_file "myfile.xml" in let dtd = Dtd.parse_file "myfile.dtd" in let x = Dtd.prove (Dtd.check dtd) "start" x in print_endline (Xml.to_string x) Documentation ------------- HTML documentation can be generated with ocamldoc : make doc you can also directly browse the MLI files to read it. Licence ------- Xml Light is LGPL Credits ------- (c)2003-2005 Nicolas Cannasse (ncannasse@motion-twin.com) (c)2003-2005 Motion-Twin Some parts of this code source has an additionnal copyright to Jacques Garrigue lablgtk-3.1.2/tools/introspection/xml-light/doc/0000755000650106067230000000000014161276610020512 5ustar glondusedlablgtk-3.1.2/tools/introspection/xml-light/doc/Dtd.html0000644000650106067230000004346114161276610022123 0ustar glondused Dtd

Module Dtd


module Dtd: sig .. end
Xml Light DTD

This module provide several functions to create, check, and use DTD to prove Xml documents :

  • using the DTD types, you can directly create your own DTD structure
  • the Dtd.check function can then be used to check that all DTD states have been declared, that no attributes are declared twice, and so on.
  • the Dtd.prove function can be used to check an Xml data structure with a checked DTD. The function will return the expanded Xml document or raise an exception if the DTD proving fails.

Note about ENTITIES:

While parsing Xml, PCDATA is always parsed and the Xml entities &amp; &gt; &lt; &apos; &quot; are replaced by their corresponding ASCII characters. For Xml attributes, theses can be put between either double or simple quotes, and the backslash character can be used to escape inner quotes. There is no support for CDATA Xml nodes or PCDATA attributes declarations in DTD, and no support for user-defined entities using the ENTITY DTD element.



The DTD Types


type dtd_child =
| DTDTag of string
| DTDPCData
| DTDOptional of dtd_child
| DTDZeroOrMore of dtd_child
| DTDOneOrMore of dtd_child
| DTDChoice of dtd_child list
| DTDChildren of dtd_child list

type dtd_element_type =
| DTDEmpty
| DTDAny
| DTDChild of dtd_child

type dtd_attr_default =
| DTDDefault of string
| DTDRequired
| DTDImplied
| DTDFixed of string

type dtd_attr_type =
| DTDCData
| DTDNMToken
| DTDEnum of string list

type dtd_item =
| DTDAttribute of string * string * dtd_attr_type * dtd_attr_default
| DTDElement of string * dtd_element_type
type dtd = dtd_item list 
type checked 

The DTD Functions

val parse_file : string -> dtd
Parse the named file into a Dtd data structure. Raise Xml.File_not_found if an error occured while opening the file. Raise Dtd.Parse_error if parsing failed.
val parse_in : Pervasives.in_channel -> dtd
Read the content of the in_channel and parse it into a Dtd data structure. Raise Dtd.Parse_error if parsing failed.
val parse_string : string -> dtd
Parse the string containing a Dtd document into a Dtd data structure. Raise Dtd.Parse_error if parsing failed.
val check : dtd -> checked
Check the Dtd data structure declaration and return a checked DTD. Raise Dtd.Check_error if the DTD checking failed.
val prove : checked -> string -> Xml.xml -> Xml.xml
Prove an Xml document using a checked DTD and an entry point. The entry point is the first excepted tag of the Xml document, the returned Xml document has the same structure has the original one, excepted that non declared optional attributes have been set to their default value specified in the DTD. Raise Dtd.Check_error ElementNotDeclared if the entry point is not found, raise Dtd.Prove_error if the Xml document failed to be proved with the DTD.
val to_string : dtd_item -> string
Print a DTD element into a string. You can easily get a DTD document from a DTD data structure using for example String.concat "\n" (List.map Dtd.to_string) my_dtd

The DTD Exceptions


There is three types of DTD excecptions :
  • Dtd.Parse_error is raised when an error occured while parsing a DTD document into a DTD data structure.
  • Dtd.Check_error is raised when an error occured while checking a DTD data structure for completeness, or when the prove entry point is not found when calling Dtd.prove.
  • Dtd.Prove_error is raised when an error occured while proving an Xml document.

Several string conversion functions are provided to enable you to report errors to the user.

type parse_error_msg =
| InvalidDTDDecl
| InvalidDTDElement
| InvalidDTDAttribute
| InvalidDTDTag
| DTDItemExpected

type check_error =
| ElementDefinedTwice of string
| AttributeDefinedTwice of string * string
| ElementEmptyContructor of string
| ElementReferenced of string * string
| ElementNotDeclared of string

type prove_error =
| UnexpectedPCData
| UnexpectedTag of string
| UnexpectedAttribute of string
| InvalidAttributeValue of string
| RequiredAttribute of string
| ChildExpected of string
| EmptyExpected

type parse_error = parse_error_msg * Xml.error_pos 
exception Parse_error of parse_error
exception Check_error of check_error
exception Prove_error of prove_error
val parse_error : parse_error -> string
val check_error : check_error -> string
val prove_error : prove_error -> string
lablgtk-3.1.2/tools/introspection/xml-light/doc/Xml.html0000644000650106067230000003351414161276610022146 0ustar glondused Xml

Module Xml


module Xml: sig .. end
Xml Light

Xml Light is a minimal Xml parser & printer for OCaml. It provide few functions to parse a basic Xml document into an OCaml data structure and to print back the data structures to an Xml document.

Xml Light has also support for DTD (Document Type Definition).

(c)Copyright 2002-2003 Nicolas Cannasse



Xml Data Structure


type xml =
| Element of (string * (string * string) list * xml list)
| PCData of string
An Xml node is either Element (tag-name, attributes, children) or PCData text

Xml Parsing


For easily parsing an Xml data source into an xml data structure, you can use theses functions. But if you want advanced parsing usage, please look at the XmlParser module. All the parsing functions can raise some exceptions, see the Exceptions section for more informations.
val parse_file : string -> xml
Parse the named file into an Xml data structure.
val parse_in : Pervasives.in_channel -> xml
Read the content of the in_channel and parse it into an Xml data structure.
val parse_string : string -> xml
Parse the string containing an Xml document into an Xml data structure.

Xml Exceptions


Several exceptions can be raised when parsing an Xml document :
  • Xml.Error is raised when an xml parsing error occurs. the Xml.error_msg tells you which error occured during parsing and the Xml.error_pos can be used to retreive the document location where the error occured at.
  • Xml.File_not_found is raised when and error occured while opening a file with the Xml.parse_file function or when a DTD file declared by the Xml document is not found (see the XmlParser module for more informations on how to handle the DTD file loading).
If the Xml document is containing a DTD, then some other exceptions can be raised, see the module Dtd for more informations.
type error_pos 

type error_msg =
| UnterminatedComment
| UnterminatedString
| UnterminatedEntity
| IdentExpected
| CloseExpected
| NodeExpected
| AttributeNameExpected
| AttributeValueExpected
| EndOfTagExpected of string
| EOFExpected
type error = error_msg * error_pos 
exception Error of error
exception File_not_found of string
val error : error -> string
Get a full error message from an Xml error.
val error_msg : error_msg -> string
Get the Xml error message as a string.
val line : error_pos -> int
Get the line the error occured at.
val range : error_pos -> int * int
Get the relative character range (in current line) the error occured at.
val abs_range : error_pos -> int * int
Get the absolute character range the error occured at.

Xml Functions

exception Not_element of xml
exception Not_pcdata of xml
exception No_attribute of string
val tag : xml -> string
tag xdata returns the tag value of the xml node. Raise Xml.Not_element if the xml is not an element
val pcdata : xml -> string
pcdata xdata returns the PCData value of the xml node. Raise Xml.Not_pcdata if the xml is not a PCData
val attribs : xml -> (string * string) list
attribs xdata returns the attribute list of the xml node. First string if the attribute name, second string is attribute value. Raise Xml.Not_element if the xml is not an element
val attrib : xml -> string -> string
attrib xdata "href" returns the value of the "href" attribute of the xml node (attribute matching is case-insensitive). Raise Xml.No_attribute if the attribute does not exists in the node's attribute list Raise Xml.Not_element if the xml is not an element
val children : xml -> xml list
children xdata returns the children list of the xml node Raise Xml.Not_element if the xml is not an element
val iter : (xml -> unit) -> xml -> unit
iter f xdata calls f on all children of the xml node. Raise Xml.Not_element if the xml is not an element
val map : (xml -> 'a) -> xml -> 'a list
map f xdata is equivalent to List.map f (Xml.children xdata) Raise Xml.Not_element if the xml is not an element
val fold : ('a -> xml -> 'a) -> 'a -> xml -> 'a
fold f init xdata is equivalent to List.fold_left f init (Xml.children xdata) Raise Xml.Not_element if the xml is not an element

Xml Printing

val to_string : xml -> string
Print the xml data structure into a compact xml string (without any user-readable formating ).
val to_string_fmt : xml -> string
Print the xml data structure into an user-readable string with tabs and lines break between different nodes.
lablgtk-3.1.2/tools/introspection/xml-light/doc/XmlParser.html0000644000650106067230000001407514161276610023324 0ustar glondused XmlParser

Module XmlParser


module XmlParser: sig .. end
Xml Light Parser

While basic parsing functions can be used in the Xml module, this module is providing a way to create, configure and run an Xml parser.


type t 
Abstract type for an Xml parser.

type source =
| SFile of string
| SChannel of Pervasives.in_channel
| SString of string
| SLexbuf of Lexing.lexbuf
Several kind of resources can contain Xml documents.
val make : unit -> t
This function returns a new parser with default options.
val prove : t -> bool -> unit
This function enable or disable automatic DTD proving with the parser. Note that Xml documents having no reference to a DTD are never proved when parsed (but you can prove them later using the Dtd module (by default, prove is true).
val resolve : t -> (string -> Dtd.checked) -> unit
When parsing an Xml document from a file using the Xml.parse_file function, the DTD file if declared by the Xml document has to be in the same directory as the xml file. When using other parsing functions, such as on a string or on a channel, the parser will raise everytime Xml.File_not_found if a DTD file is needed and prove enabled. To enable the DTD loading of the file, the user have to configure the Xml parser with a resolve function which is taking as argument the DTD filename and is returning a checked DTD. The user can then implement any kind of DTD loading strategy, and can use the Dtd module functions to parse and check the DTD file (by default, the resolve function is raising Xml.File_not_found).
val check_eof : t -> bool -> unit
When a Xml document is parsed, the parser will check that the end of the document is reached, so for example parsing "<A/><B/>" will fail instead of returning only the A element. You can turn off this check by setting check_eof to false (by default, check_eof is true).
val parse : t -> source -> Xml.xml
Once the parser is configurated, you can run the parser on a any kind of xml document source to parse its contents into an Xml data structure.
val concat_pcdata : t -> bool -> unit
When several PCData elements are separed by a \n (or \r\n), you can either split the PCData in two distincts PCData or merge them with \n as seperator into one PCData. The default behavior is to concat the PCData, but this can be changed for a given parser with this flag.
lablgtk-3.1.2/tools/introspection/xml-light/doc/index.html0000644000650106067230000000244614161276610022515 0ustar glondused

Index of types
Index of exceptions
Index of values
Index of modules


Dtd
Xml Light DTD
Xml
Xml Light
XmlParser
Xml Light Parser
lablgtk-3.1.2/tools/introspection/xml-light/doc/index_attributes.html0000644000650106067230000000137714161276610024765 0ustar glondused Index of class attributes

Index of class attributes


lablgtk-3.1.2/tools/introspection/xml-light/doc/index_class_types.html0000644000650106067230000000136514161276610025125 0ustar glondused Index of class types

Index of class types


lablgtk-3.1.2/tools/introspection/xml-light/doc/index_classes.html0000644000650106067230000000135514161276610024230 0ustar glondused Index of classes

Index of classes


lablgtk-3.1.2/tools/introspection/xml-light/doc/index_exceptions.html0000644000650106067230000000345614161276610024760 0ustar glondused Index of exceptions

Index of exceptions


C
Check_error [Dtd]

E
Error [Xml]

F
File_not_found [Xml]

N
No_attribute [Xml]
Not_element [Xml]
Not_pcdata [Xml]

P
Parse_error [Dtd]
Prove_error [Dtd]

lablgtk-3.1.2/tools/introspection/xml-light/doc/index_methods.html0000644000650106067230000000137114161276610024234 0ustar glondused Index of class methods

Index of class methods


lablgtk-3.1.2/tools/introspection/xml-light/doc/index_module_types.html0000644000650106067230000000136714161276610025307 0ustar glondused Index of module types

Index of module types


lablgtk-3.1.2/tools/introspection/xml-light/doc/index_modules.html0000644000650106067230000000214514161276610024241 0ustar glondused Index of modules

Index of modules


D
Dtd
Xml Light DTD

X
Xml
Xml Light
XmlParser
Xml Light Parser

lablgtk-3.1.2/tools/introspection/xml-light/doc/index_types.html0000644000650106067230000000604014161276610023733 0ustar glondused Index of types

Index of types


C
check_error [Dtd]
checked [Dtd]

D
dtd [Dtd]
dtd_attr_default [Dtd]
dtd_attr_type [Dtd]
dtd_child [Dtd]
dtd_element_type [Dtd]
dtd_item [Dtd]

E
error [Xml]
error_msg [Xml]
error_pos [Xml]

P
parse_error [Dtd]
parse_error_msg [Dtd]
prove_error [Dtd]

S
source [XmlParser]
Several kind of resources can contain Xml documents.

T
t [XmlParser]
Abstract type for an Xml parser.

X
xml [Xml]
An Xml node is either Element (tag-name, attributes, children) or PCData text

lablgtk-3.1.2/tools/introspection/xml-light/doc/index_values.html0000644000650106067230000002034614161276610024073 0ustar glondused Index of values

Index of values


A
abs_range [Xml]
Get the absolute character range the error occured at.
attrib [Xml]
attrib xdata "href" returns the value of the "href" attribute of the xml node (attribute matching is case-insensitive).
attribs [Xml]
attribs xdata returns the attribute list of the xml node.

C
check [Dtd]
Check the Dtd data structure declaration and return a checked DTD.
check_eof [XmlParser]
When a Xml document is parsed, the parser will check that the end of the document is reached, so for example parsing "<A/><B/>" will fail instead of returning only the A element.
check_error [Dtd]
children [Xml]
children xdata returns the children list of the xml node Raise Xml.Not_element if the xml is not an element
concat_pcdata [XmlParser]
When several PCData elements are separed by a \n (or \r\n), you can either split the PCData in two distincts PCData or merge them with \n as seperator into one PCData.

E
error [Xml]
Get a full error message from an Xml error.
error_msg [Xml]
Get the Xml error message as a string.

F
fold [Xml]
fold f init xdata is equivalent to List.fold_left f init (Xml.children xdata) Raise Xml.Not_element if the xml is not an element

I
iter [Xml]
iter f xdata calls f on all children of the xml node.

L
line [Xml]
Get the line the error occured at.

M
make [XmlParser]
This function returns a new parser with default options.
map [Xml]
map f xdata is equivalent to List.map f (Xml.children xdata) Raise Xml.Not_element if the xml is not an element

P
parse [XmlParser]
Once the parser is configurated, you can run the parser on a any kind of xml document source to parse its contents into an Xml data structure.
parse_error [Dtd]
parse_file [Xml]
Parse the named file into an Xml data structure.
parse_file [Dtd]
Parse the named file into a Dtd data structure.
parse_in [Xml]
Read the content of the in_channel and parse it into an Xml data structure.
parse_in [Dtd]
Read the content of the in_channel and parse it into a Dtd data structure.
parse_string [Xml]
Parse the string containing an Xml document into an Xml data structure.
parse_string [Dtd]
Parse the string containing a Dtd document into a Dtd data structure.
pcdata [Xml]
pcdata xdata returns the PCData value of the xml node.
prove [XmlParser]
This function enable or disable automatic DTD proving with the parser.
prove [Dtd]
Prove an Xml document using a checked DTD and an entry point.
prove_error [Dtd]

R
range [Xml]
Get the relative character range (in current line) the error occured at.
resolve [XmlParser]
When parsing an Xml document from a file using the Xml.parse_file function, the DTD file if declared by the Xml document has to be in the same directory as the xml file.

T
tag [Xml]
tag xdata returns the tag value of the xml node.
to_string [Xml]
Print the xml data structure into a compact xml string (without any user-readable formating ).
to_string [Dtd]
Print a DTD element into a string.
to_string_fmt [Xml]
Print the xml data structure into an user-readable string with tabs and lines break between different nodes.

lablgtk-3.1.2/tools/introspection/xml-light/doc/style.css0000644000650106067230000000433114161276610022365 0ustar glonduseda:visited {color : #416DFF; text-decoration : none; } a:link {color : #416DFF; text-decoration : none;} a:hover {color : Red; text-decoration : none; background-color: #5FFF88} a:active {color : Red; text-decoration : underline; } .keyword { font-weight : bold ; color : Red } .keywordsign { color : #C04600 } .superscript { font-size : 4 } .subscript { font-size : 4 } .comment { color : Green } .constructor { color : Blue } .type { color : #5C6585 } .string { color : Maroon } .warning { color : Red ; font-weight : bold } .info { margin-left : 3em; margin-right : 3em } .param_info { margin-top: 4px; margin-left : 3em; margin-right : 3em } .code { color : #465F91 ; } h1 { font-size : 20pt ; text-align: center; } h2 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #90BDFF ;padding: 2px; } h3 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #90DDFF ;padding: 2px; } h4 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #90EDFF ;padding: 2px; } h5 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #90FDFF ;padding: 2px; } h6 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #C0FFFF ; padding: 2px; } div.h7 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #E0FFFF ; padding: 2px; } div.h8 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #F0FFFF ; padding: 2px; } div.h9 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #FFFFFF ; padding: 2px; } .typetable { border-style : hidden } .indextable { border-style : hidden } .paramstable { border-style : hidden ; padding: 5pt 5pt} body { background-color : White } tr { background-color : White } td.typefieldcomment { background-color : #FFFFFF ; font-size: smaller ;} pre { margin-bottom: 4px } div.sig_block {margin-left: 2em}lablgtk-3.1.2/tools/introspection/xml-light/doc/type_Dtd.html0000644000650106067230000002306714161276610023164 0ustar glondused Dtd sig
  type dtd_child =
      DTDTag of string
    | DTDPCData
    | DTDOptional of Dtd.dtd_child
    | DTDZeroOrMore of Dtd.dtd_child
    | DTDOneOrMore of Dtd.dtd_child
    | DTDChoice of Dtd.dtd_child list
    | DTDChildren of Dtd.dtd_child list
  type dtd_element_type = DTDEmpty | DTDAny | DTDChild of Dtd.dtd_child
  type dtd_attr_default =
      DTDDefault of string
    | DTDRequired
    | DTDImplied
    | DTDFixed of string
  type dtd_attr_type = DTDCData | DTDNMToken | DTDEnum of string list
  type dtd_item =
      DTDAttribute of string * string * Dtd.dtd_attr_type *
        Dtd.dtd_attr_default
    | DTDElement of string * Dtd.dtd_element_type
  type dtd = Dtd.dtd_item list
  type checked
  val parse_file : string -> Dtd.dtd
  val parse_in : Pervasives.in_channel -> Dtd.dtd
  val parse_string : string -> Dtd.dtd
  val check : Dtd.dtd -> Dtd.checked
  val prove : Dtd.checked -> string -> Xml.xml -> Xml.xml
  val to_string : Dtd.dtd_item -> string
  type parse_error_msg =
      InvalidDTDDecl
    | InvalidDTDElement
    | InvalidDTDAttribute
    | InvalidDTDTag
    | DTDItemExpected
  type check_error =
      ElementDefinedTwice of string
    | AttributeDefinedTwice of string * string
    | ElementEmptyContructor of string
    | ElementReferenced of string * string
    | ElementNotDeclared of string
  type prove_error =
      UnexpectedPCData
    | UnexpectedTag of string
    | UnexpectedAttribute of string
    | InvalidAttributeValue of string
    | RequiredAttribute of string
    | ChildExpected of string
    | EmptyExpected
  type parse_error = Dtd.parse_error_msg * Xml.error_pos
  exception Parse_error of Dtd.parse_error
  exception Check_error of Dtd.check_error
  exception Prove_error of Dtd.prove_error
  val parse_error : Dtd.parse_error -> string
  val check_error : Dtd.check_error -> string
  val prove_error : Dtd.prove_error -> string
  val _raises : (string -> exn) -> unit
end
lablgtk-3.1.2/tools/introspection/xml-light/doc/type_Xml.html0000644000650106067230000001676114161276610023214 0ustar glondused Xml sig
  type xml =
      Element of (string * (string * string) list * Xml.xml list)
    | PCData of string
  val parse_file : string -> Xml.xml
  val parse_in : Pervasives.in_channel -> Xml.xml
  val parse_string : string -> Xml.xml
  type error_pos
  type error_msg =
      UnterminatedComment
    | UnterminatedString
    | UnterminatedEntity
    | IdentExpected
    | CloseExpected
    | NodeExpected
    | AttributeNameExpected
    | AttributeValueExpected
    | EndOfTagExpected of string
    | EOFExpected
  type error = Xml.error_msg * Xml.error_pos
  exception Error of Xml.error
  exception File_not_found of string
  val error : Xml.error -> string
  val error_msg : Xml.error_msg -> string
  val line : Xml.error_pos -> int
  val range : Xml.error_pos -> int * int
  val abs_range : Xml.error_pos -> int * int
  exception Not_element of Xml.xml
  exception Not_pcdata of Xml.xml
  exception No_attribute of string
  val tag : Xml.xml -> string
  val pcdata : Xml.xml -> string
  val attribs : Xml.xml -> (string * string) list
  val attrib : Xml.xml -> string -> string
  val children : Xml.xml -> Xml.xml list
  val iter : (Xml.xml -> unit) -> Xml.xml -> unit
  val map : (Xml.xml -> 'a) -> Xml.xml -> 'a list
  val fold : ('-> Xml.xml -> 'a) -> '-> Xml.xml -> 'a
  val to_string : Xml.xml -> string
  val to_string_fmt : Xml.xml -> string
end
lablgtk-3.1.2/tools/introspection/xml-light/doc/type_XmlParser.html0000644000650106067230000000734414161276610024366 0ustar glondused XmlParser sig
  type t
  type source =
      SFile of string
    | SChannel of Pervasives.in_channel
    | SString of string
    | SLexbuf of Lexing.lexbuf
  val make : unit -> XmlParser.t
  val prove : XmlParser.t -> bool -> unit
  val resolve : XmlParser.t -> (string -> Dtd.checked) -> unit
  val check_eof : XmlParser.t -> bool -> unit
  val parse : XmlParser.t -> XmlParser.source -> Xml.xml
  val concat_pcdata : XmlParser.t -> bool -> unit
  val _raises :
    (Xml.error_msg -> Lexing.lexbuf -> exn) ->
    (string -> exn) -> (Dtd.parse_error_msg -> Lexing.lexbuf -> exn) -> unit
end
lablgtk-3.1.2/tools/introspection/xml-light/dtd.ml0000644000650106067230000003533614161276610021064 0ustar glondused(* * Xml Light, an small Xml parser/printer with DTD support. * Copyright (C) 2003 Nicolas Cannasse (ncannasse@motion-twin.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *) open Xml open Printf type parse_error_msg = | InvalidDTDDecl | InvalidDTDElement | InvalidDTDAttribute | InvalidDTDTag | DTDItemExpected type check_error = | ElementDefinedTwice of string | AttributeDefinedTwice of string * string | ElementEmptyContructor of string | ElementReferenced of string * string | ElementNotDeclared of string type prove_error = | UnexpectedPCData | UnexpectedTag of string | UnexpectedAttribute of string | InvalidAttributeValue of string | RequiredAttribute of string | ChildExpected of string | EmptyExpected type dtd_child = | DTDTag of string | DTDPCData | DTDOptional of dtd_child | DTDZeroOrMore of dtd_child | DTDOneOrMore of dtd_child | DTDChoice of dtd_child list | DTDChildren of dtd_child list type dtd_element_type = | DTDEmpty | DTDAny | DTDChild of dtd_child type dtd_attr_default = | DTDDefault of string | DTDRequired | DTDImplied | DTDFixed of string type dtd_attr_type = | DTDCData | DTDNMToken | DTDEnum of string list type dtd_item = | DTDAttribute of string * string * dtd_attr_type * dtd_attr_default | DTDElement of string * dtd_element_type type dtd_result = | DTDNext | DTDNotMatched | DTDMatched | DTDMatchedResult of dtd_child type error_pos = { eline : int; eline_start : int; emin : int; emax : int; } type parse_error = parse_error_msg * Xml.error_pos exception Parse_error of parse_error exception Check_error of check_error exception Prove_error of prove_error type dtd = dtd_item list type ('a,'b) hash = ('a,'b) Hashtbl.t type checked = { c_elements : (string,dtd_element_type) hash; c_attribs : (string,(string,(dtd_attr_type * dtd_attr_default)) hash) hash; } type dtd_state = { elements : (string,dtd_element_type) hash; attribs : (string,(string,(dtd_attr_type * dtd_attr_default)) hash) hash; mutable current : dtd_element_type; mutable curtag : string; state : (string * dtd_element_type) Stack.t; } let file_not_found = ref (fun _ -> assert false) let _raises e = file_not_found := e let empty_hash = Hashtbl.create 0 let pos source = let line, lstart, min, max = Xml_lexer.pos source in (Obj.magic { eline = line; eline_start = lstart; emin = min; emax = max; } : Xml.error_pos) let convert = function | Xml_lexer.EInvalidDTDDecl -> InvalidDTDDecl | Xml_lexer.EInvalidDTDElement -> InvalidDTDElement | Xml_lexer.EInvalidDTDTag -> InvalidDTDTag | Xml_lexer.EDTDItemExpected -> DTDItemExpected | Xml_lexer.EInvalidDTDAttribute -> InvalidDTDAttribute let parse source = try Xml_lexer.init source; (* local cast Dtd.dtd -> dtd *) let dtd = (Obj.magic Xml_lexer.dtd source : dtd) in Xml_lexer.close source; dtd with | Xml_lexer.DTDError e -> Xml_lexer.close source; raise (Parse_error (convert e,pos source)) let parse_string s = parse (Lexing.from_string s) let parse_in ch = parse (Lexing.from_channel ch) let parse_file fname = let ch = (try open_in fname with Sys_error _ -> raise (!file_not_found fname)) in try let x = parse (Lexing.from_channel ch) in close_in ch; x with e -> close_in ch; raise e let check dtd = let attribs = Hashtbl.create 0 in let hdone = Hashtbl.create 0 in let htodo = Hashtbl.create 0 in let ftodo tag from = try ignore(Hashtbl.find hdone tag); with Not_found -> try match Hashtbl.find htodo tag with | None -> Hashtbl.replace htodo tag from | Some _ -> () with Not_found -> Hashtbl.add htodo tag from in let fdone tag edata = try ignore(Hashtbl.find hdone tag); raise (Check_error (ElementDefinedTwice tag)); with Not_found -> Hashtbl.remove htodo tag; Hashtbl.add hdone tag edata in let fattrib tag aname adata = let h = (try Hashtbl.find attribs tag with Not_found -> let h = Hashtbl.create 1 in Hashtbl.add attribs tag h; h) in try ignore(Hashtbl.find h aname); raise (Check_error (AttributeDefinedTwice (tag,aname))); with Not_found -> Hashtbl.add h aname adata in let check_item = function | DTDAttribute (tag,aname,atype,adef) -> let utag = String.uppercase_ascii tag in ftodo utag None; fattrib utag (String.uppercase_ascii aname) (atype,adef) | DTDElement (tag,etype) -> let utag = String.uppercase_ascii tag in fdone utag etype; let check_type = function | DTDEmpty -> () | DTDAny -> () | DTDChild x -> let rec check_child = function | DTDTag s -> ftodo (String.uppercase_ascii s) (Some utag) | DTDPCData -> () | DTDOptional c | DTDZeroOrMore c | DTDOneOrMore c -> check_child c | DTDChoice [] | DTDChildren [] -> raise (Check_error (ElementEmptyContructor tag)) | DTDChoice l | DTDChildren l -> List.iter check_child l in check_child x in check_type etype in List.iter check_item dtd; Hashtbl.iter (fun t from -> match from with | None -> raise (Check_error (ElementNotDeclared t)) | Some tag -> raise (Check_error (ElementReferenced (t,tag))) ) htodo; { c_elements = hdone; c_attribs = attribs; } let start_prove dtd root = let d = { elements = dtd.c_elements; attribs = dtd.c_attribs; state = Stack.create(); current = DTDChild (DTDTag root); curtag = "_root"; } in try ignore(Hashtbl.find d.elements (String.uppercase_ascii root)); d with Not_found -> raise (Check_error (ElementNotDeclared root)) (* - for debug only - *) let to_string_ref = ref (fun _ -> assert false) let trace dtd tag = let item = DTDElement ("current",dtd.current) in printf "%s : %s\n" (match tag with None -> "#PCDATA" | Some t -> t) (!to_string_ref item) exception TmpResult of dtd_result let prove_child dtd tag = trace dtd tag; match dtd.current with | DTDEmpty -> raise (Prove_error EmptyExpected) | DTDAny -> () | DTDChild elt -> let rec update = function | DTDTag s -> (match tag with | None -> DTDNotMatched | Some t when t = String.uppercase_ascii s -> DTDMatched | Some _ -> DTDNotMatched) | DTDPCData -> (match tag with | None -> DTDMatched | Some _ -> DTDNotMatched) | DTDOptional x -> (match update x with | DTDNotMatched | DTDNext -> DTDNext | DTDMatched | DTDMatchedResult _ -> DTDMatched) | DTDZeroOrMore x -> (match update x with | DTDNotMatched | DTDNext -> DTDNext | DTDMatched | DTDMatchedResult _ -> DTDMatchedResult (DTDZeroOrMore x)) | DTDOneOrMore x -> (match update x with | DTDNotMatched | DTDNext -> DTDNotMatched | DTDMatched | DTDMatchedResult _ -> DTDMatchedResult (DTDZeroOrMore x)) | DTDChoice l -> (try (match List.exists (fun x -> match update x with | DTDMatched -> true | DTDMatchedResult _ as r -> raise (TmpResult r) | DTDNext | DTDNotMatched -> false) l with | true -> DTDMatched | false -> DTDNotMatched) with TmpResult r -> r) | DTDChildren [] -> assert false (* DTD is checked ! *) | DTDChildren (h :: t) -> (match update h with | DTDNext -> (match t with | [] -> DTDNotMatched | _ -> update (DTDChildren t)) | DTDNotMatched -> DTDNotMatched | DTDMatchedResult r -> DTDMatchedResult (DTDChildren (r::t)) | DTDMatched -> match t with | [] -> DTDMatched | _ -> DTDMatchedResult (DTDChildren t)) in match update elt with | DTDNext | DTDNotMatched -> (match tag with | None -> raise (Prove_error UnexpectedPCData) | Some t -> raise (Prove_error (UnexpectedTag t))) | DTDMatched -> dtd.current <- DTDEmpty | DTDMatchedResult r -> dtd.current <- DTDChild r let is_nmtoken_char = function | 'A'..'Z' | 'a'..'z' | '0'..'9' | '.' | '-' | '_' | ':' -> true | _ -> false let prove_attrib dtd attr aname (atype,adef) accu = let aval = (try Some (List.assoc aname attr) with Not_found -> None) in (match atype, aval with | DTDCData, _ -> () | DTDNMToken, None -> () | DTDNMToken, Some v -> for i = 0 to String.length v - 1 do if not (is_nmtoken_char v.[i]) then raise (Prove_error (InvalidAttributeValue aname)); done | DTDEnum l, None -> () | DTDEnum l, Some v -> if not (List.exists ((=) v) l) then raise (Prove_error (InvalidAttributeValue aname))); match adef, aval with | DTDRequired, None -> raise (Prove_error (RequiredAttribute aname)) | DTDFixed v, Some av when v <> av -> raise (Prove_error (InvalidAttributeValue aname)) | DTDImplied, None -> accu | DTDFixed v , None | DTDDefault _, Some v | DTDDefault v, None | DTDRequired, Some v | DTDImplied, Some v | DTDFixed _, Some v -> (aname,v) :: accu let check_attrib ahash (aname,_) = try ignore(Hashtbl.find ahash aname); with Not_found -> raise (Prove_error (UnexpectedAttribute aname)) let rec do_prove dtd = function | PCData s -> prove_child dtd None; PCData s | Element (tag,attr,childs) -> let utag = String.uppercase_ascii tag in let uattr = List.map (fun (aname,aval) -> String.uppercase_ascii aname , aval) attr in prove_child dtd (Some utag); Stack.push (dtd.curtag,dtd.current) dtd.state; let elt = (try Hashtbl.find dtd.elements utag with Not_found -> raise (Prove_error (UnexpectedTag tag))) in let ahash = (try Hashtbl.find dtd.attribs utag with Not_found -> empty_hash) in dtd.curtag <- tag; dtd.current <- elt; List.iter (check_attrib ahash) uattr; let attr = Hashtbl.fold (prove_attrib dtd uattr) ahash [] in let childs = ref (List.map (do_prove dtd) childs) in (match dtd.current with | DTDAny | DTDEmpty -> () | DTDChild elt -> let name = ref "" in let rec check = function | DTDTag t -> name := t; false | DTDPCData when !childs = [] -> childs := [PCData ""]; true | DTDPCData -> name := "#PCDATA"; false | DTDOptional _ -> true | DTDZeroOrMore _ -> true | DTDOneOrMore e -> ignore(check e); false | DTDChoice l -> List.exists check l | DTDChildren l -> List.for_all check l in match check elt with | true -> () | false -> raise (Prove_error (ChildExpected !name))); let ctag, cur = Stack.pop dtd.state in dtd.curtag <- tag; dtd.current <- cur; Element (tag,attr,!childs) let prove dtd root xml = do_prove (start_prove dtd root) xml let parse_error_msg = function | InvalidDTDDecl -> "Invalid DOCTYPE declaration" | InvalidDTDElement -> "Invalid DTD element declaration" | InvalidDTDAttribute -> "Invalid DTD attribute declaration" | InvalidDTDTag -> "Invalid DTD tag" | DTDItemExpected -> "DTD item expected" let parse_error (msg,pos) = let pos = (Obj.magic pos : error_pos) in if pos.emin = pos.emax then sprintf "%s line %d character %d" (parse_error_msg msg) pos.eline (pos.emin - pos.eline_start) else sprintf "%s line %d characters %d-%d" (parse_error_msg msg) pos.eline (pos.emin - pos.eline_start) (pos.emax - pos.eline_start) let check_error = function | ElementDefinedTwice tag -> sprintf "Element '%s' defined twice" tag | AttributeDefinedTwice (tag,aname) -> sprintf "Attribute '%s' of element '%s' defined twice" aname tag | ElementEmptyContructor tag -> sprintf "Element '%s' has empty constructor" tag | ElementReferenced (tag,from) -> sprintf "Element '%s' referenced by '%s' is not declared" tag from | ElementNotDeclared tag -> sprintf "Element '%s' needed but is not declared" tag let prove_error = function | UnexpectedPCData -> "Unexpected PCData" | UnexpectedTag tag -> sprintf "Unexpected tag : '%s'" tag | UnexpectedAttribute att -> sprintf "Unexpected attribute : '%s'" att | InvalidAttributeValue att -> sprintf "Invalid attribute value for '%s'" att | RequiredAttribute att -> sprintf "Required attribute not found : '%s'" att | ChildExpected cname -> sprintf "Child expected : '%s'" cname | EmptyExpected -> "No more children expected" let to_string = function | DTDAttribute (tag,aname,atype,adef) -> let atype_to_string = function | DTDCData -> "CDATA" | DTDNMToken -> "NMTOKEN" | DTDEnum l -> sprintf "(%s)" (String.concat "|" l) in let adefault_to_string = function | DTDDefault s -> sprintf "\"%s\"" s | DTDRequired -> "#REQUIRED" | DTDImplied -> "#IMPLIED" | DTDFixed s -> sprintf "#FIXED \"%s\"" s in sprintf "" tag aname (atype_to_string atype) (adefault_to_string adef) | DTDElement (tag,etype) -> let rec echild_to_string = function | DTDTag s -> s | DTDPCData -> "#PCDATA" | DTDOptional c -> sprintf "%s?" (echild_to_string c) | DTDZeroOrMore c -> sprintf "%s*" (echild_to_string c) | DTDOneOrMore c -> sprintf "%s+" (echild_to_string c) | DTDChoice [c] -> echild_to_string c | DTDChoice l -> sprintf "(%s)" (String.concat "|" (List.map echild_to_string l)) | DTDChildren [c] -> echild_to_string c | DTDChildren l -> sprintf "(%s)" (String.concat "," (List.map echild_to_string l)) in let etype_to_string = function | DTDEmpty -> "EMPTY" | DTDAny -> "ANY" | DTDChild x -> let rec op_to_string = function | DTDOptional c -> sprintf "%s?" (op_to_string c) | DTDZeroOrMore c -> sprintf "%s*" (op_to_string c) | DTDOneOrMore c -> sprintf "%s+" (op_to_string c) | _ -> "" in let rec root = function | DTDOptional c | DTDZeroOrMore c | DTDOneOrMore c -> root c | DTDChoice [_] | DTDChildren [_] as x -> x, false | DTDChoice _ | DTDChildren _ as x -> x, true | x -> x, false in match root x with | r, true -> sprintf "%s%s" (echild_to_string r) (op_to_string x) | r, false -> sprintf "(%s%s)" (echild_to_string r) (op_to_string x) in sprintf "" tag (etype_to_string etype) ;; to_string_ref := to_string lablgtk-3.1.2/tools/introspection/xml-light/dtd.mli0000644000650106067230000001277614161276610021240 0ustar glondused(* * Xml Light, an small Xml parser/printer with DTD support. * Copyright (C) 2003 Nicolas Cannasse (ncannasse@motion-twin.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *) (** Xml Light DTD This module provide several functions to create, check, and use DTD to prove Xml documents : {ul {li using the DTD types, you can directly create your own DTD structure} {li the {!Dtd.check} function can then be used to check that all DTD states have been declared, that no attributes are declared twice, and so on.} {li the {!Dtd.prove} function can be used to check an {!Xml} data structure with a checked DTD. The function will return the expanded Xml document or raise an exception if the DTD proving fails.} } {i Note about ENTITIES:} While parsing Xml, PCDATA is always parsed and the Xml entities & > < ' " are replaced by their corresponding ASCII characters. For Xml attributes, theses can be put between either double or simple quotes, and the backslash character can be used to escape inner quotes. There is no support for CDATA Xml nodes or PCDATA attributes declarations in DTD, and no support for user-defined entities using the ENTITY DTD element. *) (** {6 The DTD Types} *) type dtd_child = | DTDTag of string | DTDPCData | DTDOptional of dtd_child | DTDZeroOrMore of dtd_child | DTDOneOrMore of dtd_child | DTDChoice of dtd_child list | DTDChildren of dtd_child list type dtd_element_type = | DTDEmpty | DTDAny | DTDChild of dtd_child type dtd_attr_default = | DTDDefault of string | DTDRequired | DTDImplied | DTDFixed of string type dtd_attr_type = | DTDCData | DTDNMToken | DTDEnum of string list type dtd_item = | DTDAttribute of string * string * dtd_attr_type * dtd_attr_default | DTDElement of string * dtd_element_type type dtd = dtd_item list type checked (** {6 The DTD Functions} *) (** Parse the named file into a Dtd data structure. Raise {!Xml.File_not_found} if an error occured while opening the file. Raise {!Dtd.Parse_error} if parsing failed. *) val parse_file : string -> dtd (** Read the content of the in_channel and parse it into a Dtd data structure. Raise {!Dtd.Parse_error} if parsing failed. *) val parse_in : in_channel -> dtd (** Parse the string containing a Dtd document into a Dtd data structure. Raise {!Dtd.Parse_error} if parsing failed. *) val parse_string : string -> dtd (** Check the Dtd data structure declaration and return a checked DTD. Raise {!Dtd.Check_error} if the DTD checking failed. *) val check : dtd -> checked (** Prove an Xml document using a checked DTD and an entry point. The entry point is the first excepted tag of the Xml document, the returned Xml document has the same structure has the original one, excepted that non declared optional attributes have been set to their default value specified in the DTD. Raise {!Dtd.Check_error} [ElementNotDeclared] if the entry point is not found, raise {!Dtd.Prove_error} if the Xml document failed to be proved with the DTD. *) val prove : checked -> string -> Xml.xml -> Xml.xml (** Print a DTD element into a string. You can easily get a DTD document from a DTD data structure using for example [String.concat "\n" (List.map Dtd.to_string) my_dtd] *) val to_string : dtd_item -> string (** {6 The DTD Exceptions} *) (** There is three types of DTD excecptions : {ul {li {!Dtd.Parse_error} is raised when an error occured while parsing a DTD document into a DTD data structure.} {li {!Dtd.Check_error} is raised when an error occured while checking a DTD data structure for completeness, or when the prove entry point is not found when calling {!Dtd.prove}.} {li {!Dtd.Prove_error} is raised when an error occured while proving an Xml document.} } Several string conversion functions are provided to enable you to report errors to the user. *) type parse_error_msg = | InvalidDTDDecl | InvalidDTDElement | InvalidDTDAttribute | InvalidDTDTag | DTDItemExpected type check_error = | ElementDefinedTwice of string | AttributeDefinedTwice of string * string | ElementEmptyContructor of string | ElementReferenced of string * string | ElementNotDeclared of string type prove_error = | UnexpectedPCData | UnexpectedTag of string | UnexpectedAttribute of string | InvalidAttributeValue of string | RequiredAttribute of string | ChildExpected of string | EmptyExpected type parse_error = parse_error_msg * Xml.error_pos exception Parse_error of parse_error exception Check_error of check_error exception Prove_error of prove_error val parse_error : parse_error -> string val check_error : check_error -> string val prove_error : prove_error -> string (**/**) (* internal usage only... *) val _raises : (string -> exn) -> unitlablgtk-3.1.2/tools/introspection/xml-light/test.ml0000644000650106067230000000353114161276610021260 0ustar glondused(* * Xml Light, an small Xml parser/printer with DTD support. * Copyright (C) 2003 Nicolas Cannasse (ncannasse@motion-twin.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *) open Xml open Dtd let parse data = match data.[0] with | '#' -> Xml.parse_file (String.sub data 1 ((String.length data)-2)) | _ -> Xml.parse_string data ;; let buf = ref "" in print_endline "Please enter some XML data followed (press return twice to parse) :"; try while true do match read_line() with | "" when !buf <> "" -> let data = !buf in buf := ""; (try let x = parse data in print_endline "Parsing..."; print_endline (Xml.to_string_fmt x); with | Xml.Error msg as e -> Printf.printf "Xml error : %s\n" (Xml.error msg) | Dtd.Parse_error msg as e -> Printf.printf "Dtd parse error : %s\n" (Dtd.parse_error msg) | Dtd.Check_error msg as e -> Printf.printf "Dtd check error : %s\n" (Dtd.check_error msg) | Dtd.Prove_error msg as e -> Printf.printf "Dtd prove error : %s\n" (Dtd.prove_error msg)) | s -> buf := !buf ^ s ^ "\n" done with End_of_file -> print_endline "Exit."lablgtk-3.1.2/tools/introspection/xml-light/xml.ml0000644000650106067230000001625214161276610021105 0ustar glondused(* * Xml Light, an small Xml parser/printer with DTD support. * Copyright (C) 2003 Nicolas Cannasse (ncannasse@motion-twin.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *) open Printf type xml = | Element of (string * (string * string) list * xml list) | PCData of string type error_pos = { eline : int; eline_start : int; emin : int; emax : int; } type error_msg = | UnterminatedComment | UnterminatedString | UnterminatedEntity | IdentExpected | CloseExpected | NodeExpected | AttributeNameExpected | AttributeValueExpected | EndOfTagExpected of string | EOFExpected type error = error_msg * error_pos exception Error of error exception File_not_found of string exception Not_element of xml exception Not_pcdata of xml exception No_attribute of string let default_parser = XmlParser.make() let pos source = let line, lstart, min, max = Xml_lexer.pos source in { eline = line; eline_start = lstart; emin = min; emax = max; } let parse (p:XmlParser.t) (source:XmlParser.source) = (* local cast Xml.xml -> xml *) (Obj.magic XmlParser.parse p source : xml) let parse_in ch = parse default_parser (XmlParser.SChannel ch) let parse_string str = parse default_parser (XmlParser.SString str) let parse_file f = let p = XmlParser.make() in let path = Filename.dirname f in XmlParser.resolve p (fun file -> let name = (match path with "." -> file | _ -> path ^ "/" ^ file) in Dtd.check (Dtd.parse_file name) ); parse p (XmlParser.SFile f) let error_msg = function | UnterminatedComment -> "Unterminated comment" | UnterminatedString -> "Unterminated string" | UnterminatedEntity -> "Unterminated entity" | IdentExpected -> "Ident expected" | CloseExpected -> "Element close expected" | NodeExpected -> "Xml node expected" | AttributeNameExpected -> "Attribute name expected" | AttributeValueExpected -> "Attribute value expected" | EndOfTagExpected tag -> sprintf "End of tag expected : '%s'" tag | EOFExpected -> "End of file expected" let error (msg,pos) = if pos.emin = pos.emax then sprintf "%s line %d character %d" (error_msg msg) pos.eline (pos.emin - pos.eline_start) else sprintf "%s line %d characters %d-%d" (error_msg msg) pos.eline (pos.emin - pos.eline_start) (pos.emax - pos.eline_start) let line e = e.eline let range e = e.emin - e.eline_start , e.emax - e.eline_start let abs_range e = e.emin , e.emax let tag = function | Element (tag,_,_) -> tag | x -> raise (Not_element x) let pcdata = function | PCData text -> text | x -> raise (Not_pcdata x) let attribs = function | Element (_,attr,_) -> attr | x -> raise (Not_element x) let attrib x att = match x with | Element (_,attr,_) -> (try let att = String.lowercase_ascii att in snd (List.find (fun (n,_) -> String.lowercase_ascii n = att) attr) with Not_found -> raise (No_attribute att)) | x -> raise (Not_element x) let children = function | Element (_,_,clist) -> clist | x -> raise (Not_element x) (*let enum = function | Element (_,_,clist) -> List.to_enum clist | x -> raise (Not_element x) *) let iter f = function | Element (_,_,clist) -> List.iter f clist | x -> raise (Not_element x) let map f = function | Element (_,_,clist) -> List.map f clist | x -> raise (Not_element x) let fold f v = function | Element (_,_,clist) -> List.fold_left f v clist | x -> raise (Not_element x) let tmp = Buffer.create 200 let buffer_pcdata text = let l = String.length text in for p = 0 to l-1 do match text.[p] with | '>' -> Buffer.add_string tmp ">" | '<' -> Buffer.add_string tmp "<" | '&' -> if p < l-1 && text.[p+1] = '#' then Buffer.add_char tmp '&' else Buffer.add_string tmp "&" | '\'' -> Buffer.add_string tmp "'" | '"' -> Buffer.add_string tmp """ | c -> Buffer.add_char tmp c done let buffer_attr (n,v) = Buffer.add_char tmp ' '; Buffer.add_string tmp n; Buffer.add_string tmp "=\""; let l = String.length v in for p = 0 to l-1 do match v.[p] with | '\\' -> Buffer.add_string tmp "\\\\" | '"' -> Buffer.add_string tmp "\\\"" | c -> Buffer.add_char tmp c done; Buffer.add_char tmp '"' let to_string x = let pcdata = ref false in let rec loop = function | Element (tag,alist,[]) -> Buffer.add_char tmp '<'; Buffer.add_string tmp tag; List.iter buffer_attr alist; Buffer.add_string tmp "/>"; pcdata := false; | Element (tag,alist,l) -> Buffer.add_char tmp '<'; Buffer.add_string tmp tag; List.iter buffer_attr alist; Buffer.add_char tmp '>'; pcdata := false; List.iter loop l; Buffer.add_string tmp "'; pcdata := false; | PCData text -> if !pcdata then Buffer.add_char tmp ' '; buffer_pcdata text; pcdata := true; in Buffer.reset tmp; loop x; let s = Buffer.contents tmp in Buffer.reset tmp; s let to_string_fmt x = let rec loop ?(newl=false) tab = function | Element (tag,alist,[]) -> Buffer.add_string tmp tab; Buffer.add_char tmp '<'; Buffer.add_string tmp tag; List.iter buffer_attr alist; Buffer.add_string tmp "/>"; if newl then Buffer.add_char tmp '\n'; | Element (tag,alist,[PCData text]) -> Buffer.add_string tmp tab; Buffer.add_char tmp '<'; Buffer.add_string tmp tag; List.iter buffer_attr alist; Buffer.add_string tmp ">"; buffer_pcdata text; Buffer.add_string tmp "'; if newl then Buffer.add_char tmp '\n'; | Element (tag,alist,l) -> Buffer.add_string tmp tab; Buffer.add_char tmp '<'; Buffer.add_string tmp tag; List.iter buffer_attr alist; Buffer.add_string tmp ">\n"; List.iter (loop ~newl:true (tab^" ")) l; Buffer.add_string tmp tab; Buffer.add_string tmp "'; if newl then Buffer.add_char tmp '\n'; | PCData text -> buffer_pcdata text; if newl then Buffer.add_char tmp '\n'; in Buffer.reset tmp; loop "" x; let s = Buffer.contents tmp in Buffer.reset tmp; s ;; XmlParser._raises (fun x p -> (* local cast : Xml.error_msg -> error_msg *) Error ((Obj.magic x : error_msg),pos p)) (fun f -> File_not_found f) (fun x p -> Dtd.Parse_error (x, (* local cast : Xml.error_pos -> error_pos *) (Obj.magic (pos p)))); Dtd._raises (fun f -> File_not_found f); lablgtk-3.1.2/tools/introspection/xml-light/xml.mli0000644000650106067230000001340414161276610021252 0ustar glondused(* * Xml Light, an small Xml parser/printer with DTD support. * Copyright (C) 2003 Nicolas Cannasse (ncannasse@motion-twin.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *) (** Xml Light Xml Light is a minimal Xml parser & printer for OCaml. It provide few functions to parse a basic Xml document into an OCaml data structure and to print back the data structures to an Xml document. Xml Light has also support for {b DTD} (Document Type Definition). {i (c)Copyright 2002-2003 Nicolas Cannasse} *) (** {6 Xml Data Structure} *) (** An Xml node is either [Element (tag-name, attributes, children)] or [PCData text] *) type xml = | Element of (string * (string * string) list * xml list) | PCData of string (** {6 Xml Parsing} *) (** For easily parsing an Xml data source into an xml data structure, you can use theses functions. But if you want advanced parsing usage, please look at the {!XmlParser} module. All the parsing functions can raise some exceptions, see the {{:#exc}Exceptions} section for more informations. *) (** Parse the named file into an Xml data structure. *) val parse_file : string -> xml (** Read the content of the in_channel and parse it into an Xml data structure. *) val parse_in : in_channel -> xml (** Parse the string containing an Xml document into an Xml data structure. *) val parse_string : string -> xml (** {6:exc Xml Exceptions} *) (** Several exceptions can be raised when parsing an Xml document : {ul {li {!Xml.Error} is raised when an xml parsing error occurs. the {!Xml.error_msg} tells you which error occured during parsing and the {!Xml.error_pos} can be used to retreive the document location where the error occured at.} {li {!Xml.File_not_found} is raised when and error occured while opening a file with the {!Xml.parse_file} function or when a DTD file declared by the Xml document is not found {i (see the {!XmlParser} module for more informations on how to handle the DTD file loading)}.} } If the Xml document is containing a DTD, then some other exceptions can be raised, see the module {!Dtd} for more informations. *) type error_pos type error_msg = | UnterminatedComment | UnterminatedString | UnterminatedEntity | IdentExpected | CloseExpected | NodeExpected | AttributeNameExpected | AttributeValueExpected | EndOfTagExpected of string | EOFExpected type error = error_msg * error_pos exception Error of error exception File_not_found of string (** Get a full error message from an Xml error. *) val error : error -> string (** Get the Xml error message as a string. *) val error_msg : error_msg -> string (** Get the line the error occured at. *) val line : error_pos -> int (** Get the relative character range (in current line) the error occured at.*) val range : error_pos -> int * int (** Get the absolute character range the error occured at. *) val abs_range : error_pos -> int * int (** {6 Xml Functions} *) exception Not_element of xml exception Not_pcdata of xml exception No_attribute of string (** [tag xdata] returns the tag value of the xml node. Raise {!Xml.Not_element} if the xml is not an element *) val tag : xml -> string (** [pcdata xdata] returns the PCData value of the xml node. Raise {!Xml.Not_pcdata} if the xml is not a PCData *) val pcdata : xml -> string (** [attribs xdata] returns the attribute list of the xml node. First string if the attribute name, second string is attribute value. Raise {!Xml.Not_element} if the xml is not an element *) val attribs : xml -> (string * string) list (** [attrib xdata "href"] returns the value of the ["href"] attribute of the xml node (attribute matching is case-insensitive). Raise {!Xml.No_attribute} if the attribute does not exists in the node's attribute list Raise {!Xml.Not_element} if the xml is not an element *) val attrib : xml -> string -> string (** [children xdata] returns the children list of the xml node Raise {!Xml.Not_element} if the xml is not an element *) val children : xml -> xml list (*** [enum xdata] returns the children enumeration of the xml node Raise {!Xml.Not_element} if the xml is not an element *) (* val enum : xml -> xml Enum.t *) (** [iter f xdata] calls f on all children of the xml node. Raise {!Xml.Not_element} if the xml is not an element *) val iter : (xml -> unit) -> xml -> unit (** [map f xdata] is equivalent to [List.map f (Xml.children xdata)] Raise {!Xml.Not_element} if the xml is not an element *) val map : (xml -> 'a) -> xml -> 'a list (** [fold f init xdata] is equivalent to [List.fold_left f init (Xml.children xdata)] Raise {!Xml.Not_element} if the xml is not an element *) val fold : ('a -> xml -> 'a) -> 'a -> xml -> 'a (** {6 Xml Printing} *) (** Print the xml data structure into a compact xml string (without any user-readable formating ). *) val to_string : xml -> string (** Print the xml data structure into an user-readable string with tabs and lines break between different nodes. *) val to_string_fmt : xml -> string lablgtk-3.1.2/tools/introspection/xml-light/xmlParser.ml0000644000650106067230000001214314161276610022255 0ustar glondused(* * Xml Light, an small Xml parser/printer with DTD support. * Copyright (C) 2003 Nicolas Cannasse (ncannasse@motion-twin.com) * Copyright (C) 2003 Jacques Garrigue * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *) open Printf open Dtd open Xml type t = { mutable prove : bool; mutable check_eof : bool; mutable concat_pcdata : bool; mutable resolve : (string -> checked); } type source = | SFile of string | SChannel of in_channel | SString of string | SLexbuf of Lexing.lexbuf type state = { source : Lexing.lexbuf; stack : Xml_lexer.token Stack.t; xparser : t; } exception Internal_error of Xml.error_msg exception NoMoreData let xml_error = ref (fun _ -> assert false) let dtd_error = ref (fun _ -> assert false) let file_not_found = ref (fun _ -> assert false) let _raises e f d = xml_error := e; file_not_found := f; dtd_error := d let make () = { prove = true; check_eof = true; concat_pcdata = true; resolve = (fun file -> raise (!file_not_found file)) } let prove p v = p.prove <- v let resolve p f = p.resolve <- f let check_eof p v = p.check_eof <- v let concat_pcdata p v = p.concat_pcdata <- v let pop s = try Stack.pop s.stack with Stack.Empty -> Xml_lexer.token s.source let push t s = Stack.push t s.stack let rec read_node s = match pop s with | Xml_lexer.PCData s -> PCData s | Xml_lexer.Tag (tag, attr, true) -> Element (tag, attr, []) | Xml_lexer.Tag (tag, attr, false) -> Element (tag, attr, read_elems ~tag s) | t -> push t s; raise NoMoreData and read_elems ?tag s = let elems = ref [] in (try while true do match s.xparser.concat_pcdata , read_node s , !elems with | true , PCData c , (PCData c2) :: q -> elems := PCData (sprintf "%s\n%s" c2 c) :: q | _ , x , l -> elems := x :: l done with NoMoreData -> ()); match pop s with | Xml_lexer.Endtag s when Some s = tag -> List.rev !elems | Xml_lexer.Eof when tag = None -> List.rev !elems | t -> match tag with | None -> raise (Internal_error EOFExpected) | Some s -> raise (Internal_error (EndOfTagExpected s)) let read_xml s = match s.xparser.prove, pop s with | true, Xml_lexer.DocType (root, Xml_lexer.DTDFile file) -> let pos = Xml_lexer.pos s.source in let dtd = s.xparser.resolve file in Xml_lexer.restore pos; let x = read_node s in Dtd.prove dtd root x | true, Xml_lexer.DocType (root, Xml_lexer.DTDData dtd) -> let dtd = Dtd.check dtd in let x = read_node s in Dtd.prove dtd root x | false, Xml_lexer.DocType _ -> read_node s | _, t -> push t s; read_node s let convert = function | Xml_lexer.EUnterminatedComment -> UnterminatedComment | Xml_lexer.EUnterminatedString -> UnterminatedString | Xml_lexer.EIdentExpected -> IdentExpected | Xml_lexer.ECloseExpected -> CloseExpected | Xml_lexer.ENodeExpected -> NodeExpected | Xml_lexer.EAttributeNameExpected -> AttributeNameExpected | Xml_lexer.EAttributeValueExpected -> AttributeValueExpected | Xml_lexer.EUnterminatedEntity -> UnterminatedEntity let dtd_convert = function | Xml_lexer.EInvalidDTDDecl -> InvalidDTDDecl | Xml_lexer.EInvalidDTDTag -> InvalidDTDTag | Xml_lexer.EDTDItemExpected -> DTDItemExpected | Xml_lexer.EInvalidDTDElement -> InvalidDTDElement | Xml_lexer.EInvalidDTDAttribute -> InvalidDTDAttribute let do_parse xparser source = try Xml_lexer.init source; let s = { source = source; xparser = xparser; stack = Stack.create(); } in let x = read_xml s in if xparser.check_eof && pop s <> Xml_lexer.Eof then raise (Internal_error EOFExpected); Xml_lexer.close source; x with | NoMoreData -> Xml_lexer.close source; raise (!xml_error NodeExpected source) | Internal_error e -> Xml_lexer.close source; raise (!xml_error e source) | Xml_lexer.Error e -> Xml_lexer.close source; raise (!xml_error (convert e) source) | Xml_lexer.DTDError e -> Xml_lexer.close source; raise (!dtd_error (dtd_convert e) source) let parse p = function | SChannel ch -> do_parse p (Lexing.from_channel ch) | SString str -> do_parse p (Lexing.from_string str) | SLexbuf lex -> do_parse p lex | SFile fname -> let ch = (try open_in fname with Sys_error _ -> raise (!file_not_found fname)) in try let x = do_parse p (Lexing.from_channel ch) in close_in ch; x with e -> close_in ch; raise e lablgtk-3.1.2/tools/introspection/xml-light/xmlParser.mli0000644000650106067230000000666714161276610022444 0ustar glondused(* * Xml Light, an small Xml parser/printer with DTD support. * Copyright (C) 2003 Nicolas Cannasse (ncannasse@motion-twin.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *) (** Xml Light Parser While basic parsing functions can be used in the {!Xml} module, this module is providing a way to create, configure and run an Xml parser. *) (** Abstract type for an Xml parser. *) type t (** Several kind of resources can contain Xml documents. *) type source = | SFile of string | SChannel of in_channel | SString of string | SLexbuf of Lexing.lexbuf (** This function returns a new parser with default options. *) val make : unit -> t (** This function enable or disable automatic DTD proving with the parser. Note that Xml documents having no reference to a DTD are never proved when parsed (but you can prove them later using the {!Dtd} module {i (by default, prove is true)}. *) val prove : t -> bool -> unit (** When parsing an Xml document from a file using the {!Xml.parse_file} function, the DTD file if declared by the Xml document has to be in the same directory as the xml file. When using other parsing functions, such as on a string or on a channel, the parser will raise everytime {!Xml.File_not_found} if a DTD file is needed and prove enabled. To enable the DTD loading of the file, the user have to configure the Xml parser with a [resolve] function which is taking as argument the DTD filename and is returning a checked DTD. The user can then implement any kind of DTD loading strategy, and can use the {!Dtd} module functions to parse and check the DTD file {i (by default, the resolve function is raising} {!Xml.File_not_found}). *) val resolve : t -> (string -> Dtd.checked) -> unit (** When a Xml document is parsed, the parser will check that the end of the document is reached, so for example parsing [""] will fail instead of returning only the A element. You can turn off this check by setting [check_eof] to [false] {i (by default, check_eof is true)}. *) val check_eof : t -> bool -> unit (** Once the parser is configurated, you can run the parser on a any kind of xml document source to parse its contents into an Xml data structure. *) val parse : t -> source -> Xml.xml (** When several PCData elements are separed by a \n (or \r\n), you can either split the PCData in two distincts PCData or merge them with \n as seperator into one PCData. The default behavior is to concat the PCData, but this can be changed for a given parser with this flag. *) val concat_pcdata : t -> bool -> unit (**/**) (* internal usage only... *) val _raises : (Xml.error_msg -> Lexing.lexbuf -> exn) -> (string -> exn) -> (Dtd.parse_error_msg -> Lexing.lexbuf -> exn) -> unitlablgtk-3.1.2/tools/introspection/xml-light/xml_lexer.mli0000644000650106067230000000330414161276610022447 0ustar glondused(* * Xml Light, an small Xml parser/printer with DTD support. * Copyright (C) 2003 Nicolas Cannasse (ncannasse@motion-twin.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *) type error = | EUnterminatedComment | EUnterminatedString | EIdentExpected | ECloseExpected | ENodeExpected | EAttributeNameExpected | EAttributeValueExpected | EUnterminatedEntity type dtd_error = | EInvalidDTDDecl | EInvalidDTDTag | EDTDItemExpected | EInvalidDTDElement | EInvalidDTDAttribute exception Error of error exception DTDError of dtd_error type dtd_decl = | DTDFile of string | DTDData of Dtd.dtd type token = | Tag of string * (string * string) list * bool | PCData of string | Endtag of string | DocType of (string * dtd_decl) | Eof type pos = int * int * int * int val init : Lexing.lexbuf -> unit val close : Lexing.lexbuf -> unit val token : Lexing.lexbuf -> token val dtd : Lexing.lexbuf -> Dtd.dtd val pos : Lexing.lexbuf -> pos val restore : pos -> unitlablgtk-3.1.2/tools/introspection/xml-light/xml_lexer.mll0000644000650106067230000003011314161276610022450 0ustar glondused{(* * Xml Light, an small Xml parser/printer with DTD support. * Copyright (C) 2003 Nicolas Cannasse (ncannasse@motion-twin.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *) open Lexing open Xml_parser open Dtd type error = | EUnterminatedComment | EUnterminatedString | EIdentExpected | ECloseExpected | ENodeExpected | EAttributeNameExpected | EAttributeValueExpected | EUnterminatedEntity type dtd_error = | EInvalidDTDDecl | EInvalidDTDTag | EDTDItemExpected | EInvalidDTDElement | EInvalidDTDAttribute exception Error of error exception DTDError of dtd_error type pos = int * int * int * int type dtd_decl = | DTDFile of string | DTDData of dtd type dtd_item_type = | TElement | TAttribute type token = | Tag of string * (string * string) list * bool | PCData of string | Endtag of string | DocType of (string * dtd_decl) | Eof let last_pos = ref 0 and current_line = ref 0 and current_line_start = ref 0 let tmp = Buffer.create 200 let idents = Hashtbl.create 0 let _ = begin Hashtbl.add idents "gt;" ">"; Hashtbl.add idents "lt;" "<"; Hashtbl.add idents "amp;" "&"; Hashtbl.add idents "apos;" "'"; Hashtbl.add idents "quot;" "\""; end let init lexbuf = current_line := 1; current_line_start := lexeme_start lexbuf; last_pos := !current_line_start let close lexbuf = Buffer.reset tmp let pos lexbuf = !current_line , !current_line_start , !last_pos , lexeme_start lexbuf let restore (cl,cls,lp,_) = current_line := cl; current_line_start := cls; last_pos := lp let newline lexbuf = incr current_line; last_pos := lexeme_end lexbuf; current_line_start := !last_pos let error lexbuf e = last_pos := lexeme_start lexbuf; raise (Error e) let dtd_error lexbuf e = last_pos := lexeme_start lexbuf; raise (DTDError e) } let newline = ['\n'] let break = ['\r'] let space = [' ' '\t'] let identchar = ['A'-'Z' 'a'-'z' '_' '0'-'9' ':' '-'] let entitychar = ['A'-'Z' 'a'-'z'] let pcchar = [^ '\r' '\n' '<' '>' '&'] rule token = parse | newline { newline lexbuf; token lexbuf } | (space | break) + { last_pos := lexeme_end lexbuf; token lexbuf } | "" { () } | eof { raise (Error EUnterminatedComment) } | _ { comment lexbuf } and header = parse | newline { newline lexbuf; header lexbuf } | "?>" { () } | eof { error lexbuf ECloseExpected } | _ { header lexbuf } and pcdata = parse | pcchar+ { Buffer.add_string tmp (lexeme lexbuf); pcdata lexbuf } | "&#" { Buffer.add_string tmp (lexeme lexbuf); pcdata lexbuf; } | '&' { Buffer.add_string tmp (entity lexbuf); pcdata lexbuf } | "" { Buffer.contents tmp } and entity = parse | entitychar+ ';' { let ident = lexeme lexbuf in try Hashtbl.find idents (String.lowercase_ascii ident) with Not_found -> "&" ^ ident } | _ | eof { raise (Error EUnterminatedEntity) } and ident_name = parse | identchar+ { lexeme lexbuf } | _ | eof { error lexbuf EIdentExpected } and close_tag = parse | '>' { () } | _ | eof { error lexbuf ECloseExpected } and attributes = parse | '>' { [], false } | "/>" { [], true } | "" (* do not read a char ! *) { let key = attribute lexbuf in let data = attribute_data lexbuf in ignore_spaces lexbuf; let others, closed = attributes lexbuf in (key, data) :: others, closed } and attribute = parse | identchar+ { lexeme lexbuf } | _ | eof { error lexbuf EAttributeNameExpected } and attribute_data = parse | space* '=' space* '"' { Buffer.reset tmp; last_pos := lexeme_end lexbuf; dq_string lexbuf } | space* '=' space* '\'' { Buffer.reset tmp; last_pos := lexeme_end lexbuf; q_string lexbuf } | _ | eof { error lexbuf EAttributeValueExpected } and dq_string = parse | '"' { Buffer.contents tmp } (* | '\\' [ '"' '\\' ] { Buffer.add_char tmp (lexeme_char lexbuf 1); dq_string lexbuf } *) | eof { raise (Error EUnterminatedString) } | _ { Buffer.add_char tmp (lexeme_char lexbuf 0); dq_string lexbuf } and q_string = parse | '\'' { Buffer.contents tmp } (* | '\\' [ '\'' '\\' ] { Buffer.add_char tmp (lexeme_char lexbuf 1); q_string lexbuf } *) | eof { raise (Error EUnterminatedString) } | _ { Buffer.add_char tmp (lexeme_char lexbuf 0); q_string lexbuf } and dtd_data = parse | "PUBLIC" { ignore_spaces lexbuf; (* skipping Public ID *) let _ = dtd_file lexbuf in let file = dtd_file lexbuf in dtd_end_decl lexbuf; DTDFile file } | "SYSTEM" { ignore_spaces lexbuf; let file = dtd_file lexbuf in dtd_end_decl lexbuf; DTDFile file } | '[' { ignore_spaces lexbuf; let data = dtd_intern lexbuf in dtd_end_decl lexbuf; DTDData data } | _ | eof { dtd_error lexbuf EInvalidDTDDecl } and dtd_file = parse | '"' { Buffer.reset tmp; let s = dq_string lexbuf in ignore_spaces lexbuf; s } | '\'' { Buffer.reset tmp; let s = q_string lexbuf in ignore_spaces lexbuf; s } | _ | eof { dtd_error lexbuf EInvalidDTDDecl } and dtd_intern = parse | ']' { ignore_spaces lexbuf; [] } | "" { let l = dtd_item lexbuf in l @ (dtd_intern lexbuf) } and dtd = parse | eof { [] } | newline { newline lexbuf; dtd lexbuf } | (space | break)+ { dtd lexbuf } | "" { let l = dtd_item lexbuf in l @ (dtd lexbuf) } and dtd_end_decl = parse | '>' { ignore_spaces lexbuf } | _ | eof { dtd_error lexbuf EInvalidDTDDecl } and dtd_item = parse | "