seed-3.0.0/0000755000175000017500000000000011545510404007432 500000000000000seed-3.0.0/doc/0000755000175000017500000000000011545510403010176 500000000000000seed-3.0.0/doc/index.html.in0000644000175000017500000002177211531036061012527 00000000000000 Seed Documentation
v.@VERSION@
Tutorial

There is a (very) introductory tutorial to Seed, covering the creation of a small GTK+ WebKit browser, here.

Mapping

There is a document covering at a broad level, how things in a namespace are mapped to Seed when importing, here.

Reference Manual

The C API, some of the modules, and a small (but expanding) portion of the runtime API is documented here.

Runtime

Documentation on the Seed builtins and runtime is here.

Examples

Seed has a wide variety of examples in git. A partial index of some of the more useful examples is below:

Large Examples

Small Examples

Native Modules

Seed has several C extension modules, to bind libraries not available from GObject-introspection.

readline, sqlite, GtkBuilder, and sandbox

Documented in the main manual (html pdf)

canvas

A reimplementation of HTML5 canvas, with some Cairo integration. Documented here

os

A module similar (nearly identical) to python's os module. Not yet documented, python os module documentation is useful.

dbus

A module which allows usage of DBus. Not yet documented, but see the dbus-banshee or dbus-consolekit examples.

libxml

A module which allows basic usage of libxml. Not yet documented, or complete, however very similar to the libxml2 python module.

seed-3.0.0/doc/modules/0000755000175000017500000000000011545510403011646 500000000000000seed-3.0.0/doc/modules/canvas/0000755000175000017500000000000011545510403013121 500000000000000seed-3.0.0/doc/modules/canvas/canvas.html.in0000644000175000017500000000372111531036061015610 00000000000000 Seed canvas Module Documentation
v.@VERSION@
Usage

In order to use functions from the canvas module, you must first import it:

canvas = imports.canvas;
External Documentation

The canvas module is actually an implementation of a subset of the HTML Canvas element. Many of the functions from Canvas directly translate into Seed, and you can use any Canvas documentation to help develop Seed canvas code. The drawing functions will not be redocumented here.

new CairoCanvas(cairo)
new PDFCanvas(filename, width, height)
new SVGCanvas(filename, width, height)
new ImageCanvas(filename, width, height)

Construct a Canvas with a particular output format. CairoCanvases are constructed given a cairo to draw to, while the others output to a file, and need to be given a size for the canvas.

seed-3.0.0/doc/modules/canvas/Makefile.in0000644000175000017500000003470611545510313015120 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/modules/canvas DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/canvas.html.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = canvas.html CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(modulesdir)" DATA = $(modules_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CAIRO_MODULE = @BUILD_CAIRO_MODULE@ BUILD_CANVAS_MODULE = @BUILD_CANVAS_MODULE@ BUILD_DBUS_MODULE = @BUILD_DBUS_MODULE@ BUILD_DYNAMICOBJECT_MODULE = @BUILD_DYNAMICOBJECT_MODULE@ BUILD_EXAMPLE_MODULE = @BUILD_EXAMPLE_MODULE@ BUILD_FFI_MODULE = @BUILD_FFI_MODULE@ BUILD_GETTEXT_MODULE = @BUILD_GETTEXT_MODULE@ BUILD_GTKBUILDER_MODULE = @BUILD_GTKBUILDER_MODULE@ BUILD_LIBXML_MODULE = @BUILD_LIBXML_MODULE@ BUILD_MPFR_MODULE = @BUILD_MPFR_MODULE@ BUILD_MULTIPROCESSING_MODULE = @BUILD_MULTIPROCESSING_MODULE@ BUILD_OS_MODULE = @BUILD_OS_MODULE@ BUILD_READLINE_MODULE = @BUILD_READLINE_MODULE@ BUILD_SQLITE_MODULE = @BUILD_SQLITE_MODULE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LDFLAGS = @CAIRO_LDFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUSGLIB_CFLAGS = @DBUSGLIB_CFLAGS@ DBUSGLIB_LDFLAGS = @DBUSGLIB_LDFLAGS@ DBUSGLIB_LIBS = @DBUSGLIB_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ DBUS_LDFLAGS = @DBUS_LDFLAGS@ DBUS_LIBS = @DBUS_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FFI_CFLAGS = @FFI_CFLAGS@ FFI_LDFLAGS = @FFI_LDFLAGS@ FFI_LIBS = @FFI_LIBS@ FGREP = @FGREP@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LDFLAGS = @GDK_LDFLAGS@ GDK_LIBS = @GDK_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_JS_CFLAGS = @GNOME_JS_CFLAGS@ GNOME_JS_DIR = @GNOME_JS_DIR@ GNOME_JS_LIBS = @GNOME_JS_LIBS@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LDFLAGS = @GOBJECT_INTROSPECTION_LDFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_VERSION = @GOBJECT_INTROSPECTION_VERSION@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LDFLAGS = @GTK_LDFLAGS@ GTK_LIBS = @GTK_LIBS@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LDFLAGS = @LIBXML_LDFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SEED_DEBUG_CFLAGS = @SEED_DEBUG_CFLAGS@ SEED_GTK_VERSION = @SEED_GTK_VERSION@ SEED_PROFILE_CFLAGS = @SEED_PROFILE_CFLAGS@ SEED_PROFILE_LIBS = @SEED_PROFILE_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LDFLAGS = @SQLITE_LDFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WEBKIT_CFLAGS = @WEBKIT_CFLAGS@ WEBKIT_LDFLAGS = @WEBKIT_LDFLAGS@ WEBKIT_LIBS = @WEBKIT_LIBS@ WEBKIT_PC = @WEBKIT_PC@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ modulesdir = $(docdir)/modules modules_DATA = \ canvas.html EXTRA_DIST = \ canvas.html.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/modules/canvas/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/modules/canvas/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): canvas.html: $(top_builddir)/config.status $(srcdir)/canvas.html.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-modulesDATA: $(modules_DATA) @$(NORMAL_INSTALL) test -z "$(modulesdir)" || $(MKDIR_P) "$(DESTDIR)$(modulesdir)" @list='$(modules_DATA)'; test -n "$(modulesdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(modulesdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(modulesdir)" || exit $$?; \ done uninstall-modulesDATA: @$(NORMAL_UNINSTALL) @list='$(modules_DATA)'; test -n "$(modulesdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(modulesdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(modulesdir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(modulesdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-modulesDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-modulesDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-modulesDATA \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-modulesDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: seed-3.0.0/doc/modules/canvas/Makefile.am0000644000175000017500000000013411531036061015071 00000000000000modulesdir = $(docdir)/modules modules_DATA = \ canvas.html EXTRA_DIST = \ canvas.html.in seed-3.0.0/doc/modules/readline/0000755000175000017500000000000011545510403013431 500000000000000seed-3.0.0/doc/modules/readline/readline.js0000644000175000017500000000263211531036061015473 00000000000000funcs = [{id: "readline-readline", title: "readline.readline (prompt)", description: "Prompts for one line of input on standard input using prompt as the prompt.", params: [ {name: "prompt", description: "A string to use as the readline prompt"} ], returns: "A string entered on standard input."}, {id: "readline-bind", title: "readline.bind (key, function)", description: "Binds key to function causing the function to be invokved whenever key is pressed", params: [ {name: "key", description: "A string specifying the key to bind"}, {name: "function", description: "The function to invoke when key is pressed"} ]}, {id: "readline-done", title: "readline.done ()", description: "Indicates that readline should finish the current line, and return from readline.readline. Can be used in callbacks to implement features like multiline editing"}, {id: "readline-buffer", title: "readline.buffer()", description: "Retrieve the current readline buffer", returns: "The current readline buffer"}, {id: "readline-insert", title: "readline.insert (string)", description: "Inserts string in to the current readline buffer", params: [ {name: "string", description: "The string to insert"} ]}]; seed-3.0.0/doc/modules/readline/readline.xml0000644000175000017500000000245611531036061015663 00000000000000 Robert Carr
racarr@gnome.org
readline API Reference The readline module allows for basic usage of the GNU readline library, in Seed. More advanced features may be added a a later time. In order to use the readline module it must be first imported. readline = imports.readline; Examples Below are several examples of using the Seed readline module. For additional resources, consult the examples/ folder of the Seed source This demonstrates a simple REPL using the readline module readline = imports.readline; while (1){ try{ eval(readline.readline("> ")); } catch(e) { print(e.name + " " + e.message); } }
seed-3.0.0/doc/modules/readline/Makefile.in0000644000175000017500000003562411545510313015430 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/modules/readline DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(readlinedocsdir)" DATA = $(readlinedocs_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CAIRO_MODULE = @BUILD_CAIRO_MODULE@ BUILD_CANVAS_MODULE = @BUILD_CANVAS_MODULE@ BUILD_DBUS_MODULE = @BUILD_DBUS_MODULE@ BUILD_DYNAMICOBJECT_MODULE = @BUILD_DYNAMICOBJECT_MODULE@ BUILD_EXAMPLE_MODULE = @BUILD_EXAMPLE_MODULE@ BUILD_FFI_MODULE = @BUILD_FFI_MODULE@ BUILD_GETTEXT_MODULE = @BUILD_GETTEXT_MODULE@ BUILD_GTKBUILDER_MODULE = @BUILD_GTKBUILDER_MODULE@ BUILD_LIBXML_MODULE = @BUILD_LIBXML_MODULE@ BUILD_MPFR_MODULE = @BUILD_MPFR_MODULE@ BUILD_MULTIPROCESSING_MODULE = @BUILD_MULTIPROCESSING_MODULE@ BUILD_OS_MODULE = @BUILD_OS_MODULE@ BUILD_READLINE_MODULE = @BUILD_READLINE_MODULE@ BUILD_SQLITE_MODULE = @BUILD_SQLITE_MODULE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LDFLAGS = @CAIRO_LDFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUSGLIB_CFLAGS = @DBUSGLIB_CFLAGS@ DBUSGLIB_LDFLAGS = @DBUSGLIB_LDFLAGS@ DBUSGLIB_LIBS = @DBUSGLIB_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ DBUS_LDFLAGS = @DBUS_LDFLAGS@ DBUS_LIBS = @DBUS_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FFI_CFLAGS = @FFI_CFLAGS@ FFI_LDFLAGS = @FFI_LDFLAGS@ FFI_LIBS = @FFI_LIBS@ FGREP = @FGREP@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LDFLAGS = @GDK_LDFLAGS@ GDK_LIBS = @GDK_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_JS_CFLAGS = @GNOME_JS_CFLAGS@ GNOME_JS_DIR = @GNOME_JS_DIR@ GNOME_JS_LIBS = @GNOME_JS_LIBS@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LDFLAGS = @GOBJECT_INTROSPECTION_LDFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_VERSION = @GOBJECT_INTROSPECTION_VERSION@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LDFLAGS = @GTK_LDFLAGS@ GTK_LIBS = @GTK_LIBS@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LDFLAGS = @LIBXML_LDFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SEED_DEBUG_CFLAGS = @SEED_DEBUG_CFLAGS@ SEED_GTK_VERSION = @SEED_GTK_VERSION@ SEED_PROFILE_CFLAGS = @SEED_PROFILE_CFLAGS@ SEED_PROFILE_LIBS = @SEED_PROFILE_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LDFLAGS = @SQLITE_LDFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WEBKIT_CFLAGS = @WEBKIT_CFLAGS@ WEBKIT_LDFLAGS = @WEBKIT_LDFLAGS@ WEBKIT_LIBS = @WEBKIT_LIBS@ WEBKIT_PC = @WEBKIT_PC@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ readline.js readline.xml CLEANFILES = readline-funcs.xml readlinedocsdir = \ $(docdir)/modules/readline/html readlinedocs_DATA = readline-funcs.xml all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/modules/readline/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/modules/readline/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-readlinedocsDATA: $(readlinedocs_DATA) @$(NORMAL_INSTALL) test -z "$(readlinedocsdir)" || $(MKDIR_P) "$(DESTDIR)$(readlinedocsdir)" @list='$(readlinedocs_DATA)'; test -n "$(readlinedocsdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(readlinedocsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(readlinedocsdir)" || exit $$?; \ done uninstall-readlinedocsDATA: @$(NORMAL_UNINSTALL) @list='$(readlinedocs_DATA)'; test -n "$(readlinedocsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(readlinedocsdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(readlinedocsdir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(readlinedocsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-readlinedocsDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-readlinedocsDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am \ install-readlinedocsDATA install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-readlinedocsDATA readline-funcs.xml: $(top_builddir)/src/seed $(top_srcdir)/doc/modules/readline/readline.js $(top_builddir)/src/seed $(top_srcdir)/doc/modules/make-functions.js $(top_srcdir)/doc/modules/readline/readline.js > $(top_builddir)/doc/modules/readline/readline-funcs.xml #index.html: readline-funcs.xml # gtkdoc-mkhtml "readline" readline.xml; # mv *.html *.css *.png html #readlinedocs_DATA = html/* # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: seed-3.0.0/doc/modules/readline/Makefile.am0000644000175000017500000000106411531036061015404 00000000000000EXTRA_DIST = \ readline.js readline.xml readline-funcs.xml: $(top_builddir)/src/seed $(top_srcdir)/doc/modules/readline/readline.js $(top_builddir)/src/seed $(top_srcdir)/doc/modules/make-functions.js $(top_srcdir)/doc/modules/readline/readline.js > $(top_builddir)/doc/modules/readline/readline-funcs.xml CLEANFILES=readline-funcs.xml readlinedocsdir = \ $(docdir)/modules/readline/html readlinedocs_DATA = readline-funcs.xml #index.html: readline-funcs.xml # gtkdoc-mkhtml "readline" readline.xml; # mv *.html *.css *.png html #readlinedocs_DATA = html/* seed-3.0.0/doc/modules/make-functions.js0000755000175000017500000000206111531036061015047 00000000000000#!/usr/bin/env seed Seed.include(Seed.argv[2]); function output_param (param){ print("" + param.name + "" + "" + param.descripton + ""); } function output_function (func){ var start = print("" + "" + func.title + "" + "" + func.description + ""); if (func.params || func.returns) print(""); if (func.params != null){ for (var i = 0; i < func.params.length; i++){ output_param (func.params[i]); } } if (func.returns != null){ print("Returns" + "" + func.returns + ""); } if (func.params || func.returns) print(""); print(""); } print(""); for (var i = 0; i < funcs.length; i++) { output_function (funcs[i]); } print(""); seed-3.0.0/doc/modules/book.xml0000644000175000017500000000146511531036061013246 00000000000000 ]> Seed Modules Reference Manual Documentation for Seed &version; modules. The latest version of this documentation can be found on-line at http://library.gnome.org/devel/seed/unstable/. seed-3.0.0/doc/modules/gtkbuilder/0000755000175000017500000000000011545510403014002 500000000000000seed-3.0.0/doc/modules/gtkbuilder/example.js0000755000175000017500000000056511531036061015722 00000000000000 #!/usr/local/bin/seed Gtk = imports.gi.Gtk; GtkBuilder = imports.gtkbuilder; handlers = { ok_button_clicked: function(button){ Seed.quit(); } }; Gtk.init(Seed.argv); b = new Gtk.Builder(); b.add_from_file("test.ui"); b.connect_signals(handlers); d = b.get_object("dialog1"); d.show_all(); Gtk.main(); seed-3.0.0/doc/modules/gtkbuilder/gtkbuilder.xml0000644000175000017500000000226111531036061016577 00000000000000 Robert Carr
racarr@gnome.org
GtkBuilder API Reference The GtkBuilder extends Gtk.GtkBuilder.prototype to implement a custom automatic signal connection function, which is useful in Seed. It does not provide any methods or types, so there is no need to save it's namespace, as of such it can be imported as follows. imports.gtkbuilder; Examples Below are several examples of using the Seed GtkBuilder module. For additional resources, consult the examples/ folder of the Seed source
seed-3.0.0/doc/modules/gtkbuilder/gtkbuilder.js0000644000175000017500000000105511531036061016413 00000000000000funcs = [{id: "gtkbuilder-connect-signals", title: "builder.connect_signals (object, user_data)", description: "Connects the signals present in the GtkBuilder to the functions present in object. That is to say, a signal with handler name, 'ok_button_clicked' will be connected to the 'ok_button_clicked' property of object.", params: [ {name: "object", description: "The object containing the signal handlers"}, {name: "user_data", description: "The user_data to use in connecting the signals"} ] }] seed-3.0.0/doc/modules/gtkbuilder/example.ui0000644000175000017500000000166111531036061015716 00000000000000 <interface> <object class="GtkDialog" id="dialog1"> <child internal-child="vbox"> <object class="GtkVBox" id="vbox1"> <property name="border-width">10</property> <child internal-child="action_area"> <object class="GtkHButtonBox" id="hbuttonbox1"> <property name="border-width">20</property> <child> <object class="GtkButton" id="ok_button"> <property name="label">gtk-ok</property> <property name="use-stock">TRUE</property> <signal name="clicked" handler="ok_button_clicked"/> </object> </child> </object> </child> </object> </child> </object> </interface> seed-3.0.0/doc/modules/gtkbuilder/Makefile.in0000644000175000017500000003572611545510313016004 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/modules/gtkbuilder DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(gtkbuilderdocsdir)" DATA = $(gtkbuilderdocs_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CAIRO_MODULE = @BUILD_CAIRO_MODULE@ BUILD_CANVAS_MODULE = @BUILD_CANVAS_MODULE@ BUILD_DBUS_MODULE = @BUILD_DBUS_MODULE@ BUILD_DYNAMICOBJECT_MODULE = @BUILD_DYNAMICOBJECT_MODULE@ BUILD_EXAMPLE_MODULE = @BUILD_EXAMPLE_MODULE@ BUILD_FFI_MODULE = @BUILD_FFI_MODULE@ BUILD_GETTEXT_MODULE = @BUILD_GETTEXT_MODULE@ BUILD_GTKBUILDER_MODULE = @BUILD_GTKBUILDER_MODULE@ BUILD_LIBXML_MODULE = @BUILD_LIBXML_MODULE@ BUILD_MPFR_MODULE = @BUILD_MPFR_MODULE@ BUILD_MULTIPROCESSING_MODULE = @BUILD_MULTIPROCESSING_MODULE@ BUILD_OS_MODULE = @BUILD_OS_MODULE@ BUILD_READLINE_MODULE = @BUILD_READLINE_MODULE@ BUILD_SQLITE_MODULE = @BUILD_SQLITE_MODULE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LDFLAGS = @CAIRO_LDFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUSGLIB_CFLAGS = @DBUSGLIB_CFLAGS@ DBUSGLIB_LDFLAGS = @DBUSGLIB_LDFLAGS@ DBUSGLIB_LIBS = @DBUSGLIB_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ DBUS_LDFLAGS = @DBUS_LDFLAGS@ DBUS_LIBS = @DBUS_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FFI_CFLAGS = @FFI_CFLAGS@ FFI_LDFLAGS = @FFI_LDFLAGS@ FFI_LIBS = @FFI_LIBS@ FGREP = @FGREP@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LDFLAGS = @GDK_LDFLAGS@ GDK_LIBS = @GDK_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_JS_CFLAGS = @GNOME_JS_CFLAGS@ GNOME_JS_DIR = @GNOME_JS_DIR@ GNOME_JS_LIBS = @GNOME_JS_LIBS@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LDFLAGS = @GOBJECT_INTROSPECTION_LDFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_VERSION = @GOBJECT_INTROSPECTION_VERSION@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LDFLAGS = @GTK_LDFLAGS@ GTK_LIBS = @GTK_LIBS@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LDFLAGS = @LIBXML_LDFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SEED_DEBUG_CFLAGS = @SEED_DEBUG_CFLAGS@ SEED_GTK_VERSION = @SEED_GTK_VERSION@ SEED_PROFILE_CFLAGS = @SEED_PROFILE_CFLAGS@ SEED_PROFILE_LIBS = @SEED_PROFILE_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LDFLAGS = @SQLITE_LDFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WEBKIT_CFLAGS = @WEBKIT_CFLAGS@ WEBKIT_LDFLAGS = @WEBKIT_LDFLAGS@ WEBKIT_LIBS = @WEBKIT_LIBS@ WEBKIT_PC = @WEBKIT_PC@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ gtkbuilder.js \ example.ui \ example.js \ gtkbuilder.xml CLEANFILES = gtkbuilder-funcs.xml gtkbuilderdocsdir = \ $(docdir)/modules/gtkbuilder/html gtkbuilderdocs_DATA = gtkbuilder-funcs.xml all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/modules/gtkbuilder/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/modules/gtkbuilder/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-gtkbuilderdocsDATA: $(gtkbuilderdocs_DATA) @$(NORMAL_INSTALL) test -z "$(gtkbuilderdocsdir)" || $(MKDIR_P) "$(DESTDIR)$(gtkbuilderdocsdir)" @list='$(gtkbuilderdocs_DATA)'; test -n "$(gtkbuilderdocsdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(gtkbuilderdocsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(gtkbuilderdocsdir)" || exit $$?; \ done uninstall-gtkbuilderdocsDATA: @$(NORMAL_UNINSTALL) @list='$(gtkbuilderdocs_DATA)'; test -n "$(gtkbuilderdocsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(gtkbuilderdocsdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(gtkbuilderdocsdir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(gtkbuilderdocsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-gtkbuilderdocsDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-gtkbuilderdocsDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-gtkbuilderdocsDATA \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am uninstall uninstall-am uninstall-gtkbuilderdocsDATA gtkbuilder-funcs.xml: $(top_builddir)/src/seed $(top_srcdir)/doc/modules/gtkbuilder/gtkbuilder.js $(top_srcdir)/doc/modules/gtkbuilder/example.ui $(top_srcdir)/doc/modules/gtkbuilder/example.js $(top_builddir)/src/seed $(top_srcdir)/doc/modules/make-functions.js $(top_srcdir)/doc/modules/gtkbuilder/gtkbuilder.js > $(top_builddir)/doc/modules/gtkbuilder/gtkbuilder-funcs.xml # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: seed-3.0.0/doc/modules/gtkbuilder/Makefile.am0000644000175000017500000000111311531036061015750 00000000000000EXTRA_DIST = \ gtkbuilder.js \ example.ui \ example.js \ gtkbuilder.xml gtkbuilder-funcs.xml: $(top_builddir)/src/seed $(top_srcdir)/doc/modules/gtkbuilder/gtkbuilder.js $(top_srcdir)/doc/modules/gtkbuilder/example.ui $(top_srcdir)/doc/modules/gtkbuilder/example.js $(top_builddir)/src/seed $(top_srcdir)/doc/modules/make-functions.js $(top_srcdir)/doc/modules/gtkbuilder/gtkbuilder.js > $(top_builddir)/doc/modules/gtkbuilder/gtkbuilder-funcs.xml CLEANFILES=gtkbuilder-funcs.xml gtkbuilderdocsdir = \ $(docdir)/modules/gtkbuilder/html gtkbuilderdocs_DATA = gtkbuilder-funcs.xml seed-3.0.0/doc/modules/version.xml.in0000644000175000017500000000001211531036061014371 00000000000000@VERSION@ seed-3.0.0/doc/modules/multiprocessing/0000755000175000017500000000000011545510403015075 500000000000000seed-3.0.0/doc/modules/multiprocessing/multiprocessing.html.in0000644000175000017500000000166711531036061021547 00000000000000 Seed multiprocessing Module Documentation
v.@VERSION@
Usage

In order to use functions from the multiprocessing module, you must first import it:

multiprocessing = imports.multiprocessing;
seed-3.0.0/doc/modules/multiprocessing/Makefile.in0000644000175000017500000003502711545510313017071 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/modules/multiprocessing DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/multiprocessing.html.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = multiprocessing.html CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(modulesdir)" DATA = $(modules_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CAIRO_MODULE = @BUILD_CAIRO_MODULE@ BUILD_CANVAS_MODULE = @BUILD_CANVAS_MODULE@ BUILD_DBUS_MODULE = @BUILD_DBUS_MODULE@ BUILD_DYNAMICOBJECT_MODULE = @BUILD_DYNAMICOBJECT_MODULE@ BUILD_EXAMPLE_MODULE = @BUILD_EXAMPLE_MODULE@ BUILD_FFI_MODULE = @BUILD_FFI_MODULE@ BUILD_GETTEXT_MODULE = @BUILD_GETTEXT_MODULE@ BUILD_GTKBUILDER_MODULE = @BUILD_GTKBUILDER_MODULE@ BUILD_LIBXML_MODULE = @BUILD_LIBXML_MODULE@ BUILD_MPFR_MODULE = @BUILD_MPFR_MODULE@ BUILD_MULTIPROCESSING_MODULE = @BUILD_MULTIPROCESSING_MODULE@ BUILD_OS_MODULE = @BUILD_OS_MODULE@ BUILD_READLINE_MODULE = @BUILD_READLINE_MODULE@ BUILD_SQLITE_MODULE = @BUILD_SQLITE_MODULE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LDFLAGS = @CAIRO_LDFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUSGLIB_CFLAGS = @DBUSGLIB_CFLAGS@ DBUSGLIB_LDFLAGS = @DBUSGLIB_LDFLAGS@ DBUSGLIB_LIBS = @DBUSGLIB_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ DBUS_LDFLAGS = @DBUS_LDFLAGS@ DBUS_LIBS = @DBUS_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FFI_CFLAGS = @FFI_CFLAGS@ FFI_LDFLAGS = @FFI_LDFLAGS@ FFI_LIBS = @FFI_LIBS@ FGREP = @FGREP@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LDFLAGS = @GDK_LDFLAGS@ GDK_LIBS = @GDK_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_JS_CFLAGS = @GNOME_JS_CFLAGS@ GNOME_JS_DIR = @GNOME_JS_DIR@ GNOME_JS_LIBS = @GNOME_JS_LIBS@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LDFLAGS = @GOBJECT_INTROSPECTION_LDFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_VERSION = @GOBJECT_INTROSPECTION_VERSION@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LDFLAGS = @GTK_LDFLAGS@ GTK_LIBS = @GTK_LIBS@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LDFLAGS = @LIBXML_LDFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SEED_DEBUG_CFLAGS = @SEED_DEBUG_CFLAGS@ SEED_GTK_VERSION = @SEED_GTK_VERSION@ SEED_PROFILE_CFLAGS = @SEED_PROFILE_CFLAGS@ SEED_PROFILE_LIBS = @SEED_PROFILE_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LDFLAGS = @SQLITE_LDFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WEBKIT_CFLAGS = @WEBKIT_CFLAGS@ WEBKIT_LDFLAGS = @WEBKIT_LDFLAGS@ WEBKIT_LIBS = @WEBKIT_LIBS@ WEBKIT_PC = @WEBKIT_PC@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ modulesdir = $(docdir)/modules modules_DATA = \ multiprocessing.html EXTRA_DIST = \ multiprocessing.html.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/modules/multiprocessing/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/modules/multiprocessing/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): multiprocessing.html: $(top_builddir)/config.status $(srcdir)/multiprocessing.html.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-modulesDATA: $(modules_DATA) @$(NORMAL_INSTALL) test -z "$(modulesdir)" || $(MKDIR_P) "$(DESTDIR)$(modulesdir)" @list='$(modules_DATA)'; test -n "$(modulesdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(modulesdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(modulesdir)" || exit $$?; \ done uninstall-modulesDATA: @$(NORMAL_UNINSTALL) @list='$(modules_DATA)'; test -n "$(modulesdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(modulesdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(modulesdir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(modulesdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-modulesDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-modulesDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-modulesDATA \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-modulesDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: seed-3.0.0/doc/modules/multiprocessing/Makefile.am0000644000175000017500000000015611531036061017051 00000000000000modulesdir = $(docdir)/modules modules_DATA = \ multiprocessing.html EXTRA_DIST = \ multiprocessing.html.in seed-3.0.0/doc/modules/sqlite/0000755000175000017500000000000011545510403013147 500000000000000seed-3.0.0/doc/modules/sqlite/sqlite.xml0000644000175000017500000000370311531036061015113 00000000000000 Robert Carr
racarr@gnome.org
SQLite API Reference The sqlite module allows for manipulation and querying of sqlite databases. sqlite = imports.sqlite; The SQLite module provides a selection of status enums, to be used as the return values of functions. For meanings, consult the SQLite C documentation. sqlite.[OK, ERROR, INTERNAL, PERM ABORT, BUSY, LOCKED, NOMEM, READONLY, INTERRUPT, CORRUPT, NOTFOUND, FULL, CANTOPEN, PROTOCOL, EMPTY, SCHEMA, TOOBIG, CONSTRAINT, MISMATCH, MISUSE, NOLFS, AUTH, FORMAT, RANGE, NOTADB, ROW, DONE] Examples Below are several examples of using the Seed sqlite module. For additional resources, consult the examples/ folder of the Seed source This demonstrates creating a new table, populating it, and querying it for results sqlite = imports.sqlite; var db = new sqlite.Database("people.db"); db.exec("create table people (key INTEGER PRIMARY KEY, name TEXT," + "age INTEGER, phone TEXT);"); db.exec("insert into people(name, age, phone) " + "values('John Smith', 24, '555-123-4567');"); function cb_print_phone(results) { print(results.phone); } db.exec("select from people where name='John Smith';", cb_print_phone); db.close();
seed-3.0.0/doc/modules/sqlite/Makefile.in0000644000175000017500000003547711545510313015154 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/modules/sqlite DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(sqlitedocsdir)" DATA = $(sqlitedocs_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CAIRO_MODULE = @BUILD_CAIRO_MODULE@ BUILD_CANVAS_MODULE = @BUILD_CANVAS_MODULE@ BUILD_DBUS_MODULE = @BUILD_DBUS_MODULE@ BUILD_DYNAMICOBJECT_MODULE = @BUILD_DYNAMICOBJECT_MODULE@ BUILD_EXAMPLE_MODULE = @BUILD_EXAMPLE_MODULE@ BUILD_FFI_MODULE = @BUILD_FFI_MODULE@ BUILD_GETTEXT_MODULE = @BUILD_GETTEXT_MODULE@ BUILD_GTKBUILDER_MODULE = @BUILD_GTKBUILDER_MODULE@ BUILD_LIBXML_MODULE = @BUILD_LIBXML_MODULE@ BUILD_MPFR_MODULE = @BUILD_MPFR_MODULE@ BUILD_MULTIPROCESSING_MODULE = @BUILD_MULTIPROCESSING_MODULE@ BUILD_OS_MODULE = @BUILD_OS_MODULE@ BUILD_READLINE_MODULE = @BUILD_READLINE_MODULE@ BUILD_SQLITE_MODULE = @BUILD_SQLITE_MODULE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LDFLAGS = @CAIRO_LDFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUSGLIB_CFLAGS = @DBUSGLIB_CFLAGS@ DBUSGLIB_LDFLAGS = @DBUSGLIB_LDFLAGS@ DBUSGLIB_LIBS = @DBUSGLIB_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ DBUS_LDFLAGS = @DBUS_LDFLAGS@ DBUS_LIBS = @DBUS_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FFI_CFLAGS = @FFI_CFLAGS@ FFI_LDFLAGS = @FFI_LDFLAGS@ FFI_LIBS = @FFI_LIBS@ FGREP = @FGREP@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LDFLAGS = @GDK_LDFLAGS@ GDK_LIBS = @GDK_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_JS_CFLAGS = @GNOME_JS_CFLAGS@ GNOME_JS_DIR = @GNOME_JS_DIR@ GNOME_JS_LIBS = @GNOME_JS_LIBS@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LDFLAGS = @GOBJECT_INTROSPECTION_LDFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_VERSION = @GOBJECT_INTROSPECTION_VERSION@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LDFLAGS = @GTK_LDFLAGS@ GTK_LIBS = @GTK_LIBS@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LDFLAGS = @LIBXML_LDFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SEED_DEBUG_CFLAGS = @SEED_DEBUG_CFLAGS@ SEED_GTK_VERSION = @SEED_GTK_VERSION@ SEED_PROFILE_CFLAGS = @SEED_PROFILE_CFLAGS@ SEED_PROFILE_LIBS = @SEED_PROFILE_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LDFLAGS = @SQLITE_LDFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WEBKIT_CFLAGS = @WEBKIT_CFLAGS@ WEBKIT_LDFLAGS = @WEBKIT_LDFLAGS@ WEBKIT_LIBS = @WEBKIT_LIBS@ WEBKIT_PC = @WEBKIT_PC@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ sqlite.js sqlite.xml CLEANFILES = sqlite-funcs.xml sqlitedocsdir = \ $(docdir)/modules/sqlite/html sqlitedocs_DATA = sqlite-funcs.xml all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/modules/sqlite/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/modules/sqlite/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-sqlitedocsDATA: $(sqlitedocs_DATA) @$(NORMAL_INSTALL) test -z "$(sqlitedocsdir)" || $(MKDIR_P) "$(DESTDIR)$(sqlitedocsdir)" @list='$(sqlitedocs_DATA)'; test -n "$(sqlitedocsdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sqlitedocsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(sqlitedocsdir)" || exit $$?; \ done uninstall-sqlitedocsDATA: @$(NORMAL_UNINSTALL) @list='$(sqlitedocs_DATA)'; test -n "$(sqlitedocsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(sqlitedocsdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(sqlitedocsdir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(sqlitedocsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-sqlitedocsDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-sqlitedocsDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-sqlitedocsDATA \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-sqlitedocsDATA sqlite-funcs.xml: $(top_builddir)/src/seed $(top_srcdir)/doc/modules/sqlite/sqlite.js $(top_builddir)/src/seed $(top_srcdir)/doc/modules/make-functions.js $(top_srcdir)/doc/modules/sqlite/sqlite.js > $(top_builddir)/doc/modules/sqlite/sqlite-funcs.xml #index.html: sqlite-funcs.xml # gtkdoc-mkhtml "sqlite" sqlite.xml; # mv *.html *.css *.png html #sqlitedocs_DATA = html/* # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: seed-3.0.0/doc/modules/sqlite/Makefile.am0000644000175000017500000000102011531036061015112 00000000000000EXTRA_DIST = \ sqlite.js sqlite.xml sqlite-funcs.xml: $(top_builddir)/src/seed $(top_srcdir)/doc/modules/sqlite/sqlite.js $(top_builddir)/src/seed $(top_srcdir)/doc/modules/make-functions.js $(top_srcdir)/doc/modules/sqlite/sqlite.js > $(top_builddir)/doc/modules/sqlite/sqlite-funcs.xml CLEANFILES=sqlite-funcs.xml sqlitedocsdir = \ $(docdir)/modules/sqlite/html sqlitedocs_DATA = sqlite-funcs.xml #index.html: sqlite-funcs.xml # gtkdoc-mkhtml "sqlite" sqlite.xml; # mv *.html *.css *.png html #sqlitedocs_DATA = html/* seed-3.0.0/doc/modules/sqlite/sqlite.js0000644000175000017500000000245611531036061014733 00000000000000funcs = [{id: "sqlite-database", title: "new sqlite.Database(filename)", description: "Constructs a new sqlite.Database", params: [ {name: "filename", description: "The SQLite database to be opened (or constructed if it does not exist"} ], returns: "A new sqlite.Database object, the status property will be one of the SQLite status enums" }, {id: "sqlite-exec", title:"database.exec(command, callback)", description: "Executes the SQLite command on the given database. If callback is defined, it is called with each table entry from the given command, with a single argument. The argument has properties for each value in the returned table entry.Keep in mind that, just like in C, it is necessary to sanitize user input in your SQL before passing it to the database.", params: [ {name: "command", description: "The SQLite command to evaluate"}, {name: "callback", description: "The callback to invoke, should expect one argument and return nothing. optional"} ], returns: "An SQLite status enum representing the result of the operation"}, {id: "sqlite-close", title: "database.close()", description: "Closes an SQLite database and syncs"}]; seed-3.0.0/doc/modules/Makefile.in0000644000175000017500000005440711545510313013645 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/modules DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/version.xml.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = version.xml CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(bookdir)" DATA = $(book_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CAIRO_MODULE = @BUILD_CAIRO_MODULE@ BUILD_CANVAS_MODULE = @BUILD_CANVAS_MODULE@ BUILD_DBUS_MODULE = @BUILD_DBUS_MODULE@ BUILD_DYNAMICOBJECT_MODULE = @BUILD_DYNAMICOBJECT_MODULE@ BUILD_EXAMPLE_MODULE = @BUILD_EXAMPLE_MODULE@ BUILD_FFI_MODULE = @BUILD_FFI_MODULE@ BUILD_GETTEXT_MODULE = @BUILD_GETTEXT_MODULE@ BUILD_GTKBUILDER_MODULE = @BUILD_GTKBUILDER_MODULE@ BUILD_LIBXML_MODULE = @BUILD_LIBXML_MODULE@ BUILD_MPFR_MODULE = @BUILD_MPFR_MODULE@ BUILD_MULTIPROCESSING_MODULE = @BUILD_MULTIPROCESSING_MODULE@ BUILD_OS_MODULE = @BUILD_OS_MODULE@ BUILD_READLINE_MODULE = @BUILD_READLINE_MODULE@ BUILD_SQLITE_MODULE = @BUILD_SQLITE_MODULE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LDFLAGS = @CAIRO_LDFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUSGLIB_CFLAGS = @DBUSGLIB_CFLAGS@ DBUSGLIB_LDFLAGS = @DBUSGLIB_LDFLAGS@ DBUSGLIB_LIBS = @DBUSGLIB_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ DBUS_LDFLAGS = @DBUS_LDFLAGS@ DBUS_LIBS = @DBUS_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FFI_CFLAGS = @FFI_CFLAGS@ FFI_LDFLAGS = @FFI_LDFLAGS@ FFI_LIBS = @FFI_LIBS@ FGREP = @FGREP@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LDFLAGS = @GDK_LDFLAGS@ GDK_LIBS = @GDK_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_JS_CFLAGS = @GNOME_JS_CFLAGS@ GNOME_JS_DIR = @GNOME_JS_DIR@ GNOME_JS_LIBS = @GNOME_JS_LIBS@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LDFLAGS = @GOBJECT_INTROSPECTION_LDFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_VERSION = @GOBJECT_INTROSPECTION_VERSION@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LDFLAGS = @GTK_LDFLAGS@ GTK_LIBS = @GTK_LIBS@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LDFLAGS = @LIBXML_LDFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SEED_DEBUG_CFLAGS = @SEED_DEBUG_CFLAGS@ SEED_GTK_VERSION = @SEED_GTK_VERSION@ SEED_PROFILE_CFLAGS = @SEED_PROFILE_CFLAGS@ SEED_PROFILE_LIBS = @SEED_PROFILE_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LDFLAGS = @SQLITE_LDFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WEBKIT_CFLAGS = @WEBKIT_CFLAGS@ WEBKIT_LDFLAGS = @WEBKIT_LDFLAGS@ WEBKIT_LIBS = @WEBKIT_LIBS@ WEBKIT_PC = @WEBKIT_PC@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = canvas multiprocessing readline sandbox sqlite gtkbuilder EXTRA_DIST = make-functions.js book.xml version.xml.in @ENABLE_GTK_DOC_TRUE@bookdir = $(docdir)/modules/html @ENABLE_GTK_DOC_TRUE@book_DATA = html/index.html @ENABLE_GTK_DOC_TRUE@CLEANFILES = html/* all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/modules/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/modules/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-bookDATA: $(book_DATA) @$(NORMAL_INSTALL) test -z "$(bookdir)" || $(MKDIR_P) "$(DESTDIR)$(bookdir)" @list='$(book_DATA)'; test -n "$(bookdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(bookdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(bookdir)" || exit $$?; \ done uninstall-bookDATA: @$(NORMAL_UNINSTALL) @list='$(book_DATA)'; test -n "$(bookdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(bookdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bookdir)" && rm -f $$files # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bookdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." @ENABLE_GTK_DOC_FALSE@install-data-local: clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-bookDATA install-data-local install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-bookDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-bookDATA \ install-data install-data-am install-data-local install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-bookDATA @ENABLE_GTK_DOC_TRUE@html/index.html: version.xml book.xml sqlite/sqlite.xml sqlite/sqlite-funcs.xml readline/readline.xml readline/readline-funcs.xml make-functions.js gtkbuilder/gtkbuilder-funcs.xml gtkbuilder/gtkbuilder.xml sandbox/sandbox.xml sandbox/sandbox-funcs.xml @ENABLE_GTK_DOC_TRUE@ mkdir -p html; @ENABLE_GTK_DOC_TRUE@ gtkdoc-mkhtml "Seed" book.xml; @ENABLE_GTK_DOC_TRUE@ mv *.html *.css *.png *.sgml *.devhelp* html @ENABLE_GTK_DOC_TRUE@install-data-local: @ENABLE_GTK_DOC_TRUE@ cp -r html $(DESTDIR)$(docdir)/modules # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: seed-3.0.0/doc/modules/Makefile.am0000644000175000017500000000117311531036061013622 00000000000000SUBDIRS=canvas multiprocessing readline sandbox sqlite gtkbuilder EXTRA_DIST=make-functions.js book.xml version.xml.in if ENABLE_GTK_DOC html/index.html: version.xml book.xml sqlite/sqlite.xml sqlite/sqlite-funcs.xml readline/readline.xml readline/readline-funcs.xml make-functions.js gtkbuilder/gtkbuilder-funcs.xml gtkbuilder/gtkbuilder.xml sandbox/sandbox.xml sandbox/sandbox-funcs.xml mkdir -p html; gtkdoc-mkhtml "Seed" book.xml; mv *.html *.css *.png *.sgml *.devhelp* html bookdir = $(docdir)/modules/html book_DATA = html/index.html install-data-local: cp -r html $(DESTDIR)$(docdir)/modules CLEANFILES = html/* endif seed-3.0.0/doc/modules/sandbox/0000755000175000017500000000000011545510403013304 500000000000000seed-3.0.0/doc/modules/sandbox/sandbox.js0000644000175000017500000000227411531036061015223 00000000000000funcs = [{id: "sandbox-context", title: "new sandbox.Context()", description: "Creates a new sandbox context object, which wraps a Seed JavaScript context with it's own global object. By default this global object contains only default JSCore globals (Array, Object, etc...) and has no ability to interact with the outside system. Note the context must be manually destroyed with the destroy method."}, {id: "sandbox-eval", title: "context.eval(source)", description: "Evaluates a string source with context, returns the result.", params: [ {name: "source", description: "The code to evaluate"} ]}, {id: "sandbox-addglobals", title: "context.add_globals()", description: "Adds the default Seed globals to the context, including the 'Seed' global object, and the imports object."}, {id: "sandbox-destroy", title: "context.destroy()", description: "Destroys the internal context object, and any further usage of the wrapper is an exception"}, {id: "sandbox-global", title: "context.global", description: "A project, representing the literal global object of the context, may be freely read from and assigned to"}] seed-3.0.0/doc/modules/sandbox/Makefile.in0000644000175000017500000003535411545510313015303 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/modules/sandbox DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(sandboxdocsdir)" DATA = $(sandboxdocs_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CAIRO_MODULE = @BUILD_CAIRO_MODULE@ BUILD_CANVAS_MODULE = @BUILD_CANVAS_MODULE@ BUILD_DBUS_MODULE = @BUILD_DBUS_MODULE@ BUILD_DYNAMICOBJECT_MODULE = @BUILD_DYNAMICOBJECT_MODULE@ BUILD_EXAMPLE_MODULE = @BUILD_EXAMPLE_MODULE@ BUILD_FFI_MODULE = @BUILD_FFI_MODULE@ BUILD_GETTEXT_MODULE = @BUILD_GETTEXT_MODULE@ BUILD_GTKBUILDER_MODULE = @BUILD_GTKBUILDER_MODULE@ BUILD_LIBXML_MODULE = @BUILD_LIBXML_MODULE@ BUILD_MPFR_MODULE = @BUILD_MPFR_MODULE@ BUILD_MULTIPROCESSING_MODULE = @BUILD_MULTIPROCESSING_MODULE@ BUILD_OS_MODULE = @BUILD_OS_MODULE@ BUILD_READLINE_MODULE = @BUILD_READLINE_MODULE@ BUILD_SQLITE_MODULE = @BUILD_SQLITE_MODULE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LDFLAGS = @CAIRO_LDFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUSGLIB_CFLAGS = @DBUSGLIB_CFLAGS@ DBUSGLIB_LDFLAGS = @DBUSGLIB_LDFLAGS@ DBUSGLIB_LIBS = @DBUSGLIB_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ DBUS_LDFLAGS = @DBUS_LDFLAGS@ DBUS_LIBS = @DBUS_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FFI_CFLAGS = @FFI_CFLAGS@ FFI_LDFLAGS = @FFI_LDFLAGS@ FFI_LIBS = @FFI_LIBS@ FGREP = @FGREP@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LDFLAGS = @GDK_LDFLAGS@ GDK_LIBS = @GDK_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_JS_CFLAGS = @GNOME_JS_CFLAGS@ GNOME_JS_DIR = @GNOME_JS_DIR@ GNOME_JS_LIBS = @GNOME_JS_LIBS@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LDFLAGS = @GOBJECT_INTROSPECTION_LDFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_VERSION = @GOBJECT_INTROSPECTION_VERSION@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LDFLAGS = @GTK_LDFLAGS@ GTK_LIBS = @GTK_LIBS@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LDFLAGS = @LIBXML_LDFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SEED_DEBUG_CFLAGS = @SEED_DEBUG_CFLAGS@ SEED_GTK_VERSION = @SEED_GTK_VERSION@ SEED_PROFILE_CFLAGS = @SEED_PROFILE_CFLAGS@ SEED_PROFILE_LIBS = @SEED_PROFILE_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LDFLAGS = @SQLITE_LDFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WEBKIT_CFLAGS = @WEBKIT_CFLAGS@ WEBKIT_LDFLAGS = @WEBKIT_LDFLAGS@ WEBKIT_LIBS = @WEBKIT_LIBS@ WEBKIT_PC = @WEBKIT_PC@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ sandbox.js sandbox.xml CLEANFILES = sandbox-funcs.xml sandboxdocsdir = \ $(docdir)/modules/sandbox/html sandboxdocs_DATA = sandbox-funcs.xml all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/modules/sandbox/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/modules/sandbox/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-sandboxdocsDATA: $(sandboxdocs_DATA) @$(NORMAL_INSTALL) test -z "$(sandboxdocsdir)" || $(MKDIR_P) "$(DESTDIR)$(sandboxdocsdir)" @list='$(sandboxdocs_DATA)'; test -n "$(sandboxdocsdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sandboxdocsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(sandboxdocsdir)" || exit $$?; \ done uninstall-sandboxdocsDATA: @$(NORMAL_UNINSTALL) @list='$(sandboxdocs_DATA)'; test -n "$(sandboxdocsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(sandboxdocsdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(sandboxdocsdir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(sandboxdocsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-sandboxdocsDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-sandboxdocsDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am \ install-sandboxdocsDATA install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-sandboxdocsDATA sandbox-funcs.xml: $(top_builddir)/src/seed $(top_srcdir)/doc/modules/sandbox/sandbox.js $(top_builddir)/src/seed $(top_srcdir)/doc/modules/make-functions.js $(top_srcdir)/doc/modules/sandbox/sandbox.js > $(top_builddir)/doc/modules/sandbox/sandbox-funcs.xml # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: seed-3.0.0/doc/modules/sandbox/Makefile.am0000644000175000017500000000064311531036061015261 00000000000000EXTRA_DIST = \ sandbox.js sandbox.xml sandbox-funcs.xml: $(top_builddir)/src/seed $(top_srcdir)/doc/modules/sandbox/sandbox.js $(top_builddir)/src/seed $(top_srcdir)/doc/modules/make-functions.js $(top_srcdir)/doc/modules/sandbox/sandbox.js > $(top_builddir)/doc/modules/sandbox/sandbox-funcs.xml CLEANFILES=sandbox-funcs.xml sandboxdocsdir = \ $(docdir)/modules/sandbox/html sandboxdocs_DATA = sandbox-funcs.xml seed-3.0.0/doc/modules/sandbox/sandbox.xml0000644000175000017500000000237211531036061015406 00000000000000 Robert Carr
racarr@gnome.org
Sandbox API Reference The sandbox module allows the creation of isolated JSCore contexts with individual global objects. It is useful as a literal "sandbox" or in a variety of other contexts. sandbox = imports.sandbox; Examples Below are several examples of using the Seed Sandbox module. For additional resources, consult the examples/ folder of the Seed source sandbox = imports.sandbox; ctx = new sandbox.Context(); ctx.eval("b = 2+2"); print(ctx.global.b); //4 ctx.global.b = new Gtk.Window(); // Possible to expose objects to the context. ctx.eval("b.show()");
seed-3.0.0/doc/mapping/0000755000175000017500000000000011545510403011631 500000000000000seed-3.0.0/doc/mapping/mapping.html.in0000644000175000017500000002072311531036061014501 00000000000000 Seed C Mapping Conventions
v.@VERSION@
Enums and Flags

The mapping of enum types to JavaScript is straightforward.

In this example, Gtk is the namespace, WindowType is the enum class, and NORMAL is the enum member. Note that the enum member is always UPPERCASE, and the enum class is CasedLikeTypes. It is worth noting that this is the same convention as Vala. When passing enums in to functions, the enum will be checked (to ensure it is in fact a value of the required enum class). This is not true for fields.

Toplevel Functions

Toplevel library functions are mapped exactly as you would expect, with gtk_main mapping to Gtk.main.

Constants
Constants are placed directly on the namespace, with the same casing as present in the C library.
Clutter.COGL_FIXED_0_5
Clutter.Alt_L
Objects

Objects are given a constructor on the namespace. ClutterTexture having a constructor at Clutter.Texture

Constructors

Object constructors, accept as their only argument, a JavaScript object pairing GObject properties, with values. As an example,

w = new Gtk.Window({title: "Hello"});
c = new Clutter.Texture({width: 300, height:300});
All other properties are left to their default values. Note, Gtk.Window.prototype is the prototype of all Gtk.Window instances. It is also possible for objects to have "named" constructors which take specific arguments, i.e. for clutter_texture_new_from_file we have
t = new Clutter.Texture.from_file("/tmp/cat.png");
In addition gtk_window_new maps to Gtk.Window.c_new (because new is a JavaScript keyword). This however is rarely used.

Methods & Static Methods

Non static methods (or "instance" methods) are accessible from the object, as you would expect.

w = new Gtk.Window();
w.resize(300, 300);
Static methods are accessible from the constructor, so for clutter_stage_get_default.
c = Clutter.Stage.get_default();
The type conversion, is fairly sophisticated, so where C methods expect non-basic types, like function pointers, GLists, or C arrays, you are able to just pass in JavaScript functions and arrays.
w = new Gtk.Window();
w.add (new Gtk.VBox());
w.foreach(function (widget) {
              print(widget);
         });

children = w.get_children();
for (i in children) {
    print(children[i]);
}

Properties

When attempting to set a property on an object, the following things happen in order.

and vice versa for reading properties. One thing which may be surprising to developers used to other scripting languages (say, python) is that an attempt to access an unset property will just return null, instead of throwing an exception. So, accessing for example actor.witdh will return null and it is up to you to catch your typo.

Signals

Interaction with an objects signals, takes place through the object.signals property. For example

w.signal.map.connect(function(window) {print ("Hello world");});
foo.signal.bar.emit(3, 7, "Baz");
In addition you can use user_data, similar to C
w.signal.map.connect(function(window, user_data) {print(user_data)},  "Hello world");
In many cases this is made useless by JavaScript's support for closures. Note, in many cases, it is useful to access signals with details, for example notify::x however as this is not a valid JavaScript identifier, you have to use the array syntax for accessing properties,
w.signal["notify::x"].connect(function(){print("x changed")});
Sometimes, it may be desirable to check that the functions you are connecting to signals, have the correct arity (accept the proper number of argmuents), and if you compile Seed with debugging enabled, and pass --seed-debug=signal or --seed-debug=all, Seed will give warnings when connections of improper arity are made (however clearly this is only sometimes a bug).

Structs and Unions

Structs and Union's are given a constructor on the namespace. GdkEventKey simply having a constructor at Gdk.EventKey.

Constructors

Struct and Union constructors, accept as their only argument, a pair of initialization parameters, in a similar fashion to object constructors. As an example,

c = new Clutter.Color({red: 0xff, alpha: 0xff});
All other fields are "zeroed" in the C sense that the memory is allocated with g_slice_alloc0. Like objects Clutter.Color.prototype is the prototype of all ClutterColor instances. Again like objects, structs can have "named" constructors which take specific arguments, i.e. for soup_date_new_from_now
d = new Soup.Date.from_now(0)
Once again soup_date_new would map to Soup.Date.c_new.

Methods & Static Methods

Non static methods are directly accessible from the object, i.e.

c = new Clutter.Color({red: 0xff, alpha: 0xff});
c.from_string("purple");

TODO: Static methods
Implicit creation

Anywhere where a struct is expected, (property assignment, or a method call), a JavaScript object describing the struct can be used.

stage.color = {red: 0xff, blue: 0xcc, alpha: 0xff};
The semantics are identical to constructors, in that uninitialized fields will be zeroed.

seed-3.0.0/doc/mapping/Makefile.in0000644000175000017500000003476511545510313013635 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/mapping DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/mapping.html.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = mapping.html CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(tutorialdir)" DATA = $(tutorial_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CAIRO_MODULE = @BUILD_CAIRO_MODULE@ BUILD_CANVAS_MODULE = @BUILD_CANVAS_MODULE@ BUILD_DBUS_MODULE = @BUILD_DBUS_MODULE@ BUILD_DYNAMICOBJECT_MODULE = @BUILD_DYNAMICOBJECT_MODULE@ BUILD_EXAMPLE_MODULE = @BUILD_EXAMPLE_MODULE@ BUILD_FFI_MODULE = @BUILD_FFI_MODULE@ BUILD_GETTEXT_MODULE = @BUILD_GETTEXT_MODULE@ BUILD_GTKBUILDER_MODULE = @BUILD_GTKBUILDER_MODULE@ BUILD_LIBXML_MODULE = @BUILD_LIBXML_MODULE@ BUILD_MPFR_MODULE = @BUILD_MPFR_MODULE@ BUILD_MULTIPROCESSING_MODULE = @BUILD_MULTIPROCESSING_MODULE@ BUILD_OS_MODULE = @BUILD_OS_MODULE@ BUILD_READLINE_MODULE = @BUILD_READLINE_MODULE@ BUILD_SQLITE_MODULE = @BUILD_SQLITE_MODULE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LDFLAGS = @CAIRO_LDFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUSGLIB_CFLAGS = @DBUSGLIB_CFLAGS@ DBUSGLIB_LDFLAGS = @DBUSGLIB_LDFLAGS@ DBUSGLIB_LIBS = @DBUSGLIB_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ DBUS_LDFLAGS = @DBUS_LDFLAGS@ DBUS_LIBS = @DBUS_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FFI_CFLAGS = @FFI_CFLAGS@ FFI_LDFLAGS = @FFI_LDFLAGS@ FFI_LIBS = @FFI_LIBS@ FGREP = @FGREP@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LDFLAGS = @GDK_LDFLAGS@ GDK_LIBS = @GDK_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_JS_CFLAGS = @GNOME_JS_CFLAGS@ GNOME_JS_DIR = @GNOME_JS_DIR@ GNOME_JS_LIBS = @GNOME_JS_LIBS@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LDFLAGS = @GOBJECT_INTROSPECTION_LDFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_VERSION = @GOBJECT_INTROSPECTION_VERSION@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LDFLAGS = @GTK_LDFLAGS@ GTK_LIBS = @GTK_LIBS@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LDFLAGS = @LIBXML_LDFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SEED_DEBUG_CFLAGS = @SEED_DEBUG_CFLAGS@ SEED_GTK_VERSION = @SEED_GTK_VERSION@ SEED_PROFILE_CFLAGS = @SEED_PROFILE_CFLAGS@ SEED_PROFILE_LIBS = @SEED_PROFILE_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LDFLAGS = @SQLITE_LDFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WEBKIT_CFLAGS = @WEBKIT_CFLAGS@ WEBKIT_LDFLAGS = @WEBKIT_LDFLAGS@ WEBKIT_LIBS = @WEBKIT_LIBS@ WEBKIT_PC = @WEBKIT_PC@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ tutorialdir = $(docdir)/mapping tutorial_DATA = \ mapping.html \ enum-mapping.png EXTRA_DIST = \ mapping.html.in \ enum-mapping.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/mapping/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/mapping/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mapping.html: $(top_builddir)/config.status $(srcdir)/mapping.html.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-tutorialDATA: $(tutorial_DATA) @$(NORMAL_INSTALL) test -z "$(tutorialdir)" || $(MKDIR_P) "$(DESTDIR)$(tutorialdir)" @list='$(tutorial_DATA)'; test -n "$(tutorialdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tutorialdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(tutorialdir)" || exit $$?; \ done uninstall-tutorialDATA: @$(NORMAL_UNINSTALL) @list='$(tutorial_DATA)'; test -n "$(tutorialdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(tutorialdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(tutorialdir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(tutorialdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-tutorialDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-tutorialDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-tutorialDATA installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-tutorialDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: seed-3.0.0/doc/mapping/enum-mapping.png0000644000175000017500000002463411531036061014663 00000000000000PNG  IHDR$x[sBIT|d pHYs 4 4T޴tEXtSoftwarewww.inkscape.org< IDATxyǿ5 K<[2l ͫ1}#&^L&FEӃF&ʠѨ07de QZQC؝z9eGRϧ?[]]]}RJ v !`  `  `  `  `  `jmFGCxx>i 983h $pe}&Nfg2:z2akɻp1pk tڍ%v͵Ce~cYÁsCYr CQ?-S:l < Kcؾ30>4B2[pvcd<8o  %x'%\n*]%0%-+ e_t@&d|/UQVL?xX\ 9p0h#Hg+tl]?o6p 08> qm?r./m)JUߖd`i">8}J9Td<61D*="#Ju R"pu"=)Qqy6ٲhBޏ(Jɣht[Ũ/VxYCJUD1]|Xf/Q" k$-_] ]`]^f9gSj{e vE \ <:54hv.@ ݎg}'KFu3PPj1]{E&~j":z]K|'3e zx=e/Tx"HG3P(+7`D*]_Ŵ^q(kp%pM"R`8H.)QoPZ Rd<\*Ctu U\7NAY3@|ZF9@g2EͲBdQ&V(1:2~gmrvYN۵R \dzϵYhrm{-pYq꺃JX,sm?.Y P_~T "(,k9&Rd<|L>fke ["Cx7نNg2ͪL>Y݃FuQg2V EC4Q_JQ7qYp+Os)?*ҁBGhڍ r pMw rmev@5O QA 0<x#7(AZj>nRs} J 8=k:SY_E5m_+׻,~ Lޡ(ky^B"7aVzBYg,U%ʬE5OcC}8͸.SH:hEx½e 4U@6XCe)K;g^7P.͚!jD5{re7~% R`9l4z@6-((k7ZewF`dzvB5f^UoP.ldzՍup>۠#u9`gdz*Hh*.Kp psmᯨ&OTz+ (E^[Qkhϣ>:Jc(Nbud qD*T K-PtAgI~$ ?T(o}㔮}w>Gz>HJoDNjHXɼUɌdM'ma6*f]CKKPAjgv}:hR= Pk-GAK(+$0{]4׼TSKG2{e9 ^ ۨĿJD2JN0r<Q`_f[Xl4* e)3/Fl4jW2hۃ^@ϾW[ɮgTkstr%RؚQQazw_!8,Ԝ BS@`.}];Ahcg2$ThA`*$EZK]Q3l4z0q6}>wF ƼP&M\J:5)kp<:ԃVo8Ռw@}j'fU%gUYD%I:2LE9( }Jl=udLHc3:qP>Kxly 㧎^*4 HD*=e!K[^\;D}&sm6;p,JT3rq]>y3N@kݛFd#zϳ" GV:Q_|u:0\ ܢxõYsP&)jxń"Q6CCt,i0Q#{(0"J҇$k/%;sdج?CY*9m  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  [$ض3s!B|@w7ԓtB,% 88 +aQB\*W6@#sݭgBą!:#}j?9`p'_ݭǨ^DIJJ2hOjzn r))0׺]+CO0%NϠfL J)Wnz *U] i! !H?.)UkދuQ*J7T7/>@_`NVP )eX]ӣTBdˤ+Pg{9꽪:L^͊$$-@ Q6z=bHK7JEjhFu)e#c~)כ;V)ANJN3<ʣz.=''"z!Ď7@rIoף' Ef$!fI)0*&H/Bz F C`C2 U$P5 lh8,.[>,gx֯:dzg 619|zƒkG.[v1B 3G.vzNʾ,!U dz^_rdzvABgF+^ FͪIq<9lEߵdO֧7ILO|;n\>$ό]ݙ> AB@<-sg|7oÅHX'| w6cTh}ELK?,kB/ }n7Yލ}cD*ڳBlYߟ.pB쌔 lCq [pH6}-[G':ua^W1?VvO__hN{23GT/}dI67!̀pt}bzq)]  :)F|i*=8?"e]N5` CA$'K!f$<Bݗ#'-+H)7F"~8yEe γb4ztm${hRRpakflh8`i /h%񬖯YYg^/*Tk]ƵkzՇkOMOrSou!8_5 nCvSo`GhڼX^y4#9 <ȹo޷ V[D+n;+hUEW6bٲbB\;iiRmpl<XٸqAJn 򃞨lu:5F8 p]C!6"4G܎d y.x)FW%#C;{ՉȍrǍZ1)rU^|RkOKdR;EAB 66ѵB% N,q sl >>|x$;@F" 4bixcYG+6D"C#BojQ%H!b[T񬽀ʛ~1 vmgEEMkY{cP9~;?Y'GvgKQ>]P5pmMZwPXJi$K=~9ojrW5y,`QY|ޖ}jɓt EkjRv"F$2HdiiD"#7 ¬><}iƠ7x3u)[(lO gӇoPJdZ+A3>Y#x֮̎g\W>^ȯ9_P/루Q/%@Y1Ww[`^-CqmYY$[PZ ꔰQk(dz xַP̻ܝQQ"Sb]|Ry% E/H!:{{ٴ!I~A )?B1~NLD$p2;o${ #=!S lki\n \~;l4Ց2]Δ2\P[{ =kZB zppJ^tے%_aZIB a|)RʢNL׻ IDATVM~:j!R#,ػMY(D{,A=xϵ/ Vh?J>vQغ2/yoTSmj(m~tjkܨR\,mmTM5nRd``MmS)Fț_%D>07%XnyC8'%H_^ kFElxCw5qvss555 |ޠ ҩ+ 3H/, KL-^$pYQRE~ӵ}x]@81p")};Jauwk~oU/N4Wyoݑ2 HԱ^D@2q̃On(ߍR'?_P }@u6B2M8wOŨ}' `ʕ/Q1~_pm/^rʈ]P{,B}}d@%u `"۷G_?@vU)vŽC]߈jVBJPCp i@G9 4k%3q"9)hhEHjP7֡P>Nc%oXm% ^vùݮf.ʯtZCVB_g"dz.op<T,z kF[N:H(ެBB#xD e}a-p0x^0}P_0 ?xKĆ\KZ#k )D G 744+NQ.Zz'|!&e G4:[$+8]rwHT-$lZhnuFarD߾ 80[Www}ຫPAp7J)K9- cx,$dzơꯉ; =%ϧc܁o ze% E(mgE NJP#*s8DpAY*J+;}~+k8Fu/qm2<x֥fqm?ߙmmdzCP,b=TZ`;2H-5խnCݤfY$Jb',Mo' LgR$%__},G}~JHu{ֈ {'RrQ2>rLg…ՍBL>F())5B ZE)wPM!>pO.wP&"F2Jh46W"+/֫p;xo1">Z$}ɧ X , M:Ozަ_qCYCN(ќE^k3P/#St۵BV Iw?j?œb]af(Ko_Twm̮(zj 敉; _2b`0T " C``0T F C``0T F C1#خpIENDB`seed-3.0.0/doc/mapping/Makefile.am0000644000175000017500000000026211531036061013603 00000000000000 tutorialdir=$(docdir)/mapping tutorial_DATA = \ mapping.html \ enum-mapping.png EXTRA_DIST = \ mapping.html.in \ enum-mapping.png ## File created by the gnome-build tools seed-3.0.0/doc/tutorial-standalone/0000755000175000017500000000000011545510403014167 500000000000000seed-3.0.0/doc/tutorial-standalone/packing.svg0000644000175000017500000001614511531036061016251 00000000000000 image/svg+xml VBox HBox WebView Entry seed-3.0.0/doc/tutorial-standalone/packing.png0000644000175000017500000003362311531036061016236 00000000000000PNG  IHDR,)9=sBIT|d pHYsatEXtSoftwarewww.inkscape.org< IDATxyաO* یNd!(.ѸF F#*FT@q$l 움 0S =0KOwzkk53>uTcAǹxo{eƘy齀X%l^7, []08h)òmRKLn#?t-6oD" h <ξ/jTr9Ss nj1i!? cRՌ1Vd+ZJU( < )lwڃ gX'qI1+^\jV\tUSƘ򼮋] @8#+ݟJp\mwv`pp90qƘ 8#+>g7cw:eߺmw)e[<5ڟ: M܋՜i8.{]m\˝ (Dp6r*N#`;x .޿4X⾼,aܿ2[eҖs888b.tsa)IpwskYc?qLp@_c7p_o vqn y;bcV{/Tc nq'!8hS*^5;8D {H x=8MJ2 8BuOr+QV?(Bi(,vVy5}~8NR3-1cv`r@y_g#VL3Ƽ\,Ѯڀ>_S2/? 1ǁ!OuŶqVStQϳ|3aw;gXo[!upopڰB&MFws1 03܌mۿf8uKYi쏰d ;Pۮ eLL@z': <)IlNX(3=KYlmX2`kN|rmqb^b^g.MĶI9]JCSqz8k`Rl`^q_Nq϶cĒ5`phN m)0`fw8sK}PR`Sџ/o/LeYS= {An?u[JKc1/;Ӧex]rl3#/G}Y8< {x{qn wc`K.9ׁ+Ǚ+؞q8䙾?ga)p z{O"ǹsee'˰BVnBL&0Yc8 hl;:GL6 |n Klo8e,g}Lq;9,뜭 (1 wQ ļDPV#/D{_j1WH㼄5h Y]a̓ja`ݍ1{J1p{*|{G_l8NglJ"0f+wsƘY58쵢." ϲa~ N hY6h) A;E{i}e_hP L9V,v^_I-G2tk'2cLgF@Gl -4)v1dۗ=a}1fd4#(DJ~fcFDVQ`ociwP`VP`VQ`NcXC5#zVP`հb+v(b+(b+(bKt aVQ`VQ`VP`VQ`VQ`HX1F;TÊ=  أ1 ء=0(b+cX"S`VP +(b+v(b+(b+(b+v(b+(DJ1 ءVQ`VP`Vѣq` Ef:SgǍ1tYk8VQ +:q{<d d9.(b+ 1Kw(i5"Ih0(@Y)VS8jX1F%Ƙol/)P`Vt=$F1fAd$ "c)`,J -1 (3|򽓁1ۣS*q)b+6<@QgB`?Wq)b+c5ñJP`Ŝrtw'vvzv[t#@3x NBĢ wX|ŲTGuv@jy3SU, |Yf9`ř{fT'¶++J́g~`1fqpoSV'`RRyKaW{aVr8]19a9 pLl/띑,Hh*t66 /ix Hw_s8U|HR$z/c<`$jS^(p1擀8I'gu5QXU, zqЅrѽs)7,b(Xyjt `;] 5=?ÞUͤl/-Hy8N賂;~lL^!…59+~Ԛ={%ͤ\{hXN\lyxm ^`?^Zj`6%~X"-^V=| {(Q)sϭkl%zm>>A}bB$+H{T֧ ζ` 8b}Ҫ2<Ұguptt*Rb/ ˰pDUVp'p+'"G9kׁ7J w`Za~O$%oMρ?a&u#zmBWbsD$v6t.vie= +:RF{k a)Iyh~aɂp4'`R` +h 6V&Lp=>lکDjS>e-pG86\j aJDryp{;EhŞmE"Rd+xn3M%%"Jxn,\eܖT?;({k2-@Sw|/-\w {+=D,O;`WtC xE֎".Nm6gWC'2W+g dzPR <Ή{}PNvP%=y4o,ļm)h03{ IέhS ii {c9~JOe`C}~ha/Nô= s vv #X9GzqLlVlu-^1+N`43lM0W_`$PDlHIK*E~yوvt`~yȴT?mL܊}vE=7aܱ/aCOb2ݟAףm6rߺ_ 5i/F@n`^2k@u=5g_c˻}G&ƙ56vbVOlG%,D$=.P}_= Ʋ=jLCr_bo6v; _A'""3 smW=J[0$lu7BD応)(:<, OѤ m~>;VVw ,vy^rH(DaĈpѢEf̘oС C֙?-[ Rz^:hѢ3g]ר;^{mF6m߿ĉ;4ʹiօuks=/{1C=K vGn\vkzAunfxskGZg̘q5k9r'۷oџ~7r-mCQF _~{UE5, iӦ&W=3%wy9w}Ӎ7nCzzz;}my睽wZhy%%%/_|~i6m:?=4ݻwŋCe$%%ů^zҥK|XRիWVzJ%NfB[~ް 3gN;4nܸve#5ȑ#}o>v˼o馶SLv+P`I l?~|p8p@{}wCMߺuq _?3nᆎ jUvǎ+2dHG99iҤg ,ю?e˖rT!g@ _999'sssK}ҥK^zO׮]3fLO< {m0gΜ-'O듘H"1|׊57n8.KA ,(, oCԩSK.θq2WZ{ ,8vXAnnn@.]ΩrssͬY;vl#Gx7m X"} `Сv(zjsAA>|x-[N;Ͼ]jaÆۿzi 6m:+5{sυ'NswݱciTeq_}Վ޽{ۯA ,RRRRRRJz.//khذaݻ7hذa6'Owi3TAP`I գGzrˊ[neEi,Yrq);v`̘1knjZ ,uKӡCsgA_ Kħ֭wvx7F< . _Q^ZYYY?Y.S$PGիo߾ǡ\~^J%#fƍrss /^7ܾlٲjQ$th#ZԆ%"n=7B K,zJ9xWz-7{FdqٜxOxץoiO9WDYʿ"X{Y#:eoDOExEVSuC~H@j޷*b? v{WJ]t/jz5kdF #*ϐY6~KYsec]m|XSњuE2o+ۚ~~c݃cXhNQy'.ڱDEKxf$0=07$lكfa?[y&w\[~ s WmmQ "Ot?ρMx 0 49X̭v3w269?+C c$O~at`plB`0- e)):+,eml/i6Eg}l9A`u/ NZ-EPK#Ѹ4,p'" {h(:lS>lXP+xGQ(6bT<jxx?sTBDFp%XAZ](:;~{$ k ˱C(, 0x9Z`à;^ TK g3 >of:!b#ks_AǁQ+<"?_z8dCa)Glv.= aaOuU%`xWjƈDlP:1/U%ְ [HҀtwhB`{gvzWb#}Q5gW` mY)NӁ*@e(:Xz^-DZH=,L uJ]C)T;lb J]oXچ8?&|`Ă<`;գz\'n`ZH%;V&c{6r4;DMRRg*|RmoJ-'i*X^.%"5UOxK.v*hGQs%<6"vHG!)"R.|ubX" ,h4'ck&"a"t83kC{CىT'yخ 6`~ Vؐ+)1 e9?"؞wR{!e:"R=s..X &ޯ{AT?kp2iczѥXxX>Hu {CϭJ`0λ{W+&l;~ |J>%vжW`5z^> SDj2w<PeEO'B_IDATH5v[X)EIaئT*pV;v2o""A(uxHM+n%",SdlPRgjW KDBVFKE8{a؞T?+\*5AD|C%"P`o(D7X" , KD|C%"P`o(D7X" , KD|C%"P`o(D7X" , KD|C%"P`o(D7X" , KD|C%"P`o(D7X" , KD|C%"P`o(D7X" , KD|C%"P`o(D7X" , KD|C%"P`o(D7X" , KD|C%"P`o(D7X" , KD|C%"P`o(D7X" , KD|C%"P`o(D7X" , KD|C%"P`o(D7X" , KD|C%"P`o(D7X" , KBSN|jjj\$3999PNd]JH.@~ׯɡCNj]6YvZ*'rcƌhذaE͝;@EӮ]7n[PPPDY߿}6>zhO?mYֹӚ5kV{ڵ=SLٍ73g.1b]7V رc & /x79|p~eƍ1n[\r3<3"111aU4*~&Ljaœ/^ÙoԨQ/xcbbb„ f{"TT1UcロUPPPw 74 L[cѣGZe v~bbb1L:uGU{oϞ={;Ã>lˏ7}bbbOX_D p۷߿˒󓓓mڴi{ߺu)))ꪖYYYڵT՗΁ `rrr ^z ŋ/ +C7hIy :Ibbbuv 0Ço.y\r{mԮ];n /F 4HYj?xmNl@wW6+|K.O;.W^+W^ ޽{mݺuK_~yupzǎknm۶[vP6m4+lԣGFfٲefϞatFFFJN:bŊ#y-ZH ̝;w' ߠv-:w#>bĈRSSサXdɎ'O 0Ӽnݺ9_|Q, u5j?~լYŋnٲiǏgɒ%kOo97mtl[.¶v[kر]a׮]f͚78}„ =cu7n$?6m+/=؎?bĈy̙3w̜9swZu]$)))L>}gp<{~y5XpǏ_8N7I& U&q JMM5iҤƌ3uɟ?~%\iK3uU]tQ&M$+:̙3Ԡ,Cqf̘ &Zpᚆ {okyg~~~~zzzӒٳgzp+;鍊nj}YjY c;ր~ Dm۶}޸/k}3777k׮mb/֜c o:wޙV~:O?A7lذG6mj޽;ࢋ.\>֭[zpڀ.O3.]8s7˗v~~~~;S9jt!ӧOz FիW~c`͜9s~`;֒뮻qrrrRaaaiӲ5o޼>ѣ>z蟟齛5kV7k׆Qy hdffNOOotY`ƍ!!!!ȑ#G򗿄_RJJJ~u&O|ٖo۶m=;3g9y?;^~ /0-///ڴiY?_.,8jԨ@ e˖:D+dggeffnժU6mڮ6m4?|p… [lCiӦMUW]}= ..a۶mgaÆPMl|~᪱c6߿!ynI@qɓ'xn?u57nѭ[67tSɓhѢƍ3srr ̙'tпtKfly rZj޽{kfkJJJUNlذaG޽; 6={ougعs[n=0jԨ)OΝSCi&СCzj;^z}k֬u-^x2۷/СCGիwY2eJվnݺK/8~x8N0͆ ѣ}Ϟ=Ͻ ӡPRbڰbu͇ rW_}uڥ*iW_}uZvWk.gy^#F~W_gϞڵ7z뭝ǎ`۶mY Y+MVV~aÆ<1p&|A&@Ν0{ԗ,Yx7:y3f1:V ^W 0{kΜ9;=%%%pYe&Nȑ#GΟ4iRjѢErf͒Bͻ[.nڴiy]vM̵'|r1\s5FѤg>999իwn߾}rĉ~f/q7(D+۱֭{ѣG}H͛G}b;;w<b??\'dĈM뮴'x… lݺ}v|׿8qOFO>d_$;R{W2Y7}?Ǐo3dȐ<@ /cÆ .\xw׭[ PVo͛7/9jJXd30aŠ`;ضҖ۸q^zuj'xbsVV֔z]ڵiU޵ki1_~_睷z- Ls9rd_j޽{sϴNiO>w_A4hP1l޼9>XpaOӟ,^@Zv>}t&~lFV`Ӂ`QC`͚5?|WC-wܹs]E(+%%%pu5޽{Ìǎ;3w?XrٛoEAAyw >i~.X`ԩSwvѫEl _fvQ[%KBOYfI>K. 6mzرwiӦIW_}u?xo;Ynݺ+,,4nmS5p "RX}q.$"+a 3}#"R*o&_2SD$ڼuVd#"R-l&끕&.HRt1 ug Dp""A}Y6n31kG< DGl=f1qEŞp<20pgW@cLx q s=Y7"R4:`߿n0|P,ljmanku!e.P'hSt s!EDJ1fu8C%ccL}DcjoN 7>yIENDB`seed-3.0.0/doc/tutorial-standalone/4.png0000644000175000017500000012537111531036061014767 00000000000000PNG  IHDRIsRGBbKGD pHYsuqtIME   '"JtEXtCommentCreated with GIMPW IDATxyxT-wd_!a%,* "⾠ֺV[j֟Zj.uVZ+ nʾ}B2d3YIHDH'̝39;J=}B!1xs&gG\| N%Bу\ķV+%5BEGe,-!BHC^@RBt,79^^'nPt{ #"!pOElB!! K83B[w*Uw >/SL: @ehB!zj.7E0 ̱7r9 5xk,HC!iWޣ_zy!Wf8<c5/`3IpTgo/h1g{X|'DO}jEbX%gҿO qFYLBcD"=1`zAS(U[M5 mO?,D WmcuhZ|j6-__$4$VàN0`4tuBŠ4=%ҏZsXԡrΚ:mZv|r[ v߭ M7C !]^Cψ'n\TȾ [n`ydxckf`=*j:,$$ѷO6DZŵ9Q01l8 5ְt?< lYI7|eb%!9>vC^*v`۾*j:HL͢^21 fAl0(D4 VGSEi(ruA˸G{_]C7?gLw[+ jE'Q"k}rZ>ɁBp{V1X.t.M>$|RFѪq gޯeʩyp,Eq8.MפME$۞Jqտ/>($3aRpEd 7GjUlZ;1{.rNCHw47/KPngUedA!o=\n~VCm5 PP@QPP0M'%m!1A@DGyXSKьm$1\F:?>B _~:7~,hO9*{ne}a'ՖJQ_0(/EANBh<8#tB(eoLZFZXM sktjIfy$fqtـ]iBMrU'ҤrZk!+w)'q4evI- ޘ>!H*ŀAoThyBnFC{6ADW1OAش,e=f9|+Ryr0pFm eEi- !s`SS'|)w!p[Cc}`3ڐ$V@]<<UAER\0_T,6ܗQʊ)II&  7)G,w`z^y16VCgB蓐^L fkBN3B3b P[|fW{'@ 3n#Al1(!`0DPiBt{Mj#.>W>kRnGkV`[MA"cÆnvBt آE,2FZI?ζ:z|OƃRjDutqA{Ix Y. '3aD0XXksȳK8cl/$q /=eKv4GI" S)<KpFƆCΒZh${F?++ٻ321p[˩Ɠl5ooB!j=x >sTPA(ToXK[uLNP7;( V,1!z]>)MZv6+4oˋEam{XAY(T (@"Ь;HB Lc0)ȍkerwPH޽7&_|6/M P׷Ɛc@?Ƙ @Z( "df7(ur_9}!A~m"9,y[(LżZHKc͛ؤ\2*hױy^^}H1)eP cXL`\3 ixݕ,\ >rKYJZz`>㑉øxtyydoח36+ !֕[+k >[+ &v}т:$$GIGDR^&D{Hzlz^lQM.{+U {LQ$g;ł]>[D] |ST4q dRv=Bӫp {[kޮ.i--m5uqG]yz O!zbLX/b%kpYMk-$d&!w؛a"ATk:K cQ33zDhBn}ط)i(/tr[ ҂'BLvօ|6Ŗ{HwU]ig]6dVnAP6!B\:h3f9>21/@]urBѳz$&po/G@$ !⸲>˭hW{|#[B!qdP\EE/r,!Bݻx/1ȢB!8>IB! (B!'&Y=}B!Ol&**J`OUmk1K}AY(B!qh4 'İ C{Ǟ=8n7B!_P;p$+>O㭿߀b9>}-gu.#G+B9zǍ7< "GAMX!J(-u* V!ӇR^ c#.5 q ,BV6Ԯ@ @'m^r4x^&u-9NLW\uܵ>YE˷QMf'aXP%7ʛO_yB!ZޙMoO1ꘚѪ*z@Nr;@  ۼAIӋN@FfC ׎e&2]d?vv6YOB!o}H~#hQMb1Aȫ]ԥa0 w/D{ & A݀n0nÞό^0x18}~ǢXYB!Ai3>b bz͙ZH;5(0 dj>\AӻW !BA]!!2%V0~ /9Ǣg_!iluE$ !䅠 /dSwo ePvuwvNe )M g)3])핑T Š{I-KйaPujޘ^yGAػwt!Gi]W#11 Rtf5n|:w?5,D/Qq"k/y蒖U.Ix;/88?Eq5w)=qI&e1p=ӕ}>Y[>ʁ#cYi=xʱ"L+\1p3׆z4 Kgƹo?ᅣqbkNںEm.s wsK WOᩫ7+Ƴ+^"ODVVgo+YB!þb;8v=IC&a y !z]>}NIUUYQ0[P (DAЃB* |+nv!;`0ȇ<` +@PDZk:W 3Xz IOO F=kg=;,nNƏ5O|'o$|_Nc>Ʊo8a1x~:Ǜ+ɱ^͊9H?!2Ln *KJM(5_n;q( S`Zr0禟侟2Ұn͗pxqrl1oy#\fO`) ⫻/7kflo+o pqNy>l0񸋗Jۯ1I>̲*3޷5n6f>>E Bq6U$< CPCh!/J tNGi4[% z[3m~`;Jpa&!k3sZ}>Vl#=+ 8ضv%'9iPJwb7s M~DuL6b!3.n3o+^Q5iSsac5e4Rwj/٘qXj[ʾ@ǒ%N VE6ێ~?gyC{3,~dFF L\؃\~b?rά`WyiM]^?x|(Wɉ=ny3*h@yȯ&0p nv~B_-@wf]A'ahi#-pDUׅu/cΈB8]sBN]Z0c>!v̅gYˠi0"/P`MҘvD233p\dǬ_ &F]}v2} r9مD?4P`r6ܡ$8u!j8*SFXxndq`f=muUg] I1.ih߳J_ncmxNG7ï]./63aLrk:x-yw~VvM-^$@Mela k6RK}qę3ѧ=FP* -ׯB,z^jjj  GXHCu@m)}PjC[gA*]ݿ7>J]`OM ^gD5@jrTqՌ~dffO0{E!0@ FC a]O'hkĚƖG3p@<}kٓ{C{ gb|z5ޢ( o%|ɮb0=n,>TCԽ6(h~BtwuoSؿe Az/]KnPDŽBsejtA ZJt-ܑ$ FBb>X?@G\@ bGnx1 Œۛ4f3%?7o`"F].im ៧;sv|WӁR-wbGl˭ǷO1bZ{d~ol$$Z{qůbm nOLȒ9V]m-pdo"wط Gmvo)*g yt6*g4f>]Su@o>BwA0**L4 B+=#ObuEװ^SBpG0,6 c8:233;PT?ŻY^/c凵'i, @_'G="t/lPc(>y#O}{vSBqADbb"':0n7OJ Jka_-ByNnrxvZU kap}@jf:$&&&BYE 9GŪ,g٪mB!WEFm*Ɍg$Txͺi3t,k93nIy3I\EϾʭCo:-/&;F'(@j?S[aH:qYMٺek) 3?'qEOQ}ombRƹOFmOO`ܴyz|6z{7ژx>&x/-o#f8;~g/Og 8Ӂz l}} !֔oԳQN lٲocBd>xԨ8 Z))++cu9ո-^X\5C @ee%cXW( `[ʹ:~ #I`4C e[ܜ9l2j~vdegw/橩U0v O_3+0|MvǙ|,`4(]w>agZׯBF-wOiDTTTZ! Bx_vV:I[bL`01Zͨf F3h`4+F5 Ŝ> 2j.bcTv*1Mr%X+B`kap"18n餮 F铇S[..0b-%N~7es9mN-$##UUQ 7.BB! l\$T[wKHH`Р|Lo]G^qa% RLgAi3BL8'~}r ..ct+ٽ^dkB!D3%۶jQ!itNG`GFX,$$$лWn4Ԩ(bcHrr26 UU;,f &g|nGKY!G]0dM̸֛VB~7  V+͆i~@Cp6ͨbh4v;bfAX!/{ ?(Bh4K>} cSɄd"::KB 0!C5Q!=[(% ^ X!=4 !BHB!B!@< IDATA!B3pHbR,!BrE"(Bq (B!AP!BHB!B!O7\( 'Q.IT^_ovȐ[<;xbݽP%Vy"MbVg9ܐO\A//k8(Okq([X*.h<144hwUPk'%V uOCML;ߎ5ՊT,.7ag}cIO!z*J=N;$'aYϦЏVs9snU +1٫HJ]Mr\X&ߑ|fWG(M$ `|~."SlW iF~SP{Yt%[S y}n>m'=}777a<& ), G1锾"? x^fo',2oЖq]U?!:_L,t;ڥ1T8O + 6kq>~0*ʆSos%bbY C(|}%!jX*tyUՠWq9D[qM%wfFȕx[iZ桼0FN]Kj/P=^>+C9od|N^[¾>?7wgldC0Olq4^vX=KyivQM' onF}u$77_-?F.ʡG;HפjDn~}իN.|؃@cۙ;FQ&S5x=g3WygHBޡ{R-7n֔rr8A}:#lPbן(zAJh[~>g+ aߢOVncY{WLmcWN~,HzDjߜǴ^G_~<fC _x=|Nj:߸Fu>>,:(W9 e pu>m߇pU+?e\ksٜʇg7c4sуjeq]˽qL<ȗr~:E}P]9Xږr~,J<6Vƀv[\5l8dξhC8:&Yqju>5w `v_;uVĘ3Px,d&i矌R.ĺQ ƥq}m8$wv/=wI,,->\5ͫO6M!dqasD'( s87|P 4yF@ ;s h+OI4?`LI1|(Ȓnϓ?Dq3MUP,f.3kMlq.Cc9cb`u>}^~È[67`VސƩ <9sx=; 9dsGeq{Ԙ}(1hJީ dcbxt@`%

Z=;ߜJzqF6d'U!!~dڪ]CzJr T-wy@ 6TN_ץ_[dp2)?IfT쁟Y}%_os3"Fȸ [y)o?<=y8)oi^VurDMo=_}wyX}Rh7w>L0>Q\%; 7-3HMM% 56' ' {;{[G QX3MVRTBGZBlz}7gXKb*lyM ߇+B[TR#˷Ocג&74Չλ/\ C+o7x:aN'qc7?V; sqj[Jm!?]XwTumW~{SXv-;:7ϰɊlL%ߜOjhUUs/Q25SxT %ȶz$С'bS ۆb6`jRm߇f& ;+kZW0T]vefebY_vn 8#1qOihyP̜4.b_ kNe~p8=[F_N&3d$0(]+:[iq m$HkQD N<2Ɍ*gքQ6l*?Bl}㙘ByDBl~tNHdD>,2NZgUY͜FG7K|hݎ# t#20=E~8 *mҝ\ +Njg嗳Skn^Ϟ^ƅ&qfL.b y)& 1c~7O?UpUWIZPn(۽?PeɇUlw[Bc4#N b9yk?V n5Yuq1t2? [O-SavF]<.zsTgNy*|'Y{]wO9sWpyu5>\ʫ;h$~Oca\_iw;zC[;ag ^,סpeWP6N^+`jZ2`}Ϛo/~ԁ>Xl,tϻyk| ֟z9*/LLJ ~>gyiw?J3pAq($7GXg=f>If#1t )nSW]>x(_y܎y;p>{{v?A ٶ]ryt5Ki{?urp{v{njd+ 1;L$8)8oMR6NWv\UIQN񷿧1!I#(vSj~ cB»_ϥt !B'Zv KǀB!qJB!A!B!AP!Bx\5CQ,!B_J;AA񲔄B!zIװB!qJB!A!B!AP!BHB!B!A!B!AP!BHB!B!A!B!AP!BHB!B!A!B!AP!BHB!B!A!B!AP!BHB!cE 5 v/`s. Ss(6{ɏl'A!oZ\.(¥h4UŦjXUy`Ue'~㚇 PQ‰ P1% Ϝ@!$ q? +rx%&t{YC 2TMSqh3_ m\8-?ܭ5WdҁV=k$6o M B!z܄./Asrp(Idw =X\p%$ ѳ,®85Ja[xpr~J8nUQ\f%xZkp+NpjM'p0ih*hϢnfcSR“7Si{؎buhרTTv֢室vjt9H3(uLU`ъVyh,@iܾlvfW8k|in=wÌsf4<+S7'|QVzv4A!zҊ N'|2l-X&GK!ݶt#"oq8.\n GTBhN¡0r\NJp,]?1S1 ^U7\А\`ŅԍP> (a $=ir{xÆ/-k5yt{#y"WM$k%ژ}uggt?kE+Q_z8K}TY?E IDATP$7.daճ(ՍmƞȐ 1n8, S㑃 (DOaL­]N&MO=}0|E)[/ѥ}8v368VJDeEi*ۭKUWV[WWVG8vS;z V55 JXf#5Gbyiai-< Mtf>m\y`oA]04 FCjE=o5TWEP٣XM#$] -::;?d>4DHj! IZE4[6P^RnD5z}fcO©TD$D)ίј>ԡkrUI;hnv5j?{xd7X, BP$PQ1lj`e=/ZLswA̡!bq2)> 7SM)0?t? 'Pi ;05 _Nt`RY7(3pzDQ@ͧdd)ʳPR^ۏ}q#.lp[ܫAϛ;h3a瓶!mJWe<(<4б>tU%>]w㪡ғ0R;\l鿹YU(DrNmm,k<]{cs-ZZa޾@sfQY]u 뉟"%u~hw~i7[Q [ݣ {HLS!(Wf[̸ufǧG 8-,|> kbёaU ~z;I^6Ц)t0R 7{3qj zfvҷngJ̺/p}r-e$>R;8UZ3o䚽u-/Ql͒ 3yErYR6chÏ[cՒ]B.`ZlCGB:ԌM)&3s\Dݻ-ZrFJ-}8a׷s]3_Z%z >63Xs߽xKA!(?挜T$"? Թ+RRӧ\aaq[_xy+' qlw|ka]>f5i5- ބ;ւ)NŦ1[?o4.V/f'L]8s<\K'> 6%ӏU kI{y{T= V`5k,ͲA Imf3xX\i"C4o4&*WbFE8sBkra5ƙl6S xrjj݉}|?3sxz5 Z̉WJASh~A(Vy}Mw E`ߘǝ0w/-Ŏ'u ;۬ho`qbo +jq /nq9-PZCX?^Ctpk-ЙZ-)`#G1{ 3'2xyu &'"V5F c+T}υsSAwb=|@ܹWq -,W07{Ȏ©FbFG׬FB).AbaX3F< ,nAh]vp9-6*>eL#DWK܅f2q$-’SސpZ7r([򪜰=5A)@\x] ?;KvBGy*$@/7_ ֯\*)ž|alZ;Yw ?ijiK4fÁ`Np랐@=GKڭ'*)Vy`*燠kI%I9B*W\΅+L2Е]0R*M inh(4΍h'{6Lܘ@;XR~.)BL^8<|ҷx{شFh0ƴqO|pA@ߊ < aW['!4t.NQ?~uVC*woz&$- ՈdIW \m*œX|\l/ G [Ey3"7~QWD+pΩwg0fosT_%zU'b飸ZĢ-7.SqnJ  @YټZ5ROS*cU'j\ϸjHje49oft+yJ=nRS/k"He5kqKb]EεA ȏ Csֶ8t>(fbqNg}xcSl[rApuR)+DLJY)K]qc"ʹ8CSdp!QmR)P^35ɩ^*S^R!Eiݵa<,lmCNF5*N #Ir5\˲Y忷] v=ׇ\sdMj[EQRԌs&k[ST)(1T<(䯳8VoktN5mg4LՐDG#LʹTX|^!6 AAyS%̜Lt*kyx<$ Ð4KQǜirh 6T%2CKA-Ei=6Q-iWڒ˦ϝU_|{ќNr ڴѿr^1Z$%8mKt>ү֝K?9*&Fs-hiwiߺTZ޽ v=.4M%Lގ("3]fqL_UĶf`#3ݡB9uGgKaE$IR< ȶ61$ 7B +4Z7 ֿZtd,Z$Zݭ7EʅC#O30kkZRT}O{1kun,I>&"Wj 2* TQy|idWػSEY^K!I/s,j) cS—ikN4mSBv?i"e>(,5P;*Uם qϠ.ݹw xV8W[ޝ"R!Y oݗj"y?^+¿$Jɇ fn,xNl?wU]+ݒM MNeCă ]6EMh;;w%c.O\Q cP, )eȴ$Df.Sr{q.Vnvaz3oU󵏙Eb ~BT*F#65K2Z i!g&CSG BP(5+c纂:gࡈ IUwN9tߧ75LS&+( Y.&\Ao=k+բ5olܸ* !3.DmgJ~TW' n,f-cyNġKr3VX2Je@WY{9s!3}Y ?A,f̐j4w.tl#("aVv[ wj[ȂEw+x2 ժ07|柜Bk 'e\jk_S;#PpQsx?.簤?~^>N{֟)k%I9TQp`lR@5Ο>8{rwEE0,JŚm&<A^ ^ JC*A ̑>`\H%aO %l\W5 CI ;Gh]\C&ZE*lBhWl%MxD2ST.'*555vIdͯ_gkbMkiHks}LC&p{6 *|zzvsz'bnY ԄD l#t#b=OGy[|AX B)ǯ^4 \2kX[,-`b\wC3{^GR_1XDj]8o,B+!؉|=UWjj"0<(j,XŦ3n0El~(٣1s|r|yHxm_=W_S/=yꮠ">2 \`ݘ-9 BPpILk`|°}F2lbj,i-ŚW+6nnAF4RhY}Œ1gNq1eʕ>5nFضs۟v.<SvС_yؼԢH}!byϝ]Oa-7*qn`zw~7mGk>Zro>\NIxIWD bKSڱxA bPi}ʰ󉃅t9.PMr,m7}_A{A'(f=W~џM/̌= wgNAjS|^$$&i)kUpFbùa48ns9I |Z~ܩDK;g#.VOaUV ժ }ŲIK\Mca}M1 B]!ZkRm;XZ<"=YqA \>*˜+Xj8{l$XzedI{422)/{4Bw32_EUy`9S;4Kǜرy-* nU6A)}Tg}_7Oۦ w6ms|/o>]뫸&تyYMyu5`CV-_T<Ὂm) uU{\x\uy6fXB|"v[;@͗):{7ʴ>+c3.k "'*LJVDnD}=\و~sXT-Ym^;*i|ok k3_ `8QYlmןG]Xw=f^ S%MrwiVi`.͸)nBB(Qxd-XG4Xr ȵ9޵wm>VptwΩX*ƞ~̃H-BZ{ts_ʶ4>Z[=~Cc!a᪁B-Sϕσ%M |l}fw(yM̦UThdFv,">v ަ+muI'y439SnR׭G41\T xlWw:LA!(\]}><LyB=Cy]ʚZri?Tn_Ov9~鳮6?yvqP6߻9!Q|}lucgZti5Vn(J 3Q]{â_BzUU!!oTz s!jպ ik@X)C/ysAfܹ.`6OZ?C_^oAD e^J)6p-yS&ݚO1c 9n(JROa艝@VN_d>h5 q5.T^;HjaaUoM6bӺ6A$ IDAT+K;9A2vl09q(ngJ_C3g9 sea0w]AUS*4K&֠ʭ lʭ[OgÁ;\]҄=׺ K+! aYܵWL 5' 0K+X*Mi<9q\7yQ|6cK_Xؾ/$,,v[}49?UXWvN5+rW߾ {ogӆ[0_f-b qx$v!1*-b.|j.j V?8wd2{j3q5vGb]=p|C./pH.W%9gZk7Z;>RBeiJ^7= VG(ΧXVW*p"HmJ jX ]؍|v`;9𻟽0w7}>@>PGz˿_w//\({Ezq,gO3֌OshbO[T0dG^q<oߍj}Qj'H^1u^SݼmE/Mia R~uk&~\wͰj醴,Yza¶a"Pd,Oiqz)p-K1V72fꚬŽDP?Ns6㛩 BevGpK KKﵽjju9{tvu/^M4 ǽFji Y k~o[ ]mt2b8IcPmczWqcFbM繞k{Vt_S< ws5KцwU3!e?!N=}_cD]<|G4o<>e ^m5f]!Óߌxeٸ.|Y.fxui?J`\~^KhStrMRF| sRf&l;56{bC;Fv~K+9g^-dͽ9>5nraؒ”C5F$ÇV|r˚Q.q:::줽NV Qj' g;ɲp !ߍR`67Wk-_;WߍpN@\\"(xGݹjdƙ3d~V"^b&LBwLk|jJ^bplj?p:ܴ(uKgW'z&() t/vPt.o;;_Jwb蜌&]}-^,~{@F'^{ d1<دQ{wyaCs`72yek-흹xm]|gx+ˣ{/hOCvbm'¹_16f >cہU 5^^f^7|715;y2};V;m۝-7 ѷ |N=iyvm:@[ETO8t3sfmŻp9m௝㕗KU䤋j5^~eX/e%oȷOqWߦ ~Ә2͝}5^ F^oO;,mE/,o^og!!%e׈Znf!K0Ɛg݃jkv nZnㆴRNM]k)46': ]snl돎 j{ym]rN6Хy|朿Ժ1E=Z8[_w2{.|"}3֩%4Ufܰ7.-S.+.$^ڛDAX1-3 QnS~>V[I3V#$В7]s5O[0ၾ-7&?S7A9`ӚMuu OLzkwl+7íDj90CGƍ\!%$cIyԞ.n ՎAA"Mjb"Egg768t玾A3(tBZ8ᠳXCzr` ]q ?CVj)tkw]ܸ͌|5i-FQDTʂJ9$XR>VXܟk~Lcr[Sh 4t%lIZBRe"J!.90O3UR-{uI_WਛZIxkl΅iyM 5<>VVι~{7hD'9 "ڪ"߱Qx|I[Hk hQt?RR.f`Հgg-ѱz3)"PD 9tvvJ 9q :uc'NpX1K<j$UgLB&V6ɍ6Nd^w?8lcQW7:oA\4s%O5"ejj|18P=T#ؚ3KSҬ<[.) Z|m.dZ_̇ [WwXP b I9&"]@]`uQN},jB<0 @xtW^ SFĦ41N0_ȧ|uٚ6*g(.mnXlbIj!Jjc`2VCi.<5 TPd$ I4ߣql\;BOD `WWى||畗_TZDOk73vD1Ɛsfq.pk`r9&/\˚JKPYD3&{*NJ '^Rza#Jtӟ' Q!z8F-7 "A j᎐r&zߝW)"0bpgG)ERKr[l{,h*hk"Q 1iA!( \$9.$l2f5iW6OYb ss1ŀo\ ڢ!6&o ¥1l*,I--r*K]; 'dϨP=OlLHmM˕AD  %֒ΛMc;o\fK>uhcYLMZ[݊t"Esz p.@F֌D[SQ_݉䐛YRj8rU%P bdN}$IU7^aP #fb!Ί&%QE"B|$?A!( J)0,(~>DixBG`ޞK BqlFX!S7# /S<3¿ B A<Ԫ{q5 +ԘzEeHQהˊԦ-sXDD @_ʼnx̒U87Ƥbl?#jQ>|WO+bA!( \ X ,dIE!TPy%rxxŽEv5Ο} f$GPD R *)n?nc̼qG_~XՉ[c-}uIK_ `k|hqEu<7 dޘϞoF0iF|&&>/׳i fME qC  URcxWQO5s. =(lLnt;'Qx.sϳSC1i`ݰ>nYFąKn}J5YKXXD )=|>q5ahK-\9:ێ+>\V ,,RC\PM S>DǝhE=k>q5J)#SlcUs * {ֆT _ڛWfA@87}L]*f fܠH\[޽ XBu$"X|GAAa~73k57$ =(?k46 w.g$KZDI-6senrIt<&O2}Rh z+ A.t3}Sw}˫ 'ıb Q &ɚ`3n ׷VPY t@ZK1fa" RrXr"Web"AAY 4CWRVRk [x_RF ] iTfX$4o3Nbo8DAA>y|=ؚZO(\jM!R4uIޔO0jTk M A \ * vgu!Og+ sOU AyYr'ĉ@p°.3\ߣZoj MSJ?A K *9|fbKN&%|\xObF+_(A!(u96$q|E ֿWӶ]߆| BP - !`kMyɧ  & iuAv ?B)3A WS7HA pTAD ?&HY W)oг "AA  AAAA   BPAA!(  AAD  "AA  AAAA   BPAA!(  BPAA!( pΰw3x_ ~n_;^,8Z7~~k6YBQn}INA'' =˫J6N61!CAb:;Y5Z6dRK|Z[~^Oo[68=~:.Q:/ob>"{}ALβ7]˝ks(܄ԟS.kN\ y$?73xA;28ʯ~'-J|ڞ_^?=κwȵ ۸xW<.ޱB' pWG |kϾrS{?_8  ̝NΞ{ouANEAaL{>ᖛggIiv?Kߚ@AAA.u |/g+"g|7{x~~liӶ?RdϾ{?nk!f~vAAAr<2acwmw/oaHgxœ\=P}w}-*="AA /r;O ׼2a#eBEmKBʿkq=p=e!( 0+UD M?`n۲?aa8D}i:o=~UG+BPAywsx̒9nk,=)$$cE[7]}Tdd p!Ed:ڙ<;ٳȼaAY<;177J,r5!8utvSKzHWE +bWY9\d+Ο79 &XA+<8+{FSe BՊ@XV{DRVXZ 2L@B>!_ssus2 aoc6fߗE\\ƍlgIaJJG1F ms}!73!拏W<`\} /V9@Pa'#-kHv'ǁ[B,|L7N[;d󠏂f#222[k19{6B`0W1h((vqͫmwTy-UN5me$ϊ!+GXV{(TwkH0-mƈӹGkrW*Q j)a8yz^av(r+,7pR?2ngV,G4u;xw(ZF2"ᙨ,\KԖ]vNV,IU}!8Rn"7 R?IA4@hz'Pq5z!?OHbm`kM_SL^62+萗CyggKB]_>66vqC˭deaǰNlA|@p%CS}%ANێ.j˸ in.Pn _J{$i?MTv\a'Oh1A9$̝""U_xRo.K=luzK=%{o #GhlDtMJV.PL egU@ꔃUN+4|mʸ4𯭌mYKw8B7>T+qcA``I#|Upq8h5/ˀy6_6+dۗ"r\lauV&wV42vx:wBmq\Gi%h8)Y7~?,8GU"S:rX9V߿-`.:i`[7s^T=?j&7xʯ>{2o[1>ѼQ(L;~C̲.75~/Fn8hF|n>kW_&|N+C^y9{n ~U'sahlHEDAPg:*XSɴ1C $7msYIt9q%|oY-wo|) "Pv b@GW`w<{ Z8q:i=t sWUK;|;~ݭhEmEja\<":52<0^iqNQi 8fjEevczG.d7]Hrt:o;;=*7mAIXpnd#{ӵ]K_=}ķ>-K[o~m|1SUVqnǞ6,婳Z|c|_et+5ػAEu>Q9?fގV]:ѳ.[_\ys=z_{Vиku:kK-{6:O731Wp1nW×0Zgtm̼&|?!uhw ~h4|q=㧭ƻYM|=ܟ{.+f{~Ï?)k+q,,?q3+Ɲ~gRZكqi3g}ū&Q.= 1 Yn>7na}̚Tݟ:oC=^h?c['X46ć?WTV?MYlG~N?- (3 |ރn)!1<|ZG\KWye}g%t`EwGxe/|7/wIK+3d!0>ճC~|"} ~r㽌)yvWo3]i%v‡ ݀.:[ O??3ٟ|vwupylU1XΟO~Et~O5=\+V﷕:>0`~μQAtrw{3F^>&L󹴋p 5l,:NrTQQQDE so\r4vKUO2+Pweӹ`DV.;rMNcݼ7}>/E!˰z/##~Wwz+Ϫ3U}MmIQتf8WP/Z_U}XV'D>Lt&]CIdx孈|ǶLdU@*`v#-uՔ~?`]\wyqusemӣ88 NKO}{2, 6ɴhт}SxyO7|6U#D:7l!j;#PV@Ej]u!|ĄgGw3"i_#{\)\01fFO<"X-=> roh.2E>EȲCgUFuowx_7s`͞Y-qs1P4X7>`ܫ(=f>ⱷIߺ]N,] &\՝:愥/(#l9N:g=̈́hڜ^p~< FF[.+\V8ӒHj{6/'ِݹʺ>͒Ht[GO} sćG3k'5{7IBR7!*uaڤ6iZ.1ϳ'@=兵> :'Ni 725`;G3${S&3fRTX@bRzEyxU*@wl曌X>U7vqlrȟ\.]5/Dؓdҋ/3r|픗p8~ZX/QC0o!34, 9Fci~3;OoZu慈{ rHHH0MSS~o\߱,@x:y+OC{pU@&lF<7|O-s+;p2$/9/DDAP.=zx" Dr_]?ɂO ??eY]{zKXXx긘_QCyqu./\ȣ " (R'N-ޣ+/>|޸ºA|B{t'9)4h^Hl60lْ@ k6ntq QѮq&M] """ ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" (""" ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" ("""" """" ('7eU&# ]'p]Y3 V^9,7Xn9t%)I+h3"yymLm6 b1GB?߹)+i|[~:~m,S>{txLZIJJZtY^>C aE|cm|uŕ̚YJ^.Gx-?凴&^wEL~r1͑/ g=m՛uӝB6bz?}2^^ߋ;zmI.8Zxo, NYȤyXZuc@.?o#Fn+w}f=u-#Q) nE~ _cy|dld8sZb i2ldEPK!)SQ~ODViŰ ^篫/ХcmZ'+)7Uui3S[Kf+8o~˯gs6g'Qvf]l T-[{^yu iSOEl8bKO XǢZxޕr*7T[tLBncpԅknmG20t֒!JyXR]UEO{I^W"'S&c),e vYkM%%1O 2Scq/6;l3_c[ӗOxLLyf0<2\3pcͲטM<+ryde1&5 cVzet6l?rSa1e*71k3,cL|39˜6g*~6J+̝OxfC ̧%Ǽr ~K);~٦C"cLeyJsއ~Sb<Vi:reL,sג|)Lfטo}w PǏ&J 1?R^}m /3֚\c1Vר_vghkIۘsZen^00e:TaBcϯ1gu 9q;psë[9N{V,3SL6:"('eUĻwyĐ]9MlФrXPj>?ܼ,ʲ:@6 瞺8l8fa3SoxYPZf,/lkj#xj{ 4d}`ZʣAp~h-^cۥ2"`LjiQlDl(gȿw#{y=|A?Yz-Qi4 U@΅Yܛu֥ѐ:(R/>VNKq}u0a\Nl4Gg;ykcU xY:hGe ^JDq͙vg KT6`g20ݬ,S=1m4;5,.S9>zM+ lNj8sKy}š}¯>ߐGHmA IDATϘ᪳ե,p>Ɇ+)n=|xCwE-l{%|dbfatZXY&z=:cR6VoMż<1AUXz~qV>%kc p;|˂{ao -9^9rB;ǀ{;8R'\5޷Y}q&0g6fa<;'Vq-|J]uͳclˮz m$%JAMZ?am?;y8ϦOSp;}O}BEPs6:"')3)*, 1)Y" x "nO'0c8[5fO۞K/#r-=q7x9ϟllqHcrACLSng&OјHQAQAQAQAQAQAQ[3y{1?@RϪGMۋ.ɥeSirʀ_1߯Xu;BCgڀ5ọWl&~rL唳K(рHø3ӛF{;஻oc[fUr]Wb ?̛#7ͳ۽"= kd>'ѷ Y4F= gDT[Љ%_RH -3Aт?'^C*" "" QƏz`.LVnj1I/я6\Q8l6([j= y#9 *tK#y/M"gt붉+_sJ(?sAlT̔3z}ofj@wC3zFnw7oyYR""džS] "D_:?^ËS|y8xŜ#4[UMr ?Zjw9+x%E~n]ʾme,( ֦6B3:7t{WŲ2viA֑ @J˹8TORp_Z;o-a9Xs yN4]DA964o "O^e!Zt"׼Ǵ ذ UA'hWͿ[sbde=g**45*eӿeСu'+1R>ۊQ.a7+{g0/ǿ`呄TܤM}fyưsfcI1 BW M LEDc$S W1Yn5CǸo͉9̝ԑgCC39_9K!+B$ (: wk=Q ^ 6[fGpg4ᕎvٖ7Ywh+dq$)k.d>icTA9D[_`Z4u,]71O4%M7siw_MFkxf\5W81y-mNɯOb$]Je3xuFDMNF`xSrvR>[ ɿiŝ_ly$FzK[?Iئ~3WZLiDM2L1+""ǐ]3 QgO۞K/#"";-Z쮪`hi DPA!LDN&4((((((((((((((((((((((@DDDDAPDDDDEDDDDAPDDDDEDDDDAPDDDDEDDDDAPDDDDEDDDDAPDDDDEDDDDAPDDDDEDDDDAPDDDDEDDDDAPDDDDEDDDDAPDDDDEDDDDAPDDDDEDDDDAPDDDDEDDDDAPDDDDAPDDDDEDDD<I@GEDDDNR{nVoDlSL6;1L&ïgIENDB`seed-3.0.0/doc/tutorial-standalone/1.js0000755000175000017500000000253611531036061014614 00000000000000#!/usr/bin/env seed Gtk = imports.gi.Gtk; Gtk.init(null, null); BrowserToolbar = new GType({ parent: Gtk.HBox.type, name: "BrowserToolbar", init: function (){ // Private var url_bar = new Gtk.Entry(); var back_button = new Gtk.ToolButton({stock_id:"gtk-go-back"}); var forward_button = new Gtk.ToolButton({stock_id:"gtk-go-forward"}); var refresh_button = new Gtk.ToolButton({stock_id:"gtk-refresh"}); var back = function (){ print("Go Back"); }; var forward = function (){ print("Go Forward"); }; var refresh = function (){ print("Refresh"); }; var browse = function (url){ print("Navigate to: " + url.text); }; // Implementation back_button.signal.clicked.connect(back); forward_button.signal.clicked.connect(forward); refresh_button.signal.clicked.connect(refresh); url_bar.signal.activate.connect(browse); this.pack_start(back_button); this.pack_start(forward_button); this.pack_start(refresh_button); this.pack_start(url_bar, true, true); } }); window = new Gtk.Window({title: "Browser"}); window.signal.hide.connect(Gtk.main_quit); toolbar = new BrowserToolbar(); window.add(toolbar); window.show_all(); Gtk.main(); seed-3.0.0/doc/tutorial-standalone/tutorial.html.in0000644000175000017500000006016611531036061017254 00000000000000 Seed Tutorial : Standalone

v.@VERSION@
Introduction

Seed, first and foremost, provides an easily embeddable JavaScript engine to developers looking for a straightforward way to create extensible applications. It also provides bindings between GObject and the WebKit JavaScript engine, giving new developers access to the power of the GNOME stack from a familiar and simple language, and allowing rapid prototyping of applications for hardened GNOME developers.

This tutorial begins with a few brief examples, and then dives right in, following the development of a simple Seed program, from beginning to end. By the end of the tutorial, you'll have your very own tiny WebKit-based web browser, as well as a summary knowledge of the use of Seed to build GTK+ applications.

Beginning Seed

It makes sense to start our exploration with a program you're probably quite familiar with:

#!/usr/bin/env seed

print("Hello, world!");

If you were to make this script executable (chmod +x hello.js), and run it, you'd hopefully see the following, just as expected (if you don't, for some reason, make sure you have the latest version of Seed installed, then email us):

Hello, world!

In order to make the file executable, include (#!/usr/bin/env seed) at the top of every Seed program you write. This is known as the shebang line, and tells your shell where to find the seed interpreter; I'm only going to include it when listing a whole file, from now on.

Variables in JavaScript are not given any type, and conversion between different kinds of values is automatic and painless. For example, you can:

  • Add two strings ("Hello, " + "World!") turns into "Hello, World!"
  • Add a number to a string ("Example" + (2 * 2)) turns into "Example4"

There is one exception: in order to convert a string of digits into a 'number', JavaScript needs to be explicitly instructed to do so: parseFloat("42.5").

Seed also provides a very simple interface to the GNU Readline library, which allows programs to ask the user for input. This interface is in the readline module, which must be imported before it can be used. The only argument readline.readline() requires is the prompt for the user. Also, the current version of Seed ensures that everything typed is automatically saved in the prompt's history; if you press the up key while at a prompt, you can access and edit lines you've previously entered. Future versions of Seed will provide more control over the history and other parts of readline.

readline = imports.readline;
var my_name = readline.readline("Your name? ");
var my_age = readline.readline("Your age? ");
var old = 25;
var old_age = old + parseFloat(my_age);
print(my_name + " will be " + old_age + " in " + old + " years!");

You've probably noticed that the word 'var' precedes the first use of every variable in JavaScript. This is important, because it ensures that the memory consumed by the variable is freed to be used elsewhere at the end of the current block of code, when the variable goes out of scope. If, instead, you want to create a variable which is global (available forever, after it is created), you can omit the 'var'. Keep in mind that making many global variables is generally considered bad practice, and can be expensive in terms of memory use.

A JavaScript Shell

JavaScript, being a scripting language, includes a construct, eval() which allows you to evaluate a string of JavaScript. This allows, for example, a user to input JavaScript with readline, and it to be executed as if it had been part of your source file. In addition, eval()'s return value is the return value of the snippet of code. For example:

var output = eval("2+2");
print(output);

Will output:

4.000000

When something goes wrong in a piece of JavaScript code, the program will exit, most likely leaving the user in a confused state. For example, if you try to access a variable that doesn't exist: print(asdf); Seed will exit with the message: ReferenceError Can't find variable: asdf. It is possible to catch this sort of error, or exception, inside of your JavaScript program, ensuring that it doesn't terminate your program - or that if it does, it prints a useful error message. The try/catch construct provides a way to try to execute a segment of JavaScript, and, if it fails, run a second segment, without exiting the program. The second segment could print a user-friendly error message, ignore the exception entirely, or try to work around the problem. A quick example of try/catch:

try{
    print(asdf);
}
catch(e){
    print("Something went wrong!");
}

It's also possible to determine what, exactly, went wrong. The 'e' in the catch statement (which, by the way, you cannot omit) is actually an object containing information about the exception! We can access some of the basic properties of this object:

try{
    print(asdf);
}
catch(e){
    print("Something went wrong!");
    print(e.name);
    print(e.message);
}

This will print a message similar to what would be printed if you hadn't caught the exception, but without exiting the program!

Combining readline, eval, exceptions, and print, we can write a simple shell, allowing interactive use of Seed. This shell is included in the Seed distribution, in examples/repl.js. Looking at the source, you'll note that it takes very little code to implement a shell:

examples/repl.js
#!/usr/bin/env seed

readline = imports.readline;

while(1){
    try{
        print(eval(readline.readline("> ")));
    }
    catch(e){
        print(e.name + " " + e.message);
    }
}

You can (and should!) use this shell in order to experiment with and learn to use Seed.

Getting GTK Going

Thus far in this tutorial, we've been completely ignoring the most useful part of Seed: the ability to use external libraries from within JavaScript. The single most useful of these libraries is GTK, the widget and windowing toolkit used by all GNOME applications, which will provide the ability to create and manipulate graphical windows, as well as just about any sort of widget you should require.

In order to use GTK (or any other external library) in a Seed program, you first have to import the functions from said library. Gtk = imports.gi.Gtk, does this for us. The imports.gi object is a special object which handles importing libraries from introspection data.

Let's start off the development of our browser by getting GTK working. It takes very little to get a window displayed with Seed:

#!/usr/bin/env seed

Gtk = imports.gi.Gtk;
Gtk.init(null, null);

var window = new Gtk.Window();
window.show_all();

Gtk.main();

If you've ever used GTK from C, you'll notice some similarities here. All of the GTK functions have been mapped into JavaScript in a reasonable way, but it will certainly take a bit to get used to, for example, new Gtk.Window() instead of gtk_window_new().

Executing the above script should give you a window that looks entirely empty and boring, something like the following:

Blank GTK Window
JSON Constructors

Notice that the title of the window is 'seed'. We'll fix that, using another Seed feature: you can use JSON notation to set properties while constructing objects, like so:

var window = new Gtk.Window({title: "Browser"});

This saves a lot of typing from the alternative, conventional method:

var window = new Gtk.Window();
window.set_title("Browser");

You can set any number of properties this way, by separating them by commas ({"title": "Browser", "default-height": 500}, etc.). This method should work for any GObject constructor.

Signals

You'll notice that our program, as it stands, fails to quit when you click the 'Close' button. You can, of course, quit it with Ctrl-C, but this is certainly unacceptable behaviour. To fix it, we'll connect a C function to the signal that gets emitted when the 'Close' button is clicked:

window.signal.hide.connect(Gtk.main_quit);

The signal names are the same as in the GTK documentation, except using underscores instead of dashes between words.

GObject Subclassing

Inheritance is a useful feature of many object-oriented languages which provides a way to create your own classes, extending any existing class, while 'inheriting' those behaviors and properties of your parent class which you do not choose to override. Seed provides an incredibly simple interface in order to subclass GObject classes. In order to make our browser, we'll need a number of subclasses. We'll start with our toolbar; since it's a horizontal collection of elements, let's make it a subclass of Gtk.HBox:

BrowserToolbar = new GType({
    parent: Gtk.HBox.type,
    name: "BrowserToolbar",
    init: function (){
    }
});

You'll notice that the GType takes a JavaScript object. The three most important properties which we'll be using are parent, the type of the 'parent' class, from which our subclass should inherit its default behavior; name, the UpperCamelCase name of our new class; and init, a JavaScript function which is called each time a new instance of the class is made.

Working with Widgets

We'll start by making the BrowserToolbar's buttons. GTK provides a ToolButton widget, which is generally used for making such toolbars, as well as various different stock icons (to ensure consistency within all GTK applications). Browsing through the GTK Stock Item documentation, we find that we're looking for "gtk-go-back", "gtk-go-forward", and "gtk-refresh". A glance at the GtkToolButton documentation shows us that we can choose a stock icon by setting the stock-id property - we'll use JSON constructors to keep things tidy. Do note that we use underscores instead of dashes, because the property name isn't quoted (thus, a dash would indicate subtraction, which isn't what we're looking for!):

BrowserToolbar = new GType({
    parent: Gtk.HBox.type,
    name: "BrowserToolbar",
    init: function (){
        // Private
        var url_bar = new Gtk.Entry();

        var back_button = new Gtk.ToolButton({stock_id:"gtk-go-back"});
        var forward_button = new Gtk.ToolButton({stock_id:"gtk-go-forward"});
        var refresh_button = new Gtk.ToolButton({stock_id:"gtk-refresh"});

        // Implementation
        this.pack_start(back_button);
        this.pack_start(forward_button);
        this.pack_start(refresh_button);
        this.pack_start(url_bar, true, true);
    }
});

There are a few things in the snippet above which you probably haven't seen before (unless you've used GTK in another language). Firstly, the Gtk.Entry widget is a simple text entry field, like you would expect in a browser's URL bar. Secondly, you'll notice the use of the Gtk.HBox widget's pack_start() function. This serves as the foundation of GUI layout in GTK: a window is subdivided into boxes, which 'pack' widgets in a particular direction (HBoxes pack horizontally, VBoxes pack vertically, as expected). We use a HBox, since we want our toolbar arranged horizontally. pack_start() adds a widget to a Box; widgets are packed in the order they're added. There are optional arguments, which are addressed in more depth in the GtkBox documentation, which allow you to force widgets to expand into the usable space (the second and third arguments used when packing url_bar above serve this purpose).

To try and get a more visual feel of packing, let's take a look at the Box layout for our browser:

Packing Layout
Callbacks Galore

We also need a bunch of callbacks (for all three buttons, and for when you're done entering text in the URL bar). We'll make them just print the function they're supposed to perform, for now, since we don't have a WebKit view to operate on yet. Let's make them private members of the BrowserToolbar class, and connect them to the appropriate signals:

BrowserToolbar = new GType({
    parent: Gtk.HBox.type,
    name: "BrowserToolbar",
    init: function (){
        // Private
        var url_bar = new Gtk.Entry();

        var back_button = new Gtk.ToolButton({stock_id:"gtk-go-back"});
        var forward_button = new Gtk.ToolButton({stock_id:"gtk-go-forward"});
        var refresh_button = new Gtk.ToolButton({stock_id:"gtk-refresh"});

        var back = function (){
            print("Go Back");
        };

        var forward = function (){
            print("Go Forward");
        };

        var refresh = function (){
            print("Refresh");
        };

        var browse = function (url){
            print("Navigate to: " + url.text);
        };

        // Implementation
        back_button.signal.clicked.connect(back);
        forward_button.signal.clicked.connect(forward);
        refresh_button.signal.clicked.connect(refresh);
        url_bar.signal.activate.connect(browse);

        this.pack_start(back_button);
        this.pack_start(forward_button);
        this.pack_start(refresh_button);
        this.pack_start(url_bar, true, true);
    }
});

You'll notice that right now, nothing's creating a BrowserToolbar, so if you execute your application, you won't see the toolbar drawn. To remedy this, before window.show_all(), add lines to create and pack the toolbar:

toolbar = new BrowserToolbar();
window.add(toolbar);

Your code should be in a runnable state now; take a minute to try it out, stand back, and admire what you've learned:

GTK Window with buttons and text entry field

If, for some reason, something doesn't work, compare your code to the tutorial version.

Adding WebKit

It's finally time to start displaying some web pages with our little browser! Let's create and pack a WebKit.WebView below our toolbar, first. We should make a WebView subclass to use, to initialize some settings and provide an encapsulated interface to our browser view.

A quick note about WebKit: if you omit the protocol part of a URL (e.g., http://), WebKit won't even bother to try to figure it out - so make sure you specify it! We'll add a browse function to our subclass, as well as a callback when the WebView's URL changes, so we can update the URL bar. To get around this shortcoming, we'll use JavaScript's string search function to see if a protocol has been specified, and, if it hasn't, we'll assume it's "http://".

Poking around in the WebKit documentation (the WebKit team is a bit behind on documentation, so all we have to work with is header files), we find that the open() function on a WebView allows you to navigate to a particular page. We'll use this in our implementation of the WebView.browse() function below.

Here's an early version of our new BrowserView subclass:

BrowserView = new GType({
    parent: WebKit.WebView.type,
    name: "BrowserView",
    init: function (){
        // Private
        var update_url = function (web_view, web_frame){
            var toolbar = browser.get_toolbar();

            toolbar.set_url(web_frame.get_uri());
            toolbar.set_can_go_back(web_view.can_go_back());
            toolbar.set_can_go_forward(web_view.can_go_forward());
        };

        // Public
        this.browse = function (url){
            if(url.search("://") < 0)
                url = "http://" + url;

            this.open(url);
        };

        // Implementation
        this.set_scroll_adjustments(null, null);
        this.signal.load_committed.connect(update_url);
    }
});

You'll notice that we also turned off WebKit's automatic scrollbars, with the set_scroll_adjustments function. We do this in order to get smooth scrolling, by wrapping the WebView in a Gtk.ScrolledWindow, as you'll see shortly.

Also, remember that we need to import a namespace before its functions are available to us! So, go back to the top of the file and import "WebKit", just after you import "Gtk". One final thing, before you again try to run your browser: we haven't yet specified a 'recommended' size for our window - let's go ahead and do that (if we didn't do so, the WebKit view would have no space to fill!). Just after you create the Gtk.Window(), add:

window.resize(600,600);
Pulling it all together...

As you can see in the last bit of code, we have a few more functions to add to our BrowserToolbar class. Functions to allow toggling the 'clickable' state of the back and forward buttons, and a function to update the URL bar when a link is clicked. We will also update the button callbacks with what we find while again browsing webkitwebview.h: reload(), go_forward(), and go_back().

BrowserToolbar = new GType({
    parent: Gtk.HBox.type,
    name: "BrowserToolbar",
    init: function (){
        // Private
        var url_bar = new Gtk.Entry();

        var back_button = new Gtk.ToolButton({stock_id:"gtk-go-back"});
        var forward_button = new Gtk.ToolButton({stock_id:"gtk-go-forward"});
        var refresh_button = new Gtk.ToolButton({stock_id:"gtk-refresh"});

        var back = function (){
            browser.get_web_view().go_back();
        };

        var forward = function (){
            browser.get_web_view().go_forward();
        };

        var refresh = function (){
            browser.get_web_view().reload();
        };

        var browse = function (url){
            browser.get_web_view().browse(url.text);
        };

        // Public
        this.set_url = function (url){
            url_bar.text = url;
        };

        this.set_can_go_back = function (can_go_back){
            back_button.sensitive = can_go_back;
        };

        this.set_can_go_forward = function (can_go_forward){
            forward_button.sensitive = can_go_forward;
        };

        // Implementation
        back_button.signal.clicked.connect(back);
        forward_button.signal.clicked.connect(forward);
        refresh_button.signal.clicked.connect(refresh);
        url_bar.signal.activate.connect(browse);

        this.pack_start(back_button);
        this.pack_start(forward_button);
        this.pack_start(refresh_button);
        this.pack_start(url_bar, true, true);
    }
});

One last thing! We need a Browser class, a subclass of Gtk.VBox, to contain a BrowserToolbar and BrowserView, and to provide functions from which to access these widgets. We'll also set up the Gtk.ScrolledWindow which we discussed earlier:

Browser = new GType({
    parent: Gtk.VBox.type,
    name: "Browser",
    init: function (){
        // Private
        var toolbar = new BrowserToolbar();
        var web_view = new BrowserView();
        var scroll_view = new Gtk.ScrolledWindow();

        // Public
        this.get_toolbar = function (){
            return toolbar;
        };

        this.get_web_view = function (){
            return web_view;
        };

        // Implementation
        scroll_view.smooth_scroll = true;
        scroll_view.add(web_view);
        scroll_view.set_policy(Gtk.PolicyType.AUTOMATIC,
                               Gtk.PolicyType.AUTOMATIC);

        this.pack_start(toolbar);
        this.pack_start(scroll_view, true, true);
        this.show_all();
    }
});

One final thing: we need to create a Browser object, and add it to the window, now, instead of a BrowserToolbar. The Browser object will contain a BrowserToolbar and a BrowserView. So, change the section near the bottom of the file from:

toolbar = new BrowserToolbar();
window.add(toolbar);

into:

browser = new Browser();
browser.get_web_view().browse(home_page);
window.add(browser);

You'll notice we navigate to home_page. Assign home_page to your favorite web site at the top of the file; perhaps even make a section at the top of the file of browser settings (I'm sure you can think of other things to implement as settings!)

If all goes well, your browser should now be in a working state. Start it up - it ought to look much like the following:

GTK Window with toolbar and browser view at GNOME.org

The final version of the tutorial's source code is available if you're having trouble; if, however, you made easy work of the tutorial, you should consider making some improvements to your browser: change the window title when the web page title changes (look at the title_changed signal!); add tabs (GtkNotebook is probably what you're looking for); bookmarks are often useful!; perhaps a status menu? Or, go ahead and write your own application in Seed!

seed-3.0.0/doc/tutorial-standalone/1.png0000644000175000017500000000556711531036061014770 00000000000000PNG  IHDROsRGBbKGD pHYsuqtIME )XVtEXtCommentCreated with GIMPW IDATxkpTsds\$HT@5:06⭡8Z;C'NgLglVySv딡6t֦^A$br9}$f/X'[W!|dkWh6c+v v,˒82h>'RzdXQu}϶7BX#xJHȹ߾mzNr:>nǑKSgL0G"78#dD{T6-8J+$9>opT=Cjoۯ&U?Sk.U$e'\IJ+eYrVlu_ 9BlA}p舺?;]Uk޶_n=hsU]Lup'v)C =Ϸ.M:%=ڹRJoDfekw0/KS\ G (4t׋{ȑwfm۹Y5ܗ[ߌjb;{vc}?xnȀGmj9m TG;40[IJI`V-U{\=Nt$WjEyX1Ql3ѯO?Ut+3G3ЬƘ>sh޾s#ܖ6oߣs~?0g/l{WdA_S_/lv] яckK7nRUN$ilp@G?GK T(IZ-j IJwE~?blR?xʴnxmMLzhxlgHszen4B͍n& k&{QM_%%RrUۡ'wk̭EY\hf-hLzC<:ђr#mc왳H#8I3^۷NQ=vZeM_LN}&܀+;pw@'ps㼄bQđpw\޴:vwEۖ7T:]VMѾs=Q d4xvp2N.*VƘKQl3>ާ>+OYԫ7>PRj-K\ڞ̈́$jlj{1mf]psEܶw?x^&ܸ ^P0Sg_\0V;g"d=FYtBIո$iX>^RU[dTjarAUmΫ{\/]{tHˋ0ha~ \-Ӭ{E3޹x|5ܘ.+=]б]$O|{|KWRأOO֭]U^^Ų5ݭ7TGf R"lS[CYw2uyGZӅ+>51[ׄ[) 8Cf_55skD~1c_%BAnkw^+5SyEZZ"VlzxߛV ]r穸(GڦdP-hCrҔ(W4`K,L`OQS:Ϡpe빳g?6Z w?RzG7 IdJ* 3ؒdR.^"wqȍd;QnRqE6)xә{72ӳ?1(s/_Mc^mڼE^W]wfLRg!mڼEcc.u )#-E Mjm٥8f446i|£YoIq;IG~C}\UY=9*Ue@{bz{#@ts~5bC@@@ @@@@ @@ @@ @@ @@ @@ @@ @@ @@ @@  @@ @@ @@ @@ @@ @@@@ @@@@ @@ @@ @@ @@ @@Hl.g:O7m8 ><)k:+~JIENDB`seed-3.0.0/doc/tutorial-standalone/3.js0000755000175000017500000001246711531036061014622 00000000000000#!/usr/bin/env seed var home_page = "http://www.google.com"; Gtk = imports.gi.Gtk; WebKit = imports.gi.WebKit; Gtk.init(null, null); TabbedBrowser = new GType({ parent: Gtk.Notebook.type, name: "TabbedBrowser", init: function (){ // Public this.close_tab = function (tab){ browser.remove_page(browser.page_num(tab)); tab.destroy(); if(!browser.get_n_pages()){ browser.new_tab(home_page); } }; this.new_tab = function (url){ var new_tab = new BrowserTab(); new_tab.get_web_view().browse(url); var tab_label = new Gtk.Label({label:"Untitled"}); var tab_button = new Gtk.Button({relief: Gtk.ReliefStyle.NONE}); tab_button.set_image(new Gtk.Image({stock: "gtk-close", icon_size: Gtk.IconSize.MENU})); tab_button.signal.clicked.connect(this.close_tab, this); var tab_title = new Gtk.HBox(); tab_title.pack_start(tab_label); tab_title.pack_start(tab_button); tab_title.show_all(); new_tab.set_tab_label(tab_label); this.append_page(new_tab, tab_title); }; this.current_tab = function (){ return this.get_nth_page(this.page); }; // Implementation this.new_tab(home_page); } }); BrowserTab = new GType({ parent: Gtk.VBox.type, name: "BrowserTab", init: function (klass) { // Private var toolbar = new BrowserToolbar(); var web_view = new BrowserView(); var scroll_view = new Gtk.ScrolledWindow(); var tab_label; // Public this.get_toolbar = function (){ return toolbar; }; this.get_web_view = function (){ return web_view; }; this.set_tab_label = function (new_tab_label){ tab_label = new_tab_label; }; this.get_tab_label = function (){ return tab_label; }; // Implementation web_view.set_tab(this); scroll_view.smooth_scroll = true; scroll_view.add(web_view); scroll_view.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); this.pack_start(toolbar); this.pack_start(scroll_view, true, true); this.show_all(); } }); BrowserView = new GType({ parent: WebKit.WebView.type, name: "BrowserView", init: function (){ // Private var tab; var update_title = function (web_view, web_frame, title){ if(title.length > 25) title = title.slice(0,25) + "..."; tab.get_tab_label().label = title; }; var update_url = function (web_view, web_frame){ var toolbar = tab.get_toolbar(); toolbar.set_url(web_frame.get_uri()); toolbar.set_can_go_back(web_view.can_go_back()); toolbar.set_can_go_forward(web_view.can_go_forward()); }; // Public this.browse = function (url){ if(url.search("://") < 0) url = "http://" + url; this.open(url); }; this.set_tab = function (new_tab){ tab = new_tab; } this.get_tab = function (){ return tab; }; // Implementation this.set_scroll_adjustments(null, null); this.signal.title_changed.connect(update_title); this.signal.load_committed.connect(update_url); } }); BrowserToolbar = new GType({ parent: Gtk.HBox.type, name: "BrowserToolbar", init: function (){ // Private var url_bar = new Gtk.Entry(); var back_button = new Gtk.ToolButton({stock_id:"gtk-go-back"}); var forward_button = new Gtk.ToolButton({stock_id:"gtk-go-forward"}); var refresh_button = new Gtk.ToolButton({stock_id:"gtk-refresh"}); var back = function (){ browser.current_tab().get_web_view().go_back(); }; var forward = function (){ browser.current_tab().get_web_view().go_forward(); }; var refresh = function (){ browser.current_tab().get_web_view().reload(); }; var browse = function (url){ browser.current_tab().get_web_view().browse(url.text); }; // Public this.set_url = function (url){ url_bar.text = url; }; this.set_can_go_back = function (can_go_back){ back_button.sensitive = can_go_back; }; this.set_can_go_forward = function (can_go_forward){ forward_button.sensitive = can_go_forward; }; // Implementation back_button.signal.clicked.connect(back); forward_button.signal.clicked.connect(forward); refresh_button.signal.clicked.connect(refresh); url_bar.signal.activate.connect(browse); this.pack_start(back_button); this.pack_start(forward_button); this.pack_start(refresh_button); this.pack_start(url_bar, true, true); } }); window = new Gtk.Window({title: "Browser"}); window.resize(800, 600); window.signal.hide.connect(Gtk.main_quit); browser = new TabbedBrowser(); window.add(browser); window.show_all(); Gtk.main(); seed-3.0.0/doc/tutorial-standalone/2.js0000755000175000017500000000652311531036061014615 00000000000000#!/usr/bin/env seed var home_page = "http://www.google.com"; Gtk = imports.gi.Gtk; WebKit = imports.gi.WebKit; Gtk.init(null, null); Browser = new GType({ parent: Gtk.VBox.type, name: "Browser", init: function (){ // Private var toolbar = new BrowserToolbar(); var web_view = new BrowserView(); var scroll_view = new Gtk.ScrolledWindow(); // Public this.get_toolbar = function (){ return toolbar; }; this.get_web_view = function (){ return web_view; }; // Implementation scroll_view.smooth_scroll = true; scroll_view.add(web_view); scroll_view.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); this.pack_start(toolbar); this.pack_start(scroll_view, true, true); this.show_all(); } }); BrowserView = new GType({ parent: WebKit.WebView.type, name: "BrowserView", init: function (){ // Private var update_url = function (web_view, web_frame){ var toolbar = browser.get_toolbar(); toolbar.set_url(web_frame.get_uri()); toolbar.set_can_go_back(web_view.can_go_back()); toolbar.set_can_go_forward(web_view.can_go_forward()); }; // Public this.browse = function (url){ if(url.search("://") < 0) url = "http://" + url; this.open(url); }; // Implementation this.set_scroll_adjustments(null, null); this.signal.load_committed.connect(update_url); } }); BrowserToolbar = new GType({ parent: Gtk.HBox.type, name: "BrowserToolbar", init: function (){ // Private var url_bar = new Gtk.Entry(); var back_button = new Gtk.ToolButton({stock_id:"gtk-go-back"}); var forward_button = new Gtk.ToolButton({stock_id:"gtk-go-forward"}); var refresh_button = new Gtk.ToolButton({stock_id:"gtk-refresh"}); var back = function (){ browser.get_web_view().go_back(); }; var forward = function (){ browser.get_web_view().go_forward(); }; var refresh = function (){ browser.get_web_view().reload(); }; var browse = function (url){ browser.get_web_view().browse(url.text); }; // Public this.set_url = function (url){ url_bar.text = url; }; this.set_can_go_back = function (can_go_back){ back_button.sensitive = can_go_back; }; this.set_can_go_forward = function (can_go_forward){ forward_button.sensitive = can_go_forward; }; // Implementation back_button.signal.clicked.connect(back); forward_button.signal.clicked.connect(forward); refresh_button.signal.clicked.connect(refresh); url_bar.signal.activate.connect(browse); this.pack_start(back_button); this.pack_start(forward_button); this.pack_start(refresh_button); this.pack_start(url_bar, true, true); } }); window = new Gtk.Window({title: "Browser"}); window.resize(800, 600); window.signal.hide.connect(Gtk.main_quit); browser = new Browser(); browser.get_web_view().browse(home_page); window.add(browser); window.show_all(); Gtk.main(); seed-3.0.0/doc/tutorial-standalone/Makefile.in0000644000175000017500000003525411545510313016165 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/tutorial-standalone DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/tutorial.html.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = tutorial.html CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(tutorialdir)" DATA = $(tutorial_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CAIRO_MODULE = @BUILD_CAIRO_MODULE@ BUILD_CANVAS_MODULE = @BUILD_CANVAS_MODULE@ BUILD_DBUS_MODULE = @BUILD_DBUS_MODULE@ BUILD_DYNAMICOBJECT_MODULE = @BUILD_DYNAMICOBJECT_MODULE@ BUILD_EXAMPLE_MODULE = @BUILD_EXAMPLE_MODULE@ BUILD_FFI_MODULE = @BUILD_FFI_MODULE@ BUILD_GETTEXT_MODULE = @BUILD_GETTEXT_MODULE@ BUILD_GTKBUILDER_MODULE = @BUILD_GTKBUILDER_MODULE@ BUILD_LIBXML_MODULE = @BUILD_LIBXML_MODULE@ BUILD_MPFR_MODULE = @BUILD_MPFR_MODULE@ BUILD_MULTIPROCESSING_MODULE = @BUILD_MULTIPROCESSING_MODULE@ BUILD_OS_MODULE = @BUILD_OS_MODULE@ BUILD_READLINE_MODULE = @BUILD_READLINE_MODULE@ BUILD_SQLITE_MODULE = @BUILD_SQLITE_MODULE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LDFLAGS = @CAIRO_LDFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUSGLIB_CFLAGS = @DBUSGLIB_CFLAGS@ DBUSGLIB_LDFLAGS = @DBUSGLIB_LDFLAGS@ DBUSGLIB_LIBS = @DBUSGLIB_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ DBUS_LDFLAGS = @DBUS_LDFLAGS@ DBUS_LIBS = @DBUS_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FFI_CFLAGS = @FFI_CFLAGS@ FFI_LDFLAGS = @FFI_LDFLAGS@ FFI_LIBS = @FFI_LIBS@ FGREP = @FGREP@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LDFLAGS = @GDK_LDFLAGS@ GDK_LIBS = @GDK_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_JS_CFLAGS = @GNOME_JS_CFLAGS@ GNOME_JS_DIR = @GNOME_JS_DIR@ GNOME_JS_LIBS = @GNOME_JS_LIBS@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LDFLAGS = @GOBJECT_INTROSPECTION_LDFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_VERSION = @GOBJECT_INTROSPECTION_VERSION@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LDFLAGS = @GTK_LDFLAGS@ GTK_LIBS = @GTK_LIBS@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LDFLAGS = @LIBXML_LDFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SEED_DEBUG_CFLAGS = @SEED_DEBUG_CFLAGS@ SEED_GTK_VERSION = @SEED_GTK_VERSION@ SEED_PROFILE_CFLAGS = @SEED_PROFILE_CFLAGS@ SEED_PROFILE_LIBS = @SEED_PROFILE_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LDFLAGS = @SQLITE_LDFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WEBKIT_CFLAGS = @WEBKIT_CFLAGS@ WEBKIT_LDFLAGS = @WEBKIT_LDFLAGS@ WEBKIT_LIBS = @WEBKIT_LIBS@ WEBKIT_PC = @WEBKIT_PC@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ tutorialdir = $(docdir)/tutorial tutorial_DATA = \ 1.js \ 2.js \ 3.js \ 1.png \ 2.png \ 3.png \ 4.png \ packing.png \ packing.svg \ tutorial.html EXTRA_DIST = \ 1.js \ 2.js \ 3.js \ 1.png \ 2.png \ 3.png \ 4.png \ packing.png \ packing.svg \ tutorial.html.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/tutorial-standalone/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/tutorial-standalone/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tutorial.html: $(top_builddir)/config.status $(srcdir)/tutorial.html.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-tutorialDATA: $(tutorial_DATA) @$(NORMAL_INSTALL) test -z "$(tutorialdir)" || $(MKDIR_P) "$(DESTDIR)$(tutorialdir)" @list='$(tutorial_DATA)'; test -n "$(tutorialdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tutorialdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(tutorialdir)" || exit $$?; \ done uninstall-tutorialDATA: @$(NORMAL_UNINSTALL) @list='$(tutorial_DATA)'; test -n "$(tutorialdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(tutorialdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(tutorialdir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(tutorialdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-tutorialDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-tutorialDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-tutorialDATA installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-tutorialDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: seed-3.0.0/doc/tutorial-standalone/2.png0000644000175000017500000001331411531036061014756 00000000000000PNG  IHDR@,sRGBbKGD pHYsuqtIME 6~tEXtCommentCreated with GIMPW'IDATx{t՝?j=-z6~ac68β>IfΙ!g7@aagf393Lfs†df3fyd0`c 6-˶zԭ~Vd[9}]{owDDžWߟWxWrDP(.@/ H\uϓy5 ye2v0g==(,"`濖٧zKD:B}L4n'دE.&g#jt(ΞvY,[e&L`պ.ȳ̫NG>RNK'J{w~&s&T.^۾sgH0!ƒuRzQ(&@<~묽6 C 3j{_gگb4>wWTi4v9:O;Ҭ('Rg-Y1N|Ȣn9#pz bcĴ6=K&=}Iv|&TOQOW{um?ôZi#7@;T:Ԕ94Y^^6l9A,m*#-M٘SWza}c22JCcWq.uW`nYg 99 <L`/fkWˏ-=ύ׮ P4-큀 =DĀ;%T{FP -mϴURLؐă?{ps_ɷ d_J]UVz8X 9 (^%6ۋ8h2Hη={8ț/y:5f3+@%Cte8׬_ēkVb~͊1pJ"ia1ӀW"e~$~g/(9is!#ksZa*jT[rZΣH{Ul()͒5e<{<o湦xԈ(ha*8Έچ-kV:ɽgK*쪺tR\#dcXFo"v?fw 2P^fȣ0pT3jxk v:˺{QKғx뢧.hMٴQf;7Mn[=S,r5K 7~+'AϡGW\ !oK) 7Eܱ4HYY>EXΝ㝃irct.Y VbFL1[vnݢڋn=Ï.z*9lS a%PPJSClVOU؇B&-rSȟn3%h62=~ 5$m}i)?6dA9v4yx<'aϏ—_HiŠ|=^I_*g8\d{|γC$jk\RyVcpۣˎ} %e oJ^um+E j)m)8 @ |`tmRCAqΗ5p` E< =e/u}EL;BXƛ+/z&T;t.nĒiv/+P(FrYqm˰~&}îivPLh'[Ǔ)";pQbttg݁Qγ/PBPL܏7ѮzDP\gN& B1U(AQ(JP Cu)I$$ ePLBӰl8%(_VQkc9~Kubz]x`U]$ Nwԛ oPL%hm7&룺O"PyH$_?݃nx";rƫrչʇݦ//{o9OPW@ooa=LiYhƗULr m OX @4GvEټIJʴF<¤PubЄF;?!O*ṿՇq_D{)/0&ړRDy鍏ٹSacv`J ټ_?tP|S)&8\ _B!J2!g/Gy8bY}/=d\VVr`\?WJT3{J1H6[:b/TCc8v+)|T*5m3M{f'j6f^_N&@aJ S4MbF J*(7]fɰ}1aM&U,w'ǧIT,7M-$ )&XX(? LQ!Ϡ_xi%Z?bF@QkVbCX d*OmCiA@ƺ { kG耞#CW#|Job1D,)t8~ ]KAAn2\D1% V v*g`"i`0"&T d_'D:IA) Åe>gMho/x|RL&82,Kr9mGAAۍiZp&7]F*B H$-CQBILqq\hFvvNg)6 Ff6޷Oq L=)>u@bpPPP@d]/> kG0 &ڨI=LP#䑽-cxbG IZLvm@_] d{INt4b-\>$IuRQIJooŗ[P QYY o5ї?1HʑK%4׽5ADB f w: vcHL"qxw򻩬M:)k9cQ\9ntYNvIFV.QeY[:ͰH$L6LT#TyQaKt7[s9@uΩu:nѶqc|aw ɮ fcaz4 K眜O7rVW^>"_Jێu%R[Pפ(f/*w;EI̹x<)ia .C53yw$.'Vװc;td86נ#YӍl8wmC/_+\[NSPDwK@ 0Ϥ.3-̙L G aYl cG6>nCFnR{]ܴ b1 kfgj"_ƶ x^njg뉆H+FџLBCh间4: rhٰ ^/=XҨoݼJkutpgqe"& I0䛷 d+q|83 l.>H$$}am/$7߰`0|^E_װ oΜ9Fbڰk'(EpJdee~:PS3̜{5ɦM7XTsGCI94gJ]b׊W>`0HvvS4^:i,kzoƔ%Z#Y^ӡ:nݎ㡴N0xڃp:de󑛛t^mv'"4GRJϤg_cx|zEqnH&`1 ͆n%96.Fg9=>I9 Fiܺ+*D|!0 0p\b߲,TYQ[:!FbY$1D ʗx<> P|^BEP(AQ(JP B BPP(f gNRP(&r]RuB ?x9*IENDB`seed-3.0.0/doc/tutorial-standalone/Makefile.am0000644000175000017500000000050411531036061016140 00000000000000 tutorialdir=$(docdir)/tutorial tutorial_DATA = \ 1.js \ 2.js \ 3.js \ 1.png \ 2.png \ 3.png \ 4.png \ packing.png \ packing.svg \ tutorial.html EXTRA_DIST = \ 1.js \ 2.js \ 3.js \ 1.png \ 2.png \ 3.png \ 4.png \ packing.png \ packing.svg \ tutorial.html.in ## File created by the gnome-build tools seed-3.0.0/doc/tutorial-standalone/3.png0000644000175000017500000001644011531036061014762 00000000000000PNG  IHDRбsRGBbKGD pHYsuqtIME  %tEXtCommentCreated with GIMPW{IDATxy]u}{k*dEA Ј(QsόiO;=gz:.cGEٗf#{TRTַUU*IU zw߽ͭ #_ $(|[E_ Ssˇڒ$; |r$4 [~? ~ז$=o,2?ÑXd$.;::$ҹW~دW>Rzѹo^֬|5t]WP[YrJ;)rOJ:"IǩO=eW@cmqjCkV>yCcjuwa7ŝ l~t5(&Qu5!:X[Np|Gj+X34>TwQnn;27r֧oSw=S32!B@4r*=Sq5Q"t އ5]~T\cwww~eqT. 9p ٕ!(-/:>ox(27ٲ'CE,RF,`mlM_.H̞Du:{ 4*YBdIqsϣ k !|i8ٿ% fNx}=co2ь7ָtl`"C2tfttFyLc` C&]r5p}5 {x²pwH*JPXcA5=0yS$YZͭҳˮ665̨׿^4֩UL\E_T_{ ҖhIe&p~|0_(^ [nn {&9Uw=7.ow52{m=?~p;f1): ;)ݼ"͋pT.Vũ\JgusZZ'zw䱇_tf6xgs9)޽gVobky%N̨a+Wnֳz#>ָ<}8~`&]3xwbjӘ kwj†Cl2ZfK都 C)eLc!!1Lc~R1k۴EO.I~ԗ&/nd9-L AF\/=\XZ1ei:ٿ>x񢣺Qƻd;z;;f`;)r"iI]5"aPBˢŴ %jNUӤ3sOocyfllFUӳGXf3}Ξ~21`$I7su_) .~CqWw/<}l~d|;N`@$xRJy{~c,Fҙ^or FN4Ue\l)? $M=]wb *:*$IfAEGqsnsOkDtvl?} ߲BtrI$:bw0$ɒf%i"xd2i`ީX.|~ tg'S'W gsqL{? 'ΧaRțIR yZO#?L&MwgI$'4V:ާsӵ fr%uՒG^]H`QW6?CCUX(yg5ծXIoj6%2Ƒ00OEC Z~t‘ D---dIoH! =DpWȷǽ!NSh6f}/ޚa7CY| r,e] . r9vfe7,n6Oie0iJv~'=2BGZ]#[ɴ3pv%)"ȅKO~]ΙLd\fg7RG$08~[=4Ϳ}\.w/\Ώ~fi+ 4Q[SF,#$B>FLnfBnOp$cX{JonR"4%-I@$P;,gILP_W˷uӧM@@> !)5^. ͺUJzG8cD#q_CݙW)!,PΡ ̈]0'/1iB**Kɇa;zٸ}it&D"c3[S[[G<wtzf̾ԝq9BPFe' s栐| 9aiiI‚F 1 ,!a2݄ݛ }Tl3?17/;WzaX^Λ'Z6Ÿ,\ɞtzf$.^~ѥD򃄅=@8Csa0ȟ Y rdں՝%FH$BEE9t8x ڸ /R5u&l祻ox[XUNj`$]}{\j f qq,Y|Ip<Ÿ< ?MssЫRY6l릧%(-Wwr$YK6'WӲ|/ dIO`b̝;,O==. uڡgBlx£=lKCW Wd(tSI(Dl\\5DϿsR[[{'cSk"Q)]咗7rF~)\P`+yrMҦXL.['0Gf=ef6V_I$k&0.x3ֲ~JD"Ko\u|[߬]w.e h9YI_# ̡g8dp44L>l&ITUUq晋{]d幞Ky<3$"QZcOv>?^+"qR(iLQ^'(.|+nM*r tfxw!@CdMYN̥}}MNOn`tLD"Auu5dّbqRDh4zԇņqΞ?h? [vvؒ4ah|qF [-bXғ2~PyM\x1~$f1Lf̸wt:=UPqWd`$IFd`$Ix䯭wHYg0H $H $IFd`$IF$#I20$#I$I$H $Hd`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#I$I$H $Hd`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#I$I$H $Hd`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#I$I$H $H $IFd`$IF$#I20$#I$I$H $Hd`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#I$I$H $Hd`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#I$I$H $Hd`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#I$I$H $H @d`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#I$I$H $Hd`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#I$I$H $Hd`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#I$I$H $Hd`$IFd`$I20$#I20$I$I $H $IFd`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#I$I$H $Hd`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#I$I$H $Hd`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#I$I$H $Hd`$IFd`$I20$#I20$I$I $H $IFd`$IFd`$I20$#I20$I$I $H $IFd`$IF$#I20$#ID|C׊$$m>ٱ}kC4aeLj$M(`BIm^IENDB`seed-3.0.0/doc/seed.10000644000175000017500000000207711531036061011124 00000000000000.TH "seed" 1 .SH NAME seed \- libseed JavaScript REPL/Interpreter. .SH SYNOPSIS .B seed [OPTION...] [SCRIPT] .SH DESCRIPTION seed acts as a simple read-eval-print loop for libseed's GObject JavaScriptCore bindings, unless the path to a script to interpret is specified. .SH OPTIONS .TP .B \--help Show these help options. .TP .B \--version Print interpreter version. .TP .B \-e "expression" Takes the JavaScript expression, checks its syntax, and evaluates it, printing the return value. .TP .B \--seed-debug=DEBUGFLAGS Show debug messages, filtered by the specified debug flags. If one wishes to see all possible debug messages, specify the flag "all" (keep in mind that this will produce a significant amount of output). Otherwise, specify a comma-separated list of: misc, finalization, initialization, signal, invocation, structs, construction, gtype, importer, module. .TP .SH BUGS Report bugs at http://bugzilla.gnome.org/ in the seed product. .SH HOMEPAGE and CONTACT http://live.gnome.org/Seed .SH AUTHORS Robert Carr .PP Tim Horton seed-3.0.0/doc/reference/0000755000175000017500000000000011545510403012134 500000000000000seed-3.0.0/doc/reference/introduction.sgml0000644000175000017500000000162411531036061015462 00000000000000 Introduction 3 SEED Library Introduction What Seed is all about Seed is a library and interpreter, dynamically bridging (through gobject-introspection) the WebKit JavaScriptCore engine with the GObject type system. In a more concrete sense, Seed enables you to immediately write applications around a significant portion of the GNOME platform, and easily embed JavaScript as a scripting language in your GObject library. Seed is built around the idea of "minimal-platform", in that it seems a theoretically ideal GNOME development language provides no platform of its own, but instead seamlessly integrates with the already quite large GNOME platform. seed-3.0.0/doc/reference/version.xml.in0000644000175000017500000000001211531036061014657 00000000000000@VERSION@ seed-3.0.0/doc/reference/version.xml0000644000175000017500000000000611545510321014256 000000000000003.0.0 seed-3.0.0/doc/reference/contact.sgml0000644000175000017500000000250211531036061014370 00000000000000 Contact Information 3 SEED Library Contact Information Where to find help, ask questions, or bring patches Authors Robert Carr <racarr@svn.gnome.org> Tim Horton <hortont@svn.gnome.org> Source Repository The Seed source code is kept in the GNOME-wide version control at git.gnome.org. You can check out the code on your own machine if you have git installed: git clone git://git.gnome.org/seed Bugs Bugs and feature requests can be reported on the seed product in GNOME Bugzilla. seed-3.0.0/doc/reference/seed-sections.txt0000644000175000017500000000732711545510403015373 00000000000000seed/seed.h
Initialization seed-main SeedEngine seed_init seed_init_with_context_group seed_engine_set_search_path seed_engine_get_search_path
Contexts seed-context SeedContext SeedGlobalContext SeedContextGroup seed_context_create seed_context_ref seed_context_unref seed_context_collect seed_context_get_global_object seed_prepare_global_context seed_importer_add_global seed_importer_set_search_path
Evaluation seed-eval SeedScript seed_make_script seed_evaluate seed_simple_evaluate seed_script_new_from_file seed_script_exception seed_script_destroy
Exceptions seed-exception SeedException seed_make_exception seed_exception_get_name seed_exception_get_message seed_exception_get_line seed_exception_get_file seed_exception_to_string
Signals seed-signals seed_signal_connect seed_signal_connect_value
Native Type Conversion seed-typeconversion SeedValue SeedType seed_make_undefined seed_make_null seed_value_to_boolean seed_value_from_boolean seed_value_to_uint seed_value_from_uint seed_value_to_int seed_value_from_int seed_value_to_char seed_value_from_char seed_value_to_uchar seed_value_from_uchar seed_value_to_long seed_value_from_long seed_value_to_ulong seed_value_from_ulong seed_value_to_int64 seed_value_from_int64 seed_value_to_uint64 seed_value_from_uint64 seed_value_to_float seed_value_from_float seed_value_to_double seed_value_from_double seed_value_to_string seed_value_from_string seed_value_from_binary_string seed_value_to_object seed_value_from_object seed_value_to_filename seed_value_from_filename seed_value_to_format seed_pointer_get_pointer seed_make_pointer SeedString seed_string_ref seed_string_unref seed_string_get_maximum_size seed_string_to_utf8_buffer seed_string_is_equal seed_string_is_equal_utf8
Operating on Native Types seed-nativetypes seed_value_unprotect seed_value_protect seed_value_is_undefined seed_value_is_null seed_value_is_function seed_value_is_number seed_value_is_string seed_value_is_object_of_class seed_value_is_object seed_value_get_type
JS Objects seed-object SeedObject seed_make_object seed_make_array seed_object_call seed_object_set_property_at_index seed_object_get_property_at_index seed_object_is_of_class seed_object_get_private seed_object_set_private seed_object_get_property seed_object_set_property seed_object_get_prototype seed_object_copy_property_names SeedObjectInitializeCallback SeedObjectFinalizeCallback SeedObjectHasPropertyCallback SeedObjectGetPropertyCallback SeedObjectSetPropertyCallback SeedObjectDeletePropertyCallback SeedObjectGetPropertyNamesCallback SeedObjectCallAsFunctionCallback SeedObjectHasInstanceCallback SeedObjectConvertToTypeCallback SeedObjectCallAsConstructorCallback
Native Functions seed-nativefuncs SeedFunctionCallback seed_make_function seed_create_function
JavaScript Classes seed-jsclass SeedPropertyAttributes SeedClassAttributes SeedClass seed_empty_class seed_create_class seed_make_constructor
SeedClosure seed-closure SeedClosure seed_closure_new seed_closure_get_callable seed_closure_invoke seed_closure_invoke_with_context seed_closure_warn_exception
Modules seed-modules CHECK_ARG_COUNT DEFINE_ENUM_MEMBER DEFINE_ENUM_MEMBER_EXT SeedModuleInitCallback
seed-3.0.0/doc/reference/seed-docs.sgml0000644000175000017500000000437611531036061014616 00000000000000 ]> Seed Reference Manual Documentation for Seed &version;. The latest version of this documentation can be found on-line at http://library.gnome.org/devel/seed/unstable/. Seed Overview Seed JavaScript Reference This is the documentation for the JavaScript runtime side of Seed. Seed API Reference This is the documentation for the C API of Seed, used for embedding, and creating native C modules. Values and Type Conversion Seed Module Reference This is the documentation for the various modules included with Seed. Index seed-3.0.0/doc/reference/tmpl/0000755000175000017500000000000011545510403013110 500000000000000seed-3.0.0/doc/reference/tmpl/seed.sgml0000644000175000017500000000317711545510403014644 00000000000000 seed @argc: @argv: @Returns: @eng: @path: @eng: @Returns: @ctx: @js: @source_url: @line_number: @Returns: @ctx: @s: @this: @Returns: @ctx: @source: @exception: @Returns: @ctx: @file: @Returns: @s: @Returns: @ctx: @name: @callback: @object: @ctx: @class: @Param3: @Returns: @ctx: @pointer: @Returns: @ctx: @function: @this_object: @argument_count: @arguments: @exception: @eng: @Returns: seed-3.0.0/doc/reference/tmpl/seed-eval.sgml0000644000175000017500000000464711545510403015574 00000000000000 Evaluating JavaScript Creating and interpreting scripts Seed relies on WebKit's JavaScriptCore interpreter to actually evaluate snippets of JavaScript; however, it provides a handful of useful wrapper functions to quickly create and evaluate scripts. seed_make_script() and seed_evaluate() are the workhorse functions; these allow you to control every detail of the created script and its evaluation environment (including customizing the "this" object during evaluation, and setting a starting line number and filename from which the script originates). seed_simple_evaluate() provides an interface to execute a string of JavaScript without previously creating a #SeedScript, and, while requiring less supporting code, is less flexible. Create and evaluate a string of JavaScript with seed_make_script() SeedEngine * eng;   ...   SeedScript * script; /* Create a simple #SeedScript */ script = seed_make_script(eng->context, "print('Hello, world!')", NULL, 0);   /* Evaluate the #SeedScript in the default context */ seed_evaluate(eng->context, script, 0);   ... Create and evaluate a string of JavaScript with seed_simple_evaluate() SeedEngine * eng;   ...   /* Evaluate a simple JavaScript snippet in the default context */ seed_simple_evaluate(eng->context, "print('Hello, world!')", NULL);   ... @script: @exception: @source_url: @line_number: @ctx: @js: @source_url: @line_number: @Returns: @ctx: @s: @this_object: @Returns: @ctx: @source: @exception: @Returns: @ctx: @file: @Returns: @s: @Returns: @s: seed-3.0.0/doc/reference/tmpl/seed-nativetypes.sgml0000644000175000017500000000246611545510403017215 00000000000000 Operating on JavaScript types Determining the type of a SeedValue Long description @ctx: @value: @ctx: @value: @ctx: @value: @Returns: @ctx: @value: @Returns: @ctx: @value: @Returns: @ctx: @value: @Returns: @ctx: @value: @Returns: @ctx: @value: @klass: @Returns: @ctx: @value: @Returns: @ctx: @value: @Returns: seed-3.0.0/doc/reference/tmpl/seed-nativefuncs.sgml0000644000175000017500000000422611545510403017163 00000000000000 Creating native functions C functions as first-class JavaScript objects Exposing native C functions to JavaScript is one of the fundamental use cases for libseed when used in an embedding environment; if your application cannot be introspected, or you only have a small number of functions to expose, this is the simplest way to do that. All native C callbacks should have the prototype of SeedFunctionCallback(). Simple C program which embeds Seed with one exposed function #include <glib.h> #include <seed.h>   /* Our function, with the signature of SeedFunctionCallback(); say hello! */ SeedValue hello_world(SeedContext ctx, SeedObject function, SeedObject this_object, gsize argument_count, const SeedValue arguments[], SeedException *exception) { g_print("Hello, World!\n"); return seed_make_null(ctx); }   int main(gint argc, gchar ** argv) { SeedEngine * eng;   /* Initialize the Seed engine */ eng = seed_init(&argc, &argv);   /* Expose a C function to JavaScript */ seed_create_function(eng->context, "hello_world", (SeedFunctionCallback)hello_world, eng->global);   /* Call the newly created JavaScript function */ seed_simple_evaluate(eng->context, "hello_world()", NULL);   return 0; } @ctx: @function: @this_object: @argument_count: @arguments: @exception: @Returns: @ctx: @func: @name: @Returns: @ctx: @name: @func: @obj: seed-3.0.0/doc/reference/tmpl/seed-jsclass.sgml0000644000175000017500000000303311545510403016273 00000000000000 Creating JavaScript classes Dealing with Seed class definitions and constructors Defining new Seed classes allows for implementing more complex behavior than possible with the traditional JavaScript object system and default class. When writing Seed modules, it is often the best pattern to define many of your types through classes and static functions/value. Please note that inside the finalize callback of a class, it is not legal to call any method requiring a #SeedContext (with the exception of protect/unprotect, though it is not guaranteed this will continue to work with future versions of JSCore). @SEED_PROPERTY_ATTRIBUTE_NONE: @SEED_PROPERTY_ATTRIBUTE_READ_ONLY: @SEED_PROPERTY_ATTRIBUTE_DONT_ENUM: @SEED_PROPERTY_ATTRIBUTE_DONT_DELETE: @SEED_CLASS_ATTRIBUTE_NONE: @SEED_CLASS_ATTRIBUTE_NO_SHARED_PROTOTYPE: @def: @Returns: @ctx: @klass: @constructor: @Returns: seed-3.0.0/doc/reference/tmpl/seed-string.sgml0000644000175000017500000000032011545510403016133 00000000000000 SeedString This one should go away eventually Long description seed-3.0.0/doc/reference/tmpl/seed-context.sgml0000644000175000017500000000416511545510403016324 00000000000000 Working with Contexts Self-contained JavaScript execution environments A #SeedContext provides a complete "universe" for the execution of JavaScript. You can use seed_context_create() to create a sandboxed context that lacks the import system, so it can be used to execute somewhat untrusted JavaScript (as it has no way to access the rest of your system). You can also expose the default set of globals (including "print", "imports", and "Seed") to create more powerful but still self-contained environments within which to execute code. Using a Seed context as a form of sandboxing ... ctx = seed_context_create(NULL, NULL); script = seed_make_script(ctx, "print(imports)", NULL, 0); // nothing is printed, because imports is undefined, because we're in a sandbox ... The sandbox module provides access to this system from the JavaScript side of Seed. @group: @global_class: @Returns: @ctx: @Returns: @ctx: @ctx: @ctx: @Returns: @ctx: @ctx: @name: @ctx: @search_path: seed-3.0.0/doc/reference/tmpl/seed-exception.sgml0000644000175000017500000000774211545510403016642 00000000000000 Exception Handling Throwing and catching exceptions Seed uses exceptions as a method of handling runtime errors within scripts. An exception consists of a name (a list of commonly-used exception names is below), a message, detailing the error, and the line number and filename from which the exception was raised. If Seed cannot determine from where the exception was raised, the line number and filename will be undefined. seed_exception_to_string() provides a simple way to convert all of these into a consistent representation to display to users. All Seed callbacks take an exception argument; calling seed_make_exception() with this argument and the details you wish to fill it with will propogate that exception up the chain. Exceptions can be caught either by a try/catch block in the calling JavaScript, or by observing the exception property, dealing with it, and then clearing the exception. It is important to note that calling seed_make_exception() does not in fact throw the exception, but just creates an object which, when stored in the exception pointer passed to a callback, causes JSC to throw an exception once flow is returned. Throw an exception, because <function>random_callback</function> was called with the wrong number of arguments SeedValue random_callback(SeedContext ctx, SeedObject function, SeedObject this_object, gsize argument_count, const SeedValue arguments[], SeedException *exception) { ...   if(argument_count != 1) { seed_make_exception(ctx, exception, "ArgumentError", "wrong number of arguments; expected 1, got %Zd", argument_count); return seed_make_undefined(ctx); }   ... } Predefined Exception Names InvalidPropertyValue - a property was set to a value out of range PropertyError - a warning occurred in GLib while trying to set a property ArgumentError - a function was called with the wrong number of arguments ConversionError - one of the type conversion functions threw an exception TypeError - a required argument was of the wrong type SyntaxError - a syntax error was thrown from JavaScriptCore ParseError - a parsing error was thrown from JavaScriptCore (make sure you close all of your brackets!) ReferenceError - a reference error was thrown from JavaScriptCore (most likely, you tried to access a variable which was undefined) @ctx: @exception: @name: @message: @Varargs: @ctx: @exception: @Returns: @ctx: @exception: @Returns: @ctx: @exception: @Returns: @ctx: @exception: @Returns: @ctx: @exception: @Returns: seed-3.0.0/doc/reference/tmpl/seed-signals.sgml0000644000175000017500000000112211545510403016266 00000000000000 GObject Signals Connecting JavaScript functions to signals Long description @ctx: @object: @signal: @script: @ctx: @object: @signal: @function: @user_data: seed-3.0.0/doc/reference/tmpl/seed-unused.sgml0000644000175000017500000000201211545510403016130 00000000000000 seed-main.sgml Long description This one should go away eventually SeedString seed seed-3.0.0/doc/reference/tmpl/seed-object.sgml0000644000175000017500000000630211545510403016101 00000000000000 Working with JavaScript objects Using properties, constructing objects, etc. Long description @ctx: @klass: @private_object: @Returns: @ctx: @elements: @num_elements: @exception: @Returns: @ctx: @object: @this_object: @argument_count: @arguments: @exception: @Returns: @ctx: @object: @index: @value: @exception: @ctx: @object: @index: @exception: @Returns: @ctx: @obj: @klass: @Returns: @object: @Returns: @object: @value: @ctx: @object: @name: @Returns: @ctx: @object: @name: @value: @Returns: @ctx: @obj: @Returns: @ctx: @object: @Returns: @ctx: @object: @object: @ctx: @object: @string: @Returns: @ctx: @object: @property_name: @e: @Returns: @ctx: @object: @property_name: @value: @e: @Returns: @ctx: @object: @property_name: @e: @Returns: @void: @ctx: @function: @this_object: @argument_count: @arguments: @exception: @Returns: @ctx: @constructor: @instance_p: @exception: @Returns: @ctx: @object: @type: @exception: @Returns: @ctx: @constructor: @argument_count: @arguments: @exception: @Returns: seed-3.0.0/doc/reference/tmpl/seed-modules.sgml0000644000175000017500000001003311545510403016277 00000000000000 Seed Modules Native C modules for Seed Seed includes a simple system for creating C modules which can be loaded and manipulated from JavaScript. This is used for implementing performance-critical code closer to the silicon, as well as binding non-introspectable libraries in an attractive way. Numerous binding modules are included in the Seed repository; when writing a new native module, it would be wise to look over these before beginning, as they have many tidbits of useful knowledge for writing modules. Very simple example C module #include <glib.h> #include <seed-module.h> SeedObject seed_module_init(SeedEngine * eng) { /* Say hello! */ g_print("Hello, Seed Module World!\n");   /* Return an empty object as the module's namespace */ return seed_make_object (eng->context, NULL, NULL); } Above is a C module which does absolutely nothing useful. When a module is loaded, seed_module_init() is called, which should have the signature of SeedModuleInitCallback(). You're passed the global #SeedEngine, and the value you return is the namespace for your module. Say, for example, you place a static function on that object: C module with a function #include <glib.h> #include <seed-module.h> /* Our function, with the signature of SeedFunctionCallback(); say hello! */ SeedValue say_hello_to(SeedContext ctx, SeedObject function, SeedObject this_object, gsize argument_count, const SeedValue arguments[], SeedException *exception) { guchar * name;   /* Check that only one argument was passed into the function. CHECK_ARG_COUNT() is from seed-module.h, which you might find useful. */ CHECK_ARG_COUNT("hello.say_hello_to", 1);   /* Convert the first argument, a #SeedValue, to a C string */ name = seed_value_to_string(ctx, arguments[0], exception);   g_print("Hello, %s!\n", name);   g_free(name);   return seed_make_null(ctx); }   /* Define an array of #seed_static_function */ seed_static_function gettext_funcs[] = { {"say_hello_to", say_hello_to, 0} };   SeedObject seed_module_init(SeedEngine * eng) { SeedGlobalContext ctx = eng->context;   /* Create a new class definition with our array of static functions */ seed_class_definition ns_class_def = seed_empty_class; ns_class_def.static_functions = example_funcs;   /* Create a class from the class definition we just created */ SeedClass ns_class = seed_create_class(&ns_class_def);   /* Instantiate the class; this instance will be the namespace we return */ ns_ref = seed_make_object (ctx, ns_class, NULL); seed_value_protect (ctx, ns_ref);   return ns_ref; } After building and installing this module (look in the Seed build system for examples of how to get this to work, as well as a copy of seed-module.h, which will be very useful), it will be loadable with the normal Seed import system. Assuming it's installed as libseed_hello.so: Utilize our second example C module from JavaScript hello = imports.hello; hello.say_hello_to("Tim"); @name: @argnum: @holder: @member: @holder: @name: @val: @eng: @Returns: seed-3.0.0/doc/reference/tmpl/seed-closure.sgml0000644000175000017500000000211511545510403016305 00000000000000 Using JavaScript closures Creating and invoking closures over JavaScript functions using GClosure Long description @closure: @function: @user_data: @return_type: @description: @ctx: @function: @user_data: @description: @Returns: @c: @Returns: @closure: @args: @argc: @exception: @Returns: @ctx: @closure: @args: @argc: @exception: @Returns: @c: @ctx: @exception: seed-3.0.0/doc/reference/tmpl/seed-main.sgml0000644000175000017500000000333411545510403015561 00000000000000 Initialization Overall setup of the Seed engine Before any other Seed functions can be used, you must initialize the engine, which creates an initial JavaScript context and sets up JavaScriptCore and GLib. To do this in most cases, you will use seed_init(), which will provide you with a #SeedEngine. Only one #SeedEngine is permitted per application; use a #SeedContext to sandbox code execution. Very simple <function>main</function> function for a Seed program int main (int argc, char **argv) { SeedEngine * eng; SeedScript * script;   /* Initialize the Seed engine */ eng = seed_init(&argc, &argv);   /* Create a simple #SeedScript */ script = seed_make_script(eng->context, "print('Hello, world!')", NULL, 0);   /* Evaluate the #SeedScript in the default context */ seed_evaluate(eng->context, script, 0);   g_free(script); return 0; } @context: @global: @search_path: @group: @argc: @argv: @Returns: @argc: @argv: @group: @Returns: @eng: @path: @eng: @Returns: seed-3.0.0/doc/reference/tmpl/seed-typeconversion.sgml0000644000175000017500000001143111545510403017721 00000000000000 Type Conversion Moving between JavaScript and C intrinsic types Long description @SEED_TYPE_UNDEFINED: @SEED_TYPE_NULL: @SEED_TYPE_BOOLEAN: @SEED_TYPE_NUMBER: @SEED_TYPE_STRING: @SEED_TYPE_OBJECT: @ctx: @Returns: @ctx: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @bytes: @n_bytes: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @val: @exception: @Returns: @ctx: @format: @values: @exception: @Varargs: @Returns: @ctx: @pointer: @Returns: @ctx: @pointer: @Returns: @string: @Returns: @string: @string: @Returns: @string: @buffer: @buffer_size: @Returns: @a: @b: @Returns: @a: @b: @Returns: seed-3.0.0/doc/reference/tmpl/seed-main.sgml.sgml0000644000175000017500000000443211545510403016522 00000000000000 seed-main.sgml @argc: @argv: @Returns: @argc: @argv: @group: @Returns: @ctx: @name: @ctx: @search_path: @eng: @path: @eng: @Returns: @ctx: @js: @source_url: @line_number: @Returns: @ctx: @s: @this: @Returns: @ctx: @source: @exception: @Returns: @ctx: @file: @Returns: @s: @Returns: @ctx: @callback: @name: @Returns: @ctx: @name: @callback: @object: @ctx: @class: @Param3: @Returns: @ctx: @pointer: @Returns: @ctx: @function: @this_object: @argument_count: @arguments: @excecption: @Returns: @eng: @Returns: @ctx: @object: @signal: @script: @ctx: @object: @signal: @function: @user_data: seed-3.0.0/doc/reference/html/0000755000175000017500000000000011545510403013100 500000000000000seed-3.0.0/doc/reference/html/sqlite-module.html0000644000175000017500000001304311545510403016473 00000000000000 SQLite

SQLite

Robert Carr

API Reference

The sqlite module allows for manipulation and querying of sqlite databases.

sqlite = imports.sqlite;
      

The SQLite module provides a selection of status enums, to be used as the return values of functions. For meanings, consult the SQLite C documentation.
sqlite.[OK, ERROR, INTERNAL, PERM ABORT, BUSY,
        LOCKED, NOMEM, READONLY, INTERRUPT, CORRUPT,
        NOTFOUND, FULL, CANTOPEN, PROTOCOL, EMPTY,
        SCHEMA, TOOBIG, CONSTRAINT, MISMATCH, MISUSE,
        NOLFS, AUTH, FORMAT, RANGE, NOTADB, ROW, DONE]
    

new sqlite.Database(filename)

Constructs a new sqlite.Database

filename

undefined

Returns

A new sqlite.Database object, the status property will be one of the SQLite status enums


database.exec(command, callback)

Executes the SQLite command on the given database. If callback is defined, it is called with each table entry from the given command, with a single argument. The argument has properties for each value in the returned table entry.

Keep in mind that, just like in C, it is necessary to sanitize user input in your SQL before passing it to the database.

command

undefined

callback

undefined

Returns

An SQLite status enum representing the result of the operation


database.close()

Closes an SQLite database and syncs

Examples

Below are several examples of using the Seed sqlite module. For additional resources, consult the examples/ folder of the Seed source

Example 15. 

This demonstrates creating a new table, populating it, and querying it for results

sqlite = imports.sqlite;
var db = new sqlite.Database("people.db");
db.exec("create table people (key INTEGER PRIMARY KEY, name TEXT," +
                             "age INTEGER, phone TEXT);");
db.exec("insert into people(name, age, phone) " + 
        "values('John Smith', 24, '555-123-4567');");

function cb_print_phone(results) {
    print(results.phone);
}

db.exec("select from people where name='John Smith';", cb_print_phone);
db.close();
      

seed-3.0.0/doc/reference/html/seed-building.html0000644000175000017500000003417511545510403016433 00000000000000 Compiling Seed

Compiling Seed

Compiling Seed — How to compile Seed itself

Building the Library on UNIX

On UNIX, Seed uses the standard GNU build system, using autoconf for package configuration and resolving portability issues, automake for building makefiles that comply with the GNU Coding Standards, and libtool for building shared libraries on multiple platforms. The normal sequence for compiling and installing Seed is thus:


          ./configure
          make
          make install
        

The standard options provided by GNU autoconf may be passed to the configure script. Please see the autoconf documentation or run ./configure --help for information about the standard options.

Dependencies

Before you can compile Seed, you need to have various external libraries installed on your system.

  • The gobject-introspection library is necessary to build Seed. It provides the bridge between Seed and many GObject-based libraries.

  • WebKit provides the JavaScriptCore interpreter, which is fundamental to Seed's ability to execute JavaScript. Seed requires a WebKit SVN revision newer than 35442. Keep in mind that some builds between this and HEAD still won't work with Seed, and performance has only improved, so try to keep an up-to-date version of WebKit if you're planning on working with Seed.

  • readline is used by the Seed REPL in order to communicate with the user.

  • libffi provides Seed with an interface to call into C libraries at runtime.

  • gnome-js-common includes a battery of tests against both Seed and GJS, and also provides numerous libraries of JavaScript functions, including JSON manipulation and various language extensions.

Module Dependencies

Seed ships with a number of native modules which provide access to libraries which help with development but are not able to be introspected. Some of these modules depend on external libraries, and Seed's configuration will fail if they are not installed; if you wish to build Seed without a module for which you do not have the underlying library installed, check the Extra Configuration Options section of this document.

  • Cairo provides access to fast 2D graphics and numerous different types of output, including drawing to the screen, to an image, to a PDF, etc.

  • DBus enables Seed to manipulate the various message busses, and provides communication between applications.

  • gettext is a common library used for internationalization support.

  • libxml2 provides a powerful XML parsing interface.

  • mpfr provides multiple-precision arithmetic.

  • sqlite3 provides straightforward read-write access to on-disk SQL databases.

Optional Dependencies

Seed's library of examples utilizes many other GObject projects which Seed does not strictly depend on, and will not be enumerated here. Introspection data for these projects may either be found within the projects themselves, or in the gir-repository.

Extra Configuration Options

In addition to the normal options, the configure script in the Seed library supports these additional arguments:

--disable-canvas-module and --enable-canvas-module By default, and with --enable-canvas-module as well, Seed attempts to build the Canvas native module.

--disable-readline-module and --enable-readline-module By default, and with --enable-readline-module as well, Seed attempts to build the readline native module.

--disable-multiprocessing-module and --enable-multiprocessing-module By default, and with --enable-multiprocessing-module as well, Seed attempts to build the multiprocessing native module.

--disable-sqlite-module and --enable-sqlite-module By default, and with --enable-sqlite-module as well, Seed attempts to build the SQLite native module.

--disable-example-module and --enable-example-module By default, and with --enable-example-module as well, Seed attempts to build the example native module.

--disable-dbus-module and --enable-dbus-module By default, and with --enable-dbus-module as well, Seed attempts to build the DBus native module.

--disable-os-module and --enable-os-module By default, and with --enable-os-module as well, Seed attempts to build the os native module.

--disable-libxml-module and --enable-libxml-module By default, and with --enable-libxml-module as well, Seed attempts to build the libxml2 native module.

--disable-gtkbuilder-module and --enable-gtkbuilder-module By default, and with --enable-gtkbuilder-module as well, Seed attempts to build the GtkBuilder native module.

--disable-cairo-module and --enable-cairo-module By default, and with --enable-cairo-module as well, Seed attempts to build the Cairo native module.

--disable-gettext-module and --enable-gettext-module By default, and with --enable-gettext-module as well, Seed attempts to build the gettext native module.

--disable-mpfr-module and --enable-mpfr-module By default, and with --enable-mpfr-module as well, Seed attempts to build the mpfr native module.

--disable-turtle-example and --enable-turtle-example By default, and with --enable-turtle-example as well, Seed attempts to build the Turtle example.

--disable-examples and --enable-examples By default, and with --enable-examples as well, a library of JavaScript examples are installed alongside Seed.

--disable-profile and --enable-profile With --enable-profile, Seed is built with profiling and coverage instructions. One can use make profile or make profile-gui to profile the library.

--disable-profile-modules and --enable-profile-modules With --enable-profile-modules, all Seed modules are built with profiling and coverage instructions. One can use make profile or make profile-gui to profile the modules.

--disable-debug and --enable-debug With --enable-debug, Seed is built without optimizations and with extra debugging information included, and extra debug arguments to the seed interpreter are enabled; you can learn about these by calling seed --help.

--disable-shave and --enable-shave By default, and with --enable-shave as well, Seed is built with pretty-printed build output. Disable this to see the actual compiler and linker commands being executed.

seed-3.0.0/doc/reference/html/left.png0000644000175000017500000000071311545510403014461 00000000000000PNG  IHDRw=bKGD pHYs  ~tIME1&[(XIDATx!OPE*ID%~ꊯ"p'ŏ`sܖrKf hmiIz}ܯI.p\`x l?l[,Hk<#c%\AUx[S7n6rzEs1j@NL$ݤi0 5/}\EKIo͓$a0jdFbkIAh>WlC'?tk;|/t*INZ^`y4Nr]׮ J<ڐt`X1@p䀸dZ')hK $V?%]+LsgUK"w53OIENDB`seed-3.0.0/doc/reference/html/seed.html0000644000175000017500000000411411545510403014626 00000000000000 Part I. Seed Overview

Part I. Seed Overview

Table of Contents

Introduction — What Seed is all about
Compiling Seed — How to compile Seed itself
Contact Information — Where to find help, ask questions, or bring patches
seed-3.0.0/doc/reference/html/home.png0000644000175000017500000000121611545510403014456 00000000000000PNG  IHDRw=bKGD pHYs  ~tIME1KvIDATxՕkq?rCp ~CnpCAAJ .B-\'G]:ܠC -(8 Ԁ!fDғklbRoyxwpðIJ<of_-@RHf֟t^ښ$Q|pgv;X^^&s(bwwZF9&3඙ ^IRZUE.0Z]]U PYM8HGIekqqҀ! $۬3n e{-/seeeÌXOͷ$8==USQRR'9-s+B^ Cەs+%<7W :2IENDB`seed-3.0.0/doc/reference/html/seed-Signals.html0000644000175000017500000002016711545510403016232 00000000000000 GObject Signals

GObject Signals

GObject Signals — Connecting JavaScript functions to signals

Synopsis

#include <seed/seed.h>

void                seed_signal_connect                 (SeedContext ctx,
                                                         GObject *object,
                                                         const gchar *signal,
                                                         const gchar *script);
void                seed_signal_connect_value           (SeedContext ctx,
                                                         GObject *object,
                                                         const gchar *signal,
                                                         SeedValue function,
                                                         SeedValue user_data);

Description

Long description

Details

seed_signal_connect ()

void                seed_signal_connect                 (SeedContext ctx,
                                                         GObject *object,
                                                         const gchar *signal,
                                                         const gchar *script);

Evaluates script, which should return a function, then connects the returned function to the signal specified by signal on object. user_data is passed as the user_data argument to the callback function.

ctx :

A valid SeedContext

object :

A GObject, to connect the signal on.

signal :

A signal specification.

script :

The script to connect to the signal. Should return a function.

seed_signal_connect_value ()

void                seed_signal_connect_value           (SeedContext ctx,
                                                         GObject *object,
                                                         const gchar *signal,
                                                         SeedValue function,
                                                         SeedValue user_data);

ctx :

object :

signal :

function :

user_data :

seed-3.0.0/doc/reference/html/seed-Native-Functions.html0000644000175000017500000003704611545510403020032 00000000000000 Creating native functions

Creating native functions

Creating native functions — C functions as first-class JavaScript objects

Synopsis

#include <seed/seed.h>

SeedValue           (*SeedFunctionCallback)             (SeedContext ctx,
                                                         SeedObject function,
                                                         SeedObject this_object,
                                                         gsize argument_count,
                                                         const SeedValue arguments[],
                                                         SeedException *exception);
SeedObject          seed_make_function                  (SeedContext ctx,
                                                         SeedFunctionCallback func,
                                                         const gchar *name);
void                seed_create_function                (SeedContext ctx,
                                                         gchar *name,
                                                         SeedFunctionCallback func,
                                                         SeedObject obj);

Description

Exposing native C functions to JavaScript is one of the fundamental use cases for libseed when used in an embedding environment; if your application cannot be introspected, or you only have a small number of functions to expose, this is the simplest way to do that.

All native C callbacks should have the prototype of SeedFunctionCallback().

Example 10. Simple C program which embeds Seed with one exposed function

#include <glib.h>
#include <seed.h>
 
/* Our function, with the signature of SeedFunctionCallback(); say hello! */
SeedValue hello_world(SeedContext ctx,
                      SeedObject function,
                      SeedObject this_object,
                      gsize argument_count,
                      const SeedValue arguments[],
                      SeedException *exception)
{
    g_print("Hello, World!\n");
    return seed_make_null(ctx);
}
 
int main(gint argc, gchar ** argv)
{
    SeedEngine * eng;
 
    /* Initialize the Seed engine */
    eng = seed_init(&argc, &argv);
 
    /* Expose a C function to JavaScript */
    seed_create_function(eng->context, "hello_world",
                         (SeedFunctionCallback)hello_world,
                         eng->global);
 
    /* Call the newly created JavaScript function */
    seed_simple_evaluate(eng->context, "hello_world()", NULL);
 
    return 0;
}

Details

SeedFunctionCallback ()

SeedValue           (*SeedFunctionCallback)             (SeedContext ctx,
                                                         SeedObject function,
                                                         SeedObject this_object,
                                                         gsize argument_count,
                                                         const SeedValue arguments[],
                                                         SeedException *exception);

All native C function callbacks should use the prototype of SeedFunctionCallback.

ctx :

A SeedContext

function :

The SeedObject representing the function

this_object :

The SeedObject representing the "this" object in the caller

argument_count :

The number of arguments passed into the callback

arguments :

An array of SeedValues; the value of the arguments passed in

exception :

A reference to a SeedException; use seed_make_exception() in order to throw a JavaScript exception from the callback.

Returns :

The SeedValue to return to the caller

seed_make_function ()

SeedObject          seed_make_function                  (SeedContext ctx,
                                                         SeedFunctionCallback func,
                                                         const gchar *name);

Creates a JavaScript object representing a first-class function; when the function is called from JavaScript, func will be called.

ctx :

A valid SeedContext

func :

A SeedFunctionCallback to implement the function.

name :

The name of the function (used in exceptions).

Returns :

A SeedObject representing the function

seed_create_function ()

void                seed_create_function                (SeedContext ctx,
                                                         gchar *name,
                                                         SeedFunctionCallback func,
                                                         SeedObject obj);

Creates a JavaScript object representing a first-class function; when the function is called from JavaScript, func will be called. Places the created function as the property name on obj.

ctx :

A valid SeedContext

name :

The name of the function (used in exceptions).

func :

A SeedFunctionCallback to implement the function.

obj :

The SeedObject on which to put the function.
seed-3.0.0/doc/reference/html/seed-Native-Type-Conversion.html0000644000175000017500000034705511545510403021132 00000000000000 Type Conversion

Type Conversion

Type Conversion — Moving between JavaScript and C intrinsic types

Synopsis

#include <seed/seed.h>

typedef             SeedValue;
enum                SeedType;
SeedValue           seed_make_undefined                 (SeedContext ctx);
SeedValue           seed_make_null                      (SeedContext ctx);
gboolean            seed_value_to_boolean               (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_boolean             (SeedContext ctx,
                                                         gboolean val,
                                                         SeedException *exception);
guint               seed_value_to_uint                  (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_uint                (SeedContext ctx,
                                                         guint val,
                                                         SeedException *exception);
gint                seed_value_to_int                   (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_int                 (SeedContext ctx,
                                                         gint val,
                                                         SeedException *exception);
gchar               seed_value_to_char                  (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_char                (SeedContext ctx,
                                                         gchar val,
                                                         SeedException *exception);
guchar              seed_value_to_uchar                 (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_uchar               (SeedContext ctx,
                                                         guchar val,
                                                         SeedException *exception);
glong               seed_value_to_long                  (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_long                (SeedContext ctx,
                                                         glong val,
                                                         SeedException *exception);
gulong              seed_value_to_ulong                 (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_ulong               (SeedContext ctx,
                                                         gulong val,
                                                         SeedException *exception);
gint64              seed_value_to_int64                 (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_int64               (SeedContext ctx,
                                                         gint64 val,
                                                         SeedException *exception);
guint64             seed_value_to_uint64                (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_uint64              (SeedContext ctx,
                                                         guint64 val,
                                                         SeedException *exception);
gfloat              seed_value_to_float                 (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_float               (SeedContext ctx,
                                                         gfloat val,
                                                         SeedException *exception);
gdouble             seed_value_to_double                (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_double              (SeedContext ctx,
                                                         gdouble val,
                                                         SeedException *exception);
gchar *             seed_value_to_string                (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_string              (SeedContext ctx,
                                                         const gchar *val,
                                                         SeedException *exception);
SeedValue           seed_value_from_binary_string       (SeedContext ctx,
                                                         const gchar *bytes,
                                                         gint n_bytes,
                                                         SeedException *exception);
GObject *           seed_value_to_object                (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);
SeedValue           seed_value_from_object              (SeedContext ctx,
                                                         GObject *val,
                                                         SeedException *exception);
gchar *             seed_value_to_filename              (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedValue *exception);
SeedValue           seed_value_from_filename            (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedValue *exception);
gboolean            seed_value_to_format                (SeedContext ctx,
                                                         const gchar *format,
                                                         SeedValue *values,
                                                         SeedValue *exception,
                                                         ...);
gpointer            seed_pointer_get_pointer            (SeedContext ctx,
                                                         SeedValue pointer);
SeedValue           seed_make_pointer                   (SeedContext ctx,
                                                         gpointer pointer);
typedef             SeedString;
SeedString          seed_string_ref                     (SeedString string);
void                seed_string_unref                   (SeedString string);
gsize               seed_string_get_maximum_size        (SeedString string);
gsize               seed_string_to_utf8_buffer          (SeedString string,
                                                         gchar *buffer,
                                                         size_t buffer_size);
gboolean            seed_string_is_equal                (SeedString a,
                                                         SeedString b);
gboolean            seed_string_is_equal_utf8           (SeedString a,
                                                         const gchar *b);

Description

Long description

Details

SeedValue

typedef gpointer SeedValue;


enum SeedType

typedef enum
{
  SEED_TYPE_UNDEFINED,
  SEED_TYPE_NULL,
  SEED_TYPE_BOOLEAN,
  SEED_TYPE_NUMBER,
  SEED_TYPE_STRING,
  SEED_TYPE_OBJECT
} SeedType;


seed_make_undefined ()

SeedValue           seed_make_undefined                 (SeedContext ctx);

Note that this function returns a valid SeedValue, representing the undefined JavaScript value, and not an undefined SeedValue.

ctx :

A valid SeedContext

Returns :

A SeedValue of the 'undefined' type.

seed_make_null ()

SeedValue           seed_make_null                      (SeedContext ctx);

Note that this function returns a valid SeedValue, representing the null JavaScript value, and not a null SeedValue.

ctx :

A valid SeedContext

Returns :

A SeedValue of the 'null' type.

seed_value_to_boolean ()

gboolean            seed_value_to_boolean               (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Converts the given SeedValue into a gboolean. Keep in mind that this will not convert a JavaScript number type, only a boolean.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The gboolean represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_boolean ()

SeedValue           seed_value_from_boolean             (SeedContext ctx,
                                                         gboolean val,
                                                         SeedException *exception);

Converts the given gboolean into a SeedValue.

ctx :

A SeedContext.

val :

The gboolean to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_to_uint ()

guint               seed_value_to_uint                  (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Converts the given SeedValue into a guint.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The guint represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_uint ()

SeedValue           seed_value_from_uint                (SeedContext ctx,
                                                         guint val,
                                                         SeedException *exception);

Converts the given guint into a SeedValue.

ctx :

A SeedContext.

val :

The guint to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_to_int ()

gint                seed_value_to_int                   (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Converts the given SeedValue into a gint.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The gint represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_int ()

SeedValue           seed_value_from_int                 (SeedContext ctx,
                                                         gint val,
                                                         SeedException *exception);

Converts the given gint into a SeedValue.

ctx :

A SeedContext.

val :

The gint to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_to_char ()

gchar               seed_value_to_char                  (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Converts the given SeedValue into a gchar.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The gchar represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_char ()

SeedValue           seed_value_from_char                (SeedContext ctx,
                                                         gchar val,
                                                         SeedException *exception);

Converts the given gchar into a SeedValue.

ctx :

A SeedContext.

val :

The gchar to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_to_uchar ()

guchar              seed_value_to_uchar                 (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Converts the given SeedValue into a guchar.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The guchar represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_uchar ()

SeedValue           seed_value_from_uchar               (SeedContext ctx,
                                                         guchar val,
                                                         SeedException *exception);

Converts the given guchar into a SeedValue.

ctx :

A SeedContext.

val :

The guchar to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_to_long ()

glong               seed_value_to_long                  (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Converts the given SeedValue into a glong.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The glong represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_long ()

SeedValue           seed_value_from_long                (SeedContext ctx,
                                                         glong val,
                                                         SeedException *exception);

Converts the given glong into a SeedValue.

ctx :

A SeedContext.

val :

The glong to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_to_ulong ()

gulong              seed_value_to_ulong                 (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Converts the given SeedValue into a gulong.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The gulong represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_ulong ()

SeedValue           seed_value_from_ulong               (SeedContext ctx,
                                                         gulong val,
                                                         SeedException *exception);

Converts the given gulong into a SeedValue.

ctx :

A SeedContext.

val :

The gulong to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_to_int64 ()

gint64              seed_value_to_int64                 (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Converts the given SeedValue into a gint64.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The gint64 represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_int64 ()

SeedValue           seed_value_from_int64               (SeedContext ctx,
                                                         gint64 val,
                                                         SeedException *exception);

Converts the given gint64 into a SeedValue.

ctx :

A SeedContext.

val :

The gint64 to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_to_uint64 ()

guint64             seed_value_to_uint64                (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Converts the given SeedValue into a guint64.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The guint64 represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_uint64 ()

SeedValue           seed_value_from_uint64              (SeedContext ctx,
                                                         guint64 val,
                                                         SeedException *exception);

Converts the given guint64 into a SeedValue.

ctx :

A SeedContext.

val :

The guint64 to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_to_float ()

gfloat              seed_value_to_float                 (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Converts the given SeedValue into a gfloat.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The gfloat represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_float ()

SeedValue           seed_value_from_float               (SeedContext ctx,
                                                         gfloat val,
                                                         SeedException *exception);

Converts the given gfloat into a SeedValue.

ctx :

A SeedContext.

val :

The gfloat to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_to_double ()

gdouble             seed_value_to_double                (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Converts the given SeedValue into a gdouble.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The gdouble represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_double ()

SeedValue           seed_value_from_double              (SeedContext ctx,
                                                         gdouble val,
                                                         SeedException *exception);

Converts the given gdouble into a SeedValue.

ctx :

A SeedContext.

val :

The gdouble to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_to_string ()

gchar *             seed_value_to_string                (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Converts the given SeedValue into a gchar* string. Keep in mind that it's up to the caller to free the string.

If the SeedValue represents JavaScript's undefined value, this returns "[undefined]"; if it represents JavaScript's null value, this returns "[null]".

If the SeedValue is a number or a boolean, it is printed as a double, with the printf format string "%.15g".

If the SeedValue is an object, the string returned is that obtained by calling .toString() on said object.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The gchar* represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_string ()

SeedValue           seed_value_from_string              (SeedContext ctx,
                                                         const gchar *val,
                                                         SeedException *exception);

Converts the given gchar* string into a SeedValue.

ctx :

A SeedContext.

val :

The gchar* to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_from_binary_string ()

SeedValue           seed_value_from_binary_string       (SeedContext ctx,
                                                         const gchar *bytes,
                                                         gint n_bytes,
                                                         SeedException *exception);

Converts a string representation of the given binary string into a SeedValue.

ctx :

A SeedContext.

bytes :

A string of bytes to represent as a string.

n_bytes :

The number of bytes from bytes to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents bytes as a string, or NULL if an exception is raised during the conversion.

seed_value_to_object ()

GObject *           seed_value_to_object                (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedException *exception);

Given a SeedValue which is wrapping a GObject, retrieve the wrapped GObject.

ctx :

A SeedContext.

val :

The SeedValue to unwrap.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The GObject wrapped within val, or NULL if an exception is raised during the conversion.

seed_value_from_object ()

SeedValue           seed_value_from_object              (SeedContext ctx,
                                                         GObject *val,
                                                         SeedException *exception);

Wraps val in a SeedValue.

ctx :

A SeedContext.

val :

The GObject to wrap.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which wraps val, or NULL if an exception is raised during the conversion.

seed_value_to_filename ()

gchar *             seed_value_to_filename              (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedValue *exception);

Converts the given SeedValue into a gchar*, properly converting to the character set used for filenames on the local machine.

ctx :

A SeedContext.

val :

The SeedValue to convert.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The gchar* represented by val, or NULL if an exception is raised during the conversion.

seed_value_from_filename ()

SeedValue           seed_value_from_filename            (SeedContext ctx,
                                                         SeedValue val,
                                                         SeedValue *exception);

Converts the given gchar* filename into a SeedValue, respecting the character set used for filenames on the local machine.

ctx :

A SeedContext.

val :

The gchar* filename to represent.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

A SeedValue which represents val, or NULL if an exception is raised during the conversion.

seed_value_to_format ()

gboolean            seed_value_to_format                (SeedContext ctx,
                                                         const gchar *format,
                                                         SeedValue *values,
                                                         SeedValue *exception,
                                                         ...);

A convenience API for converting multiple values at once, the format string is composed of single characters specifying types, for example: i: gint u: guint o: GObject * s: gchar * f: gdouble c: gchar

and a valid format string could be "iuo".

This function may be in particular useful in converting arguments in a SeedFunctionCallback.

ctx :

A valid SeedContext

format :

Format string to use.

values :

The values to convert.

exception :

Location to store an exception.

... :

A NULL-terminated list of locations to store the results of conversion.

Returns :

Whether conversion was successful.

seed_pointer_get_pointer ()

gpointer            seed_pointer_get_pointer            (SeedContext ctx,
                                                         SeedValue pointer);

ctx :

pointer :

Returns :


seed_make_pointer ()

SeedValue           seed_make_pointer                   (SeedContext ctx,
                                                         gpointer pointer);

ctx :

pointer :

Returns :


SeedString

typedef gpointer SeedString;


seed_string_ref ()

SeedString          seed_string_ref                     (SeedString string);

Increments the reference count of string.

string :

A SeedString.

Returns :

string

seed_string_unref ()

void                seed_string_unref                   (SeedString string);

Decrements the reference count of string.

string :

A SeedString.

seed_string_get_maximum_size ()

gsize               seed_string_get_maximum_size        (SeedString string);

string :

A SeedString.

Returns :

The maximum number of bytes string will take up if converted to a null-terminated UTF8 string.

seed_string_to_utf8_buffer ()

gsize               seed_string_to_utf8_buffer          (SeedString string,
                                                         gchar *buffer,
                                                         size_t buffer_size);

string :

A SeedString.

buffer :

An allocated string.

buffer_size :

The length of buffer, in bytes.

Returns :

A the number of bytes copied into buffer.

seed_string_is_equal ()

gboolean            seed_string_is_equal                (SeedString a,
                                                         SeedString b);

a :

The first SeedString to compare.

b :

The second SeedString to compare.

Returns :

true, if a and b are equal, false otherwise.

seed_string_is_equal_utf8 ()

gboolean            seed_string_is_equal_utf8           (SeedString a,
                                                         const gchar *b);

Tests the equality of a SeedString and a UTF-8 C-style string.

a :

The SeedString to compare.

b :

A gchar* to compare to.

Returns :

true, if a and b are equal, false otherwise.
seed-3.0.0/doc/reference/html/js.html0000644000175000017500000000362211545510403014325 00000000000000 Part II. Seed JavaScript Reference

Part II. Seed JavaScript Reference

Table of Contents

Importer — Importing gobject-introspection namespaces, native modules, and JavaScript modules

This is the documentation for the JavaScript runtime side of Seed.

seed-3.0.0/doc/reference/html/api.html0000644000175000017500000000777311545510403014475 00000000000000 Part III. Seed API Reference

Part III. Seed API Reference

Table of Contents

Initialization — Overall setup of the Seed engine
Working with Contexts — Self-contained JavaScript execution environments
Evaluating JavaScript — Creating and interpreting scripts
Exception Handling — Throwing and catching exceptions
GObject Signals — Connecting JavaScript functions to signals
Values and Type Conversion
Type Conversion — Moving between JavaScript and C intrinsic types
Operating on JavaScript types — Determining the type of a SeedValue
Working with JavaScript objects — Using properties, constructing objects, etc.
Creating native functions — C functions as first-class JavaScript objects
Creating JavaScript classes — Dealing with Seed class definitions and constructors
Using JavaScript closures — Creating and invoking closures over JavaScript functions using GClosure
Seed Modules — Native C modules for Seed

This is the documentation for the C API of Seed, used for embedding, and creating native C modules.

seed-3.0.0/doc/reference/html/seed-SeedClosure.html0000644000175000017500000003467111545510403017054 00000000000000 Using JavaScript closures

Using JavaScript closures

Using JavaScript closures — Creating and invoking closures over JavaScript functions using GClosure

Synopsis

#include <seed/seed.h>

struct              SeedClosure;
GClosure *          seed_closure_new                    (SeedContext ctx,
                                                         SeedObject function,
                                                         SeedObject user_data,
                                                         const gchar *description);
SeedObject          seed_closure_get_callable           (GClosure *c);
SeedValue           seed_closure_invoke                 (GClosure *closure,
                                                         SeedValue *args,
                                                         guint argc,
                                                         SeedException *exception);
SeedValue           seed_closure_invoke_with_context    (SeedContext ctx,
                                                         GClosure *closure,
                                                         SeedValue *args,
                                                         guint argc,
                                                         SeedException *exception);
void                seed_closure_warn_exception         (GClosure *c,
                                                         SeedContext ctx,
                                                         SeedException exception);

Description

Long description

Details

struct SeedClosure

struct SeedClosure {
  GClosure closure;

  JSObjectRef function;
  JSValueRef user_data;

  GType return_type;
  gchar *description;
};


seed_closure_new ()

GClosure *          seed_closure_new                    (SeedContext ctx,
                                                         SeedObject function,
                                                         SeedObject user_data,
                                                         const gchar *description);

ctx :

function :

user_data :

description :

Returns :


seed_closure_get_callable ()

SeedObject          seed_closure_get_callable           (GClosure *c);

c :

Returns :


seed_closure_invoke ()

SeedValue           seed_closure_invoke                 (GClosure *closure,
                                                         SeedValue *args,
                                                         guint argc,
                                                         SeedException *exception);

closure :

args :

argc :

exception :

Returns :


seed_closure_invoke_with_context ()

SeedValue           seed_closure_invoke_with_context    (SeedContext ctx,
                                                         GClosure *closure,
                                                         SeedValue *args,
                                                         guint argc,
                                                         SeedException *exception);

ctx :

closure :

args :

argc :

exception :

Returns :


seed_closure_warn_exception ()

void                seed_closure_warn_exception         (GClosure *c,
                                                         SeedContext ctx,
                                                         SeedException exception);

c :

ctx :

exception :

seed-3.0.0/doc/reference/html/seed-Modules.html0000644000175000017500000002773211545510403016247 00000000000000 Seed Modules

Seed Modules

Seed Modules — Native C modules for Seed

Synopsis

#include <seed/seed.h>

#define             CHECK_ARG_COUNT                     (name,
                                                         argnum)
#define             DEFINE_ENUM_MEMBER                  (holder,
                                                         member)
#define             DEFINE_ENUM_MEMBER_EXT              (holder,
                                                         name,
                                                         val)
SeedObject          (*SeedModuleInitCallback)           (SeedEngine *eng);

Description

Seed includes a simple system for creating C modules which can be loaded and manipulated from JavaScript. This is used for implementing performance-critical code closer to the silicon, as well as binding non-introspectable libraries in an attractive way.

Numerous binding modules are included in the Seed repository; when writing a new native module, it would be wise to look over these before beginning, as they have many tidbits of useful knowledge for writing modules.

Example 11. Very simple example C module

#include <glib.h>
#include <seed-module.h>
SeedObject seed_module_init(SeedEngine * eng)
{
    /* Say hello! */
    g_print("Hello, Seed Module World!\n");
 
    /* Return an empty object as the module's namespace */
    return seed_make_object (eng->context, NULL, NULL);
}

Above is a C module which does absolutely nothing useful. When a module is loaded, seed_module_init() is called, which should have the signature of SeedModuleInitCallback(). You're passed the global SeedEngine, and the value you return is the namespace for your module. Say, for example, you place a static function on that object:

Example 12. C module with a function

#include <glib.h>
#include <seed-module.h>
/* Our function, with the signature of SeedFunctionCallback(); say hello! */
SeedValue say_hello_to(SeedContext ctx,
                       SeedObject function,
                       SeedObject this_object,
                       gsize argument_count,
                       const SeedValue arguments[],
                       SeedException *exception)
{
    guchar * name;
 
    /* Check that only one argument was passed into the function.
       CHECK_ARG_COUNT() is from seed-module.h, which you might find useful. */
    CHECK_ARG_COUNT("hello.say_hello_to", 1);
 
    /* Convert the first argument, a SeedValue, to a C string */
    name = seed_value_to_string(ctx, arguments[0], exception);
 
    g_print("Hello, %s!\n", name);
 
    g_free(name);
 
    return seed_make_null(ctx);
}
 
/* Define an array of seed_static_function */
seed_static_function gettext_funcs[] = {
    {"say_hello_to", say_hello_to, 0}
};
 
SeedObject seed_module_init(SeedEngine * eng)
{
    SeedGlobalContext ctx = eng->context;
 
    /* Create a new class definition with our array of static functions */
    seed_class_definition ns_class_def = seed_empty_class;
    ns_class_def.static_functions = example_funcs;
 
    /* Create a class from the class definition we just created */
    SeedClass ns_class = seed_create_class(&ns_class_def);
 
    /* Instantiate the class; this instance will be the namespace we return */
    ns_ref = seed_make_object (ctx, ns_class, NULL);
    seed_value_protect (ctx, ns_ref);
 
    return ns_ref;
}

After building and installing this module (look in the Seed build system for examples of how to get this to work, as well as a copy of seed-module.h, which will be very useful), it will be loadable with the normal Seed import system. Assuming it's installed as libseed_hello.so:

Example 13. Utilize our second example C module from JavaScript

hello = imports.hello;
hello.say_hello_to("Tim");

Details

CHECK_ARG_COUNT()

#define             CHECK_ARG_COUNT(name, argnum)

Check that the required number of arguments were passed into a SeedFunctionCallback. If this is not true, raise an exception and return NULL. This requires the callback to use "argument_count", "ctx", and "exception" as the names of the various function arguments.

name should be of form "namespace.function_name"

At the moment, there is no way to specify more than one acceptable argument count.

name :

The name of the function being called from, pretty-printed

argnum :

The number of arguments which should be passed into the function

DEFINE_ENUM_MEMBER()

#define             DEFINE_ENUM_MEMBER(holder, member)

Defines a property on holder which is named the same as member, and is assigned the value that member has in C.

This macro works for defining properties from constants and #defines as well.

holder :

The object on which to define the enum member

member :

The enum member, as it is named in C

DEFINE_ENUM_MEMBER_EXT()

#define             DEFINE_ENUM_MEMBER_EXT(holder, name, val)

Defines a property on holder which is named name, and is assigned the value that member has in C. This allows for an override of the enum member's name, most often to remove a common prefix. For example, to declare a property named VERSION_MAJOR on the namespace from mfpr's version constant MPFR_VERSION_MAJOR:

DEFINE_ENUM_MEMBER_EXT(ns, "VERSION_MAJOR", MPFR_VERSION_MAJOR);

holder :

The object on which to define the enum member

name :

The enum member, as it should be named in JavaScript

val :

The enum member, as it is named in C

SeedModuleInitCallback ()

SeedObject          (*SeedModuleInitCallback)           (SeedEngine *eng);

eng :

Returns :

seed-3.0.0/doc/reference/html/seed.devhelp0000644000175000017500000004032011545510403015310 00000000000000 seed-3.0.0/doc/reference/html/seed-introduction.html0000644000175000017500000000454311545510403017353 00000000000000 Introduction

Introduction

Introduction — What Seed is all about

Seed is a library and interpreter, dynamically bridging (through gobject-introspection) the WebKit JavaScriptCore engine with the GObject type system. In a more concrete sense, Seed enables you to immediately write applications around a significant portion of the GNOME platform, and easily embed JavaScript as a scripting language in your GObject library. Seed is built around the idea of "minimal-platform", in that it seems a theoretically ideal GNOME development language provides no platform of its own, but instead seamlessly integrates with the already quite large GNOME platform.

seed-3.0.0/doc/reference/html/seed-Exceptions.html0000644000175000017500000005215511545510403016755 00000000000000 Exception Handling

Exception Handling

Exception Handling — Throwing and catching exceptions

Synopsis

#include <seed/seed.h>

typedef             SeedException;
void                seed_make_exception                 (SeedContext ctx,
                                                         SeedException exception,
                                                         const gchar *name,
                                                         const gchar *message,
                                                         ...);
gchar *             seed_exception_get_name             (SeedContext ctx,
                                                         SeedException exception);
gchar *             seed_exception_get_message          (SeedContext ctx,
                                                         SeedException exception);
guint               seed_exception_get_line             (SeedContext ctx,
                                                         SeedException exception);
gchar *             seed_exception_get_file             (SeedContext ctx,
                                                         SeedException exception);
gchar *             seed_exception_to_string            (SeedContext ctx,
                                                         SeedException exception);

Description

Seed uses exceptions as a method of handling runtime errors within scripts. An exception consists of a name (a list of commonly-used exception names is below), a message, detailing the error, and the line number and filename from which the exception was raised. If Seed cannot determine from where the exception was raised, the line number and filename will be undefined. seed_exception_to_string() provides a simple way to convert all of these into a consistent representation to display to users.

All Seed callbacks take an exception argument; calling seed_make_exception() with this argument and the details you wish to fill it with will propogate that exception up the chain. Exceptions can be caught either by a try/catch block in the calling JavaScript, or by observing the exception property, dealing with it, and then clearing the exception. It is important to note that calling seed_make_exception() does not in fact throw the exception, but just creates an object which, when stored in the exception pointer passed to a callback, causes JSC to throw an exception once flow is returned.

Example 9. Throw an exception, because random_callback was called with the wrong number of arguments

SeedValue random_callback(SeedContext ctx,
                          SeedObject function,
                          SeedObject this_object,
                          gsize argument_count,
                          const SeedValue arguments[],
                          SeedException *exception)
{
    ...
 
    if(argument_count != 1)
    {
        seed_make_exception(ctx, exception, "ArgumentError",
                            "wrong number of arguments; expected 1, got %Zd",
                            argument_count);
        return seed_make_undefined(ctx);
    }
 
    ...
}

Predefined Exception Names

  • InvalidPropertyValue - a property was set to a value out of range
  • PropertyError - a warning occurred in GLib while trying to set a property
  • ArgumentError - a function was called with the wrong number of arguments
  • ConversionError - one of the type conversion functions threw an exception
  • TypeError - a required argument was of the wrong type
  • SyntaxError - a syntax error was thrown from JavaScriptCore
  • ParseError - a parsing error was thrown from JavaScriptCore (make sure you close all of your brackets!)
  • ReferenceError - a reference error was thrown from JavaScriptCore (most likely, you tried to access a variable which was undefined)

Details

SeedException

typedef gpointer SeedException;


seed_make_exception ()

void                seed_make_exception                 (SeedContext ctx,
                                                         SeedException exception,
                                                         const gchar *name,
                                                         const gchar *message,
                                                         ...);

Creates a new JavaScript exception with the given attributes.

The line number and file name of the exception created will be undefined.

ctx :

A SeedContext.

exception :

A reference to a SeedException in which to store the exception.

name :

The gchar* representing the exception name.

message :

The gchar*, as a printf format string, representing the details of the exception.

... :

A list of printf-style format arguments to substitute in message.

seed_exception_get_name ()

gchar *             seed_exception_get_name             (SeedContext ctx,
                                                         SeedException exception);

Retrieves the name of the given exception; this could be one of the predefined exception names given above, or your own name, which should be a single CamelCase word, preferably ending in something like "Error".

ctx :

A SeedContext.

exception :

A reference to a SeedException.

Returns :

A gchar* representing the name of exception.

seed_exception_get_message ()

gchar *             seed_exception_get_message          (SeedContext ctx,
                                                         SeedException exception);

Retrieves the message of the given exception; this should be a human-readable string describing the exception enough that a developer could utilize the message in order to determine where to look to debug the problem.

ctx :

A SeedContext.

exception :

A reference to a SeedException.

Returns :

A gchar* representing the detailed message of exception.

seed_exception_get_line ()

guint               seed_exception_get_line             (SeedContext ctx,
                                                         SeedException exception);

Retrieves the line number the given exception was thrown from; keep in mind that exceptions created from C have an undefined line number.

ctx :

A SeedContext.

exception :

A reference to a SeedException.

Returns :

A guint representing the line number from which exception was thrown.

seed_exception_get_file ()

gchar *             seed_exception_get_file             (SeedContext ctx,
                                                         SeedException exception);

Retrieves the file name the given exception was thrown from; keep in mind that exceptions created from C have an undefined file name.

ctx :

A SeedContext.

exception :

A reference to a SeedException.

Returns :

A gchar* representing the name of the file from which exception was thrown.

seed_exception_to_string ()

gchar *             seed_exception_to_string            (SeedContext ctx,
                                                         SeedException exception);

Properly formats the name, detailed message, line number, and file name of the given extension. This provides a consistent format for printed exceptions, to reduce confusion. Please use it if you're exposing exception data to the outside world.

ctx :

A SeedContext.

exception :

A reference to a SeedException.

Returns :

A gchar* representing the exception.
seed-3.0.0/doc/reference/html/GtkBuilder-module.html0000644000175000017500000001151211545510403017225 00000000000000 GtkBuilder

GtkBuilder

Robert Carr

API Reference

The GtkBuilder extends Gtk.GtkBuilder.prototype to implement a custom automatic signal connection function, which is useful in Seed. It does not provide any methods or types, so there is no need to save it's namespace, as of such it can be imported as follows.

	imports.gtkbuilder;
      

builder.connect_signals (object, user_data)

Connects the signals present in the GtkBuilder to the functions present in object. That is to say, a signal with handler name, 'ok_button_clicked' will be connected to the 'ok_button_clicked' property of object.

object

undefined

user_data

undefined

Examples

Below are several examples of using the Seed GtkBuilder module. For additional resources, consult the examples/ folder of the Seed source

Example 16. 

<interface>
  <object class="GtkDialog" id="dialog1">
    <child internal-child="vbox">
      <object class="GtkVBox" id="vbox1">
        <property name="border-width">10</property>
        <child internal-child="action_area">
          <object class="GtkHButtonBox" id="hbuttonbox1">
            <property name="border-width">20</property>
            <child>
              <object class="GtkButton" id="ok_button">
                <property name="label">gtk-ok</property>
                <property name="use-stock">TRUE</property>
                <signal name="clicked" handler="ok_button_clicked"/>
              </object>
            </child>
          </object>
        </child>
      </object>
    </child>
  </object>
</interface>
#!/usr/local/bin/seed
Gtk = imports.gi.Gtk;
GtkBuilder = imports.gtkbuilder;

handlers = {
    ok_button_clicked: function(button){
	Seed.quit();
    }
};

Gtk.init(Seed.argv);

b = new Gtk.Builder();
b.add_from_file("test.ui");
b.connect_signals(handlers);

d = b.get_object("dialog1");

d.show_all();

Gtk.main();

seed-3.0.0/doc/reference/html/seed-JavaScript-Classes.html0000644000175000017500000002216011545510403020266 00000000000000 Creating JavaScript classes

Creating JavaScript classes

Creating JavaScript classes — Dealing with Seed class definitions and constructors

Synopsis

#include <seed/seed.h>

enum                SeedPropertyAttributes;
enum                SeedClassAttributes;
typedef             SeedClass;
#define             seed_empty_class
SeedClass           seed_create_class                   (seed_class_definition *def);
SeedObject          seed_make_constructor               (SeedContext ctx,
                                                         SeedClass klass,
                                                         SeedObjectCallAsConstructorCallback constructor);

Description

Defining new Seed classes allows for implementing more complex behavior than possible with the traditional JavaScript object system and default class. When writing Seed modules, it is often the best pattern to define many of your types through classes and static functions/value. Please note that inside the finalize callback of a class, it is not legal to call any method requiring a SeedContext (with the exception of protect/unprotect, though it is not guaranteed this will continue to work with future versions of JSCore).

Details

enum SeedPropertyAttributes

typedef enum
{
  SEED_PROPERTY_ATTRIBUTE_NONE = 0,
  SEED_PROPERTY_ATTRIBUTE_READ_ONLY = 1 << 1,
  SEED_PROPERTY_ATTRIBUTE_DONT_ENUM = 1 << 2,
  SEED_PROPERTY_ATTRIBUTE_DONT_DELETE = 1 << 3
} SeedPropertyAttributes;


enum SeedClassAttributes

typedef enum
{
  SEED_CLASS_ATTRIBUTE_NONE = 0,
  SEED_CLASS_ATTRIBUTE_NO_SHARED_PROTOTYPE = 1 << 1
} SeedClassAttributes;


SeedClass

typedef gpointer SeedClass;


seed_empty_class

#define seed_empty_class { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};


seed_create_class ()

SeedClass           seed_create_class                   (seed_class_definition *def);

def :

A JSClassDefinition.

Returns :

A SeedClass, described by def.

seed_make_constructor ()

SeedObject          seed_make_constructor               (SeedContext ctx,
                                                         SeedClass klass,
                                                         SeedObjectCallAsConstructorCallback constructor);

ctx :

A SeedContext.

klass :

constructor :

The JSObjectCallAsConstructorCallback function to call when the constructor is invoked with 'new'.

Returns :

A SeedObject, which is a constructor function.
seed-3.0.0/doc/reference/html/index.html0000644000175000017500000001201411545510403015013 00000000000000 Seed Reference Manual

Documentation for Seed 3.0.0 . The latest version of this documentation can be found on-line at http://library.gnome.org/devel/seed/unstable/.


I. Seed Overview
Introduction — What Seed is all about
Compiling Seed — How to compile Seed itself
Contact Information — Where to find help, ask questions, or bring patches
II. Seed JavaScript Reference
Importer — Importing gobject-introspection namespaces, native modules, and JavaScript modules
III. Seed API Reference
Initialization — Overall setup of the Seed engine
Working with Contexts — Self-contained JavaScript execution environments
Evaluating JavaScript — Creating and interpreting scripts
Exception Handling — Throwing and catching exceptions
GObject Signals — Connecting JavaScript functions to signals
Values and Type Conversion
Type Conversion — Moving between JavaScript and C intrinsic types
Operating on JavaScript types — Determining the type of a SeedValue
Working with JavaScript objects — Using properties, constructing objects, etc.
Creating native functions — C functions as first-class JavaScript objects
Creating JavaScript classes — Dealing with Seed class definitions and constructors
Using JavaScript closures — Creating and invoking closures over JavaScript functions using GClosure
Seed Modules — Native C modules for Seed
IV. Seed Module Reference
readline
SQLite
GtkBuilder
Sandbox
Index
seed-3.0.0/doc/reference/html/ix01.html0000644000175000017500000004645211545510403014502 00000000000000 Index

Index

C

CHECK_ARG_COUNT, CHECK_ARG_COUNT()
SeedClass, SeedClass
SeedClassAttributes, enum SeedClassAttributes
SeedClosure, struct SeedClosure
seed_closure_get_callable, seed_closure_get_callable ()
seed_closure_invoke, seed_closure_invoke ()
seed_closure_invoke_with_context, seed_closure_invoke_with_context ()
seed_closure_new, seed_closure_new ()
seed_closure_warn_exception, seed_closure_warn_exception ()
SeedContext, SeedContext
SeedContextGroup, SeedContextGroup
seed_context_collect, seed_context_collect ()
seed_context_create, seed_context_create ()
seed_context_get_global_object, seed_context_get_global_object ()
seed_context_ref, seed_context_ref ()
seed_context_unref, seed_context_unref ()
seed_create_class, seed_create_class ()
seed_create_function, seed_create_function ()

D

DEFINE_ENUM_MEMBER, DEFINE_ENUM_MEMBER()
DEFINE_ENUM_MEMBER_EXT, DEFINE_ENUM_MEMBER_EXT()

E

seed_empty_class, seed_empty_class
SeedEngine, struct SeedEngine
seed_engine_get_search_path, seed_engine_get_search_path ()
seed_engine_set_search_path, seed_engine_set_search_path ()
seed_evaluate, seed_evaluate ()
SeedException, SeedException
seed_exception_get_file, seed_exception_get_file ()
seed_exception_get_line, seed_exception_get_line ()
seed_exception_get_message, seed_exception_get_message ()
seed_exception_get_name, seed_exception_get_name ()
seed_exception_to_string, seed_exception_to_string ()

F

SeedFunctionCallback, SeedFunctionCallback ()

G

SeedGlobalContext, SeedGlobalContext

I

seed_importer_add_global, seed_importer_add_global ()
seed_importer_set_search_path, seed_importer_set_search_path ()
seed_init, seed_init ()
seed_init_with_context_group, seed_init_with_context_group ()

M

seed_make_array, seed_make_array ()
seed_make_constructor, seed_make_constructor ()
seed_make_exception, seed_make_exception ()
seed_make_function, seed_make_function ()
seed_make_null, seed_make_null ()
seed_make_object, seed_make_object ()
seed_make_pointer, seed_make_pointer ()
seed_make_script, seed_make_script ()
seed_make_undefined, seed_make_undefined ()
SeedModuleInitCallback, SeedModuleInitCallback ()

O

SeedObject, SeedObject
SeedObjectCallAsConstructorCallback, SeedObjectCallAsConstructorCallback ()
SeedObjectCallAsFunctionCallback, SeedObjectCallAsFunctionCallback ()
SeedObjectConvertToTypeCallback, SeedObjectConvertToTypeCallback ()
SeedObjectDeletePropertyCallback, SeedObjectDeletePropertyCallback ()
SeedObjectFinalizeCallback, SeedObjectFinalizeCallback ()
SeedObjectGetPropertyCallback, SeedObjectGetPropertyCallback ()
SeedObjectGetPropertyNamesCallback, SeedObjectGetPropertyNamesCallback ()
SeedObjectHasInstanceCallback, SeedObjectHasInstanceCallback ()
SeedObjectHasPropertyCallback, SeedObjectHasPropertyCallback ()
SeedObjectInitializeCallback, SeedObjectInitializeCallback ()
SeedObjectSetPropertyCallback, SeedObjectSetPropertyCallback ()
seed_object_call, seed_object_call ()
seed_object_copy_property_names, seed_object_copy_property_names ()
seed_object_get_private, seed_object_get_private ()
seed_object_get_property, seed_object_get_property ()
seed_object_get_property_at_index, seed_object_get_property_at_index ()
seed_object_get_prototype, seed_object_get_prototype ()
seed_object_is_of_class, seed_object_is_of_class ()
seed_object_set_private, seed_object_set_private ()
seed_object_set_property, seed_object_set_property ()
seed_object_set_property_at_index, seed_object_set_property_at_index ()

P

seed_pointer_get_pointer, seed_pointer_get_pointer ()
seed_prepare_global_context, seed_prepare_global_context ()
SeedPropertyAttributes, enum SeedPropertyAttributes

S

SeedScript, SeedScript
seed_script_destroy, seed_script_destroy ()
seed_script_exception, seed_script_exception ()
seed_script_new_from_file, seed_script_new_from_file ()
seed_signal_connect, seed_signal_connect ()
seed_signal_connect_value, seed_signal_connect_value ()
seed_simple_evaluate, seed_simple_evaluate ()
SeedString, SeedString
seed_string_get_maximum_size, seed_string_get_maximum_size ()
seed_string_is_equal, seed_string_is_equal ()
seed_string_is_equal_utf8, seed_string_is_equal_utf8 ()
seed_string_ref, seed_string_ref ()
seed_string_to_utf8_buffer, seed_string_to_utf8_buffer ()
seed_string_unref, seed_string_unref ()

T

SeedType, enum SeedType

V

SeedValue, SeedValue
seed_value_from_binary_string, seed_value_from_binary_string ()
seed_value_from_boolean, seed_value_from_boolean ()
seed_value_from_char, seed_value_from_char ()
seed_value_from_double, seed_value_from_double ()
seed_value_from_filename, seed_value_from_filename ()
seed_value_from_float, seed_value_from_float ()
seed_value_from_int, seed_value_from_int ()
seed_value_from_int64, seed_value_from_int64 ()
seed_value_from_long, seed_value_from_long ()
seed_value_from_object, seed_value_from_object ()
seed_value_from_string, seed_value_from_string ()
seed_value_from_uchar, seed_value_from_uchar ()
seed_value_from_uint, seed_value_from_uint ()
seed_value_from_uint64, seed_value_from_uint64 ()
seed_value_from_ulong, seed_value_from_ulong ()
seed_value_get_type, seed_value_get_type ()
seed_value_is_function, seed_value_is_function ()
seed_value_is_null, seed_value_is_null ()
seed_value_is_number, seed_value_is_number ()
seed_value_is_object, seed_value_is_object ()
seed_value_is_object_of_class, seed_value_is_object_of_class ()
seed_value_is_string, seed_value_is_string ()
seed_value_is_undefined, seed_value_is_undefined ()
seed_value_protect, seed_value_protect ()
seed_value_to_boolean, seed_value_to_boolean ()
seed_value_to_char, seed_value_to_char ()
seed_value_to_double, seed_value_to_double ()
seed_value_to_filename, seed_value_to_filename ()
seed_value_to_float, seed_value_to_float ()
seed_value_to_format, seed_value_to_format ()
seed_value_to_int, seed_value_to_int ()
seed_value_to_int64, seed_value_to_int64 ()
seed_value_to_long, seed_value_to_long ()
seed_value_to_object, seed_value_to_object ()
seed_value_to_string, seed_value_to_string ()
seed_value_to_uchar, seed_value_to_uchar ()
seed_value_to_uint, seed_value_to_uint ()
seed_value_to_uint64, seed_value_to_uint64 ()
seed_value_to_ulong, seed_value_to_ulong ()
seed_value_unprotect, seed_value_unprotect ()
seed-3.0.0/doc/reference/html/seed-Initialization.html0000644000175000017500000003150411545510403017616 00000000000000 Initialization

Initialization

Initialization — Overall setup of the Seed engine

Synopsis

#include <seed/seed.h>

struct              SeedEngine;
SeedEngine *        seed_init                           (gint *argc,
                                                         gchar ***argv);
SeedEngine *        seed_init_with_context_group        (gint *argc,
                                                         gchar ***argv,
                                                         SeedContextGroup group);
void                seed_engine_set_search_path         (SeedEngine *eng,
                                                         const gchar *path);
gchar **            seed_engine_get_search_path         (SeedEngine *eng);

Description

Before any other Seed functions can be used, you must initialize the engine, which creates an initial JavaScript context and sets up JavaScriptCore and GLib. To do this in most cases, you will use seed_init(), which will provide you with a SeedEngine. Only one SeedEngine is permitted per application; use a SeedContext to sandbox code execution.

Example 5. Very simple main function for a Seed program

int main (int argc, char **argv)
{
    SeedEngine * eng;
    SeedScript * script;
 
    /* Initialize the Seed engine */
    eng = seed_init(&argc, &argv);
 
    /* Create a simple SeedScript */
    script = seed_make_script(eng->context, "print('Hello, world!')", NULL, 0);
 
    /* Evaluate the SeedScript in the default context */
    seed_evaluate(eng->context, script, 0);
 
    g_free(script);
    return 0;
}

Details

struct SeedEngine

struct SeedEngine {
	JSGlobalContextRef context;
	JSObjectRef global;
	gchar **search_path;

	JSContextGroupRef group;
};


seed_init ()

SeedEngine *        seed_init                           (gint *argc,
                                                         gchar ***argv);

Initializes a new SeedEngine. This involves initializing GLib, creating an initial context with all of the default globals, and initializing various internal parts of Seed.

This function should only be called once within a single Seed application.

argc :

A reference to the number of arguments remaining to parse.

argv :

A reference to an array of string arguments remaining to parse.

Returns :

The newly created and initialized SeedEngine.

seed_init_with_context_group ()

SeedEngine *        seed_init_with_context_group        (gint *argc,
                                                         gchar ***argv,
                                                         SeedContextGroup group);

Initializes a new SeedEngine. This involves initializing GLib, creating an initial context (in group) with all of the default globals, and initializing various internal parts of Seed.

This function should only be called once within a single Seed application.

argc :

A reference to the number of arguments remaining to parse.

argv :

A reference to an array of string arguments remaining to parse.

group :

A SeedContextGroup within which to create the initial context.

Returns :

The newly created and initialized SeedEngine.

seed_engine_set_search_path ()

void                seed_engine_set_search_path         (SeedEngine *eng,
                                                         const gchar *path);

Sets the search path for the imports system.

eng :

A SeedEngine, on which to set the path.

path :

A const gchar*, a colon separated string containing the path to set

seed_engine_get_search_path ()

gchar **            seed_engine_get_search_path         (SeedEngine *eng);

Retrieves the search path for the imports system. The returned value is owned by the SeedEngine, and shouldn't be freed by the application writer.

eng :

A SeedEngine, to get the currently set search path.

Returns :

A null-terminated array of strings containing the paths.
seed-3.0.0/doc/reference/html/modules.html0000644000175000017500000000400211545510403015352 00000000000000 Part IV. Seed Module Reference

Part IV. Seed Module Reference

Table of Contents

readline
SQLite
GtkBuilder
Sandbox

This is the documentation for the various modules included with Seed.

seed-3.0.0/doc/reference/html/right.png0000644000175000017500000000073011545510403014643 00000000000000PNG  IHDRw=bKGD pHYs  ~tIME2 I%=eIDATx!o@.'**M0$$?1~vIeEuLl&4䝠Bݛ|>$ݶoc readline

readline

Robert Carr

API Reference

The readline module allows for basic usage of the GNU readline library, in Seed. More advanced features may be added a a later time. In order to use the readline module it must be first imported.

	readline = imports.readline;
      

readline.readline (prompt)

Prompts for one line of input on standard input using prompt as the prompt.

prompt

undefined

Returns

A string entered on standard input.


readline.bind (key, function)

Binds key to function causing the function to be invokved whenever key is pressed

key

undefined

function

undefined


readline.done ()

Indicates that readline should finish the current line, and return from readline.readline. Can be used in callbacks to implement features like multiline editing


readline.buffer()

Retrieve the current readline buffer

Returns

The current readline buffer


readline.insert (string)

Inserts string in to the current readline buffer

string

undefined

Examples

Below are several examples of using the Seed readline module. For additional resources, consult the examples/ folder of the Seed source

Example 14. 

This demonstrates a simple REPL using the readline module

readline = imports.readline;
while (1){
  try{
    eval(readline.readline("> "));
  }
  catch(e) {
    print(e.name + " " + e.message);
  }
}
      

seed-3.0.0/doc/reference/html/seed-contact.html0000644000175000017500000000572611545510403016271 00000000000000 Contact Information

Contact Information

Contact Information — Where to find help, ask questions, or bring patches

Authors

Source Repository

The Seed source code is kept in the GNOME-wide version control at git.gnome.org. You can check out the code on your own machine if you have git installed:

git clone git://git.gnome.org/seed

Bugs

Bugs and feature requests can be reported on the seed product in GNOME Bugzilla.

seed-3.0.0/doc/reference/html/types.html0000644000175000017500000000441611545510403015057 00000000000000 Values and Type Conversion

Values and Type Conversion

Type Conversion — Moving between JavaScript and C intrinsic types
Operating on JavaScript types — Determining the type of a SeedValue
Working with JavaScript objects — Using properties, constructing objects, etc.
seed-3.0.0/doc/reference/html/seed.devhelp20000644000175000017500000004442511545510403015404 00000000000000 seed-3.0.0/doc/reference/html/up.png0000644000175000017500000000062611545510403014156 00000000000000PNG  IHDRw=bKGD pHYs  ~tIME2.E#IDATx=J@Fo] !+2[Z<@/9|t$D9nnBjBRIsI:H8UPN1fcsN95M㧖ɵ 束1~pEe$I 7nrDf!;`'ykI䲤sI_]y^^I>O>?YBIENDB`seed-3.0.0/doc/reference/html/index.sgml0000644000175000017500000004531511545510403015023 00000000000000 seed-3.0.0/doc/reference/html/style.css0000644000175000017500000001205611545510403014676 00000000000000.synopsis, .classsynopsis { /* tango:aluminium 1/2 */ background: #eeeeec; border: solid 1px #d3d7cf; padding: 0.5em; } .programlisting { /* tango:sky blue 0/1 */ background: #e6f3ff; border: solid 1px #729fcf; padding: 0.5em; } .variablelist { padding: 4px; margin-left: 3em; } .variablelist td:first-child { vertical-align: top; } @media screen { sup a.footnote { position: relative; top: 0em ! important; } /* this is needed so that the local anchors are displayed below the naviagtion */ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name] { position: relative; padding-top:4.5em; } /* this seems to be a bug in the xsl style sheets when generating indexes */ div.index div.index { top: 0em; } /* make space for the fixed navigation bar and add space at the bottom so that * link targets appear somewhat close to top */ body { padding-top: 3.2em; padding-bottom: 20em; } /* style and size the navigation bar */ table.navigation#top { position: fixed; /* tango:scarlet red 0/1 */ background: #ffe6e6; border: solid 1px #ef2929; margin-top: 0; margin-bottom: 0; top: 0; left: 0; height: 3em; z-index: 10; } .navigation a, .navigation a:visited { /* tango:scarlet red 3 */ color: #a40000; } .navigation a:hover { /* tango:scarlet red 1 */ color: #ef2929; } td.shortcuts { /* tango:scarlet red 1 */ color: #ef2929; font-size: 80%; white-space: nowrap; } } @media print { table.navigation { visibility: collapse; display: none; } div.titlepage table.navigation { visibility: visible; display: table; /* tango:scarlet red 0/1 */ background: #ffe6e6; border: solid 1px #ef2929; margin-top: 0; margin-bottom: 0; top: 0; left: 0; height: 3em; } } .navigation .title { font-size: 200%; } div.gallery-float { float: left; padding: 10px; } div.gallery-float img { border-style: none; } div.gallery-spacer { clear: both; } a, a:visited { text-decoration: none; /* tango:sky blue 2 */ color: #3465a4; } a:hover { text-decoration: underline; /* tango:sky blue 1 */ color: #729fcf; } div.table table { border-collapse: collapse; border-spacing: 0px; /* tango:aluminium 3 */ border: solid 1px #babdb6; } div.table table td, div.table table th { /* tango:aluminium 3 */ border: solid 1px #babdb6; padding: 3px; vertical-align: top; } div.table table th { /* tango:aluminium 2 */ background-color: #d3d7cf; } hr { /* tango:aluminium 3 */ color: #babdb6; background: #babdb6; border: none 0px; height: 1px; clear: both; } .footer { padding-top: 3.5em; /* tango:aluminium 3 */ color: #babdb6; text-align: center; font-size: 80%; } .warning { /* tango:orange 0/1 */ background: #ffeed9; border-color: #ffb04f; } .note { /* tango:chameleon 0/0.5 */ background: #d8ffb2; border-color: #abf562; } .note, .warning { padding: 0.5em; border-width: 1px; border-style: solid; } .note h3, .warning h3 { margin-top: 0.0em } .note p, .warning p { margin-bottom: 0.0em } /* blob links */ h2 .extralinks, h3 .extralinks { float: right; /* tango:aluminium 3 */ color: #babdb6; font-size: 80%; font-weight: normal; } .annotation { /* tango:aluminium 5 */ color: #555753; font-size: 80%; font-weight: normal; } /* code listings */ .listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */ .listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */ .listing_code .programlisting .function { color: #000000; font-weight: bold; } .listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */ .listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */ .listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */ .listing_code .programlisting .normal { color: #000000; } .listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */ .listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */ .listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */ .listing_code .programlisting .type { color: #000000; } .listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */ .listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */ .listing_frame { /* tango:sky blue 1 */ border: solid 1px #729fcf; padding: 0px; } .listing_lines, .listing_code { margin-top: 0px; margin-bottom: 0px; padding: 0.5em; } .listing_lines { /* tango:sky blue 0.5 */ background: #a6c5e3; /* tango:aluminium 6 */ color: #2e3436; } .listing_code { /* tango:sky blue 0 */ background: #e6f3ff; } .listing_code .programlisting { /* override from previous */ border: none 0px; padding: 0px; } .listing_lines pre, .listing_code pre { margin: 0px; } seed-3.0.0/doc/reference/html/seed-Operating-on-Native-Types.html0000644000175000017500000006156611545510403021532 00000000000000 Operating on JavaScript types

Operating on JavaScript types

Operating on JavaScript types — Determining the type of a SeedValue

Synopsis

#include <seed/seed.h>

void                seed_value_unprotect                (SeedContext ctx,
                                                         SeedValue value);
void                seed_value_protect                  (SeedContext ctx,
                                                         SeedValue value);
gboolean            seed_value_is_undefined             (SeedContext ctx,
                                                         SeedValue value);
gboolean            seed_value_is_null                  (SeedContext ctx,
                                                         SeedValue value);
gboolean            seed_value_is_function              (SeedContext ctx,
                                                         SeedObject value);
gboolean            seed_value_is_number                (SeedContext ctx,
                                                         SeedValue value);
gboolean            seed_value_is_string                (SeedContext ctx,
                                                         SeedValue value);
gboolean            seed_value_is_object_of_class       (SeedContext ctx,
                                                         SeedValue value,
                                                         SeedClass klass);
gboolean            seed_value_is_object                (SeedContext ctx,
                                                         SeedValue value);
SeedType            seed_value_get_type                 (SeedContext ctx,
                                                         SeedValue value);

Description

Long description

Details

seed_value_unprotect ()

void                seed_value_unprotect                (SeedContext ctx,
                                                         SeedValue value);

Decrements the "protection count" of value, as explained in seed_value_protect().

ctx :

A SeedContext.

value :

The SeedValue to unprotect.

seed_value_protect ()

void                seed_value_protect                  (SeedContext ctx,
                                                         SeedValue value);

Increments the "protection count" of value, in case you want to store a reference somewhere where the garbage collector won't be able to find it, and don't want it to be collected!

In order for value to be collected afterwards, it will need to be unprotected the same number of times with seed_value_unprotect().

ctx :

A SeedContext.

value :

The SeedValue to protect.

seed_value_is_undefined ()

gboolean            seed_value_is_undefined             (SeedContext ctx,
                                                         SeedValue value);

Determine whether or not value represents the JavaScript undefined value

ctx :

A SeedContext.

value :

A SeedValue.

Returns :

A gboolean (true if value is 'undefined')

seed_value_is_null ()

gboolean            seed_value_is_null                  (SeedContext ctx,
                                                         SeedValue value);

Determine whether or not value represents the JavaScript null value

ctx :

A SeedContext.

value :

A SeedValue.

Returns :

A gboolean (true if value is 'null')

seed_value_is_function ()

gboolean            seed_value_is_function              (SeedContext ctx,
                                                         SeedObject value);

Determine whether or not value is a JavaScript function (and, therefore, an object)

ctx :

A SeedContext.

value :

A SeedValue.

Returns :

A gboolean (true if value is a function)

seed_value_is_number ()

gboolean            seed_value_is_number                (SeedContext ctx,
                                                         SeedValue value);

Determine whether or not value is a JavaScript number

ctx :

A SeedContext.

value :

A SeedValue.

Returns :

A gboolean (true if value is a number)

seed_value_is_string ()

gboolean            seed_value_is_string                (SeedContext ctx,
                                                         SeedValue value);

Determine whether or not value is a JavaScript string

ctx :

A SeedContext.

value :

A SeedValue.

Returns :

A gboolean (true if value is a string)

seed_value_is_object_of_class ()

gboolean            seed_value_is_object_of_class       (SeedContext ctx,
                                                         SeedValue value,
                                                         SeedClass klass);

Determine whether or not value is an object of the specified class

ctx :

A SeedContext.

value :

A SeedValue.

klass :

A SeedClass.

Returns :

A gboolean (true if value is of class klass)

seed_value_is_object ()

gboolean            seed_value_is_object                (SeedContext ctx,
                                                         SeedValue value);

Determine whether or not value is a JavaScript object

ctx :

A SeedContext.

value :

A SeedValue.

Returns :

A gboolean (true if value is an object)

seed_value_get_type ()

SeedType            seed_value_get_type                 (SeedContext ctx,
                                                         SeedValue value);

ctx :

A valid SeedContext

value :

A SeedValue

Returns :

The type of value
seed-3.0.0/doc/reference/html/seed-JS-Objects.html0000644000175000017500000017701011545510403016535 00000000000000 Working with JavaScript objects

Working with JavaScript objects

Working with JavaScript objects — Using properties, constructing objects, etc.

Synopsis

#include <seed/seed.h>

typedef             SeedObject;
SeedObject          seed_make_object                    (SeedContext ctx,
                                                         SeedClass klass,
                                                         gpointer private_object);
SeedObject          seed_make_array                     (SeedContext ctx,
                                                         const SeedValue elements,
                                                         gsize num_elements,
                                                         SeedException *exception);
SeedValue           seed_object_call                    (SeedContext ctx,
                                                         SeedObject object,
                                                         SeedObject this_object,
                                                         gsize argument_count,
                                                         const SeedValue arguments[],
                                                         SeedException *exception);
void                seed_object_set_property_at_index   (SeedContext ctx,
                                                         SeedObject object,
                                                         gint index,
                                                         SeedValue value,
                                                         SeedException *exception);
SeedValue           seed_object_get_property_at_index   (SeedContext ctx,
                                                         SeedObject object,
                                                         gint index,
                                                         SeedException *exception);
gboolean            seed_object_is_of_class             (SeedContext ctx,
                                                         SeedObject obj,
                                                         SeedClass klass);
gpointer            seed_object_get_private             (SeedObject object);
void                seed_object_set_private             (SeedObject object,
                                                         gpointer value);
SeedValue           seed_object_get_property            (SeedContext ctx,
                                                         SeedObject object,
                                                         const gchar *name);
gboolean            seed_object_set_property            (SeedContext ctx,
                                                         SeedObject object,
                                                         const gchar *name,
                                                         SeedValue value);
SeedObject          seed_object_get_prototype           (SeedContext ctx,
                                                         SeedObject obj);
gchar **            seed_object_copy_property_names     (SeedContext ctx,
                                                         SeedObject object);
void                (*SeedObjectInitializeCallback)     (SeedContext ctx,
                                                         SeedObject object);
void                (*SeedObjectFinalizeCallback)       (SeedObject object);
gboolean            (*SeedObjectHasPropertyCallback)    (SeedContext ctx,
                                                         SeedObject object,
                                                         SeedString string);
SeedValue           (*SeedObjectGetPropertyCallback)    (SeedContext ctx,
                                                         SeedObject object,
                                                         SeedString property_name,
                                                         SeedException *e);
gboolean            (*SeedObjectSetPropertyCallback)    (SeedContext ctx,
                                                         SeedObject object,
                                                         SeedString property_name,
                                                         SeedValue value,
                                                         SeedException *e);
gboolean            (*SeedObjectDeletePropertyCallback) (SeedContext ctx,
                                                         SeedObject object,
                                                         SeedString property_name,
                                                         SeedException *e);
void                (*SeedObjectGetPropertyNamesCallback)
                                                        (void);
SeedValue           (*SeedObjectCallAsFunctionCallback) (SeedContext ctx,
                                                         SeedObject function,
                                                         SeedObject this_object,
                                                         gsize argument_count,
                                                         const SeedValue arguments[],
                                                         SeedException *exception);
gboolean            (*SeedObjectHasInstanceCallback)    (SeedContext ctx,
                                                         SeedObject constructor,
                                                         SeedObject instance_p,
                                                         SeedException *exception);
SeedValue           (*SeedObjectConvertToTypeCallback)  (SeedContext ctx,
                                                         SeedObject object,
                                                         SeedType type,
                                                         SeedException *exception);
SeedValue           (*SeedObjectCallAsConstructorCallback)
                                                        (SeedContext ctx,
                                                         SeedObject constructor,
                                                         gsize argument_count,
                                                         const SeedValue arguments[],
                                                         SeedException *exception);

Description

Long description

Details

SeedObject

typedef gpointer SeedObject;


seed_make_object ()

SeedObject          seed_make_object                    (SeedContext ctx,
                                                         SeedClass klass,
                                                         gpointer private_object);

ctx :

The SeedContext in which to create the new object.

klass :

private_object :

Returns :

A new SeedObject.

seed_make_array ()

SeedObject          seed_make_array                     (SeedContext ctx,
                                                         const SeedValue elements,
                                                         gsize num_elements,
                                                         SeedException *exception);

Creates a JavaScript Array object from elements, a C-style array of SeedValues.

ctx :

A valid SeedContext

elements :

An array of SeedValue's with which to populate the array.

num_elements :

The number of values, in elements

exception :

A SeedException in which to store an exception. Pass NULL to ignore exceptions.

Returns :

A new array object, populated with elements.

seed_object_call ()

SeedValue           seed_object_call                    (SeedContext ctx,
                                                         SeedObject object,
                                                         SeedObject this_object,
                                                         gsize argument_count,
                                                         const SeedValue arguments[],
                                                         SeedException *exception);

Calls object as a function.

ctx :

A SeedContext.

object :

A SeedObject to call.

this_object :

argument_count :

The number of arguments in the arguments array.

arguments :

An array (argument_count long) of SeedValues to pass in as the function's arguments.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

Returns :

The SeedValue returned by the called function, or NULL if an exception occurs or the object is not a function.

seed_object_set_property_at_index ()

void                seed_object_set_property_at_index   (SeedContext ctx,
                                                         SeedObject object,
                                                         gint index,
                                                         SeedValue value,
                                                         SeedException *exception);

Sets the property index on object to value.

ctx :

A SeedContext.

object :

A SeedObject on which to set the property.

index :

The index of the property to set.

value :

The SeedValue to use as the property's value.

exception :

A reference to a SeedValue in which to store any exceptions. Pass NULL to ignore exceptions.

seed_object_get_property_at_index ()

SeedValue           seed_object_get_property_at_index   (SeedContext ctx,
                                                         SeedObject object,
                                                         gint index,
                                                         SeedException *exception);

ctx :

object :

index :

exception :

Returns :


seed_object_is_of_class ()

gboolean            seed_object_is_of_class             (SeedContext ctx,
                                                         SeedObject obj,
                                                         SeedClass klass);

ctx :

obj :

klass :

Returns :


seed_object_get_private ()

gpointer            seed_object_get_private             (SeedObject object);

Retrieves the private data of object.

object :

A SeedObject.

Returns :

A pointer to the private data of object.

seed_object_set_private ()

void                seed_object_set_private             (SeedObject object,
                                                         gpointer value);

Sets the private data of object to value.

object :

A SeedObject.

value :

A gpointer to set the private data of object to.

seed_object_get_property ()

SeedValue           seed_object_get_property            (SeedContext ctx,
                                                         SeedObject object,
                                                         const gchar *name);

ctx :

A SeedContext

object :

A SeedObject

name :

The property to get, should be a valid JavaScript identifier

Returns :

The value of the property or NULL

seed_object_set_property ()

gboolean            seed_object_set_property            (SeedContext ctx,
                                                         SeedObject object,
                                                         const gchar *name,
                                                         SeedValue value);

ctx :

A SeedContext

object :

A SeedObject

name :

The property to set, should be a valid JavaScript identifier

value :

The value to set the property to.

Returns :

TRUE on success, FALSE otherwise.

seed_object_get_prototype ()

SeedObject          seed_object_get_prototype           (SeedContext ctx,
                                                         SeedObject obj);

ctx :

A valid SeedContext

obj :

A SeedObject

Returns :

The prototype of obj.

seed_object_copy_property_names ()

gchar **            seed_object_copy_property_names     (SeedContext ctx,
                                                         SeedObject object);

ctx :

A valid SeedContext

object :

An object from which to copy property names.

Returns :

A NULL terminated array containing the property names of object

SeedObjectInitializeCallback ()

void                (*SeedObjectInitializeCallback)     (SeedContext ctx,
                                                         SeedObject object);

ctx :

object :


SeedObjectFinalizeCallback ()

void                (*SeedObjectFinalizeCallback)       (SeedObject object);

object :


SeedObjectHasPropertyCallback ()

gboolean            (*SeedObjectHasPropertyCallback)    (SeedContext ctx,
                                                         SeedObject object,
                                                         SeedString string);

ctx :

object :

string :

Returns :


SeedObjectGetPropertyCallback ()

SeedValue           (*SeedObjectGetPropertyCallback)    (SeedContext ctx,
                                                         SeedObject object,
                                                         SeedString property_name,
                                                         SeedException *e);

ctx :

object :

property_name :

e :

Returns :


SeedObjectSetPropertyCallback ()

gboolean            (*SeedObjectSetPropertyCallback)    (SeedContext ctx,
                                                         SeedObject object,
                                                         SeedString property_name,
                                                         SeedValue value,
                                                         SeedException *e);

ctx :

object :

property_name :

value :

e :

Returns :


SeedObjectDeletePropertyCallback ()

gboolean            (*SeedObjectDeletePropertyCallback) (SeedContext ctx,
                                                         SeedObject object,
                                                         SeedString property_name,
                                                         SeedException *e);

ctx :

object :

property_name :

e :

Returns :


SeedObjectGetPropertyNamesCallback ()

void                (*SeedObjectGetPropertyNamesCallback)
                                                        (void);


SeedObjectCallAsFunctionCallback ()

SeedValue           (*SeedObjectCallAsFunctionCallback) (SeedContext ctx,
                                                         SeedObject function,
                                                         SeedObject this_object,
                                                         gsize argument_count,
                                                         const SeedValue arguments[],
                                                         SeedException *exception);

ctx :

function :

this_object :

argument_count :

arguments :

exception :

Returns :


SeedObjectHasInstanceCallback ()

gboolean            (*SeedObjectHasInstanceCallback)    (SeedContext ctx,
                                                         SeedObject constructor,
                                                         SeedObject instance_p,
                                                         SeedException *exception);

ctx :

constructor :

instance_p :

exception :

Returns :


SeedObjectConvertToTypeCallback ()

SeedValue           (*SeedObjectConvertToTypeCallback)  (SeedContext ctx,
                                                         SeedObject object,
                                                         SeedType type,
                                                         SeedException *exception);

ctx :

object :

type :

exception :

Returns :


SeedObjectCallAsConstructorCallback ()

SeedValue           (*SeedObjectCallAsConstructorCallback)
                                                        (SeedContext ctx,
                                                         SeedObject constructor,
                                                         gsize argument_count,
                                                         const SeedValue arguments[],
                                                         SeedException *exception);

ctx :

constructor :

argument_count :

arguments :

exception :

Returns :

seed-3.0.0/doc/reference/html/seed-importer.html0000644000175000017500000002036411545510403016472 00000000000000 Importer

Importer

Importer — Importing gobject-introspection namespaces, native modules, and JavaScript modules

Overview

The Seed importer provides a way for applications written in JavaScript to reference functions outside of the current file. This is the heart of Seed's ability to work with other parts of the GNOME stack, as well as a way to write reasonably structured and sensible complex applications from JavaScript. The importer allows access to four types of external objects:

  • GObject-Introspection namespaces, which provide access to functiosn and data which were scanned using gobject-introspection from other C libraries; this is how one accesses most of the libraries of the GNOME stack from JavaScript
  • Native modules, which provide a way to load arbitrary shared libraries tailored explicitly to the Seed API, which often offer much higher performance for critical code, or provide an easy way to bind code (by hand) which the introspection scanner cannot parse.
  • JavaScript modules, which provide a way to access (in a namespaced manner) the global object of another script, offering a simple way to modularize code written against Seed.
  • Directories, which simply contain, as properties on the object the importer returns, the contents of the directory. (expand, fix. this is confusing and misplaced)

The global 'imports' object represents the runtime-side portion of the importer; all of your interactions with the importer will take place through this object.

The Imports Search Path

The path which the importer searches for native modules and JavaScript modules is defined by the searchPath property on the 'imports' global. This should be a JavaScript array of strings representing the order and locations to search for these modules; the default set of paths includes various Seed system directories, the directory in which the currently running script is located, and the current directory, in that order. You can change the path at any time; if an invalid value is assigned, the importer will throw an exception the next time something is imported, not when the property is set.

Example 1. Adding a directory to the search path

imports.searchPath.unshift("/usr/local/share/random-seed-program-scripts/");

Importing GObject-Introspection namespaces

GObject-Introspection provides the metadata required in order to call functions, connect to signals, and interact with properties within any library which has been scanned. The hows and whys of introspection are outside of the scope of this article, but how to utilize this data is central to the very tenents of Seed (the minimal platform possible to interact with GObject-based libraries from a pleasant language).

Namespaces are loaded as requested, and are loaded only once throughout the lifetime of a Seed program (subsequent requests for the same namespace will return the same object provided previously). The special property 'gi' on the imports global represents the interface for loading these namespaces. A request to import Gtk might look like the following:

Example 2. Using 'imports.gi' to import the Gtk namespace

Gtk = imports.gi.Gtk;

This will import the Gtk namespace from GObject-Introspection, and assign it to the global "Gtk" object. Afterwards, Gtk-related functions can be accessed as properties of said object. Imports will never add values to the global object or affect anything outside of their namespace.

By default, 'imports.gi.NameSpace' will return the most recent installed version of the imported namespace; in order to request a different version, or to mark your program as requiring a particular version, the "imports.gi.versions.NameSpace" property can be set. Keep in mind that versioning for GObject-Introspection namespaces is slightly different from the actual library version numbers; for example, the version for Gtk is still "2.0", even though we're many versions past that. The import will raise an exception if the requested version could not be loaded:

Example 3. Using 'imports.gi.versions' to require Clutter 0.8

imports.gi.versions.Clutter = "0.8";

try
{
    Clutter = imports.gi.Clutter;
}
catch(e)
{
    print("Clutter 0.8 is not installed!");
}

Importing Native Modules

Seed ships with a number of (link!) native modules, which provide access to various parts of the system which GObject-Introspection cannot provide proper metadata for. An application developer could also decide to write performance-critical parts of their code as a native Seed module, as well, as one of the numerous ways to interface C with Seed.

Native modules are loaded just like GObject-Introspection namespaces, except as toplevel objects on "imports", instead of "imports.gi". For example, to load the readline module that ships with Seed, one could:

Example 4. Loading the native module "readline"

readline = imports.readline;

Seed searches the imports search path for native modules; if it finds a file with the given name, the prefix "seed_" and the same suffix as is used for shared libraries on your system (.so on Linux, .dylib on Mac OS X, etc.), it will assume this is a native module and load and initialize it as such. For example, the readline module loaded above is named seed_readline.so on a recent Linux machine.

seed-3.0.0/doc/reference/html/seed-Evaluation.html0000644000175000017500000004670311545510403016745 00000000000000 Evaluating JavaScript

Evaluating JavaScript

Evaluating JavaScript — Creating and interpreting scripts

Synopsis

#include <seed/seed.h>

                    SeedScript;
SeedScript *        seed_make_script                    (SeedContext ctx,
                                                         const gchar *js,
                                                         const gchar *source_url,
                                                         gint line_number);
SeedValue           seed_evaluate                       (SeedContext ctx,
                                                         SeedScript *s,
                                                         SeedObject this_object);
SeedValue           seed_simple_evaluate                (SeedContext ctx,
                                                         gchar *source,
                                                         SeedException *exception);
SeedScript *        seed_script_new_from_file           (SeedContext ctx,
                                                         gchar *file);
SeedException       seed_script_exception               (SeedScript *s);
void                seed_script_destroy                 (SeedScript *s);

Description

Seed relies on WebKit's JavaScriptCore interpreter to actually evaluate snippets of JavaScript; however, it provides a handful of useful wrapper functions to quickly create and evaluate scripts. seed_make_script() and seed_evaluate() are the workhorse functions; these allow you to control every detail of the created script and its evaluation environment (including customizing the "this" object during evaluation, and setting a starting line number and filename from which the script originates). seed_simple_evaluate() provides an interface to execute a string of JavaScript without previously creating a SeedScript, and, while requiring less supporting code, is less flexible.

Example 7. Create and evaluate a string of JavaScript with seed_make_script()

SeedEngine * eng;
 
...
 
SeedScript * script;
/* Create a simple SeedScript */
script = seed_make_script(eng->context, "print('Hello, world!')", NULL, 0);
 
/* Evaluate the SeedScript in the default context */
seed_evaluate(eng->context, script, 0);
 
...

Example 8. Create and evaluate a string of JavaScript with seed_simple_evaluate()

SeedEngine * eng;
 
...
 
/* Evaluate a simple JavaScript snippet in the default context */
seed_simple_evaluate(eng->context, "print('Hello, world!')", NULL);
 
...

Details

SeedScript

typedef struct {
  JSStringRef script;
  JSValueRef exception;

  JSStringRef source_url;
  gint line_number;
} SeedScript;


seed_make_script ()

SeedScript *        seed_make_script                    (SeedContext ctx,
                                                         const gchar *js,
                                                         const gchar *source_url,
                                                         gint line_number);

Creates a new SeedScript instance with js as the contents, then checks for proper syntax.

Note: seed_make_script() does not handle the shebang line, and will return a parse error if one is included in js.

ctx :

A SeedContext.

js :

A string representing the contents of the script.

source_url :

The filename of the script, for reference in errors, or NULL.

line_number :

The line number of the beginning of the script, for reference in error messages, or NULL.

Returns :

The newly created SeedScript.

seed_evaluate ()

SeedValue           seed_evaluate                       (SeedContext ctx,
                                                         SeedScript *s,
                                                         SeedObject this_object);

Evaluates a SeedScript with this as the global "this" object.

ctx :

A SeedContext.

s :

A SeedScript to evaluate.

this_object :

Returns :

The SeedValue returned by evaluating the script.

seed_simple_evaluate ()

SeedValue           seed_simple_evaluate                (SeedContext ctx,
                                                         gchar *source,
                                                         SeedException *exception);

Evaluates a string of JavaScript in ctx; if an exception is raised in the context of the script, it will be placed in exception.

ctx :

A SeedContext.

source :

A string representing the JavaScript to evaluate.

exception :

A SeedException pointer to store an exception in.

Returns :

The SeedValue returned by evaluating the script.

seed_script_new_from_file ()

SeedScript *        seed_script_new_from_file           (SeedContext ctx,
                                                         gchar *file);

Uses seed_make_script() to create a SeedScript from the contents of file.

ctx :

A SeedContext.

file :

The filename of the script to load.

Returns :

The newly created SeedScript.

seed_script_exception ()

SeedException       seed_script_exception               (SeedScript *s);

Retrieves the exception (if any) raised during the evaluation of s.

s :

A SeedScript.

Returns :

A SeedException representing the exception of s.

seed_script_destroy ()

void                seed_script_destroy                 (SeedScript *s);

s :

seed-3.0.0/doc/reference/html/seed-Contexts.html0000644000175000017500000004207711545510403016445 00000000000000 Working with Contexts

Working with Contexts

Working with Contexts — Self-contained JavaScript execution environments

Description

A SeedContext provides a complete "universe" for the execution of JavaScript. You can use seed_context_create() to create a sandboxed context that lacks the import system, so it can be used to execute somewhat untrusted JavaScript (as it has no way to access the rest of your system). You can also expose the default set of globals (including "print", "imports", and "Seed") to create more powerful but still self-contained environments within which to execute code.

Example 6. Using a Seed context as a form of sandboxing

...
ctx = seed_context_create(NULL, NULL);
script = seed_make_script(ctx, "print(imports)", NULL, 0);
// nothing is printed, because imports is undefined, because we're in a sandbox
...

The sandbox module provides access to this system from the JavaScript side of Seed.

Details

SeedContext

typedef gpointer SeedContext;


SeedGlobalContext

typedef gpointer SeedGlobalContext;


SeedContextGroup

typedef gpointer SeedContextGroup;


seed_context_create ()

SeedGlobalContext   seed_context_create                 (SeedContextGroup group,
                                                         SeedClass global_class);

Create a new SeedContext. By default, this creates a new context which has no global objects; you can add the default set using seed_prepare_global_context().

group :

A SeedContextGroup in which to create the new context, or NULL to create it in the default context group.

global_class :

The SeedClass to use to create the global object, or NULL to create it with the default class.

Returns :

A new SeedContext.

seed_context_ref ()

SeedGlobalContext   seed_context_ref                    (SeedGlobalContext ctx);

Increments the reference count of ctx.

ctx :

A SeedContext.

Returns :

ctx

seed_context_unref ()

void                seed_context_unref                  (SeedGlobalContext ctx);

Decrements the reference count of ctx.

ctx :

A SeedContext.

seed_context_collect ()

void                seed_context_collect                (SeedGlobalContext ctx);

Instructs JavaScriptCore to make a garbage collection pass. The context parameter is currently unused, and a pass is made through all contexts.

ctx :

A SeedContext.

seed_context_get_global_object ()

SeedObject          seed_context_get_global_object      (SeedContext ctx);

ctx :

A valid SeedContext

Returns :

The global object for ctx.

seed_prepare_global_context ()

void                seed_prepare_global_context         (SeedContext ctx);

Adds the default set of global objects (imports, GType, Seed, and print) to a fresh SeedContext.

ctx :

A SeedContext on which to add the default set of global objects.

seed_importer_add_global ()

void                seed_importer_add_global            (SeedContext ctx,
                                                         gchar *name);

ctx :

name :


seed_importer_set_search_path ()

void                seed_importer_set_search_path       (SeedContext ctx,
                                                         gchar **search_path);

ctx :

search_path :

seed-3.0.0/doc/reference/html/Sandbox-module.html0000644000175000017500000001107311545510403016571 00000000000000 Sandbox

Sandbox

Robert Carr

API Reference

The sandbox module allows the creation of isolated JSCore contexts with individual global objects. It is useful as a literal "sandbox" or in a variety of other contexts.

	sandbox = imports.sandbox;
      

new sandbox.Context()

Creates a new sandbox context object, which wraps a Seed JavaScript context with it's own global object. By default this global object contains only default JSCore globals (Array, Object, etc...) and has no ability to interact with the outside system. Note the context must be manually destroyed with the destroy method.


context.eval(source)

Evaluates a string source with context, returns the result.

source

undefined


context.add_globals()

Adds the default Seed globals to the context, including the 'Seed' global object, and the imports object.


context.destroy()

Destroys the internal context object, and any further usage of the wrapper is an exception


context.global

A project, representing the literal global object of the context, may be freely read from and assigned to

Examples

Below are several examples of using the Seed Sandbox module. For additional resources, consult the examples/ folder of the Seed source

Example 17. 

sandbox = imports.sandbox;

ctx = new sandbox.Context();
ctx.eval("b = 2+2");
print(ctx.global.b); //4
ctx.global.b = new Gtk.Window(); // Possible to expose objects to the context.
ctx.eval("b.show()");
      

seed-3.0.0/doc/reference/imports.sgml0000644000175000017500000001460211531036061014436 00000000000000 Importer 3 SEED Library Importer Importing gobject-introspection namespaces, native modules, and JavaScript modules Overview The Seed importer provides a way for applications written in JavaScript to reference functions outside of the current file. This is the heart of Seed's ability to work with other parts of the GNOME stack, as well as a way to write reasonably structured and sensible complex applications from JavaScript. The importer allows access to four types of external objects: GObject-Introspection namespaces, which provide access to functiosn and data which were scanned using gobject-introspection from other C libraries; this is how one accesses most of the libraries of the GNOME stack from JavaScript Native modules, which provide a way to load arbitrary shared libraries tailored explicitly to the Seed API, which often offer much higher performance for critical code, or provide an easy way to bind code (by hand) which the introspection scanner cannot parse. JavaScript modules, which provide a way to access (in a namespaced manner) the global object of another script, offering a simple way to modularize code written against Seed. Directories, which simply contain, as properties on the object the importer returns, the contents of the directory. (expand, fix. this is confusing and misplaced) The global 'imports' object represents the runtime-side portion of the importer; all of your interactions with the importer will take place through this object. The Imports Search Path The path which the importer searches for native modules and JavaScript modules is defined by the searchPath property on the 'imports' global. This should be a JavaScript array of strings representing the order and locations to search for these modules; the default set of paths includes various Seed system directories, the directory in which the currently running script is located, and the current directory, in that order. You can change the path at any time; if an invalid value is assigned, the importer will throw an exception the next time something is imported, not when the property is set. Adding a directory to the search path imports.searchPath.unshift("/usr/local/share/random-seed-program-scripts/"); Importing GObject-Introspection namespaces GObject-Introspection provides the metadata required in order to call functions, connect to signals, and interact with properties within any library which has been scanned. The hows and whys of introspection are outside of the scope of this article, but how to utilize this data is central to the very tenents of Seed (the minimal platform possible to interact with GObject-based libraries from a pleasant language). Namespaces are loaded as requested, and are loaded only once throughout the lifetime of a Seed program (subsequent requests for the same namespace will return the same object provided previously). The special property 'gi' on the imports global represents the interface for loading these namespaces. A request to import Gtk might look like the following: Using 'imports.gi' to import the Gtk namespace Gtk = imports.gi.Gtk; This will import the Gtk namespace from GObject-Introspection, and assign it to the global "Gtk" object. Afterwards, Gtk-related functions can be accessed as properties of said object. Imports will never add values to the global object or affect anything outside of their namespace. By default, 'imports.gi.NameSpace' will return the most recent installed version of the imported namespace; in order to request a different version, or to mark your program as requiring a particular version, the "imports.gi.versions.NameSpace" property can be set. Keep in mind that versioning for GObject-Introspection namespaces is slightly different from the actual library version numbers; for example, the version for Gtk is still "2.0", even though we're many versions past that. The import will raise an exception if the requested version could not be loaded: Using 'imports.gi.versions' to require Clutter 0.8 imports.gi.versions.Clutter = "0.8"; try { Clutter = imports.gi.Clutter; } catch(e) { print("Clutter 0.8 is not installed!"); } Importing Native Modules Seed ships with a number of (link!) native modules, which provide access to various parts of the system which GObject-Introspection cannot provide proper metadata for. An application developer could also decide to write performance-critical parts of their code as a native Seed module, as well, as one of the numerous ways to interface C with Seed. Native modules are loaded just like GObject-Introspection namespaces, except as toplevel objects on "imports", instead of "imports.gi". For example, to load the readline module that ships with Seed, one could: Loading the native module "readline" readline = imports.readline; Seed searches the imports search path for native modules; if it finds a file with the given name, the prefix "seed_" and the same suffix as is used for shared libraries on your system (.so on Linux, .dylib on Mac OS X, etc.), it will assume this is a native module and load and initialize it as such. For example, the readline module loaded above is named seed_readline.so on a recent Linux machine. seed-3.0.0/doc/reference/building.sgml0000644000175000017500000002761711531036061014550 00000000000000 Compiling Seed 3 SEED Library Compiling Seed How to compile Seed itself Building the Library on UNIX On UNIX, Seed uses the standard GNU build system, using autoconf for package configuration and resolving portability issues, automake for building makefiles that comply with the GNU Coding Standards, and libtool for building shared libraries on multiple platforms. The normal sequence for compiling and installing Seed is thus: ./configure make make install The standard options provided by GNU autoconf may be passed to the configure script. Please see the autoconf documentation or run ./configure --help for information about the standard options. Dependencies Before you can compile Seed, you need to have various external libraries installed on your system. The gobject-introspection library is necessary to build Seed. It provides the bridge between Seed and many GObject-based libraries. WebKit provides the JavaScriptCore interpreter, which is fundamental to Seed's ability to execute JavaScript. Seed requires a WebKit SVN revision newer than 35442. Keep in mind that some builds between this and HEAD still won't work with Seed, and performance has only improved, so try to keep an up-to-date version of WebKit if you're planning on working with Seed. readline is used by the Seed REPL in order to communicate with the user. libffi provides Seed with an interface to call into C libraries at runtime. gnome-js-common includes a battery of tests against both Seed and GJS, and also provides numerous libraries of JavaScript functions, including JSON manipulation and various language extensions. Module Dependencies Seed ships with a number of native modules which provide access to libraries which help with development but are not able to be introspected. Some of these modules depend on external libraries, and Seed's configuration will fail if they are not installed; if you wish to build Seed without a module for which you do not have the underlying library installed, check the Extra Configuration Options section of this document. Cairo provides access to fast 2D graphics and numerous different types of output, including drawing to the screen, to an image, to a PDF, etc. DBus enables Seed to manipulate the various message busses, and provides communication between applications. gettext is a common library used for internationalization support. libxml2 provides a powerful XML parsing interface. mpfr provides multiple-precision arithmetic. sqlite3 provides straightforward read-write access to on-disk SQL databases. Optional Dependencies Seed's library of examples utilizes many other GObject projects which Seed does not strictly depend on, and will not be enumerated here. Introspection data for these projects may either be found within the projects themselves, or in the gir-repository. Extra Configuration Options In addition to the normal options, the configure script in the Seed library supports these additional arguments: <systemitem>--disable-canvas-module</systemitem> and <systemitem>--enable-canvas-module</systemitem> By default, and with --enable-canvas-module as well, Seed attempts to build the Canvas native module. <systemitem>--disable-readline-module</systemitem> and <systemitem>--enable-readline-module</systemitem> By default, and with --enable-readline-module as well, Seed attempts to build the readline native module. <systemitem>--disable-multiprocessing-module</systemitem> and <systemitem>--enable-multiprocessing-module</systemitem> By default, and with --enable-multiprocessing-module as well, Seed attempts to build the multiprocessing native module. <systemitem>--disable-sqlite-module</systemitem> and <systemitem>--enable-sqlite-module</systemitem> By default, and with --enable-sqlite-module as well, Seed attempts to build the SQLite native module. <systemitem>--disable-example-module</systemitem> and <systemitem>--enable-example-module</systemitem> By default, and with --enable-example-module as well, Seed attempts to build the example native module. <systemitem>--disable-dbus-module</systemitem> and <systemitem>--enable-dbus-module</systemitem> By default, and with --enable-dbus-module as well, Seed attempts to build the DBus native module. <systemitem>--disable-os-module</systemitem> and <systemitem>--enable-os-module</systemitem> By default, and with --enable-os-module as well, Seed attempts to build the os native module. <systemitem>--disable-libxml-module</systemitem> and <systemitem>--enable-libxml-module</systemitem> By default, and with --enable-libxml-module as well, Seed attempts to build the libxml2 native module. <systemitem>--disable-gtkbuilder-module</systemitem> and <systemitem>--enable-gtkbuilder-module</systemitem> By default, and with --enable-gtkbuilder-module as well, Seed attempts to build the GtkBuilder native module. <systemitem>--disable-cairo-module</systemitem> and <systemitem>--enable-cairo-module</systemitem> By default, and with --enable-cairo-module as well, Seed attempts to build the Cairo native module. <systemitem>--disable-gettext-module</systemitem> and <systemitem>--enable-gettext-module</systemitem> By default, and with --enable-gettext-module as well, Seed attempts to build the gettext native module. <systemitem>--disable-mpfr-module</systemitem> and <systemitem>--enable-mpfr-module</systemitem> By default, and with --enable-mpfr-module as well, Seed attempts to build the mpfr native module. <systemitem>--disable-turtle-example</systemitem> and <systemitem>--enable-turtle-example</systemitem> By default, and with --enable-turtle-example as well, Seed attempts to build the Turtle example. <systemitem>--disable-examples</systemitem> and <systemitem>--enable-examples</systemitem> By default, and with --enable-examples as well, a library of JavaScript examples are installed alongside Seed. <systemitem>--disable-profile</systemitem> and <systemitem>--enable-profile</systemitem> With --enable-profile, Seed is built with profiling and coverage instructions. One can use make profile or make profile-gui to profile the library. <systemitem>--disable-profile-modules</systemitem> and <systemitem>--enable-profile-modules</systemitem> With --enable-profile-modules, all Seed modules are built with profiling and coverage instructions. One can use make profile or make profile-gui to profile the modules. <systemitem>--disable-debug</systemitem> and <systemitem>--enable-debug</systemitem> With --enable-debug, Seed is built without optimizations and with extra debugging information included, and extra debug arguments to the seed interpreter are enabled; you can learn about these by calling seed --help. <systemitem>--disable-shave</systemitem> and <systemitem>--enable-shave</systemitem> By default, and with --enable-shave as well, Seed is built with pretty-printed build output. Disable this to see the actual compiler and linker commands being executed. seed-3.0.0/doc/reference/Makefile.in0000644000175000017500000005616311545510313014134 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # -*- mode: makefile -*- #################################### # Everything below here is generic # #################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/version.xml.in $(top_srcdir)/gtk-doc.make subdir = doc/reference ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = version.xml CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CAIRO_MODULE = @BUILD_CAIRO_MODULE@ BUILD_CANVAS_MODULE = @BUILD_CANVAS_MODULE@ BUILD_DBUS_MODULE = @BUILD_DBUS_MODULE@ BUILD_DYNAMICOBJECT_MODULE = @BUILD_DYNAMICOBJECT_MODULE@ BUILD_EXAMPLE_MODULE = @BUILD_EXAMPLE_MODULE@ BUILD_FFI_MODULE = @BUILD_FFI_MODULE@ BUILD_GETTEXT_MODULE = @BUILD_GETTEXT_MODULE@ BUILD_GTKBUILDER_MODULE = @BUILD_GTKBUILDER_MODULE@ BUILD_LIBXML_MODULE = @BUILD_LIBXML_MODULE@ BUILD_MPFR_MODULE = @BUILD_MPFR_MODULE@ BUILD_MULTIPROCESSING_MODULE = @BUILD_MULTIPROCESSING_MODULE@ BUILD_OS_MODULE = @BUILD_OS_MODULE@ BUILD_READLINE_MODULE = @BUILD_READLINE_MODULE@ BUILD_SQLITE_MODULE = @BUILD_SQLITE_MODULE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LDFLAGS = @CAIRO_LDFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUSGLIB_CFLAGS = @DBUSGLIB_CFLAGS@ DBUSGLIB_LDFLAGS = @DBUSGLIB_LDFLAGS@ DBUSGLIB_LIBS = @DBUSGLIB_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ DBUS_LDFLAGS = @DBUS_LDFLAGS@ DBUS_LIBS = @DBUS_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FFI_CFLAGS = @FFI_CFLAGS@ FFI_LDFLAGS = @FFI_LDFLAGS@ FFI_LIBS = @FFI_LIBS@ FGREP = @FGREP@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LDFLAGS = @GDK_LDFLAGS@ GDK_LIBS = @GDK_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_JS_CFLAGS = @GNOME_JS_CFLAGS@ GNOME_JS_DIR = @GNOME_JS_DIR@ GNOME_JS_LIBS = @GNOME_JS_LIBS@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LDFLAGS = @GOBJECT_INTROSPECTION_LDFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_VERSION = @GOBJECT_INTROSPECTION_VERSION@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LDFLAGS = @GTK_LDFLAGS@ GTK_LIBS = @GTK_LIBS@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LDFLAGS = @LIBXML_LDFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SEED_DEBUG_CFLAGS = @SEED_DEBUG_CFLAGS@ SEED_GTK_VERSION = @SEED_GTK_VERSION@ SEED_PROFILE_CFLAGS = @SEED_PROFILE_CFLAGS@ SEED_PROFILE_LIBS = @SEED_PROFILE_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LDFLAGS = @SQLITE_LDFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WEBKIT_CFLAGS = @WEBKIT_CFLAGS@ WEBKIT_LDFLAGS = @WEBKIT_LDFLAGS@ WEBKIT_LIBS = @WEBKIT_LIBS@ WEBKIT_PC = @WEBKIT_PC@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # We require automake 1.6 at least. AUTOMAKE_OPTIONS = 1.6 # This is a blank Makefile.am for using gtk-doc. # Copy this to your project's API docs directory and modify the variables to # suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples # of using the various options. # The name of the module, e.g. 'glib'. DOC_MODULE = seed # The top-level SGML file. You can change this if you want to. DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.sgml # The directory containing the source code. Relative to $(srcdir). # gtk-doc will search all .c & .h files beneath here for inline comments # documenting the functions and macros. # e.g. DOC_SOURCE_DIR=../../../gtk DOC_SOURCE_DIR = ../../libseed # Extra options to pass to gtkdoc-scangobj. Not normally needed. SCANGOBJ_OPTIONS = # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" SCAN_OPTIONS = # Extra options to supply to gtkdoc-mkdb. # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml MKDB_OPTIONS = --sgml-mode --output-format=xml --name-space=seed # Extra options to supply to gtkdoc-mktmpl # e.g. MKTMPL_OPTIONS=--only-section-tmpl MKTMPL_OPTIONS = # Extra options to supply to gtkdoc-fixref. Not normally needed. # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html FIXXREF_OPTIONS = # Used for dependencies. The docs will be rebuilt if any of these change. # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c HFILE_GLOB = $(top_srcdir)/libseed/*.h CFILE_GLOB = $(top_srcdir)/libseed/*.c # Header files to ignore when scanning. # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h IGNORE_HFILES = seed-builtins.h seed-closure.h seed-engine.h seed-exceptions.h seed-gtype.h seed-private.h seed-signals.h seed-structs.h seed-types.h seed-importer.h seed-debug.h seed-path.h # Images to copy into HTML directory. # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png HTML_IMAGES = # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). # e.g. content_files=running.sgml building.sgml changes-2.0.sgml content_files = seed-docs.sgml seed-sections.txt building.sgml introduction.sgml contact.sgml imports.sgml version.xml # SGML files where gtk-doc abbrevations (#GtkWidget) are expanded # These files must be listed here *and* in content_files # e.g. expand_content_files=running.sgml expand_content_files = # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. # Only needed if you are using gtkdoc-scangobj to dynamically query widget # signals and properties. # e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) INCLUDES = GTKDOC_LIBS = @GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) @GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) @GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN = @GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute # We set GPATH here; this gives us semantics for GNU make # which are more like other make's VPATH, when it comes to # whether a source that is a target of one rule is then # searched for in VPATH/GPATH. # GPATH = $(srcdir) TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE) # This includes the standard gtk-doc make rules, copied by gtkdocize. # Other files to distribute # e.g. EXTRA_DIST += version.xml.in EXTRA_DIST = $(content_files) $(HTML_IMAGES) $(DOC_MAIN_SGML_FILE) \ $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt \ version.xml.in DOC_STAMPS = scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ pdf-build.stamp \ $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp \ $(srcdir)/pdf.stamp SCANOBJ_FILES = \ $(DOC_MODULE).args \ $(DOC_MODULE).hierarchy \ $(DOC_MODULE).interfaces \ $(DOC_MODULE).prerequisites \ $(DOC_MODULE).signals REPORT_FILES = \ $(DOC_MODULE)-undocumented.txt \ $(DOC_MODULE)-undeclared.txt \ $(DOC_MODULE)-unused.txt CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) @ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP = @ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp @ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP = @ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/reference/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/reference/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook check-am: all-am check: check-am all-am: Makefile all-local installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: install-am install-strip .PHONY: all all-am all-local check check-am clean clean-generic \ clean-libtool clean-local dist-hook distclean \ distclean-generic distclean-libtool distclean-local distdir \ dvi dvi-am html html-am info info-am install install-am \ install-data install-data-am install-data-local install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic \ maintainer-clean-local mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-local @ENABLE_GTK_DOC_TRUE@all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) @ENABLE_GTK_DOC_FALSE@all-local: docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) $(REPORT_FILES): sgml-build.stamp #### scan #### scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) @echo 'gtk-doc: Scanning header files' @-chmod -R u+w $(srcdir) @_source_dir='' ; for i in $(DOC_SOURCE_DIR) ; do \ _source_dir="$${_source_dir} --source-dir=$$i" ; \ done ; \ cd $(srcdir) && \ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) @if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ else \ cd $(srcdir) ; \ for i in $(SCANOBJ_FILES) ; do \ test -f $$i || touch $$i ; \ done \ fi @touch scan-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp @true #### templates #### tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt @echo 'gtk-doc: Rebuilding template files' @-chmod -R u+w $(srcdir) @cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) @touch tmpl-build.stamp tmpl.stamp: tmpl-build.stamp @true $(srcdir)/tmpl/*.sgml: @true #### xml #### sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files) @echo 'gtk-doc: Building XML' @-chmod -R u+w $(srcdir) @_source_dir='' ; for i in $(DOC_SOURCE_DIR) ; do \ _source_dir="$${_source_dir} --source-dir=$$i" ; \ done ; \ cd $(srcdir) && \ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) @touch sgml-build.stamp sgml.stamp: sgml-build.stamp @true #### html #### html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) @echo 'gtk-doc: Building HTML' @-chmod -R u+w $(srcdir) @rm -rf $(srcdir)/html @mkdir $(srcdir)/html @mkhtml_options=""; \ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \ if test "$(?)" = "0"; then \ mkhtml_options=--path="$(srcdir)"; \ fi; \ cd $(srcdir)/html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) @test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) @echo 'gtk-doc: Fixing cross-references' @cd $(srcdir) && gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) @touch html-build.stamp #### pdf #### pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) @echo 'gtk-doc: Building PDF' @-chmod -R u+w $(srcdir) @rm -rf $(srcdir)/$(DOC_MODULE).pdf @mkpdf_imgdirs=""; \ if test "x$(HTML_IMAGES)" != "x"; then \ for img in $(HTML_IMAGES); do \ part=`dirname $$img`; \ echo $$mkpdf_imgdirs | grep >/dev/null "\-\-imgdir=$$part "; \ if test $$? != 0; then \ mkpdf_imgdirs="$$mkpdf_imgdirs --imgdir=$$part"; \ fi; \ done; \ fi; \ cd $(srcdir) && gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_imgdirs $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) @touch pdf-build.stamp ############## clean-local: rm -f *~ *.bak rm -rf .libs distclean-local: cd $(srcdir) && \ rm -rf xml $(REPORT_FILES) $(DOC_MODULE).pdf \ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt maintainer-clean-local: clean cd $(srcdir) && rm -rf xml html install-data-local: @installfiles=`echo $(srcdir)/html/*`; \ if test "$$installfiles" = '$(srcdir)/html/*'; \ then echo '-- Nothing to install' ; \ else \ if test -n "$(DOC_MODULE_VERSION)"; then \ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ else \ installdir="$(DESTDIR)$(TARGET_DIR)"; \ fi; \ $(mkinstalldirs) $${installdir} ; \ for i in $$installfiles; do \ echo '-- Installing '$$i ; \ $(INSTALL_DATA) $$i $${installdir}; \ done; \ if test -n "$(DOC_MODULE_VERSION)"; then \ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \ mv -f $${installdir}/$(DOC_MODULE).devhelp \ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \ fi; \ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \ fi uninstall-local: @if test -n "$(DOC_MODULE_VERSION)"; then \ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ else \ installdir="$(DESTDIR)$(TARGET_DIR)"; \ fi; \ rm -rf $${installdir} # # Require gtk-doc when making dist # @ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc: @ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc: @ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed and enabled in order to make dist" @ENABLE_GTK_DOC_FALSE@ @false dist-hook: dist-check-gtkdoc dist-hook-local mkdir $(distdir)/tmpl mkdir $(distdir)/html -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl cp $(srcdir)/html/* $(distdir)/html -cp $(srcdir)/$(DOC_MODULE).pdf $(distdir)/ -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/ -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/ cd $(distdir) && rm -f $(DISTCLEANFILES) $(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html .PHONY : dist-hook-local docs # Files not to distribute # for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types # for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt #DISTCLEANFILES += # Comment this out if you want your docs-status tested during 'make check' #TESTS = $(GTKDOC_CHECK) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: seed-3.0.0/doc/reference/seed-overrides.txt0000644000175000017500000000115011531036061015530 00000000000000# These are manually-edited to override or add declarations to those scanned # from the Seed header files. SeedEngine struct SeedEngine { JSGlobalContextRef context; JSObjectRef global; gchar **search_path; JSContextGroupRef group; }; SeedScript struct SeedScript { JSStringRef script; JSValueRef exception; JSStringRef source_url; gint line_number; }; SeedClosure struct SeedClosure { GClosure closure; JSObjectRef function; JSValueRef user_data; GType return_type; gchar *description; }; seed-3.0.0/doc/reference/Makefile.am0000644000175000017500000000627211531036061014115 00000000000000## Process this file with automake to produce Makefile.in # We require automake 1.6 at least. AUTOMAKE_OPTIONS = 1.6 # This is a blank Makefile.am for using gtk-doc. # Copy this to your project's API docs directory and modify the variables to # suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples # of using the various options. # The name of the module, e.g. 'glib'. DOC_MODULE=seed # The top-level SGML file. You can change this if you want to. DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml # The directory containing the source code. Relative to $(srcdir). # gtk-doc will search all .c & .h files beneath here for inline comments # documenting the functions and macros. # e.g. DOC_SOURCE_DIR=../../../gtk DOC_SOURCE_DIR=../../libseed # Extra options to pass to gtkdoc-scangobj. Not normally needed. SCANGOBJ_OPTIONS= # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" SCAN_OPTIONS= # Extra options to supply to gtkdoc-mkdb. # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=seed # Extra options to supply to gtkdoc-mktmpl # e.g. MKTMPL_OPTIONS=--only-section-tmpl MKTMPL_OPTIONS= # Extra options to supply to gtkdoc-fixref. Not normally needed. # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html FIXXREF_OPTIONS= # Used for dependencies. The docs will be rebuilt if any of these change. # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c HFILE_GLOB=$(top_srcdir)/libseed/*.h CFILE_GLOB=$(top_srcdir)/libseed/*.c # Header files to ignore when scanning. # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h IGNORE_HFILES=seed-builtins.h seed-closure.h seed-engine.h seed-exceptions.h seed-gtype.h seed-private.h seed-signals.h seed-structs.h seed-types.h seed-importer.h seed-debug.h seed-path.h # Images to copy into HTML directory. # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png HTML_IMAGES= # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). # e.g. content_files=running.sgml building.sgml changes-2.0.sgml content_files=seed-docs.sgml seed-sections.txt building.sgml introduction.sgml contact.sgml imports.sgml version.xml # SGML files where gtk-doc abbrevations (#GtkWidget) are expanded # These files must be listed here *and* in content_files # e.g. expand_content_files=running.sgml expand_content_files= # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. # Only needed if you are using gtkdoc-scangobj to dynamically query widget # signals and properties. # e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) INCLUDES= GTKDOC_LIBS= # This includes the standard gtk-doc make rules, copied by gtkdocize. include $(top_srcdir)/gtk-doc.make # Other files to distribute # e.g. EXTRA_DIST += version.xml.in EXTRA_DIST += version.xml.in # Files not to distribute # for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types # for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt #DISTCLEANFILES += # Comment this out if you want your docs-status tested during 'make check' #TESTS = $(GTKDOC_CHECK) seed-3.0.0/doc/reference/seed.types0000644000175000017500000000000011545510403014050 00000000000000seed-3.0.0/doc/sh.js0000644000175000017500000001227111531036061011067 00000000000000/* Copyright (C) 2007, 2008 gnombat@users.sourceforge.net */ /* License: http://shjs.sourceforge.net/doc/gplv3.html */ if(!this.sh_languages){this.sh_languages={}}var sh_requests={};function sh_isEmailAddress(a){if(/^mailto:/.test(a)){return false}return a.indexOf("@")!==-1}function sh_setHref(b,c,d){var a=d.substring(b[c-2].pos,b[c-1].pos);if(a.length>=2&&a.charAt(0)==="<"&&a.charAt(a.length-1)===">"){a=a.substr(1,a.length-2)}if(sh_isEmailAddress(a)){a="mailto:"+a}b[c-2].node.href=a}function sh_konquerorExec(b){var a=[""];a.index=b.length;a.input=b;return a}function sh_highlightString(B,o){if(/Konqueror/.test(navigator.userAgent)){if(!o.konquered){for(var F=0;FI){x(g.substring(I,E.index),null)}var e=O[u];var J=e[1];var b;if(J instanceof Array){for(var L=0;L0){var e=b.split(" ");for(var c=0;c0){a.push(e[c])}}}return a}function sh_addClass(c,a){var d=sh_getClasses(c);for(var b=0;b element with class="'+h+'", but no such language exists'}}break}}}};seed-3.0.0/doc/runtime.html.in0000644000175000017500000003123611531036061013077 00000000000000 Seed Runtime Documentation
v.@VERSION@
imports

An imports object is defined globally in every Seed context. This provides access to GObject Introspection namespaces, C extension modules, and other JavaScript files, as explained in the next three sections.

The default path to search for native modules and JavaScript files to be imported can be set as an array of strings on imports.searchPath:

imports.searchPath.push("/opt/javascript");

This will add /opt/javascript as the last location to search when looking for native Seed modules and JavaScript files. The default search path includes the current directory and the directory into which Seed's default native modules are installed.

imports.gi

Provides access to all installed gobject-introspection namespaces. imports.gi.namespace will import functions and constructors from the given namespace and return an object providing them.

Importing is done once per process, and any subsequent accesses to the same namespace return the same object, and are very cheap as a result.

Gtk = imports.gi.Gtk;
Gtk.init(null, null);

A particular version of a namespace can be loaded by setting before it is first requested, by setting the imports.gi.versions.namespace object to a string representing the version number to load:

imports.gi.versions.Clutter = "0.8";
Clutter = imports.gi.Clutter; // The returned object represents clutter-0.8
Importing modules and JavaScript files

Native C modules and JavaScript files can be imported in a similar fashion, by accessing imports.file. Notice that the suffix (most likely .so or .js, respectively) is not included in the file name when requesting it, and keep this in mind when naming files.

First, if the file name is actually a directory, an object is returned that represents the contents of that directory, which behaves exactly as imports does in regards to importing native modules and JavaScript files. For example, say you have the directory js, which contains score.js:

score = imports.js.score;

This will import score.js, just as described below.

If the file is not a directory, but happens to have your system's shared library suffix, the native module is loaded, and the module object is returned, similar to GObject Introspection namespace imports:

readline = imports.readline;
readline.readline(">");

Otherwise, Seed assumes that the file is a JavaScript file. If the file is found in the current path, it is evaluated (in a separate Seed context, so any state in the file it is imported from is not accessible), and the global object is returned. Keep in mind that it is possible to accidentally import a non-JavaScript file, as the extension is not taken into account.

Imagine we have the file test_file.js:

test_string = "Hello, world!";

And another file, which we evaluate with seed:

test_file = imports.test_file;
print(test_file.test_string);

This will print "Hello, world!", as expected. Notice how, unlike in versions of Seed prior to 0.5, the file is not actually evaluated in the context of the importing file, so its toplevel objects are not globally available.

print(value)

Prints, to standard output, a representation of value. Number types are printed as floating-point values (with 6 decimal places); strings are printed as-is; objects are printed as [object type].

print(5);
print("This is a test!".replace(" is ", " was "));

var win = new Gtk.Window();
print(win);
printf(format, ...)
Seed.sprintf(format, ...)

printf prints, to standard output, a string formatted as specified by format. Following format should be values to substitute, as in C's printf. Most standard printf format strings should work.

sprintf returns the string, instead of printing it.

printf("A number: %d\n", 5);
printf("One third is approximately %.3f\n", 1/3);
printf("%d %s %d\n", 2, " is not ", 5);

var my_string = Seed.sprintf("%d + %d = %d", 2, 3, 2+3);
var my_name = printf("[%s] is %d characters long!\n",
                          my_string, my_string.length);
Seed.check_syntax(code)

Examines a segment of Javascript, looking for syntax errors. If errors are found, an exception is thrown, which can be caught with a try/catch block. You can examine the location of the syntax error with the line property of the returned exception.

try{
    Seed.check_syntax("234[asdf");
}
catch(e){
    print("Something horrible happened on line " + e.line);
}
Seed.stringify(object)

Returns a string representing the entire contents of object in a pretty-printed fashion, like that of JSON.

proto = Seed.prototype(Gtk.Window);
method = Seed.introspect(proto.translate_coordinates);
print(Seed.stringify(method));
Seed.argv

An array representing the arguments passed to the seed interpreter.

Seed.quit(exitcode)

Terminates the execution of the Seed interpreter, returning exitcode as the exit value of the program.

object.signal.signame.connect(function, user_data)
object.connect(signame, function, user_data)

Connects function to the signal, signame, on object. Any GObject signal will work. If present, user_data is passed as the last argument to the callback.

function button_clicked(){
    print("You pushed me!!");
}

var button = new Gtk.Button();
button.signal.clicked.connect(button_clicked);

The second form is useful if you want to connect to detailed signals; for example, notify:: signals on an object's properties:

function handle_opacity_change(obj, gobject, user_data){
    print("Window " + obj + "'s opacity was changed!");
}

win = new Gtk.Window();
win.signal.connect("notify::opacity", handle_opacity_change);
Exceptions

Seed throws Javascript exceptions for errors in the GObject layer; our custom exception types are as follows:

  • InvalidPropertyValue - a property was set to a value out of range
  • PropertyError - a warning occurred in GLib while trying to set a property
  • ArgumentError - a function was called with the wrong number of arguments
  • ConversionError - one of the type conversion functions threw an exception
  • TypeError - a required argument was of the wrong type
  • SyntaxError - a syntax error was thrown from JavaScriptCore
  • ParseError - a parsing error was thrown from JavaScriptCore (make sure you close all of your brackets!)

Exceptions are caught with the try/catch construct:

try{
    var window = new Gtk.Window();
    window.opacity = "hello!";
}
catch(e){
    print("An exception occurred!");
}

e is the name we've given the Exception object in this examle. The Exception object has a handful of properties which provide more information about the exception:

  • name - the exception type
  • message - the detailed message describing the exception
  • line - the line on which the exception took place
  • sourceURL - the source file, if any, in which the exception took place

Just as in Javascript, you can throw an exception manually with the throw function, passing it an object - either a new object, with the properties listed above (for consistency), or an arbitrary object:

try{
    if(!http.connect("http://google.com"))
        throw { name: "HTTPConnectionError", message: "404 File Not Found" }
}
catch(e){
    // e.message = "404 File Not Found"
}
Inheritance

JavaScript, being a prototypal language, rather than a class based language, has no strict inheritance model. A plethora of documentation can be found on the internet for implementing various inheritance models inside your program. However, a clear and common use case is to subclass GObjects, and Seed provides an interface to define and implement new GTypes.

Type Objects

To implement a new GType, an object describing the type is required.

NewType = {
    parent: ParentTypeConstructor,
    name: "NewTypeName",
    class_init: function(klass, prototype){
    },
    instance_init: function(){
    }
}

Indicates that the new type derives from ParentType, i.e. Gtk.Window, with name "NewTypeName". The class_init function is called when the class comes in to existence, and allows you to add to the prototype of objects constructed by the type. The instance_init function is called on the creation of each instance, with the "this" variable set to the new instance. An example type:

HelloLabel = new GType({
    parent: Gtk.Label,
    name: "HelloLabel",
    class_init: function(klass, prototype){
        prototype.say_goodbye = 
                             function(){
                                 this.label = "Goodbye";
                             }
    },
    instance_init: function(){
        this.label = "Hello"; // Hello Labels Always Say Hello.
    }
});

Now to create an instance of the object:

label = new HelloLabel();
box.pack_start(label);
label.show();
label.say_goodbye();

The label inherits all the methods, signals, and properties of the Gtk.Label class and its parents, and internally has its own GType.

signal.emit(...)

emit provides the ability to arbitrarily emit any GObject signal, thus calling all of the functions which are connected to it. Any arguments passed to emit are passed on to the callback function.

win = new Gtk.Window();
win.signal.close.connect(Gtk.main_quit);
win.signal.close.emit();
class.install_signal(signal_descriptor)

When creating a new GObject type within Seed, install_signal provides the ability to install new signals, which you can later emit with emit and can be connected to in any of the usual ways.

signal_descriptor is a Javascript object describing the signal. Important properties of signal_descriptor are:

  • name — the name of the signal
  • parameters — the types of any arguments the signal takes, as a Javascript array (optional)
  • return_type — the expected return type of the signal handler (optional)

For example:

HelloWindow = new GType({       
    parent: Gtk.Window.type,
    name: "HelloWindow",
    signals: [{name: "hello",
               parameters: [GObject.TYPE_INT,
                            GObject.TYPE_STRING],
               return_type: Gtk.Window.type}];
});

w = new HelloWindow();

w.signal.hello.connect(function(object, number, string){
                           print(number + " " + string);
                           return new Gtk.Window()
                       });

print(w.signal.hello.emit(2, "Test"));

seed-3.0.0/doc/conventions.html.in0000644000175000017500000000240211531036061013752 00000000000000 Seed Coding Conventions
v.@VERSION@
Naming and Capitalization

  • Always use UpperCamelCase for the names of classes.
  • Always use underscore_case for the names of variables and functions.

Encapsulation

  • Prefer functions to properties, for performance's sake.
  • Place all code for a class within its init function. Look at the tutorial Web Browser for an example.

seed-3.0.0/doc/Makefile.in0000644000175000017500000005364411545510313012177 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/conventions.html.in $(srcdir)/index.html.in \ $(srcdir)/runtime.html.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = index.html conventions.html runtime.html CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(docdir)" DATA = $(doc_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CAIRO_MODULE = @BUILD_CAIRO_MODULE@ BUILD_CANVAS_MODULE = @BUILD_CANVAS_MODULE@ BUILD_DBUS_MODULE = @BUILD_DBUS_MODULE@ BUILD_DYNAMICOBJECT_MODULE = @BUILD_DYNAMICOBJECT_MODULE@ BUILD_EXAMPLE_MODULE = @BUILD_EXAMPLE_MODULE@ BUILD_FFI_MODULE = @BUILD_FFI_MODULE@ BUILD_GETTEXT_MODULE = @BUILD_GETTEXT_MODULE@ BUILD_GTKBUILDER_MODULE = @BUILD_GTKBUILDER_MODULE@ BUILD_LIBXML_MODULE = @BUILD_LIBXML_MODULE@ BUILD_MPFR_MODULE = @BUILD_MPFR_MODULE@ BUILD_MULTIPROCESSING_MODULE = @BUILD_MULTIPROCESSING_MODULE@ BUILD_OS_MODULE = @BUILD_OS_MODULE@ BUILD_READLINE_MODULE = @BUILD_READLINE_MODULE@ BUILD_SQLITE_MODULE = @BUILD_SQLITE_MODULE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LDFLAGS = @CAIRO_LDFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUSGLIB_CFLAGS = @DBUSGLIB_CFLAGS@ DBUSGLIB_LDFLAGS = @DBUSGLIB_LDFLAGS@ DBUSGLIB_LIBS = @DBUSGLIB_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ DBUS_LDFLAGS = @DBUS_LDFLAGS@ DBUS_LIBS = @DBUS_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FFI_CFLAGS = @FFI_CFLAGS@ FFI_LDFLAGS = @FFI_LDFLAGS@ FFI_LIBS = @FFI_LIBS@ FGREP = @FGREP@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LDFLAGS = @GDK_LDFLAGS@ GDK_LIBS = @GDK_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_JS_CFLAGS = @GNOME_JS_CFLAGS@ GNOME_JS_DIR = @GNOME_JS_DIR@ GNOME_JS_LIBS = @GNOME_JS_LIBS@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LDFLAGS = @GOBJECT_INTROSPECTION_LDFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_VERSION = @GOBJECT_INTROSPECTION_VERSION@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LDFLAGS = @GTK_LDFLAGS@ GTK_LIBS = @GTK_LIBS@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LDFLAGS = @LIBXML_LDFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SEED_DEBUG_CFLAGS = @SEED_DEBUG_CFLAGS@ SEED_GTK_VERSION = @SEED_GTK_VERSION@ SEED_PROFILE_CFLAGS = @SEED_PROFILE_CFLAGS@ SEED_PROFILE_LIBS = @SEED_PROFILE_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LDFLAGS = @SQLITE_LDFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WEBKIT_CFLAGS = @WEBKIT_CFLAGS@ WEBKIT_LDFLAGS = @WEBKIT_LDFLAGS@ WEBKIT_LIBS = @WEBKIT_LIBS@ WEBKIT_PC = @WEBKIT_PC@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = tutorial-standalone modules mapping reference EXTRA_DIST = \ index.html.in \ runtime.html.in \ style.css \ conventions.html.in \ sh.css \ sh.js \ sh_js.js \ seed.1 doc_DATA = index.html runtime.html conventions.html style.css sh.css sh.js sh_js.js all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): index.html: $(top_builddir)/config.status $(srcdir)/index.html.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ conventions.html: $(top_builddir)/config.status $(srcdir)/conventions.html.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ runtime.html: $(top_builddir)/config.status $(srcdir)/runtime.html.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-docDATA: $(doc_DATA) @$(NORMAL_INSTALL) test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)" @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ done uninstall-docDATA: @$(NORMAL_UNINSTALL) @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(docdir)" && rm -f $$files # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(docdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-docDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-docDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-docDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am uninstall-docDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: seed-3.0.0/doc/sh_js.js0000644000175000017500000001300011531036061011552 00000000000000if (! this.sh_languages) { this.sh_languages = {}; } sh_languages['javascript'] = [ [ [ /\/\/\//g, 'sh_comment', 1 ], [ /\/\//g, 'sh_comment', 7 ], [ /\/\*\*/g, 'sh_comment', 8 ], [ /\/\*/g, 'sh_comment', 9 ], [ /\b(?:abstract|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|final|finally|for|function|goto|if|implements|in|instanceof|interface|native|new|null|private|protected|prototype|public|return|static|super|switch|synchronized|throw|throws|this|transient|true|try|typeof|var|volatile|while|with)\b/g, 'sh_keyword', -1 ], [ /(\+\+|--|\)|\])(\s*)(\/=?(?![*\/]))/g, ['sh_symbol', 'sh_normal', 'sh_symbol'], -1 ], [ /(0x[A-Fa-f0-9]+|(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?)(\s*)(\/(?![*\/]))/g, ['sh_number', 'sh_normal', 'sh_symbol'], -1 ], [ /([A-Za-z$_][A-Za-z0-9$_]*\s*)(\/=?(?![*\/]))/g, ['sh_normal', 'sh_symbol'], -1 ], [ /\/(?:\\.|[^*\\\/])(?:\\.|[^\\\/])*\/[gim]*/g, 'sh_regexp', -1 ], [ /\b[+-]?(?:(?:0x[A-Fa-f0-9]+)|(?:(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?))u?(?:(?:int(?:8|16|32|64))|L)?\b/g, 'sh_number', -1 ], [ /"/g, 'sh_string', 10 ], [ /'/g, 'sh_string', 11 ], [ /~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g, 'sh_symbol', -1 ], [ /\{|\}/g, 'sh_cbracket', -1 ], [ /\b(?:Math|Infinity|NaN|undefined|arguments|Seed|signal|argv|argc|Gtk|GObject|GLib|WebKit)\b/g, 'sh_predef_var', -1 ], [ /\b(?:printf|sprintf|connect|Array|Boolean|Date|Error|EvalError|Function|Number|Object|RangeError|ReferenceError|RegExp|String|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt)\b/g, 'sh_predef_func', -1 ], [ /(?:[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/g, 'sh_function', -1 ] ], [ [ /$/g, null, -2 ], [ /(?:?)|(?:?)/g, 'sh_url', -1 ], [ /<\?xml/g, 'sh_preproc', 2, 1 ], [ //g, 'sh_keyword', -1 ], [ /<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g, 'sh_keyword', 6, 1 ], [ /&(?:[A-Za-z0-9]+);/g, 'sh_preproc', -1 ], [ /<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g, 'sh_keyword', -1 ], [ /<(?:\/)?[A-Za-z][A-Za-z0-9]*/g, 'sh_keyword', 6, 1 ], [ /@[A-Za-z]+/g, 'sh_type', -1 ], [ /(?:TODO|FIXME|BUG)(?:[:]?)/g, 'sh_todo', -1 ] ], [ [ /\?>/g, 'sh_preproc', -2 ], [ /([^=" \t>]+)([ \t]*)(=?)/g, ['sh_type', 'sh_normal', 'sh_symbol'], -1 ], [ /"/g, 'sh_string', 3 ] ], [ [ /\\(?:\\|")/g, null, -1 ], [ /"/g, 'sh_string', -2 ] ], [ [ />/g, 'sh_preproc', -2 ], [ /([^=" \t>]+)([ \t]*)(=?)/g, ['sh_type', 'sh_normal', 'sh_symbol'], -1 ], [ /"/g, 'sh_string', 3 ] ], [ [ /-->/g, 'sh_comment', -2 ], [ /

Once the library has been imported, all of the imported functions are available on the Gtk object: GTK.init(), etc.